GameDialog/GameDialogInner are now GameDialogSuspense/GameDialog, and driven by redux
App.tsx now owns the menu and AppBar area, while also rendering OnboardingAlerts and GameDialogSuspense
GameList is now literally the game ... list, while also rendering the toolbar
The toolbar itself is rendered via what I've dubbed a "slot portal": a way to for one component to render something in another react component elsewhere in the tree. This is a small wrapper around context + a ref, inspired by work from @smartbadger
This lets GameList continue to manage its filter api and fields like it always has, but the fields themselves are rendered somewhere totally different
Some random typescript types are now moved to ${feature}/types.ts, or lib/typescript-helpers/...
This brings along some much needed organization:
GameDialog
/GameDialogInner
are nowGameDialogSuspense
/GameDialog
, and driven by reduxApp.tsx
now owns the menu and AppBar area, while also renderingOnboardingAlerts
andGameDialogSuspense
GameList
is now literally the game ... list, while also rendering the toolbarThis lets
GameList
continue to manage its filter api and fields like it always has, but the fields themselves are rendered somewhere totally different${feature}/types.ts
, orlib/typescript-helpers/...
And some more bug fixes:
cache.gc()
after resetting apollo cacheupdateGame
mutation