{"id":21240622,"url":"https://github.com/chrisnajman/to-do-list-v2","last_synced_at":"2025-06-11T17:39:08.097Z","repository":{"id":222138997,"uuid":"756372659","full_name":"chrisnajman/to-do-list-v2","owner":"chrisnajman","description":"Edit, complete or delete to-do tasks. You can also reorder to-dos, if they get out of synch.","archived":false,"fork":false,"pushed_at":"2024-02-15T16:32:26.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T19:36:40.919Z","etag":null,"topics":["accessibility-testing","aria-attributes","css-imports","css-nesting","dark-mode-toggle","html-css-javascript","html-template","js-modules","localstorage","prefers-reduced-motion","sort","svg-icons","svg-sprites"],"latest_commit_sha":null,"homepage":"https://chrisnajman.github.io/to-do-list-v2/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisnajman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-12T14:41:32.000Z","updated_at":"2024-02-12T15:04:28.000Z","dependencies_parsed_at":"2024-02-15T17:53:09.324Z","dependency_job_id":null,"html_url":"https://github.com/chrisnajman/to-do-list-v2","commit_stats":null,"previous_names":["chrisnajman/to-do-list-v2"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fto-do-list-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fto-do-list-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fto-do-list-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisnajman%2Fto-do-list-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisnajman","download_url":"https://codeload.github.com/chrisnajman/to-do-list-v2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243681002,"owners_count":20330155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility-testing","aria-attributes","css-imports","css-nesting","dark-mode-toggle","html-css-javascript","html-template","js-modules","localstorage","prefers-reduced-motion","sort","svg-icons","svg-sprites"],"created_at":"2024-11-21T00:52:09.327Z","updated_at":"2025-03-15T03:43:41.071Z","avatar_url":"https://github.com/chrisnajman.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sortable Todo List (V2)\n\n---\n\n- [Description](#description)\n- [Form](#form)\n- [Toolbar](#toolbar)\n  - [Button: Reorder Entries by Date (asc)](#button-reorder-entries-by-date-asc)\n  - [Button: Delete all entries](#button-delete-all-entries)- [To-do List](#to-do-list)\n- [To-do List](#to-do-list)\n- [The 'dist' Folder](#the-dist-folder)\n  - [JavaScript](#javascript)\n  - [CSS](#css)\n  - [SVGs](#svgs)\n- [Accessibility](#accessibility)\n  - [WAVE Web Accessibility Evaluation Tools Report](#wave-web-accessibility-evaluation-tools-report)\n- [Testing](#testing)\n\n---\n\n## Description\n\n- Create to-do tasks and add them to a list.\n- Edit and complete to-do tasks.\n- Delete individual tasks\n- Delete all tasks.\n- Tasks can be resorted in ascending date order, if the dates get out of synch.\n- All to-dos are saved to local storage. The data will still be present after refreshing or reopening the page.\n  - Deleting to-dos, singly or collectively, will delete them permanently from local storage.\n\n\u003e [!NOTE]\n\u003e This is an upgrading and updating of an [earlier app](https://chrisnajman.github.io/sortable-todo-list/) which I now consider deprecated. The main difference is that in the current version the 'Reorder entries?' button (for maintaining date order) substitutes for drag-and-drop in the earlier version (which I found to be buggy).\n\n---\n\n## Form\n\n### Inputs\n\n- **Date**: Required.\n- **To-do**: Required.\n\n### Buttons\n\n- **Add to-do**: Submit a task to the to-do list.\n- **Reset**: Clear date and text inputs and prevent submission to the to-do list.\n\n---\n\n## Toolbar\n\n### Button: Reorder Entries by Date (asc)\n\nDisabled until two to-dos have been generated. Its function is to sort the to-dos in ascending order if the date sequence gets out of sync. \n\n\u003e [!NOTE]\n\u003e This might occur, for example, if a day is missed and added later, or if a to-do is accidentally deleted  and needs to be reinserted.\n\n\n### Button: Delete all entries\n\nDisabled until two to-dos have been generated. Clicking it will launch a 'confirm' dialog. If 'yes' is clicked, local storage for the following keys will be deleted:\n\n- To-dos for all dates in the to-do list.\n- The 'Reorder entries?' button state value.\n\n\u003e [!NOTE]\n\u003e Local storage will be cleared for only this specific pair of keys in the Sortable Todo List (V2) app; local storage for other apps will not be affected.\n\n\u003e [!CAUTION] \n\u003e **All** to-dos will be permanently deleted from local storage.\n\n---\n\n## To-do List\n\n- **Edit**: Change or delete the to-do text. Then click `Save Edit`.\n- **Complete**: Grey-out the to-do item and `strike-through` the to-do text. Click `Uncomplete` to revert.\n- **Delete**: Delete the to-do item.\n\n\u003e [!CAUTION] \n\u003e Clicking 'Delete' will permanently delete the individual to-do item from local storage.\n\n---\n\n## The 'dist' Folder\n\n### JavaScript\n\nThe 'main' version structures the JavaScript with ES6 Modules. ES6 Modules will not work if you want to run the app from the local file system (In Windows, this is `file:///C:/Users/...`). Therefore, in the 'dist' folder, all JavaScript is consolidated into 1 file (`scripts.js`). `scripts.js` is minified in a ['Babel'-like JavaScript compressor](https://jscompress.com/) and output to `scripts.min.js`. The app can then be run locally by clicking 'index.html'.\n\n\u003e [!NOTE]\n\u003e The 'dist' version also runs on the server.\n\n\u003e [!NOTE] \n\u003e `scripts.min.js` is not readable by humans. To inspect the JavaScript, look in `scripts.js`.\n\n\u003e [!NOTE]\n\u003e The functionality remains the same in both versions.\n\n### CSS\n\nThe 'main' version structures the CSS with individual files imported into `index.css`. The 'dist'version compresses all CSS files into one, `style.css`. This is then minified and output to `style.min.css`.\n\n\u003e [!NOTE]\n\u003e The styling remains the same in both versions.\n\n\n### SVGs\n\nThe 'main' version loads SVG icons via `./img/sprite.svg`. As SVG sprites don't work on the local file system, the SVG icons in 'dist' are coded directly into `index.html`.\n\n---\n\n## Accessibility\n\n### WAVE Web Accessibility Evaluation Tools Report\n\n- [Automated accessibility analysis results (passed)](https://wave.webaim.org/report#/https://chrisnajman.github.io/to-do-list-v2/)\n\n---\n\n## Testing\n\nTested on Windows 10 with:\n\n- Chrome\n- Firefox\n- Microsoft Edge\n\nPage tested in both browser and device views.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisnajman%2Fto-do-list-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisnajman%2Fto-do-list-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisnajman%2Fto-do-list-v2/lists"}