diff options
Diffstat (limited to 'src/components/CommitteeList/CommitteeListItem.astro')
| -rw-r--r-- | src/components/CommitteeList/CommitteeListItem.astro | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/components/CommitteeList/CommitteeListItem.astro b/src/components/CommitteeList/CommitteeListItem.astro new file mode 100644 index 0000000..d026047 --- /dev/null +++ b/src/components/CommitteeList/CommitteeListItem.astro @@ -0,0 +1,39 @@ +--- +import CommitteeRole from '$enums/CommitteeRole'; +import tRole from '$i18n/translations/enums/committeeRole'; +import translate from '$i18n/translate'; +import type { CommitteeMember } from '$types/CommitteeMember'; +import type Locale from '$types/Locale'; + +interface Props { + committeeMember: CommitteeMember; +} + +const { committeeMember } = Astro.props; + +const locale = Astro.params.locale as Locale; + +const t = translate(locale); +--- + +<li class="committee__member"> + { + committeeMember.img && ( + <img class="committee__member__img" src={committeeMember.img.src} alt="" /> + ) + } + <div class="committee__member__text"> + <h4> + {committeeMember.name} + { + committeeMember.roles.length > 0 && ( + <span class="font-weight-lighter"> + |{' '} + {committeeMember.roles.map((role) => t(tRole, { key: CommitteeRole[role] })).join(', ')} + </span> + ) + } + </h4> + {committeeMember.bio && <p set:html={committeeMember.bio[locale]} />} + </div> +</li> |
