Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Full Rewrite/Refactor #119

Draft
wants to merge 40 commits into
base: dev
Choose a base branch
from
Draft

[WIP] Full Rewrite/Refactor #119

wants to merge 40 commits into from

Conversation

beebls
Copy link
Collaborator

@beebls beebls commented Jun 29, 2024

This rewrite

  • 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
  • Moves to using @ style imports in components

Progress

  • QAM Tab
  • Theme Browser (In Progress)
  • Expanded View
  • Theme Settings
  • Preset Settings
  • Plugin Settings (Decky Patches included)
  • Credits Page

@beebls beebls marked this pull request as draft June 29, 2024 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants