Rework the settings app around hub pages (home, network, displays, input, apps, privacy, system) with a redesigned sidebar, shared nav state, and new hub view components. Alongside the redesign: validate webview inputs into root commands (users, firewall, snapshots, wifi), fix set_charge_threshold writing the percentage via tee stdin, prevent streaming installs from hanging on inherited stdin, add frontend type fixes, sync versions to 0.8.2, and clean up clippy/svelte-check warnings.
29 lines
932 B
Svelte
29 lines
932 B
Svelte
<script lang="ts">
|
|
import Subnav from "$lib/components/Subnav.svelte";
|
|
import Embed from "$lib/components/Embed.svelte";
|
|
import Breadclip from "./Breadclip.svelte";
|
|
import Breadpad from "./Breadpad.svelte";
|
|
import Breadsearch from "./Breadsearch.svelte";
|
|
import Bread from "./Bread.svelte";
|
|
import Breadhelp from "./Breadhelp.svelte";
|
|
|
|
const tabs = [
|
|
{ id: "breadclip", label: "Clipboard", component: Breadclip },
|
|
{ id: "breadpad", label: "Notes", component: Breadpad },
|
|
{ id: "breadsearch", label: "Search", component: Breadsearch },
|
|
{ id: "bread", label: "Daemon", component: Bread },
|
|
{ id: "breadhelp", label: "Help", component: Breadhelp },
|
|
];
|
|
|
|
let tab = $state(tabs[0].id);
|
|
let Active = $derived(tabs.find((t) => t.id === tab)?.component);
|
|
</script>
|
|
|
|
<Subnav items={tabs.map(({ id, label }) => ({ id, label }))} bind:value={tab} />
|
|
<Embed>
|
|
{#key tab}
|
|
{#if Active}
|
|
<Active />
|
|
{/if}
|
|
{/key}
|
|
</Embed>
|