summaryrefslogtreecommitdiff
path: root/src/components/CommitteeList/CommitteeListItem.astro
blob: d02604705af742dd2f2458808835245ba1f3cba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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>