From 1938571b4c000425708edaa94eb001187f03a813 Mon Sep 17 00:00:00 2001 From: Greg Burri Date: Tue, 8 Apr 2025 18:10:58 +0200 Subject: [PATCH] Remove TODO list. Issues are now put in forgejo --- TODO.md | 74 --------------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 TODO.md diff --git a/TODO.md b/TODO.md deleted file mode 100644 index ef3225c..0000000 --- a/TODO.md +++ /dev/null @@ -1,74 +0,0 @@ -* Finish all local storage API (remove scheduled, add ingredient, etc..) -* Find an elegant/global way to adapt the quantities to servings (e.g. shopping list) -* FIX: when the event blur is triggered when changing page, the async process doesn't finish all the time - * No easy way found: Http requests (fetch) are done in spawn_local function (async) - * We can't block the callback 'beforeunload' : https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event - * But we may cancel the page unload with a message if the request is not finished - * Maybe use ServiceWorker : https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker -* Add a way to retrieve a backup of the database (only if admin) - * Maybe make a dev-page with logs and other tools/information (toast and modal window test) -* Can choose servings number in recipe view - * Default number is the user setting user.default_servings - * A symbol show the native recipe servings number -* Check position of message error in profile/sign in/sign up with flex grid layout -* Replace Rinja by Askama when Askma 0.13 is out (Rinja has been merged with Askama) -* Define the UI (mockups). - * Two CSS: one for desktop and one for mobile - * Use CSS flex/grid to define a good design/layout -* CSS for dark mode + autodetect - * How to change css on the fly ? Have a dynamic css in main ? -* CSS for toast and modal dialog -* Calendar: Choose the first day of the week -* i18n: prefix uri with the language: /fr/recipe/view/2 (do it for all intern href) - * Redirect with the correct prefix when the current language is changed -* Make a search page - Use FTS5: - https://sqlite.org/fts5.html - https://www.sqlitetutorial.net/sqlite-full-text-search/ -* Markdown is used for recipe.description for the moment: define some CSS rules specific for this field (h1, h2, etc.) -* Quick search left panel by tags ? -* Show existing tags when editing a recipe - -[ok] Use of markdown for some field (how to add markdown as askama filter?) - * Maybe this crate: https://crates.io/crates/comrak -[ok] Make the home page: Define what to display to the user -[ok] User can change default_servings in profile -[ok] Add a table for website global settings with two column: name + value - * Add a boolean settings to enable/disable new inscription -[ok] Add a [is_admin] flag to [User] table -[ok] Test when there is an SQL error (syntax error for sample) -[ok] Drag and drop of steps and groups to define their order -[ok] Force tags in lowercase -[ok] Remove the given language to recipe_edit and replace it by tr (like the header) - [ok] List only recipe of current language -[ok] Add support to translations. - * Make a Text database (a bit like d-lan.net) and think about translation. - * The language is stored in cookie or in user profile if the user is connected - * A combobox in the header shows all languages -[ok] Set a lang cookie (when not connected) -[ok] User can choose language -[ok] Implement: - .service(services::edit_recipe) - .service(services::new_recipe) - .service(services::webapi::set_recipe_title) - .service(services::webapi::set_recipe_description) -[ok] Review the recipe model (SQL) -[ok] Finish updating profile - [ok] check password and message error - [ok] user can change email: add a field + revalidation of new email -[ok] Try using WASM for all the client logic (test on editing/creating a recipe) -[ok] How to log error to journalctl or elsewhere + debug log? -[ok] Clean the old code + commit -[ok] Reactivate sign up/in/out -[ok] Change all id to i64 -[ok] Check cookie lifetime -> Session by default -[ok] Asynchonous email sending and database requests - [ok] Try to return Result for async routes (and watch what is printed in log) - [ok] Then try to make async database calls - [ok] Set email sending as async and show a waiter when sending email. Handle (and test) a timeout (~10s). -> (timeout put to 60s) -[ok] Sign out -[ok] Read all the askama doc and see if the current approach is good -[ok] Handle 404 -[ok] Enable Logging to file. -[ok] Implement the model as relational with SQLite. - [ok] Create and update functions. \ No newline at end of file