feat(qbz-qt): phase 2 — app shell with 1:1 Slint visual parity

HeaderBar (42px, sidebar cycle, back/forward, centered search replica,
offline badge + flyout, app menu), three-state Sidebar (open 240 / mini
64 / closed 0, 160ms animation, nav rows with exact msgids), NowPlaying
bar SMALL (3px three-color seekbar, art+title+time left, transport
center, quality/volume/queue-toggle right, exact empty state), Queue
panel (300px animated column, Queue/History tabs, exact empty states).
Nav history stack + NowPlayingModel with empty-state defaults behind
new bridge properties/invokables (transport log-and-noop until
playback lands). Icons as pre-baked tinted SVG variants (ColorOverlay
is broken on the software path); Inter fonts bundled; full dark theme
tokens ported from the Slint foundation files.

km
This commit is contained in:
vicrodh committed 2026-07-27 12:56:38 -06:00
1 parent df7eb3588e
commit 744bce3819
189 files changed
+3206 -135

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
// Content view stub for the only mounted route ("home" = Discover > Home).
// Phase 3 fills this with the real Discover view; for now it proves the
// content frame, theme and i18n wiring.
import QtQuick
import com.blitzfc.qbz
Rectangle {
color: theme.surfaceMain
QbzTheme { id: theme }
Column {
anchors.left: parent.left
anchors.top: parent.top
anchors.margins: theme.spacingXl
spacing: theme.spacingSm
Text {
text: QbzBridge.tr("Discover") + " / " + QbzBridge.tr("Home")
color: theme.textPrimary
font.pixelSize: theme.fontSection
font.weight: theme.weightSemibold
}
Text {
text: "QBZ Qt POC — phase 3 fills this view"
color: theme.textMuted
font.pixelSize: theme.fontLegal
}
}
}