fix: presigned upload URLs, card badge alignment, filter menu UX, floating save
- Presigned upload URLs were signed against STORAGE_ENDPOINT (the internal docker hostname, e.g. http://minio:9000) instead of a browser-reachable URL — uploads/edits with photos were broken in prod. Now signed with a separate client bound to STORAGE_PUBLIC_URL, which also needed threading through as a Docker build arg (CSP headers are computed at build time) and into compose.prod.yml/ .env.production (gitignored, not committed). - recipe-form.tsx used the wrong i18n namespace for the visibility label (t("recipeForm") instead of t_recipe("recipe")), causing MISSING_MESSAGE in French. - Compact recipe-list view: batch-cook rows showed no dish count, and the date/difficulty columns shifted per-row depending on whether a difficulty badge was present — reserved a fixed-width slot for it. - All three card icon badges (batch-cook, favorite, visibility) now share the same muted color instead of the batch badge standing out. - Recipes filter dropdown: clicking a filter option closed the whole menu, and the tag text input couldn't be typed into (the menu's roving-focus/type-ahead handling was intercepting keystrokes) — menu items now stay open on click, and the tag input stops event propagation so it behaves like a normal text field. - Recipe form: added a floating save/cancel bar so long recipes don't require scrolling back down to save. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -562,7 +562,7 @@
|
||||
"dietaryPrefsPlaceholder": "e.g. vegetarian, no shellfish",
|
||||
"anyDifficulty": "Any",
|
||||
"generate": "Generate",
|
||||
"generating": "Generating… this can take a minute",
|
||||
"generating": "Generating…",
|
||||
"generateSuccess": "Batch-cooking session created",
|
||||
"generateFailed": "Failed to generate"
|
||||
},
|
||||
|
||||
@@ -976,8 +976,8 @@
|
||||
"reactionFailed": "Échec de la mise à jour de la réaction",
|
||||
"addReaction": "Ajouter la réaction {type}",
|
||||
"removeReaction": "Retirer la réaction {type}",
|
||||
"favoriteAdd": "Enregistrer la recette",
|
||||
"favoriteRemove": "Retirer la recette des enregistrements"
|
||||
"favoriteAdd": "Favoris",
|
||||
"favoriteRemove": "Retirer des favoris"
|
||||
},
|
||||
"cookingMode": {
|
||||
"cooking": "En cuisine",
|
||||
|
||||
Reference in New Issue
Block a user