Skip to content

Create task screen — core fields #121

Description

@MessiasLima

Description

Add a "Create Task" screen where users can create a new task with a title (required) and description (optional). This is the foundational task creation flow that subsequent tickets will extend with due date, priority, URL, and location fields.

The current app has no create-task navigation or screen. The Today screen is a placeholder with centered text and does not expose an add action. This ticket introduces the screen composable, ViewModel, navigation route, and a plus button in the Today screen top bar to navigate to it.

Scope

In scope: CreateTaskScreen composable with title (required) and description (optional) fields, form validation (title must not be blank), CreateTaskViewModel with Orbit MVI pattern, CreateTaskNavigation route, plus button in the Today/home top bar that navigates to the create screen, string resources for all UI text, and unit tests for the ViewModel.

Out of scope: due date, priority, URL, and location fields (covered by separate tickets). Edit task flow. Upcoming screen quick-add behavior.

Acceptance criteria

  • GIVEN the user is on the Today screen
    WHEN they tap the plus button in the top bar
    THEN they navigate to the Create Task screen
  • GIVEN the Create Task screen is displayed
    WHEN the user leaves the title blank and taps save
    THEN a validation error is shown and the task is not created
  • GIVEN the Create Task screen is displayed
    WHEN the user enters a title and taps save
    THEN a new task is persisted with creationDate set to now, and the user navigates back
  • GIVEN the Create Task screen is displayed
    WHEN the user enters a title and an optional description
    THEN both fields are saved on the task
  • GIVEN the user is on the Create Task screen
    WHEN they press the system back button or the back arrow
    THEN they navigate back without creating a task
  • GIVEN a task is successfully created
    WHEN the user returns to the Today screen
    THEN the new task appears in the list once the Today task list is implemented

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions