aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/About.svelte
blob: 0087e350f16a3f161dd8be8d49f54dee7ade8b3a (plain) (blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<script>
  import { onMount } from "svelte";
  import Icon from "$comp/Icon.svelte";
  import Image from "$comp/Image.svelte";
  import LocationsMap from "$comp/LocationsMap.svelte";
  import { t } from "$lib/translations";

  let team = [
    {
      name: "adam",
      socials: [
        {
          type: "twitter",
          url: "https://twitter.com/adamsoltys",
          color: "bg-[#1D9BF0]",
        },
        {
          type: "github",
          url: "https://github.com/asoltys",
          color: "bg-gray-800",
        },
      ],
    },
    { name: "cole", socials: [] },
  ];

  let locations;
  onMount(async () => {
    try {
      ({ locations } = await fetch("/locations").then((r) => r.json()));
    } catch (e) {
      console.log(e);
    }
  });
</script>

<div class="flex justify-center">
  <div class="container space-y-10">
    <h3 class="text-5xl font-medium text-center">
      {$t("about.team.header")}
    </h3>
    <div class="space-y-10 2xl:space-y-0 2xl:grid gap-y-10 grid-cols-2">
      {#each team as member}
        <div class="flex w-full">
          <div class="md:flex 2xl:items-start md:max-w-2xl mx-auto">
            <div class="w-[220px] mx-auto">
              <Image
                image={member.name}
                style="rounded-full mx-auto w-40 h-40 mb-5 object-cover"
              />

              <div class="space-y-2">
                <span class="text-2xl text-center font-semibold block"
                  >{$t(`about.team.${member.name}.name`)}</span
                >
                <span class="text-xl text-center text-secondary block"
                  >{$t(`about.team.${member.name}.position`)}</span
                >
              </div>

              <div class="mt-2 flex justify-center items-center space-x-5">
                {#each member.socials as social}
                  <a
                    href={social.url}
                    target="_blank"
                    rel="noreferrer"
                    class={`rounded-full p-2 ${social.color} hover:opacity-80`}
                    ><Icon icon={social.type} style="w-6" /></a
                  >
                {/each}
              </div>
            </div>
            <div class="text-secondary text-xl w-full max-w-[450px] mt-5">
              {$t(`about.team.${member.name}.bio`)}
            </div>
          </div>
        </div>
      {/each}
    </div>
  </div>
</div>

{#if locations?.length}
  <div>
    <h3 class="text-5xl font-medium mb-5 text-center">
      {$t("about.locations.header")}
    </h3>
    <p
      class="text-secondary text-xl w-full md:w-10/12 lg:w-2/3 2xl:w-[800px] mx-auto mb-10"
    >
      {@html $t("about.locations.description")}
    </p>
    <LocationsMap {locations} />
  </div>
{/if}