Skip to content

Commit c6d2e68

Browse files
committed
Add link to utils
1 parent 818800d commit c6d2e68

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

src/routes/+page.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@
226226
<p class="option-text">Account</p>
227227
</FlexWrapper>
228228
</a>
229+
<a class="option" href="https://kanban.davidnet.net/utils">
230+
<FlexWrapper width="100%" height="100%" gap="var(--token-space-2)">
231+
<Icon size="4rem" icon="build" />
232+
<p class="option-text">Utils</p>
233+
</FlexWrapper>
234+
</a>
229235
<a class="option" href="https://files.davidnet.net">
230236
<FlexWrapper width="100%" height="100%" gap="var(--token-space-2)">
231237
<Icon size="4rem" icon="smb_share" />

src/routes/utils/+page.svelte

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<script lang="ts">
2+
import Weather from "$lib/components/Weather.svelte";
3+
import type { SessionInfo } from "$lib/types";
4+
import {
5+
FlexWrapper,
6+
Icon,
7+
LinkButton,
8+
Space,
9+
Button
10+
} from "@davidnet/svelte-ui";
11+
import { onDestroy } from "svelte";
12+
13+
let width = $state(window.innerWidth);
14+
const handleResize = () => {
15+
width = window.innerWidth;
16+
};
17+
18+
window.addEventListener("resize", handleResize);
19+
onDestroy(() => {
20+
window.removeEventListener("resize", handleResize);
21+
});
22+
</script>
23+
24+
<FlexWrapper width="100%" direction="column">
25+
<FlexWrapper width="80%" direction="row" justifycontent="flex-start" wrap="wrap" gap="var(--token-space-2)">
26+
<Button
27+
iconbefore="arrow_back"
28+
onClick={() => {
29+
history.back();
30+
}}>Back</Button
31+
>
32+
<LinkButton iconbefore="home" href="/">Home</LinkButton>
33+
</FlexWrapper>
34+
<Space height="var(--token-space-6)" />
35+
</FlexWrapper>
36+
37+
<Space height="var(--token-space-6)" />
38+
39+
<FlexWrapper alignitems="flex-start" width="80%">
40+
<h2>Utils:</h2>
41+
<FlexWrapper gap="var(--token-space-3)" justifycontent={width > 600 ? "flex-start" : "space-evenly"} direction="row" wrap="wrap">
42+
<a class="option" href="https://publitasdownloader.davidnet.net">
43+
<FlexWrapper width="100%" height="100%" gap="var(--token-space-2)">
44+
<Icon size="4rem" icon="archive" />
45+
<p class="option-text">Publitas downloader</p>
46+
</FlexWrapper>
47+
</a>
48+
</FlexWrapper>
49+
</FlexWrapper>
50+
51+
<Space height="var(--token-space-4)" />
52+
53+
<style>
54+
55+
.option {
56+
text-decoration: none;
57+
color: var(--token-color-text-default-normal);
58+
text-align: center;
59+
border-radius: 2rem;
60+
background-color: var(--token-color-surface-overlay-normal);
61+
padding: 0.25rem;
62+
transition:
63+
transform 0.4s ease,
64+
box-shadow 0.4s ease;
65+
height: 8rem;
66+
width: 8rem;
67+
}
68+
69+
.option:hover {
70+
background-color: var(--token-color-surface-overlay-hover);
71+
transform: scale(1.01);
72+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
73+
}
74+
75+
.option:active,
76+
.option:focus {
77+
background-color: var(--token-color-surface-overlay-pressed);
78+
}
79+
80+
.option:focus {
81+
outline: 2px solid var(--token-color-focusring);
82+
}
83+
84+
.option-text {
85+
line-height: 1.2;
86+
margin: 0px;
87+
font-size: larger;
88+
}
89+
</style>

0 commit comments

Comments
 (0)