-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathlayout.tsx
More file actions
109 lines (107 loc) · 3.46 KB
/
layout.tsx
File metadata and controls
109 lines (107 loc) · 3.46 KB
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import { ReactElement, ReactNode } from "react"
import { Metadata } from "next"
import { Header } from "../_components/header"
import { Footer } from "../_components/footer"
import { GraphQLConf, HostedByGraphQLFoundation } from "@/icons"
import NextLink from "next/link"
import { OldFontsStyleTag } from "../../../fonts/old-fonts"
export const metadata = {
description:
"The official GraphQL conference hosted by the GraphQL Foundation.",
openGraph: {
images: [
{
url: "http://graphql.org/img/conf/social-pk.jpg",
alt: "GraphQLConf 2023 hosted by the GraphQL Foundation. September 19-21, 2023. San Francisco Bay Area, California",
},
],
},
title: {
absolute: "",
template: "%s | GraphQLConf 2023",
},
keywords: ["GraphQL", "GraphQLConf", "GraphQLConf 2023"],
} satisfies Metadata
export default function ConfLayout({
children,
}: {
children: ReactNode
}): ReactElement {
// Change to similar color to separate it from the 2024 info
const primary = "#d946ef"
const hover = "#c026d3"
return (
<>
<OldFontsStyleTag />
<style>{`
.text-primary,
.hover\\:text-primary:hover {
color: ${primary};
}
.bg-primary {
background: ${primary};
}
.hover\\:bg-primary\\/40:hover {
background: ${hover};
}
`}</style>
<Header
logo={
<NextLink
href="/conf/2023"
className="nextra-logo flex items-center gap-2 text-white"
>
<GraphQLConf className="h-6" />
<span className="select-none text-xl/none">2023</span>
</NextLink>
}
links={[
{ children: "Speakers", href: "/conf/2023/speakers" },
{ children: "Sessions", href: "/conf/2023/sessions" },
{ children: "Gallery", href: "/conf/2023/gallery" },
// For some reason link `/conf/2023/schedule` redirects to `/conf/2023/sessions`, avoid
// client side routing for this route to fix it
{
children: "Schedule",
href: "/conf/2023/schedule",
},
{ children: "FAQ", href: "/conf/2023/faq" },
{ children: "GraphQLConf 2024", href: "/conf/2024" },
]}
/>
{children}
<Footer
logo={
<NextLink href="/conf/2023" className="nextra-logo text-white">
<div className="flex items-center gap-2">
<GraphQLConf className="h-6" />
<span className="select-none text-xl/none">2023</span>
</div>
<HostedByGraphQLFoundation className="mt-2 h-5" />
</NextLink>
}
links={[
[
{ children: "Speakers", href: "/conf/2023/speakers" },
{ children: "Sessions", href: "/conf/2023/sessions" },
{ children: "Gallery", href: "/conf/2023/gallery" },
{ children: "Schedule", href: "/conf/2023/schedule" },
],
[
{ children: "FAQ", href: "/conf/2023/faq" },
{ children: "Contact Us", href: "/conf/2023/faq/#contact" },
],
[
{ children: "GraphQL", href: "/" },
{ children: "GraphQL Foundation", href: "/foundation" },
{
children: "Code of Conduct",
href: "/conf/2023/faq/#codeofconduct",
},
{ children: "Diversity & Inclusion", href: "/conf/2023/faq/#dni" },
],
]}
/>
</>
)
}