| Name | Message | Date |
|---|---|---|
| 📄 +layout.svelte | 4 hours ago | |
| 📄 +layout.ts | 4 hours ago | |
| 📄 +page.svelte | 3 hours ago |
📄
src/routes/+layout.svelte
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
<script lang="ts">
import favicon from "$lib/assets/favicon.svg";
let { children } = $props();
</script>
<svelte:head>
<link rel="icon" href={favicon} />
</svelte:head>
<main>
{@render children()}
</main>
<nav>
<ul>
<li>
<a href="/" aria-label="Home">
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
<path
d="M21 8.5c-2.1-.7-4.5.1-6.1 1.8L12 12 9.1 10.3C7.5 8.6 5.1 7.8 3 8.5c.9 1.9 2.7 3.4 4.8 3.8l-2.3.8C6.8 15 9.2 15.4 11 14l1-.5 1 .5c1.8 1.4 4.2 1 5.5-.9l-2.3-.8C18.3 11.9 20.1 10.4 21 8.5z"
/>
</svg>
</a>
</li>
</ul>
</nav>
<style>
:global(*) {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:global(html) {
--bg: #0e1a10;
--nav-bg: #162419;
--accent: #5cb85c;
--text: #e8f0e9;
--nav-height: 5rem;
}
:global(body) {
background: var(--bg);
color: var(--text);
font-family: system-ui, sans-serif;
overscroll-behavior: none;
-webkit-tap-highlight-color: transparent;
}
main {
min-height: 100dvh;
padding-bottom: calc(var(--nav-height) + env(safe-area-inset-bottom));
}
nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: calc(var(--nav-height) + env(safe-area-inset-bottom));
overflow: hidden;
&::before {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 140vw;
height: 100%;
border-radius: 70vw 70vw 0 0 / 5vw 5vw 0 0;
background: var(--nav-bg);
}
ul {
position: relative;
z-index: 1;
height: var(--nav-height);
display: flex;
align-items: center;
justify-content: center;
list-style: none;
a {
display: flex;
align-items: center;
justify-content: center;
color: var(--text);
text-decoration: none;
padding: 0.75rem;
opacity: 0.6;
transition: opacity 0.2s;
&:hover,
&:focus-visible,
&[aria-current="page"] {
opacity: 1;
}
svg {
width: 1.75rem;
height: 1.75rem;
}
}
}
}
</style>