UI: tema brand LazyRun, layout kartu, dan dialog yang lebih rapi

- Tema custom (indigo/cyan dari ikon, sudut membulat) mengikuti varian sistem
- Header compact: logo + wordmark, tombol aksi di kanan
- Kartu per shortcut: ikon, nama, meta singkat, chip lokasi, tombol ikon
- Teks satu baris pakai canvas.Text (widget.Label Fyne 2.8 memesan tinggi ~2x)
- Dialog: judul bagian, ikon folder pada Browse, tombol Install primary
This commit is contained in:
oxpoe committed 2026-10-13 08:00:12 +07:00
1 parent da31f7d7d7
commit 1935b5d83d
7 files changed
+316 -65

No files matched your search

+8 -5
View File
@@ -26,10 +26,13 @@ func TestBuildMainWindow(t *testing.T) {
ui.checkUpdates()
}
func TestDescribe(t *testing.T) {
sc := store.Shortcut{Type: store.TypeWebApp, Targets: store.Targets{Menu: true}, DesktopPath: "/nonexistent/x.desktop"}
got := describe(sc)
if got != "Web · Application menu · missing" && got != "Web · Menu aplikasi · hilang" {
t.Errorf("describe() = %q", got)
func TestMetaText(t *testing.T) {
sc := store.Shortcut{Type: store.TypeWebApp, URL: "https://example.com/x", Targets: store.Targets{Menu: true}}
if got := metaText(sc); got != "Web · example.com" {
t.Errorf("metaText() = %q", got)
}
exe := store.Shortcut{Type: store.TypeExecutable, BinaryPath: "/home/u/.local/bin/winbox"}
if got := metaText(exe); got != "Executable · winbox" {
t.Errorf("metaText() = %q", got)
}
}