Migrate bos-settings from GTK4 to Tauri + Svelte 5
Ports every remaining view (Keybinds, the last one — dual Flat/MultiLayout schema detection, per-action dedicated fields with a raw-JSON fallback for anything not modeled) and removes the now-fully-dead GTK4 crate (root Cargo.toml + src/), leaving src-tauri/ as the single Rust binary crate. Also folds in the UX pass done alongside the migration: responsive multi-column layout instead of a single centered column, chip/dropdown pickers replacing free-typed fields (Wi-Fi networks, Bar style, keyboard layout, tag lists), consistent pill-switch toggles and boxed-list card styling across every page, and a sidebar scroll-chaining fix.
This commit is contained in:
parent
62365ebf10
commit
93c3b88b10
147 changed files with 15804 additions and 7516 deletions
40
frontend/src/lib/components/ViewScaffold.svelte
Normal file
40
frontend/src/lib/components/ViewScaffold.svelte
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<script lang="ts">
|
||||
import type { Snippet } from "svelte";
|
||||
|
||||
let { title, children }: { title: string; children: Snippet } = $props();
|
||||
</script>
|
||||
|
||||
<div class="view">
|
||||
<h1 class="title">{title}</h1>
|
||||
<div class="content">
|
||||
{@render children()}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.view {
|
||||
padding: var(--space-xl, 20px) var(--space-xl, 20px) 48px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 1.6em;
|
||||
font-weight: bold;
|
||||
margin: 0 0 var(--space-xl, 20px);
|
||||
}
|
||||
|
||||
/* Groups lay out as a responsive grid rather than a single narrow
|
||||
column — on a wide (tiled/maximized) window that means multiple
|
||||
independent setting groups sit side by side instead of one column
|
||||
with a wall of empty space either side. `.group.wide` (device
|
||||
lists, thumbnail grids, log views — anything that reads badly
|
||||
squeezed into a card) opts out via `grid-column: 1 / -1`. */
|
||||
.content {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
|
||||
gap: var(--space-xl, 20px) 32px;
|
||||
align-items: start;
|
||||
max-width: 1400px;
|
||||
}
|
||||
</style>
|
||||
Loading…
Add table
Add a link
Reference in a new issue