Commit Graph

54 Commits

Author SHA1 Message Date
c8ddb098d1 Redesign search tab, add category cards, recent recipes, and complete German translations
Overhaul SearchTabView with search history, empty/no-results states, and dynamic
navigation title. Extract CategoryCardView and RecentRecipesSection into standalone
views. Update RecipeTabView, RecipeListView, RecipeCardView, and MainView for the
modernized UI. Add all 12 missing German translations in Localizable.xcstrings.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 01:47:16 +01:00
7c824b492e Modernize networking layer and fix category navigation and recipe list bugs
Network layer:
- Replace static CookbookApi protocol with instance-based CookbookApiProtocol
  using async/throws instead of tuple returns
- Refactor ApiRequest to use URLComponents for proper URL encoding, replace
  print statements with OSLog, and return typed NetworkError cases
- Add structured NetworkError variants (httpError, connectionError, etc.)
- Remove global cookbookApi constant in favor of injected dependency on AppState
- Delete unused RecipeEditViewModel, RecipeScraper, and Scraper playground

Data & model fixes:
- Add custom Decodable for RecipeDetail with safe fallbacks for malformed JSON
- Make Category Hashable/Equatable use only `name` so NavigationSplitView
  selection survives category refreshes with updated recipe_count
- Return server-assigned ID from uploadRecipe so new recipes get their ID
  before the post-upload refresh block executes

View updates:
- Refresh both old and new category recipe lists after upload when category
  changes, mapping empty recipeCategory to "*" for uncategorized recipes
- Raise deployment target to iOS 18, adopt new SwiftUI API conventions
- Clean up alerts, onboarding views, and settings

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 00:47:28 +01:00
527acd2967 Raise deployment target to iOS 18 and modernize SwiftUI APIs
Adopt modern SwiftUI patterns now that the minimum target is iOS 18:
NavigationStack, .toolbar, .tint, new Tab API with sidebarAdaptable
style, and remove iOS 17 availability checks. Add Liquid Glass effect
support for iOS 26 in TimerView and fix an optional interpolation
warning in AppState.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-14 23:14:57 +01:00
VincentMeilinger
b66ef63b6a Recipe decoding fixes 2024-05-05 10:33:33 +02:00
VincentMeilinger
6ae9926c41 Code cleanup, translations, show empty categories 2024-03-26 18:13:24 +01:00
VincentMeilinger
d201690332 UI bug fixes (regarding recipe servings adjustment) 2024-03-22 14:31:45 +01:00
VincentMeilinger
7b59c79222 Number formatting settings, recipe ingredient amount calculation 2024-03-20 08:53:58 +01:00
VincentMeilinger
eae72eb0ce Basic ingredient amount adjustment 2024-03-11 20:07:50 +01:00
VincentMeilinger
da30c11e50 Updated README.md with a roadmap of upcoming features 2024-03-10 18:10:36 +01:00
VincentMeilinger
31a796e8a4 Added localization for success alerts 2024-03-10 16:06:47 +01:00
VincentMeilinger
dbe626d595 Bug fixes and UI polish 2024-03-07 19:09:39 +01:00
VincentMeilinger
b5dbaad9aa Recipe edit UI polish 2024-03-05 08:39:06 +01:00
VincentMeilinger
650df2b67e Updated Duration Picker during Recipe Editing 2024-03-01 15:32:04 +01:00
VincentMeilinger
744ea76a34 Updated RecipeView 2024-03-01 14:17:24 +01:00
VincentMeilinger
d3e0366ce6 New Recipe Edit View 2024-02-18 12:25:18 +01:00
VincentMeilinger
b39ca5e29f version number update 2024-02-04 16:49:56 +01:00
VincentMeilinger
a6bd25ce3b Code cleanup 2024-02-03 17:51:51 +01:00
VincentMeilinger
4c2b459683 Bug fixes 2024-02-03 10:07:15 +01:00
VincentMeilinger
2eb3e9cff5 Fixed missing grocery list icon in iOS versions 16 and under 2024-01-26 09:46:24 +01:00
VincentMeilinger
49d7508fdf Version number adjusted 2024-01-25 23:25:54 +01:00
VincentMeilinger
10cb851a5a Code cleanup 2024-01-25 22:51:08 +01:00
VincentMeilinger
931364c57c Added tabs and a grocery list 2024-01-23 19:02:04 +01:00
VincentMeilinger
c6c60faf01 Timer plays sound when expired 2024-01-11 20:55:18 +01:00
VincentMeilinger
b069555950 Added a timer view 2024-01-11 11:16:32 +01:00
VincentMeilinger
eb3f11cd17 Version 1.7.1 (updated translations) 2024-01-11 09:40:18 +01:00
VincentMeilinger
d180b96ed8 New app icon and recipe sharing options (pdf and plain text) 2024-01-10 17:52:34 +01:00
VincentMeilinger
3bcf104a5d Search for keywords 2024-01-08 11:24:01 +01:00
VincentMeilinger
d774ef5dfc Version 1.6.1 2024-01-07 17:37:50 +01:00
Vicnet
bb68b29bdf Release Candidate Version 1.6 2023-12-15 13:43:56 +01:00
Vicnet
a3fc891d0a Better file caching and update management 2023-12-14 14:11:56 +01:00
Vicnet
899dc20e55 Merged onboarding-flow into main 2023-12-10 11:22:17 +01:00
VincentM
642c31b2af Revert "Merge updated onboarding view" 2023-12-10 11:00:12 +01:00
VincentM
32ea911368 Merge branch 'download-rework' into api-update 2023-12-10 10:56:04 +01:00
Vicnet
22eeb8362d Updated Login Flow 2023-11-29 17:44:10 +01:00
Vicnet
3563c23e29 Networking rework: simplified API calls. 2023-11-16 13:13:06 +01:00
Vicnet
46401edfb9 French localization update 2023-11-11 12:31:00 +01:00
Vicnet
63730732b6 Created RecipeEditViewModel to cleanup RecipeEditView 2023-11-11 12:11:13 +01:00
Vicnet
13b025771c Improved date handling (DurationComponents) 2023-11-11 11:11:08 +01:00
Vicnet
2ba0aaf636 Removed Date extension (no longer needed) 2023-11-10 16:10:09 +01:00
Vicnet
220ae96a8d Simplified alert handling 2023-11-10 15:43:48 +01:00
Vicnet
3d3165c6b9 MacOS support using Mac Catalyst 2023-11-10 15:10:32 +01:00
Vicnet
03f821c1ba Recipe scraper fixes 2023-11-09 11:24:27 +01:00
Vicnet
3217c7b4aa Recipe scraper implementation (unfinished) 2023-11-07 21:28:24 +01:00
Vicnet
cd899b8020 Added screenshots 2023-10-25 11:19:38 +02:00
Vicnet
32307972f9 Added french language support 2023-10-25 10:53:36 +02:00
Vicnet
8f32946e27 Added category 'All' recipes 2023-10-22 20:28:51 +02:00
Vicnet
a025923ba6 Updated duration pickers in Recipe Edit View 2023-10-17 16:14:13 +02:00
Vicnet
c0a63d7560 Keyword suggestions and language support. 2023-10-10 13:37:46 +02:00
Vicnet
85a8e631d0 Recipe creation, editing and deletion are now supported 2023-10-04 11:23:05 +02:00
Vicnet
77c07bb0b1 Recipes are now searchable 2023-10-03 12:11:32 +02:00