@@ -24,8 +24,8 @@ import products from "../lib/data/products.json";
2424import metadata from "../lib/data/meta.json" ;
2525
2626interface AboutProps {
27- events : GuildScheduledEvent [ ] ;
28- staff : GuildMember [ ] ;
27+ events : GuildScheduledEvent [ ] | null ;
28+ staff : GuildMember [ ] | null ;
2929}
3030
3131const About : NextPage < AboutProps > = ( {
@@ -254,7 +254,8 @@ const About: NextPage<AboutProps> = ({
254254 < FeatureContainer >
255255 { ! staff || staff . length === 0 ? (
256256 < p className = "dark:text-mtxWhite" >
257- No staff to show here.
257+ Unable to find staff members. Please try
258+ again later.
258259 </ p >
259260 ) : (
260261 staff . map (
@@ -290,7 +291,7 @@ const About: NextPage<AboutProps> = ({
290291 < FeatureContainer >
291292 { ! events || events . length === 0 ? (
292293 < p className = "dark:text-mtxWhite" >
293- No events to show here .
294+ No events are currently scheduled .
294295 </ p >
295296 ) : (
296297 events &&
@@ -310,59 +311,69 @@ const About: NextPage<AboutProps> = ({
310311export async function getServerSideProps ( ) : Promise < {
311312 props : AboutProps ;
312313} > {
313- const events : GuildScheduledEvent [ ] = await fetchData <
314+ const events : GuildScheduledEvent [ ] | undefined = await fetchData <
314315 GuildScheduledEvent [ ]
315316 > (
316317 `https://discord.com/api/v${ process . env . DISCORD_API_VERSION } /guilds/${ process . env . SERVER_ID } /scheduled-events?with_user_count=true`
317318 ) ;
318319 const staff : GuildMember [ ] = [ ] ;
319- const guild : Guild = await fetchData < Guild > (
320+ const guild : Guild | undefined = await fetchData < Guild > (
320321 `https://discord.com/api/v${ process . env . DISCORD_API_VERSION } /guilds/${ process . env . STAFF_SERVER_ID } ?with_counts=true`
321322 ) ;
322- const staffMembers : GuildMember [ ] = await fetchData < GuildMember [ ] > (
323+ const staffMembers : GuildMember [ ] | undefined = await fetchData <
324+ GuildMember [ ]
325+ > (
323326 `https://discord.com/api/v${ process . env . DISCORD_API_VERSION } /guilds/${ process . env . STAFF_SERVER_ID } /members?limit=1000`
324327 ) ;
325328
326- staffMembers
327- . filter (
328- ( member : GuildMember ) : boolean =>
329- ! member . roles ?. includes ( "933960562461782116" ) &&
330- ! member . roles ?. includes ( "934972624449192006" )
331- )
332- . forEach ( ( member : GuildMember ) : void => {
333- if ( member . roles ) {
334- member . roles = member . roles
335- ?. filter (
336- ( role : string ) : boolean => ! excludedRoles . includes ( role )
337- )
338- . sort (
339- ( a : string , b : string ) : number =>
340- ( guild . roles ?. find (
341- ( role : Role ) : boolean => role . id === b
342- ) ?. position as number ) -
343- ( guild ?. roles ?. find (
344- ( role : Role ) : boolean => role . id === a
345- ) ?. position as number )
346- ) ;
347- }
329+ console . log ( staffMembers ) ;
330+
331+ if ( staffMembers && guild ) {
332+ staffMembers
333+ . filter (
334+ ( member : GuildMember ) : boolean =>
335+ ! member . roles . includes ( "933960562461782116" ) &&
336+ ! member . roles . includes ( "934972624449192006" )
337+ )
338+ . forEach ( ( member : GuildMember ) : void => {
339+ if ( member . roles ) {
340+ member . roles = member . roles
341+ . filter (
342+ ( role : string ) : boolean =>
343+ ! excludedRoles . includes ( role )
344+ )
345+ . sort (
346+ ( a : string , b : string ) : number =>
347+ ( guild . roles . find (
348+ ( role : Role ) : boolean => role . id === b
349+ ) ?. position as number ) -
350+ ( guild . roles . find (
351+ ( role : Role ) : boolean => role . id === a
352+ ) ?. position as number )
353+ ) ;
354+ }
348355
349- staff . push ( member ) ;
350- } ) ;
356+ staff . push ( member ) ;
357+ } ) ;
358+ }
351359
352360 return {
353361 props : {
354- events,
355- staff : staff . sort (
356- ( a : GuildMember , b : GuildMember ) : number =>
357- ( guild . roles ?. find (
358- ( role : Role ) : boolean =>
359- role . id === ( b . roles as string [ ] ) [ 0 ]
360- ) ?. position as number ) -
361- ( guild . roles ?. find (
362- ( role : Role ) : boolean =>
363- role . id === ( a . roles as string [ ] ) [ 0 ]
364- ) ?. position as number )
365- )
362+ events : events || null ,
363+ staff :
364+ staff . length > 0 && guild
365+ ? staff . sort (
366+ ( a : GuildMember , b : GuildMember ) : number =>
367+ ( guild . roles . find (
368+ ( role : Role ) : boolean =>
369+ role . id === ( b . roles as string [ ] ) [ 0 ]
370+ ) ?. position as number ) -
371+ ( guild . roles . find (
372+ ( role : Role ) : boolean =>
373+ role . id === ( a . roles as string [ ] ) [ 0 ]
374+ ) ?. position as number )
375+ )
376+ : null
366377 }
367378 } ;
368379}
0 commit comments