Full port of the KaSe/KeSp split keyboard configurator from egui to Slint: - 6 tabs: Keymap, Advanced, Macros, Stats, Settings, Flash - Responsive keyboard view with scale-to-fit and key rotations - Key selector popup with categorized grid, MT/LT builders, hex input - Combo key picker with inline keyboard visual - Macro step builder with visual tags - Serial communication via background threads + mpsc polling - Heatmap overlay with blue-yellow-red gradient - OTA flasher with prog port VID filtering and partition selector - WPM polling, Tamagotchi, Autoshift controls - Dracula theme matching egui version Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39 lines
938 B
Text
39 lines
938 B
Text
import { Theme } from "../theme.slint";
|
|
import { AppState } from "../globals.slint";
|
|
|
|
export component StatusBar inherits Rectangle {
|
|
height: 32px;
|
|
background: Theme.bg-secondary;
|
|
|
|
HorizontalLayout {
|
|
padding-left: 12px;
|
|
padding-right: 12px;
|
|
spacing: 16px;
|
|
|
|
// Status text
|
|
Text {
|
|
text: AppState.status-text;
|
|
color: Theme.fg-secondary;
|
|
font-size: 12px;
|
|
vertical-alignment: center;
|
|
}
|
|
|
|
Rectangle { horizontal-stretch: 1; }
|
|
|
|
// WPM
|
|
Text {
|
|
text: AppState.wpm > 0 ? "WPM: " + AppState.wpm : "";
|
|
color: Theme.accent-cyan;
|
|
font-size: 12px;
|
|
vertical-alignment: center;
|
|
}
|
|
|
|
// Version
|
|
Text {
|
|
text: "v0.6.0";
|
|
color: Theme.fg-secondary;
|
|
font-size: 11px;
|
|
vertical-alignment: center;
|
|
}
|
|
}
|
|
}
|