1
1
import DirectusImage from "@/components/DirectusImage" ;
2
+ import MembersList from "@/components/MembersList" ;
2
3
import SocialsList from "@/components/SocialsList" ;
3
4
import { directus , populateLayoutProps } from "@/directus" ;
4
5
import { getTranslation , locale , queryTranslations } from "@/locales" ;
5
- import { Commission , SocialLink } from "@/types/aliases" ;
6
+ import {
7
+ AssociationMembership ,
8
+ Commission ,
9
+ Member ,
10
+ SocialLink ,
11
+ } from "@/types/aliases" ;
6
12
import { readItems } from "@directus/sdk" ;
7
13
import { GetServerSideProps , InferGetServerSidePropsType } from "next" ;
8
14
import { useRouter } from "next/router" ;
@@ -24,6 +30,7 @@ export default function Page(
24
30
< Markdown className = "text" > { translation . description } </ Markdown >
25
31
26
32
< SocialsList socials = { props . socialLinks } />
33
+ < MembersList membership = { props . members } />
27
34
</ div >
28
35
</ div >
29
36
) ;
@@ -32,6 +39,7 @@ export default function Page(
32
39
export const getServerSideProps : GetServerSideProps < {
33
40
commission : Commission ;
34
41
socialLinks : SocialLink [ ] ;
42
+ members : ( AssociationMembership & { member : Member } ) [ ] ;
35
43
} > = populateLayoutProps ( async ( context ) => {
36
44
if ( typeof context . params ?. slug !== "string" ) {
37
45
console . log ( typeof context . params ?. slug ) ;
@@ -60,10 +68,26 @@ export const getServerSideProps: GetServerSideProps<{
60
68
)
61
69
. then ( ( result ) => result . map ( ( s ) => s . social_links_id ) ) ) as SocialLink [ ] ;
62
70
71
+ let members = ( await directus ( ) . request (
72
+ readItems ( "commission_memberships" , {
73
+ fields : [
74
+ "*" ,
75
+ { member : [ "*" ] } ,
76
+ //@ts -ignore
77
+ { translations : [ "*" ] } ,
78
+ ] ,
79
+ filter : {
80
+ level : { _eq : "committee" } ,
81
+ commission : { _eq : commission . id } ,
82
+ } ,
83
+ } )
84
+ ) ) as ( AssociationMembership & { member : Member } ) [ ] ;
85
+
63
86
return {
64
87
props : {
65
88
commission : commission ,
66
89
socialLinks : socialLinks ,
90
+ members : members ,
67
91
} ,
68
92
} ;
69
93
} ) ;
0 commit comments