@@ -10,7 +10,7 @@ import { useRouter } from 'next/navigation';
1010import { FormEvent , useState } from 'react' ;
1111import { api } from 'trpc/react' ;
1212import { filterNone } from 'utils/array' ;
13- import { numberAndFullName } from 'utils/corps' ;
13+ import { displayName , numberAndFullName } from 'utils/corps' ;
1414import { calcOperatingYearInterval , getOperatingYear } from 'utils/date' ;
1515import { lang } from 'utils/language' ;
1616
@@ -120,6 +120,7 @@ const CorpsInfobox = ({
120120 const [ showAllStreaks , setShowAllStreaks ] = useState ( false ) ;
121121 const [ newNickName , setNewNickName ] = useState ( '' ) ;
122122 const [ nickNameModalOpen , setNickNameModalOpen ] = useState ( false ) ;
123+ const [ showAllNicknames , setShowAllNicknames ] = useState ( false ) ;
123124
124125 const dateFormatter = DATE_FORMATTERS [ language ] ;
125126
@@ -151,6 +152,7 @@ const CorpsInfobox = ({
151152 firstGigDate,
152153 firstRehearsalDate,
153154 lastSeenAt,
155+ givenNicknames,
154156 } = corps ;
155157 const mainInstrument =
156158 instruments . find ( ( i ) => i . isMainInstrument ) ?. instrument . name ?? '' ;
@@ -309,9 +311,30 @@ const CorpsInfobox = ({
309311 ) }
310312 </ div >
311313 { ( nickName || pronouns ) && (
312- < div className = 'mb-1 bg-transparent text-xs font-light text-neutral-500' >
313- { filterNone ( [ nickName , pronouns ] ) . join ( ' • ' ) }
314- </ div >
314+ < >
315+ < div
316+ className = 'mb-1 bg-transparent text-xs font-light text-neutral-500'
317+ onClick = { ( ) => {
318+ setShowAllNicknames ( ! showAllNicknames ) ;
319+ } }
320+ >
321+ { filterNone ( [ nickName , pronouns ] ) . join ( ' • ' ) }
322+ </ div >
323+ { showAllNicknames && givenNicknames . length > 1 && (
324+ < div className = 'mb-1 flex flex-col gap-1 bg-transparent text-xs font-light text-neutral-500' >
325+ { lang ( 'Också varit känd som:' , 'Also been known as:' ) }
326+ { givenNicknames . map ( ( nickname ) => (
327+ < div
328+ key = { `${ corps . id } -nickname:${ nickname . nickname } ` }
329+ > { `${ nickname . nickname . trim ( ) } , ${
330+ language === 'sv' ? 'givet av' : 'given by'
331+ } ${ displayName ( nickname . createdBy ) } ${
332+ language === 'sv' ? 'den' : 'at'
333+ } ${ dateFormatter . format ( nickname . createdAt ) } .`} </ div >
334+ ) ) }
335+ </ div >
336+ ) }
337+ </ >
315338 ) }
316339 </ div >
317340 < div className = 'italic' >
0 commit comments