Skip to content
This repository was archived by the owner on Dec 12, 2024. It is now read-only.
This repository was archived by the owner on Dec 12, 2024. It is now read-only.

Create to do list page component - Vanilla.js #87

Open
@blackgirlbytes

Description

@blackgirlbytes

Create Todo List page component - Vanilla

🚀 Goal

Create a Todo List page component in Vanilla that allows users to manage their tasks within our Decentralized Web App (DWA) starter, utilizing the Decentralized Web Node (DWN) for data storage and retrieval.

🤔 Background

We need to implement the Todo List page for our Vanilla.js DWA starter, mirroring the functionality of the existing React implementation. This page should include task management features and integrate with the TodoDwnRepository for DWN operations.

This is part of our larger project to create a Vanilla.js DWA starter. See our main issue here for the full context and list of all related tasks.

Important: For reference, please see the DWA React Vite starter app. While the implementation details will differ for Vanilla, this example provides a good overview of the structure and functionalities of a DWA.

🔑 Tasks and Acceptance Criteria

  • Create a TodoListPage.vanilla component
  • Implement a TodoList.vanilla component with the following features:
    • Display a list of tasks
    • Add new tasks
    • Edit existing tasks
    • Delete tasks
    • Mark tasks as completed/uncompleted
  • Create a TaskItem.vanilla component for individual task display and actions
  • Create a TaskForm.vanilla component for adding/editing tasks
  • Implement TodoDwnRepository class for DWN operations:
    • listTasks()
    • createTask(task)
    • updateTask(task)
    • deleteTask(recordId)
    • findTaskRecord(recordId)
    • listTasksRecords()
  • Integrate Web5 functionality for DWN operations
  • Implement error handling and loading states
  • Style the components using plain CSS to match the existing design
  • Ensure the layout is responsive and looks good on various screen sizes

🌟 Resources

Getting Started

  1. Comment ".take" on this issue to get assigned
  2. Fork the repository and create a new branch for this task
  3. Follow the tasks outlined above
  4. Submit a pull request with your changes
  5. Respond to any feedback during the review process

Questions?

If you have any questions or need clarification, please comment on this issue or join our Discord community.

Happy coding! 🎉

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions