X-Git-Url: https://git.euphorik.ch/?a=blobdiff_plain;f=TODO.md;h=efaaf3a33b221114243885c376377e9f4eb51196;hb=HEAD;hp=d33b052aa4acb981aaa5bffbb7e945f9c666b21a;hpb=b830d3cf071acfe2ba724506bfe6fa08fb0811fd;p=recipes.git diff --git a/TODO.md b/TODO.md index d33b052..e1a9785 100644 --- a/TODO.md +++ b/TODO.md @@ -1 +1,67 @@ -* Enable Logging. +* 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 +* User can change default_servings in profile +* Add a way to retrieve a backup of the database (only if admin) + * Maybe make a dev-page with logs and other tools/information +* 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 +* 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/ +* Use of markdown for some field (how to add markdown as askama filter?) +* Quick search left panel by tags ? +* Make the home page: Define what to display to the user +* Show existing tags when editing a recipe + +[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