Skip to content

Commit

Permalink
fix (Web): Recipe search
Browse files Browse the repository at this point in the history
  • Loading branch information
TomBursch committed Dec 9, 2023
1 parent 5173106 commit 5f98c45
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
13 changes: 12 additions & 1 deletion lib/services/api/recipe.dart
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ extension RecipeApi on ApiService {
return body.map((e) => Recipe.fromJson(e)).toList();
}

Future<List<int>?> searchRecipe(Household household, String query) async {
Future<List<int>?> searchRecipeById(Household household, String query) async {
final res = await get(
'${householdPath(household)}$baseRoute/search?only_ids=true&query=$query',
);
Expand All @@ -44,6 +44,17 @@ extension RecipeApi on ApiService {
return List.from(jsonDecode(res.body));
}

Future<List<Recipe>?> searchRecipe(Household household, String query) async {
final res = await get(
'${householdPath(household)}$baseRoute/search?query=$query',
);
if (res.statusCode != 200) return null;

final body = List.from(jsonDecode(res.body));

return body.map((e) => Recipe.fromJson(e)).toList();
}

Future<Recipe?> getRecipe(Recipe recipe) async {
final res = await get('$baseRoute/${recipe.id}');
if (res.statusCode != 200) return null;
Expand Down
7 changes: 6 additions & 1 deletion lib/services/transactions/recipe.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:kitchenowl/models/household.dart';
import 'package:kitchenowl/models/recipe.dart';
import 'package:kitchenowl/models/tag.dart';
Expand Down Expand Up @@ -102,7 +103,11 @@ class TransactionRecipeSearchRecipes extends Transaction<List<Recipe>> {

@override
Future<List<Recipe>?> runOnline() async {
final ids = await ApiService.getInstance().searchRecipe(household, query);
if (kIsWeb) {
return ApiService.getInstance().searchRecipe(household, query);
}
final ids =
await ApiService.getInstance().searchRecipeById(household, query);
if (ids == null) return [];
final recipes = (await TempStorage.getInstance().readRecipes(household) ??
[])
Expand Down

0 comments on commit 5f98c45

Please sign in to comment.