Skip to content

Commit ddcc39e

Browse files
authored
Merge pull request #243 from PowerPCFan/dev
Add icons back to navbar, fix icon spacing, fix Chinese locale flag, make navbar items use a snippet to avoid repeating code
2 parents be08fd8 + 563cc19 commit ddcc39e

File tree

4 files changed

+97
-67
lines changed

4 files changed

+97
-67
lines changed

.vscode/settings.json

Lines changed: 37 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,40 @@
11
{
2-
"i18n-ally.localesPaths": [
3-
"src/locales"
4-
],
5-
"i18n-ally.sourceLanguage": "en",
6-
"i18n-ally.keystyle": "nested",
7-
"editor.formatOnSave": true,
8-
"[typescript]": {
9-
"editor.defaultFormatter": "esbenp.prettier-vscode"
10-
},
11-
"[svelte]": {
12-
"editor.defaultFormatter": "esbenp.prettier-vscode"
13-
},
14-
"[json]": {
15-
"editor.quickSuggestions": {
16-
"strings": true
17-
},
18-
"editor.suggest.insertMode": "replace",
19-
"editor.defaultFormatter": "vscode.json-language-features",
20-
"editor.formatOnSave": false
21-
},
22-
"editor.codeActionsOnSave": {
23-
"source.organizeImports": "always",
24-
"source.fixAll.eslint": "always"
25-
},
26-
"gitlens.advanced.blame.customArguments": [
27-
"--ignore-revs-file",
28-
".git-blame-ignore-revs"
29-
],
30-
"sherlock.editorColors": {
31-
"info": {
32-
"foreground": "#color",
33-
"background": "rgba(number, number, number, 0.2)", // needs transparency
34-
"border": "#color"
35-
},
36-
"error": {
37-
"foreground": "#color",
38-
"background": "rgba(number, number, number, 0.2)", // needs transparency
39-
"border": "#color"
40-
},
41-
"messageLintRuleLevels": {
42-
"messageLintRule.inlang.messageWithoutSource": "error",
2+
"i18n-ally.localesPaths": ["src/locales"],
3+
"i18n-ally.sourceLanguage": "en",
4+
"i18n-ally.keystyle": "nested",
5+
"editor.formatOnSave": true,
6+
"[typescript]": {
7+
"editor.defaultFormatter": "esbenp.prettier-vscode"
8+
},
9+
"[svelte]": {
10+
"editor.defaultFormatter": "esbenp.prettier-vscode"
11+
},
12+
"[json]": {
13+
"editor.quickSuggestions": {
14+
"strings": true
15+
},
16+
"editor.suggest.insertMode": "replace",
17+
"editor.defaultFormatter": "vscode.json-language-features",
18+
"editor.formatOnSave": false
19+
},
20+
"editor.codeActionsOnSave": {
21+
"source.organizeImports": "always",
22+
"source.fixAll.eslint": "always"
23+
},
24+
"gitlens.advanced.blame.customArguments": ["--ignore-revs-file", ".git-blame-ignore-revs"],
25+
"sherlock.editorColors": {
26+
"info": {
27+
"foreground": "#color",
28+
"background": "rgba(number, number, number, 0.2)", // needs transparency
29+
"border": "#color"
30+
},
31+
"error": {
32+
"foreground": "#color",
33+
"background": "rgba(number, number, number, 0.2)", // needs transparency
34+
"border": "#color"
35+
},
36+
"messageLintRuleLevels": {
37+
"messageLintRule.inlang.messageWithoutSource": "error"
38+
}
4339
}
4440
}
45-
46-
}

package-lock.json

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/Header.svelte

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
} else if (locale === "ar") {
2828
flag = "sa";
2929
}
30+
if (locale.startsWith("zh_")) {
31+
flag = locale.slice(3).toLowerCase();
32+
}
3033
3134
const url = `https://flagcdn.com/${flag}.svg`;
3235
await fetch(url)
@@ -49,7 +52,7 @@
4952
class="bg-card flex h-full w-screen max-w-screen items-center space-x-6 pt-1 pr-4 pb-1 pl-4">
5053
<button
5154
id="popout-toggle"
52-
class="hidden h-12 w-12"
55+
class="relative hidden h-12 w-12"
5356
onclick={_ => ($sidebarOpen = !$sidebarOpen)}>
5457
{#key $sidebarOpen}
5558
<div transition:fade={{ duration: 100 }} class="absolute top-0">
@@ -61,7 +64,10 @@
6164
</div>
6265
{/key}
6366
</button>
64-
{@render children()}
67+
68+
<div class="flex gap-4.5">
69+
{@render children()}
70+
</div>
6571

6672
<div class="mr-4 ml-auto flex space-x-2">
6773
<Select.Root onValueChange={value => setLocale(value)} type="single" name="Language">
@@ -158,9 +164,6 @@
158164
{/if}
159165

160166
<style>
161-
:global(#header svg) {
162-
display: none;
163-
}
164167
@media (max-width: 960px) {
165168
:global(#header a) {
166169
display: none;

src/routes/+layout.svelte

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import { navigating } from "$app/stores";
2+
import { navigating } from "$app/state";
33
import Analytics from "$lib/components/Analytics.svelte";
44
import Banner from "$lib/components/Banner.svelte";
55
import Header from "$lib/components/Header.svelte";
@@ -8,7 +8,7 @@
88
import { sidebarOpen } from "$lib/store";
99
import consola from "consola";
1010
import NProgress from "nprogress";
11-
import MaterialSymbolsAccountCircle from "~icons/material-symbols/account-circle";
11+
import type { Component } from "svelte";
1212
import MaterialSymbolsFlagRounded from "~icons/material-symbols/flag-rounded";
1313
import MaterialSymbolsHomeRounded from "~icons/material-symbols/home-rounded";
1414
import MaterialSymbolsMenuBookRounded from "~icons/material-symbols/menu-book-rounded";
@@ -28,12 +28,12 @@
2828
});
2929
3030
$effect(() => {
31-
if ($navigating) {
31+
if (navigating) {
3232
consola.debug("Starting navigation");
3333
NProgress.start();
3434
}
3535
36-
if (!$navigating) {
36+
if (!navigating) {
3737
$sidebarOpen = false;
3838
NProgress.done();
3939
consola.debug("Navigation done");
@@ -43,24 +43,41 @@
4343
});
4444
</script>
4545

46+
{#snippet navbarLink(Icon: Component, href: string, text: string, preload: boolean = true)}
47+
{@const preloadValue = preload ? "hover" : "off"}
48+
49+
<a
50+
class="hover:text-accent flex flex-row items-center justify-start gap-1.5 text-xl font-medium"
51+
href={href}
52+
data-sveltekit-preload-data={preloadValue}>
53+
<Icon />{text}
54+
</a>
55+
{/snippet}
56+
4657
<Toaster />
58+
4759
<Header>
48-
<a class="flex flex-row text-xl font-medium" href={localizeHref("/")}
49-
><MaterialSymbolsHomeRounded />{m.dashboard_home()}</a>
50-
<a
51-
class="flex flex-row items-center text-xl font-medium"
52-
href={localizeHref("/dashboard")}
53-
data-sveltekit-preload-data="off"><MaterialSymbolsTeamDashboard />{m.dashboard_navbar()}</a>
54-
<a
55-
class="flex flex-row text-xl font-medium"
56-
href={localizeHref("/account/manage")}
57-
data-sveltekit-preload-data="off"
58-
><MaterialSymbolsAccountCircle />{m.dashboard_account()}</a>
59-
<a class="flex flex-row text-xl font-medium" href={localizeHref("/report")}
60-
><MaterialSymbolsFlagRounded />{m.dashboard_abuse()}</a>
61-
<a class="flex flex-row items-center text-xl font-medium" href="https://guides.frii.site"
62-
><MaterialSymbolsMenuBookRounded />{m.guides_link_navbar()}</a>
60+
{@render navbarLink(MaterialSymbolsHomeRounded, localizeHref("/"), m.dashboard_home())}
61+
{@render navbarLink(
62+
MaterialSymbolsTeamDashboard,
63+
localizeHref("/dashboard"),
64+
m.dashboard_navbar(),
65+
false
66+
)}
67+
{@render navbarLink(
68+
MaterialSymbolsTeamDashboard,
69+
localizeHref("/account/manage"),
70+
m.dashboard_account(),
71+
false
72+
)}
73+
{@render navbarLink(MaterialSymbolsFlagRounded, localizeHref("/report"), m.dashboard_abuse())}
74+
{@render navbarLink(
75+
MaterialSymbolsMenuBookRounded,
76+
"https://guides.frii.site",
77+
m.guides_link_navbar()
78+
)}
6379
</Header>
80+
6481
<Banner />
6582

6683
<Analytics />
@@ -92,6 +109,7 @@
92109
93110
:global(a) {
94111
color: var(--color-primary);
112+
transition: color 0.2s ease-in-out;
95113
}
96114
97115
:global(body) {

0 commit comments

Comments
 (0)