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

Feature vite react beta #26

Merged
merged 52 commits into from
Nov 16, 2023
Merged

Feature vite react beta #26

merged 52 commits into from
Nov 16, 2023

Conversation

thenick775
Copy link
Owner

  • complete rewrite in vite+react

  • updated FE with better user experience

  • see readme and take a product tour for full updates

Nick VanCise and others added 30 commits August 4, 2023 17:53
- fixes controls sending default false on safari

- still need to fix dynamic switching of default value on screen resize
Co-authored-by: Nick VanCise <nickvancise@MacBook-Pro.local>
* feat: in game actions

- in game actions menu implementation

- TODO: manage save states/manage cheats UI

* refactor: attempt to fix safari screenshot

- html-to-image fails to decode properly in safari when drawImage svg+xml, switching to modern-screenshot which has a temporary fix in place

* fix: emulator could load before functions are ready to be called

- optional functions would have resulted in uncaught exceptions  if called before the emulator was fully loaded

- see: emscripten-core/emscripten#6430 (comment)

* feat: save state modal, initial steps to persist to idbfs

- adds initial save state modal implementation

- facilitates initial steps to persisting filesystem to indexeddb properly

* feat: wip file system sync

- additions related to file persistance

- note: wip, coming up: file system delete, cheats editing modal

* refactor: readme update, better key for fs modal

* refactor: comment cleanup, formatting

* fix: linter

* feat: file system generic delete

- generic delete

- file system modal styling

* fix: update emulator deps

- fixes race condition when syncing from idbfs

* refactor: close load local rom modal

- menu item is disabled, should close modal on load of rom

* refeactor: cheats path safe fetch

- using analyzePath to check file existance, adding related typescript def

* feat: cheats implementation

- cheats implementation

- reorg exports in emulator

- shared managed checkbox (hoisted common dep)

* feat: bump mgba wasm files

- formatted pre.js ES6

---------

Co-authored-by: Nick VanCise
- close upload rom modal if upload is successful

- formatting
- fixes DPadAndButtons default value when displayed if no config is persisted on resize
- tentative new desktop positioning

- dont open send to save modal if unauthenticated
* feat: eslint and package updates

- updat eslint and add import plugin recommended settings

- upgrad all outdated packages

- fix all linter warnings

- formatting updates

* refactor: use inline type imports where possible

* refactor: simplify eslintrc

- no-unresolved is covered under recommended

---------

Co-authored-by: Nick VanCise
- caused undefined is not a func error, fix by optional chaining
* feat: gzip application/wasm mime type

- add application/wasm to gzip compression

- sort gzip_types

* feat: improve lightouse performance score

- add visualizer for rollup

- refactor manual chunks

- update outdated packages

---------

Co-authored-by: Nick VanCise
- this allows for a dynamic max height to be used in the transition of the menu elements
- uses a more recent iteration of emscripten compiler

- bumps wasm files
-using this newer version of emscripten, module initialization is now a real promise

- bump wasm files

- promisify FSInit, removes callback pattern
- adjust volume slider styling

- TODO: refactor state passing, sync emulator volume from localstorage
- routine outdated package updates
* feat: refactor how emulator interacts with state

- wrap specific functions at provider level when setting UI related state on top of emulator functions

- move paused state down to the control panel

- wire up quick reload additoins

- wire up emulator volume handling persistance/additions

* refactor: wrap quit mgba with appropriate state

---------

Co-authored-by: Nick VanCise
- bump wasm files -> gaurd certain functions running without a core

- remove unnecessary guards in javascript
- upload rom to server modal

- disable menu items for sending current files when not running

- disable upload save to server modal when not running for virtual button
* feat: tab navigation in modals

- give react modal portal a height so modals can use tab navigation

- hoist enabling/disabling emulator keyboard input

* feat: add extra linting

* wip: accessibility work

- wip aria labeling

- wip switching to interactive elements where possible

- remove unnecessary styles

- bump wasm files (for use of tab+space)

* feat: menu clear dismiss as button

- experiment with menu clear dismiss as button

- better tab navigation to this close mechanism

* feat: aria labels for virtual buttons

- aria labels generated from key

* feat: tab navigation in sidebar menu

* fix: control panel button color iOS mobile

- color was gba blue at rest, should be black, blue on active

* refactor: accessible naming for modals

- TODO: remove all hardcoded ids if possible in the future

* feat: handle emulator button keyboard events

- due to using pointer events, handling of emulator key simulation was necessary

- this allows keyboard usage of all buttons except for the o-pad, where I think arrow keys are enough in that case

* fix: volume click usage

- onblur/focus for keyboard a11y prevented control input from resuming is mouse was used

- on click (happens on pointer up), we want to resume emulator control of keyboard inputs

* refactor: missing cursor

* refactor: missing cursor

* fix: menu focus styling

- fixes some issues with focus visible and focus styling for menu nodes

---------

Co-authored-by: Nick VanCise
Nick VanCise and others added 22 commits October 14, 2023 11:39
- fixes screenshot
- the user agent had these at different values across different devices

- syncing to previous defaults, may want to re-evaluate in the future
Co-authored-by: Nick VanCise
- attempt to remove any sticky controls in the o-pad
* feat: tour refactor, per component tour additions

- embed tours per modal

- hoist common components

- update zindexes for embedded tours below sidebar menu (looks like react-joyride/floater uses a min of 100 when set to 0)

* refactor: loading conditions with tour

* feat: reduce duplicate step options

- reduce duplicate step options per embedded tour item

* refactor: local local rom tour copy, spotlight positioning

* refactor: hide tour steps until intro is complete

- hides tour steps if the intro is not complete

- states:
   - intro is not complete -> hide
   - intro is skipped -> hide
   - all other cases -> show tour steps

* feat: upload rom/save to server tour items

* feat: readme feature update

* feat: package updates

- bump react joyride

- outdated packages

* feat: copy and styling update for tour intro

* refactor: readme update

* refactor: copy updates, positioning updates

* refactor: tour copy updates

* feat: immediate dismiss when in modal

- in this case our modals have a css transition

- this is to unmount the tour component as the modal is closed, to avoid hanging beacons during the transition

* refactor: import order

* feat: load rom/save fallback copy for empty lists

* feat: save state fallback copy for empty list

---------

Co-authored-by: Nick VanCise
- removing in favor of loading local roms
- download save modal

- hoist common components

Co-authored-by: Nick VanCise
- adds lcd screen fade effect on game/emulator quit

Co-authored-by: Nick VanCise
- dropping gbajs (javascript core) support, this will be available in the legacy v1 link
* feat: beta deploy prep

* fix: legacy v1 archive

- dockerfile replace env vars in legacy v1

- fix service worker url in legacy v1 (needed to be relative)

* feat: readme update

---------

Co-authored-by: Nick VanCise
@thenick775 thenick775 merged commit f0fbede into master Nov 16, 2023
@thenick775 thenick775 deleted the feature-vite-react-beta branch November 16, 2023 07:25
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.

1 participant