Extracts all platform agnostic logic (api/backend interop and theme state) into src/backend, which eventually will be published as a separate npm package so that it can be shared between decky and desktop
ServerAPI calls (toast/backend method call) are now contained in a "repository" which can be dependency injected to use either decky's serverapi, or the desktop's fetch and react-toastify based solutions
Switched to a global zustand store that stores all theme data
Use reducer style zustand actions (eg: toggleTheme, changePreset) to take logic out of components
Switches to using zustand stores for all cross-component state
Adopts the new Decky Websocket API
Switches to using classname based styling instead of inline styles
Removes all old css/js hacks that no longer apply to the latest steam stable/beta
Moves all .then/.catch logic to async await and try catch
This rewrite
src/backend
, which eventually will be published as a separate npm package so that it can be shared between decky and desktop.then
/.catch
logic toasync await
andtry catch
@
style imports in componentsProgress