boredcodebyk / minttask

A simple todo manager for Android made using Flutter with Material Design 3
GNU General Public License v3.0
27 stars 3 forks source link

[Feature Request] Multiple lists #4

Open droptile opened 11 months ago

droptile commented 11 months ago

Many people have todo lists for different projects. For example I would keep my shopping list separate from my chores list. Being able to keep multiple lists would greatly improve the usefulness of the app.

Proposal: In the top menu bar add a clipboard icon.

image

This icon opens the list menu, a "ListTiles" flutter widget. Here the user can create and delete lists similarly to how they would create and delete list items in minttask already. To create a list the user would press a button with the plus symbol (+) in the bottom right corner of the screen. To delete a list the user would press and hold on a ListTile and after a couple seconds a dialogue would pop up and ask the user if they wanted to delete the list. Accidentally deleting a whole list would be a much worse situation than just one item, so pressing and holding to open the deletion dialogue may be better than a simple delete button or swiping. The ListTile widget supports press-and-hold as an input. The undo snackbar would appear after deleting a list just as it would for deleting an item.

Individual tasks/items can be moved from their current list to another list. After clicking on an item to edit it, there should be a button at the top of the screen next to (or replacing) the trash-bin icon that opens the list menu. Clicking on a list will send that item to the selected list, and remove it from its current list.

image

boredcodebyk commented 11 months ago

I've already considered adding categories. Right after I'm done making changes to the UI, I'll work on using nosql instead of sqlite to make data management better when new changes are added in future. Do y'all prefer to see all categories listed (including the stuff inside the category) in one screen or prefer to have separate for each or both?

droptile commented 11 months ago

I like the simplicity of having one screen with the categories and the items in each category as one long list, but through my long experience with using list apps, I eventually end up with lots of lists with lots of items. Having all of them on one page would be a bit cluttered, especially if I only needed to focus on one todo list at a time.

Having the category/list selector be separate from the list items would be the better option IMO. In addition to the cleaner UI, you could also get that nice feeling of finishing the last item on your list and being able to see a completely empty list.

boredcodebyk commented 11 months ago

i see, i shall add a dialog box so one can select one or more categories that can show on the same screen separately

boredcodebyk commented 10 months ago

Little update here, I'm currently working adding tags (like those in social media) in place for category to make it unique.

And this is the thing holding the development back. The issue I'm currently having is, when user adds a tag, the output comes twice which it shouldn't. Kinda burned out figuring out what's causing this issue. (I wasted a week here 😞)

On good note, the following are implemented and working well

And following and left

Known issue

As of now I haven't pushed any code here bcs I don't want to get lost while searching mistaking if any and also want to enable translation.

boredcodebyk commented 9 months ago

so got a good and bad news. most of the work is almost done. but only 2 problem slowing down my working. 1st the description won't update even tho it appears to update. 2nd, the code for migration (from sqflite to isar db) doesn't work (it basically takes sqflite data from Map<String, dynamic> into json before importing) but the same code can restore from a backup file... God I'm tired... physically and mentally...

droptile commented 9 months ago

Wow thats a lot done! If you can push your dev branch I could check it out. Sounds like its a database issue. Maybe just delay the database changes for the next version.

boredcodebyk commented 9 months ago

https://github.com/boredcodebyk/minttask/blob/fb9eb5a86efd71aed5ad297261cfcd319f0cfcab/lib/model/db_model.dart#L318-L332

this takes the job for updating stuffs in db.

boredcodebyk commented 9 months ago

oh well, I make a note app now with same database structure as this. But didn't use provider. I guess time to remake this task once again 😂

boredcodebyk commented 9 months ago

solved https://github.com/boredcodebyk/minttask/blob/dev/CHANGELOG.md