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
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
054e222d8e
Adjustable recipe ingredient amount
2024-03-18 09:09:49 +01:00
VincentMeilinger
eae72eb0ce
Basic ingredient amount adjustment
2024-03-11 20:07:50 +01:00
VincentMeilinger
31a796e8a4
Added localization for success alerts
2024-03-10 16:06:47 +01:00
VincentMeilinger
2c749754f4
Bug fixes and UI polish
2024-03-10 11:56:51 +01:00
VincentMeilinger
dbe626d595
Bug fixes and UI polish
2024-03-07 19:09:39 +01:00
VincentMeilinger
11359e11d4
Recipe edit view polish
2024-03-05 21:42:02 +01:00
VincentMeilinger
b5dbaad9aa
Recipe edit UI polish
2024-03-05 08:39:06 +01:00
VincentMeilinger
597477544d
Creating and updating recipes works in the new edit view
2024-03-04 11:58:16 +01:00
VincentMeilinger
aa45bbdbd8
Improved Recipe Editing
2024-03-01 17:35:12 +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
05aff9e43e
Login Procedure updated (login via in-app browser)
2024-02-04 16:48:51 +01:00
VincentMeilinger
a6bd25ce3b
Code cleanup
2024-02-03 17:51:51 +01:00
VincentMeilinger
93d97ef4dd
Localization updates
2024-01-25 23:23:37 +01:00
VincentMeilinger
ba4df088a0
reverted timer in recipe detail for now
2024-01-25 23:07:18 +01:00
VincentMeilinger
48d3da1964
Improved Grocery List
2024-01-24 19:23:59 +01:00
VincentMeilinger
931364c57c
Added tabs and a grocery list
2024-01-23 19:02:04 +01:00
VincentMeilinger
c0314abbf7
Timer push notifications
2024-01-11 21:28:12 +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
772ee6b0e0
'Keep Screen Awake'-Setting, Acknowledge used libraries
2024-01-11 10:12:59 +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
Vincent Meilinger
2ed664857b
users can now choose between http and https
2024-01-07 17:10:47 +01:00
Vincent Meilinger
5c7ff578c7
Server protocol update (unfinished)
2024-01-06 21:28:52 +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
23e1a665df
Simpler api endpoints are now integrated into the MainViewModel
2023-11-16 17:53:30 +01:00
Vicnet
17678dea5f
Small bug fixes
2023-11-11 15:07:26 +01:00
Vicnet
ccf2612ad4
Spanish localization update
2023-11-11 12:46:11 +01:00
Vicnet
fa00078e5b
German localization update
2023-11-11 12:42:26 +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
1598d24b00
Improvec scraper error handling, Improved scraper
2023-11-10 16:57:41 +01:00
Vicnet
1d3b936e99
Added basic recipe web import functionality to the RecipeEditView
2023-11-09 15:44:25 +01:00
Vicnet
32307972f9
Added french language support
2023-10-25 10:53:36 +02:00
Vicnet
04980b64c7
Added recipe description, nutrition information and keywords to recipe detail view
2023-10-24 19:09:21 +02:00
Vicnet
8f32946e27
Added category 'All' recipes
2023-10-22 20:28:51 +02:00
Vicnet
f55158e99e
Create new recipes from CategoryDetailView
2023-10-17 16:21:22 +02:00