b6619ef53b
- app.go: App struct with stub bindings (RunCheck/StartEngine/
StopEngine/GetStatus/Version) — emits check:result, check:done,
engine:status, stats:update events. Real backend lands in Phase 1.
- run.go: wails.Run() with frameless 480x640 fixed window, Classic
dark bg matching theme.
- embed.go: //go:embed all:frontend/dist for the Vite build output.
- frontend/: Vite + React project derived from `wails init -t react`.
Removed default template assets and wired Classic variant from
docs/design/v2/.
- components/Classic.jsx: variant 1 with custom title bar
(drag region, sun/moon theme toggle, min/close hooked to
Wails WindowMinimise/Quit).
- components/shared.jsx: useDrover hook adapted to call Wails
bindings and listen on backend events instead of mock SCENARIOS.
Added IconSun + IconMoon for the title-bar toggle.
- App.jsx: owns mode state, wraps setMode in
document.startViewTransition so the title-bar toggle gives a
circle-reveal sweep from the cursor.
- style.css: clean reset (overflow hidden, no scrollbars, brand
background) — replaces the wails-react-template defaults.
- wailsjs/go/gui/App.js: hand-written bindings since our App
struct lives in package gui rather than the standard top-level
main; `wails generate module` would have written package main
bindings here.
- build/: standard wails artifacts (icon, manifest); will be
consumed by `wails build` once we wire it through CI.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
183 lines
3.7 KiB
JavaScript
183 lines
3.7 KiB
JavaScript
/*
|
|
_ __ _ __
|
|
| | / /___ _(_) /____
|
|
| | /| / / __ `/ / / ___/
|
|
| |/ |/ / /_/ / / (__ )
|
|
|__/|__/\__,_/_/_/____/
|
|
The electron alternative for Go
|
|
(c) Lea Anthony 2019-present
|
|
*/
|
|
|
|
export function LogPrint(message) {
|
|
window.runtime.LogPrint(message);
|
|
}
|
|
|
|
export function LogTrace(message) {
|
|
window.runtime.LogTrace(message);
|
|
}
|
|
|
|
export function LogDebug(message) {
|
|
window.runtime.LogDebug(message);
|
|
}
|
|
|
|
export function LogInfo(message) {
|
|
window.runtime.LogInfo(message);
|
|
}
|
|
|
|
export function LogWarning(message) {
|
|
window.runtime.LogWarning(message);
|
|
}
|
|
|
|
export function LogError(message) {
|
|
window.runtime.LogError(message);
|
|
}
|
|
|
|
export function LogFatal(message) {
|
|
window.runtime.LogFatal(message);
|
|
}
|
|
|
|
export function EventsOnMultiple(eventName, callback, maxCallbacks) {
|
|
window.runtime.EventsOnMultiple(eventName, callback, maxCallbacks);
|
|
}
|
|
|
|
export function EventsOn(eventName, callback) {
|
|
EventsOnMultiple(eventName, callback, -1);
|
|
}
|
|
|
|
export function EventsOff(eventName) {
|
|
return window.runtime.EventsOff(eventName);
|
|
}
|
|
|
|
export function EventsOffAll() {
|
|
return window.runtime.EventsOffAll();
|
|
}
|
|
|
|
export function EventsOnce(eventName, callback) {
|
|
EventsOnMultiple(eventName, callback, 1);
|
|
}
|
|
|
|
export function EventsEmit(eventName) {
|
|
let args = [eventName].slice.call(arguments);
|
|
return window.runtime.EventsEmit.apply(null, args);
|
|
}
|
|
|
|
export function WindowReload() {
|
|
window.runtime.WindowReload();
|
|
}
|
|
|
|
export function WindowReloadApp() {
|
|
window.runtime.WindowReloadApp();
|
|
}
|
|
|
|
export function WindowSetAlwaysOnTop(b) {
|
|
window.runtime.WindowSetAlwaysOnTop(b);
|
|
}
|
|
|
|
export function WindowSetSystemDefaultTheme() {
|
|
window.runtime.WindowSetSystemDefaultTheme();
|
|
}
|
|
|
|
export function WindowSetLightTheme() {
|
|
window.runtime.WindowSetLightTheme();
|
|
}
|
|
|
|
export function WindowSetDarkTheme() {
|
|
window.runtime.WindowSetDarkTheme();
|
|
}
|
|
|
|
export function WindowCenter() {
|
|
window.runtime.WindowCenter();
|
|
}
|
|
|
|
export function WindowSetTitle(title) {
|
|
window.runtime.WindowSetTitle(title);
|
|
}
|
|
|
|
export function WindowFullscreen() {
|
|
window.runtime.WindowFullscreen();
|
|
}
|
|
|
|
export function WindowUnfullscreen() {
|
|
window.runtime.WindowUnfullscreen();
|
|
}
|
|
|
|
export function WindowGetSize() {
|
|
return window.runtime.WindowGetSize();
|
|
}
|
|
|
|
export function WindowSetSize(width, height) {
|
|
window.runtime.WindowSetSize(width, height);
|
|
}
|
|
|
|
export function WindowSetMaxSize(width, height) {
|
|
window.runtime.WindowSetMaxSize(width, height);
|
|
}
|
|
|
|
export function WindowSetMinSize(width, height) {
|
|
window.runtime.WindowSetMinSize(width, height);
|
|
}
|
|
|
|
export function WindowSetPosition(x, y) {
|
|
window.runtime.WindowSetPosition(x, y);
|
|
}
|
|
|
|
export function WindowGetPosition() {
|
|
return window.runtime.WindowGetPosition();
|
|
}
|
|
|
|
export function WindowHide() {
|
|
window.runtime.WindowHide();
|
|
}
|
|
|
|
export function WindowShow() {
|
|
window.runtime.WindowShow();
|
|
}
|
|
|
|
export function WindowMaximise() {
|
|
window.runtime.WindowMaximise();
|
|
}
|
|
|
|
export function WindowToggleMaximise() {
|
|
window.runtime.WindowToggleMaximise();
|
|
}
|
|
|
|
export function WindowUnmaximise() {
|
|
window.runtime.WindowUnmaximise();
|
|
}
|
|
|
|
export function WindowMinimise() {
|
|
window.runtime.WindowMinimise();
|
|
}
|
|
|
|
export function WindowUnminimise() {
|
|
window.runtime.WindowUnminimise();
|
|
}
|
|
|
|
export function WindowSetBackgroundColour(R, G, B, A) {
|
|
window.runtime.WindowSetBackgroundColour(R, G, B, A);
|
|
}
|
|
|
|
export function ScreenGetAll() {
|
|
return window.runtime.ScreenGetAll();
|
|
}
|
|
|
|
export function BrowserOpenURL(url) {
|
|
window.runtime.BrowserOpenURL(url);
|
|
}
|
|
|
|
export function Environment() {
|
|
return window.runtime.Environment();
|
|
}
|
|
|
|
export function Quit() {
|
|
window.runtime.Quit();
|
|
}
|
|
|
|
export function Hide() {
|
|
window.runtime.Hide();
|
|
}
|
|
|
|
export function Show() {
|
|
window.runtime.Show();
|
|
}
|