emavgl / oinkoin

Oinkoin is a flutter app for helping you managing your expenses. No internet required.
GNU General Public License v3.0
98 stars 6 forks source link

Bug: List of categories not always updated after adding a new category from different tab #82

Open jiru opened 5 months ago

jiru commented 5 months ago

Here is my experience using the app.

  1. Tap "+" to add a new record. The screen "Select a category" appears, but I realize I need to add a new category for this, so I go to the Categories screen.
  2. I add the new category. I can see it in the Categories screen, so far so good.
  3. I tap Home to go back to adding my new record.
  4. I see the screen "Select a category" again, but my new category is not there.
  5. Ah, I need to tap "←" and then "+" again to get the new category to show up.
  6. Finally I can add my new record.

How about adding a way to add a new category directly from the "Select a category" screen? In other words, the "Categories" screen could totally replace the "Select a category" one, as the only difference is the bottom-right "add" button.

emavgl commented 5 months ago

Also in https://github.com/emavgl/oinkoin/releases/tag/1.0.45 the scenario you described should be now covered.

When editing a record, however, the issue persist - the categories are not updated in that case. Unfortunately I don't have an easy solution for it.

I am changing the title of the issue to reflect the current status.

jiru commented 5 months ago

Thank you for the quick fix!

To be honest I find it a little bit unusual that the 3 tabs Home, Categories and Settings all "keep their opened state" (or "remember where I was"). What I mean is that for instance, if I go to Settings > Recurrent Records and then move to Home, and then back to Settings, I will still see the Recurrent Records screen whereas I would except to be shown the list of settings instead. I feel like 99% of the time I would want to tap "←" to go back to the list of settings, it is a bit annoying.

That being said, maybe there is rationale for that behavior. Editing a record feels like a valid use case to keep the edition screen opened.

When editing a record, however, the issue persist - the categories are not updated in that case. Unfortunately I don't have an easy solution for it.

Maybe the "Select a category" screen should be automatically closed when the user moves to a different tab. Come to think of it, when I move to a different tab, and then back to "Select a category", nothing is telling me what I am selecting a category for: it could be a new record, or an existing record, maybe I forgot what I was doing there. I feel like the lack of context is another reason for not keeping this screen open.

emavgl commented 5 months ago

Ok, I like where this conversion is going - more like into UI/UX :) I am not UI/UX designers, just a regular developer, so I built Oinkoin on what I believe was common sense (but actually we can call it "my own feeling").

Let's start from this.

How about adding a way to add a new category directly from the "Select a category" screen?

I started with the rationale that the page with all the categories, where you can add/edit category, must exist and should be easy to reach. So I would not remove it from being a tab.

Now we can question if we should give the possibility to add the category also when inserting a new record. That's a valid point. I believe that this makes the experience a bit more complicated, because we break into the flow of adding a record, for adding a category instead.

To be honest I find it a little bit unusual that the 3 tabs Home, Categories and Settings all "keep their opened state" (or "remember where I was"). What I mean is that for instance, if I go to Settings > Recurrent Records and then move to Home, and then back to Settings, I will still see the Recurrent Records screen whereas I would except to be shown the list of settings instead. I feel like 99% of the time I would want to tap "←" to go back to the list of settings, it is a bit annoying.

Yes, implementing this behavior of the tab will basically solve all the problems. I believe it could be also the expected behavior of the users. If I implement it, however, the flow of adding a record without having the proper category, which we discuss above, will get a bit worse.