SimpleToDo icon indicating copy to clipboard operation
SimpleToDo copied to clipboard

Feature/mark tasks as done

Open subbramanil opened this issue 5 years ago • 1 comments

Without a clear answer to my earlier questions, I took some liberty to design the feature on my own. Below are the changes I made and the design considerations.

  1. Added a 'checkbox' to each task -> It is the simplest way to mark a task 'done/not done'
  2. Created a new screen to show the completed tasks in a separate screen -> Again, it's the most straightforward implementation.
  3. Added a 'rounded checkbox' icon to the menu to launch the completed tasks screen.
  4. Updated the swipe actions in the main tasks screen as follows.

Swipe Left to Right --> Complete the task Swipe Right to Left --> Delete the task

With having a screen to see the completed tasks, I felt it would be better if I keep the behavior of swiping from Left to Right action similar to the behavior of the checkbox.

  1. Added the option to move a task from 'Completed' to 'Open'(Tasks Home) status by clicking the 'Checkbox' in the 'Completed Tasks' screen -> 'Undo' an incorrectly marked task as 'Completed' is the existing feature. But I felt the user would prefer to have the ability to move from 'Completed' to 'Open' status if the missed the window when the snack bar message is shown.
  2. Added swipe actions to 'Completed Tasks' screen as similar to 'Tasks Home' with the exception of 'Swiping from left to the right moves the task from 'Completed' to 'Open' status. Swiping from right to left would delete the task as usual.
  3. Disabled editing a 'Completed Task' in order to simplify. The completed task can still be edited by moving it to 'Open' and then edit.

In addition,

  1. Updated the view models to accommodate the new feature
  2. Added migration strategies to update the database & schema.
  3. Updated some of the libraries & tools to their latest versions.
  4. Took care of adding the proper translations to the new phrases with the help of Google Translate.
  5. Attempted to add a few test cases but didn't get enough time to finish them.

I tried to provide enough information in the commit messages. Overall I feel happy about completing the feature, but I may have overstepped my boundaries as a contributor. 😝

Demo


This change is Reviewable

subbramanil avatar Jan 10 '20 05:01 subbramanil

Hello, it seems the development has stopped, will you make your branch a new fork so we could get some of those sweet new features? Also wishlist feature to add tasks on top instead of the bottom

sandorex avatar Jun 08 '20 16:06 sandorex