forked from slonikevents/2026-pgconfdev-site
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHeader.svelte
More file actions
119 lines (101 loc) · 2.44 KB
/
Header.svelte
File metadata and controls
119 lines (101 loc) · 2.44 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
110
111
112
113
114
115
116
117
118
119
<script>
import { resolve } from '$app/paths';
import { page } from '$app/state';
import { Menu } from '@lucide/svelte';
import { PGConf } from '$lib/logo';
import Banner from './Banner.svelte';
import Toggle from './Toggle.svelte';
import { User } from '@lucide/svelte';
let main = $state();
const register = 'https://www.pgevents.ca/events/pgconfdev2026/register';
</script>
<style>
header {
line-height: 2;
}
nav {
flex-wrap: wrap;
margin-bottom: 0;
row-gap: 0;
}
menu {
width: 100%;
&:where(:not([data-open='true'])) {
display: none;
}
@media (width >= 768px) {
display: flex;
width: auto;
}
> li {
margin-block-end: 0;
}
}
header :global(:is(a, button)) {
background-color: unset;
color: inherit;
display: block;
font-family: inherit;
font-size: inherit;
margin: 0.25rem 0.25rem;
outline-offset: 0;
padding: 0.5rem 0.75rem;
text-decoration: none;
:global(&:is(:active, :focus, :hover)) {
background-color: rgba(255 255 255 / 70%);
color: #033c6b;
}
}
</style>
<header>
<nav class="matter">
<a href={resolve('/')}><PGConf size="1.75rem" /></a>
<div class="flex narrow">
<a href={register} target="_blank">
<User
size="1.75rem"
title="My Registration"
style="vertical-align: middle;"
/>
</a>
<Toggle
bind:on={main}
style="padding-inline: 0.625rem"
aria-label="Main Menu"
>
<Menu size="1.75rem" style="vertical-align: middle;" />
</Toggle>
</div>
<menu data-open={main}>
<li>
<a href={resolve('/about')}>
About <span class="narrow">the Conference</span>
</a>
</li>
<li>
<a href={resolve('/cfp')}>
<span class="narrow">Call for Proposals</span>
<span class="wide">CFP</span>
</a>
</li>
<li>
<a href={resolve('/attend')}>
Attend <span class="narrow">PGConf.dev 2026</span>
</a>
</li>
<li>
<a href={resolve('/sponsor')}> Sponsors </a>
</li>
<li class="wide">
<a href={register} target="_blank">
<User
size="1.5rem"
title="My Registration"
style="vertical-align: text-bottom;"
/>
</a>
</li>
</menu>
</nav>
{#if page.route.id == '/'}<Banner />{/if}
</header>