improve menu layout

This commit is contained in:
Yusur 2025-10-21 14:18:12 +02:00
parent 1dc5768640
commit c0b9ad57db
4 changed files with 41 additions and 13 deletions

View file

@ -1,15 +1,12 @@
<script lang="ts">
import { RiHome2Line, RiUserLine } from "svelte-remixicon";
import type { GuildEntry } from "./backend";
import MenuLink from "./MenuLink.svelte";
let { guild } : { guild: GuildEntry } = $props();
</script>
<ul class="column">
<li>
<a href="/+{guild.name}">
<RiHome2Line />
Home</a>
</li>
<MenuLink href="/+{guild.name}" icon={RiHome2Line} label="Home" />
</ul>

View file

@ -1,13 +1,10 @@
<script lang="ts">
import { RiHome2Line, RiSettings2Line, RiSettingsLine } from 'svelte-remixicon';
import { RiHome2Line, RiSettings2Line } from 'svelte-remixicon';
import MenuLink from './MenuLink.svelte';
</script>
<ul class="column">
<li>
<a href="/"><RiHome2Line /> Home</a>
</li>
<li>
<a href="/settings"><RiSettings2Line /> Settings</a>
</li>
<MenuLink href="/" icon={RiHome2Line} label="Home" />
<MenuLink href="/settings" icon={RiSettings2Line} label="Settings" />
</ul>

33
src/lib/MenuLink.svelte Normal file
View file

@ -0,0 +1,33 @@
<script lang="ts">
let { icon, label, href } = $props();
let Icon = $derived(icon);
</script>
<li>
<a {href}>
<Icon />
{label}
</a>
</li>
<style>
li {
min-height: 2em;
padding: .5em;
border-radius: .5em;
}
a {
color: inherit;
text-decoration: none;
}
a:hover {
color: var(--accent);
}
li:has(a:hover) {
background-color: var(--background);
}
</style>

View file

@ -1,11 +1,12 @@
<script lang="ts">
import { RiUserLine } from "svelte-remixicon";
import type { UserEntry } from "./backend";
import MenuLink from "./MenuLink.svelte";
let { user } : { user: UserEntry } = $props();
</script>
<ul class="column">
<li><RiUserLine /> <a href="/@{user.username}">Profile</a></li>
<MenuLink icon={RiUserLine} href="/@{user.username}" label="Profile" />
</ul>