You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I'm looking at a list of transactions for a particular account, I want to be able to click on one to edit it and then go back to the list - ideally, keeping the scroll position. I imagine, it also requires caching transaction lists to avoid reloading them on every navigation.
The text was updated successfully, but these errors were encountered:
It is a nice idea but needs testing to see if it can work on all browsers / devices / scenarios.
Some thoughts:
changing the behaviour of the toolbar back buttons can be done in useToolbar.js to perform router.go(-1) if there is a history available and current implementation as fallback
saving scroll position is ok but deciding if a list should be refetched/untouched on page mount can become messy
browser back button will perform an app reload while the toolbar button will not. If possible both should look identical to the user.
Out of curiosity, did you consider using GraphQL to fetch data as opposed to how it’s done today?
IMO that would make code easier to reason about due to colocation of UI and data fetching and we also could utilise caching provided by modern clients to avoid refetching transaction lists on every navigation.
I’m tempted to set up some basic API and see if it makes things easier…
Not a fan of GraphQL. Also for this project REST makes more sense since the Pico backend is acting like a proxy towards the Firefly III API which is also REST based.
You can already implement response caches fairly easy inside the dataStore actions or inside the BaseRepository.js with something like useLocalStorage.
I.e., it should act as a browser back button.
When I'm looking at a list of transactions for a particular account, I want to be able to click on one to edit it and then go back to the list - ideally, keeping the scroll position. I imagine, it also requires caching transaction lists to avoid reloading them on every navigation.
The text was updated successfully, but these errors were encountered: