diff --git a/app/impressum/page.tsx b/app/impressum/page.tsx
index 111349f..46b38e1 100644
--- a/app/impressum/page.tsx
+++ b/app/impressum/page.tsx
@@ -9,11 +9,6 @@ export default function Impressum() {
Impressum
Contact
-
- We are (in random order): Raul, Kirill, Eylon, Wesley, Caspar, Phil, Franzi, Kaan, Rose,
- Tim, Ksenya, Ligi, Stina, Helena, MP, Martin, Alex, Afri, Nich, Carl, Hany, Jacob, and
- Peter. Supported by countless volunteers and creative contributors. <3
-
Our public, in-person Stammtisch happens every 3rd Wednesday at the{' '}
diff --git a/app/people/images/Kaan.jpeg b/app/people/images/Kaan.jpeg
new file mode 100644
index 0000000..d1911b2
Binary files /dev/null and b/app/people/images/Kaan.jpeg differ
diff --git a/app/people/images/MP.jpeg b/app/people/images/MP.jpeg
new file mode 100644
index 0000000..27b4442
Binary files /dev/null and b/app/people/images/MP.jpeg differ
diff --git a/app/people/images/afri.jpeg b/app/people/images/afri.jpeg
new file mode 100644
index 0000000..1d341f5
Binary files /dev/null and b/app/people/images/afri.jpeg differ
diff --git a/app/people/images/franzi.jpeg b/app/people/images/franzi.jpeg
new file mode 100644
index 0000000..c302b35
Binary files /dev/null and b/app/people/images/franzi.jpeg differ
diff --git a/app/people/images/hels.jpeg b/app/people/images/hels.jpeg
new file mode 100644
index 0000000..7d034a4
Binary files /dev/null and b/app/people/images/hels.jpeg differ
diff --git a/app/people/images/jacob.jpeg b/app/people/images/jacob.jpeg
new file mode 100644
index 0000000..5ceda36
Binary files /dev/null and b/app/people/images/jacob.jpeg differ
diff --git a/app/people/images/kirill.jpeg b/app/people/images/kirill.jpeg
new file mode 100644
index 0000000..72ff1b1
Binary files /dev/null and b/app/people/images/kirill.jpeg differ
diff --git a/app/people/images/lea.jpeg b/app/people/images/lea.jpeg
new file mode 100644
index 0000000..2e6d885
Binary files /dev/null and b/app/people/images/lea.jpeg differ
diff --git a/app/people/images/ligi.jpg b/app/people/images/ligi.jpg
new file mode 100644
index 0000000..77f9737
Binary files /dev/null and b/app/people/images/ligi.jpg differ
diff --git a/app/people/images/martin.jpeg b/app/people/images/martin.jpeg
new file mode 100644
index 0000000..5c51b8e
Binary files /dev/null and b/app/people/images/martin.jpeg differ
diff --git a/app/people/images/raul.jpeg b/app/people/images/raul.jpeg
new file mode 100644
index 0000000..6ee91e6
Binary files /dev/null and b/app/people/images/raul.jpeg differ
diff --git a/app/people/images/rose.gif b/app/people/images/rose.gif
new file mode 100644
index 0000000..a393e45
Binary files /dev/null and b/app/people/images/rose.gif differ
diff --git a/app/people/images/stina.jpeg b/app/people/images/stina.jpeg
new file mode 100644
index 0000000..8464981
Binary files /dev/null and b/app/people/images/stina.jpeg differ
diff --git a/app/people/page.tsx b/app/people/page.tsx
new file mode 100644
index 0000000..fcdb456
--- /dev/null
+++ b/app/people/page.tsx
@@ -0,0 +1,62 @@
+import Image from 'next/image'
+import SocialIcon from '@/components/social-icons'
+import { peopleData, PersonData } from './peopleData'
+
+function SocialLinks({ socials }: { socials: Record }) {
+ return (
+
+ {socials.twitter && }
+ {socials.github && }
+ {socials.website && }
+ {socials.mail && }
+ {socials.linkedin && }
+
+ )
+}
+
+function PersonCard({ person }: { person: PersonData }) {
+ return (
+
+
+
+
+
{person.name}
+
+
+ )
+}
+
+export default function PeoplePage() {
+ const currentMembers = peopleData.filter((person) => !person.isAlumni)
+ const alumni = peopleData.filter((person) => person.isAlumni)
+
+ return (
+
+
Department Members
+
+
+ Office
+
+ {currentMembers.map((person) => (
+
+ ))}
+
+
+
+
+ Alumni
+
+ {alumni.map((person) => (
+
+ ))}
+
+
+
+ )
+}
diff --git a/app/people/peopleData.ts b/app/people/peopleData.ts
new file mode 100644
index 0000000..826a886
--- /dev/null
+++ b/app/people/peopleData.ts
@@ -0,0 +1,136 @@
+import { StaticImageData } from 'next/image'
+import stinaImg from './images/stina.jpeg'
+import roseImg from './images/rose.gif'
+import raulImg from './images/raul.jpeg'
+import mpImg from './images/MP.jpeg'
+import martinImg from './images/martin.jpeg'
+import ligiImg from './images/ligi.jpg'
+import leaImg from './images/lea.jpeg'
+import kirillImg from './images/kirill.jpeg'
+import kaanImg from './images/Kaan.jpeg'
+import jacobImg from './images/jacob.jpeg'
+import helsImg from './images/hels.jpeg'
+import franziImg from './images/franzi.jpeg'
+import afriImg from './images/afri.jpeg'
+
+export interface PersonData {
+ name: string
+ avatar: StaticImageData
+ isAlumni: boolean
+ socials: {
+ twitter?: string
+ github?: string
+ website?: string
+ linkedin?: string
+ }
+}
+
+export const peopleData: PersonData[] = [
+ {
+ name: 'ligi',
+ avatar: ligiImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/mr_ligi',
+ github: 'https://github.com/ligi',
+ },
+ },
+ {
+ name: 'Afri',
+ avatar: afriImg,
+ isAlumni: false,
+ socials: {
+ github: 'https://github.com/q9f',
+ website: 'https://q9f.cc/',
+ },
+ },
+ {
+ name: 'Franziska',
+ avatar: franziImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/_franzihei',
+ github: 'https://github.com/franzihei',
+ },
+ },
+ {
+ name: 'Jacob',
+ avatar: jacobImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/_czepluch',
+ github: 'https://github.com/czepluch',
+ },
+ },
+ {
+ name: 'Kaan',
+ avatar: kaanImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/kaanuzdogan',
+ github: 'https://github.com/kuzdogan',
+ },
+ },
+ {
+ name: 'Kirill',
+ avatar: kirillImg,
+ isAlumni: false,
+ socials: {
+ website: 'https://pimenov.cc/',
+ },
+ },
+ {
+ name: 'Raul',
+ avatar: raulImg,
+ isAlumni: false,
+ socials: {},
+ },
+ {
+ name: 'Stina',
+ avatar: stinaImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/stinalinneag',
+ },
+ },
+ {
+ name: 'Lea',
+ avatar: leaImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/_schmitted',
+ },
+ },
+ {
+ name: 'Rose',
+ avatar: roseImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/roseighteth',
+ },
+ },
+ {
+ name: 'Helena',
+ avatar: helsImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/helsfoftroy',
+ },
+ },
+ {
+ name: 'Martin',
+ avatar: martinImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/MartinBreiten',
+ },
+ },
+ {
+ name: 'MP',
+ avatar: mpImg,
+ isAlumni: false,
+ socials: {
+ twitter: 'https://twitter.com/MPtherealmvp',
+ },
+ },
+]
diff --git a/app/tag-data.json b/app/tag-data.json
index e5792d0..2f860f8 100644
--- a/app/tag-data.json
+++ b/app/tag-data.json
@@ -1 +1 @@
-{"3":3,"25":1,"ethberlin":25,"results":2,"sponsors":2,"judging":2,"transparency":1,"mentor":1,"bounties":1,"dod":11,"news":5,"foundation":1,"talkshow":1,"diffusion":2,"cogx":1,"zwei":7,"dappcon":1,"ethglobal":1,"meetup":1,"goerli":2,"hackathon":2,"collaboration":1,"culture":3,"blockstars":1,"critiquedao":1,"04":5,"experiences":1}
\ No newline at end of file
+{"3":3,"25":1,"ethberlin":25,"results":2,"sponsors":2,"judging":2,"transparency":1,"mentor":1,"bounties":1,"dod":11,"diffusion":2,"cogx":1,"zwei":7,"news":5,"dappcon":1,"ethglobal":1,"meetup":1,"goerli":2,"hackathon":2,"collaboration":1,"culture":3,"blockstars":1,"critiquedao":1,"foundation":1,"talkshow":1,"04":5,"experiences":1}
\ No newline at end of file
diff --git a/components/social-icons/icons.tsx b/components/social-icons/icons.tsx
index db6b8f0..9ce45b4 100644
--- a/components/social-icons/icons.tsx
+++ b/components/social-icons/icons.tsx
@@ -93,3 +93,12 @@ export function Instagram(svgProps: SVGProps) {
)
}
+
+export function Website(svgProps: SVGProps) {
+ return (
+
+ )
+}
diff --git a/components/social-icons/index.tsx b/components/social-icons/index.tsx
index 3bb99b1..1428aef 100644
--- a/components/social-icons/index.tsx
+++ b/components/social-icons/index.tsx
@@ -9,6 +9,7 @@ import {
Mastodon,
Threads,
Instagram,
+ Website,
} from './icons'
const components = {
@@ -22,6 +23,7 @@ const components = {
mastodon: Mastodon,
threads: Threads,
instagram: Instagram,
+ website: Website,
}
type SocialIconProps = {
diff --git a/data/footerNavLinks.ts b/data/footerNavLinks.ts
index f606ba6..94b4fc3 100644
--- a/data/footerNavLinks.ts
+++ b/data/footerNavLinks.ts
@@ -9,7 +9,7 @@ type FooterNavLink = {
const footerNavLinks: FooterNavLink[] = [
{ href: '/impressum', title: 'Impressum' },
{ href: '/conduct', title: 'Code of Conduct', hotkey: 'o' },
- { href: '/privacy', title: 'Privacy Policy' },
+ { href: '/privacy', title: 'Privacy Policy', hotkey: 'v' },
]
export default footerNavLinks
diff --git a/data/headerNavLinks.ts b/data/headerNavLinks.ts
index 95fef07..c54acbe 100644
--- a/data/headerNavLinks.ts
+++ b/data/headerNavLinks.ts
@@ -9,6 +9,7 @@ const headerNavLinks: HeaderNavLink[] = [
{ href: '/events', title: 'Events' },
{ href: '/blog', title: 'Blog' },
{ href: '/impressum', title: 'Contact' },
+ { href: '/people', title: 'People' },
]
export default headerNavLinks