Fix category handling, recipe management, and dark mode toggle tint

- Map uncategorized category between * (internal) and empty string
  (API) so selecting Sonstige/Other correctly persists to the server
- Default new recipes to Other (*) category and remove None option
- Add "New Category" option to category picker in recipe edit view
- Include newly created/imported recipes in recently viewed list and
  pre-fetch thumbnails so images display immediately
- Remove deleted recipes from recently viewed list
- Remove broad .tint(.primary) from RecipeTabView that caused white
  toggles in Settings during dark mode
- Rename German "Other" translation from Andere to Sonstige
- Add missing translations for Servings stepper and new category strings

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 07:13:01 +01:00
parent 02118e3d7a
commit fb6b16c1fc
7 changed files with 131 additions and 14 deletions

View File

@@ -45,7 +45,7 @@ class ObservableRecipeDetail: ObservableObject {
description = ""
url = ""
recipeYield = 1
recipeCategory = ""
recipeCategory = "*"
tool = []
recipeIngredient = []
recipeInstructions = []
@@ -67,7 +67,7 @@ class ObservableRecipeDetail: ObservableObject {
description = recipeDetail.description
url = recipeDetail.url ?? ""
recipeYield = recipeDetail.recipeYield == 0 ? 1 : recipeDetail.recipeYield // Recipe yield should not be zero
recipeCategory = recipeDetail.recipeCategory
recipeCategory = recipeDetail.recipeCategory.isEmpty ? "*" : recipeDetail.recipeCategory
tool = recipeDetail.tool
recipeIngredient = recipeDetail.recipeIngredient
recipeInstructions = recipeDetail.recipeInstructions
@@ -92,7 +92,7 @@ class ObservableRecipeDetail: ObservableObject {
description: self.description,
url: self.url,
recipeYield: self.recipeYield,
recipeCategory: self.recipeCategory,
recipeCategory: self.recipeCategory == "*" ? "" : self.recipeCategory,
tool: self.tool,
recipeIngredient: self.recipeIngredient,
recipeInstructions: self.recipeInstructions,