-
Notifications
You must be signed in to change notification settings - Fork 1
/
page.tsx
86 lines (81 loc) · 3.99 KB
/
page.tsx
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
import type { Metadata } from "next";
import React from "react";
import PinnedMessage from "@/components/routes/home/PinnedMessage";
import TimelineEntry from "@/components/routes/home/TimelineEntry";
import BasePathImage from "@/components/shared/BasePathImage";
import H1 from "@/components/shared/H1";
import InlineLink from "@/components/shared/InlineLink";
import ScrollDownButton from "@/components/shared/ScrollDownButton";
import Wrapper from "@/components/Wrapper";
import WrapperLarge from "@/components/WrapperLarge";
import TimelineEntries, { PinnedMessages } from "@/content/LatestNews";
import { getCategoryColorMap } from "@/utils";
export const metadata: Metadata = {
verification: {
google: "GOOGLE_SITE_VERIFICATION",
},
};
export default function Page() {
const map = getCategoryColorMap(TimelineEntries);
return (
<>
<WrapperLarge>
<div className="relative flex h-dvh items-center justify-between desktop:pt-header-height">
<div className="desktop:w-3/5">
<H1>
<span className="block text-xl text-hu-blue-secondary">Prof. Dr.</span>
<span className="block">Alan Akbik</span>
</H1>
<p className="my-2 text-balance leading-5">
Hi, I'm a professor at the Humboldt University of Berlin, leading the chair of machine
learning. I focus on natural language processing (NLP) research and the development of
popular open source libraries such as Flair NLP.
</p>
<p>
Check out my <InlineLink href="/research">research</InlineLink>,
my <InlineLink href="/publications">publications</InlineLink>
and my <InlineLink href="/chair">Chair</InlineLink>!
</p>
</div>
<div className="hidden h-full w-2/5 shrink items-center pl-8 desktop:flex">
<div className="relative aspect-square w-full overflow-hidden rounded-full">
<BasePathImage
src="/people/alan-2024-sq-2.png"
alt="A photo of Alan Akbik"
priority
width={500}
height={500}
draggable={false}
className="center-absolute hidden select-none desktop:block"
/>
</div>
</div>
<ScrollDownButton color={"var(--hu-blue-primary)"}>Latest news</ScrollDownButton>
</div>
</WrapperLarge>
<hr/>
<Wrapper>
<section className="flex flex-col gap-y-8 py-24 sm:pb-header-height" id="pinned-messages">
{
PinnedMessages.map((x, i) => <PinnedMessage key={i} title={x.title}>{x.content}</PinnedMessage>)
}
</section>
<section className="mb-32">
<div
className="relative mb-12 flex sm:mb-header-height sm:justify-center sm:after:absolute sm:after:top-1/2 sm:after:-z-10
sm:after:h-[3px] sm:after:w-full sm:after:bg-hu-blue-primary sm:after:content-['']"
>
<H1 className="bg-white sm:px-12">Latest News</H1>
</div>
<div>
{TimelineEntries.map((e, i) => <TimelineEntry
data={e}
color={map.get(e.category) ?? "var(--hu-blue-primary)"}
key={i}
/>)}
</div>
</section>
</Wrapper>
</>
);
}