diff --git a/TODO.md b/TODO.md index e1a9785..ef3225c 100644 --- a/TODO.md +++ b/TODO.md @@ -1,9 +1,12 @@ * 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 + * 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 + * 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 @@ -13,6 +16,7 @@ * 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) @@ -21,11 +25,14 @@ 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?) +* 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 ? -* Make the home page: Define what to display to the user * 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