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} +
+

{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