feat(recipes): image upload, fix save 500, HelloFresh seed data #53

Merged
marcel merged 50 commits from feat/issue-46-wire-suggestions-recipe-picker into master 2026-04-10 10:18:10 +02:00
3 changed files with 15 additions and 13 deletions
Showing only changes of commit f7a239655a - Show all commits

View File

@@ -1,16 +1,5 @@
<script lang="ts">
interface Recipe {
id: string;
name: string;
effort?: string;
cookTimeMin?: number;
}
interface Suggestion {
recipe: Recipe;
scoreDelta: number;
hasConflict: boolean;
}
import type { Recipe, Suggestion } from '$lib/planner/types';
let {
planId,

View File

@@ -0,0 +1,12 @@
export interface Recipe {
id: string;
name: string;
effort?: string;
cookTimeMin?: number;
}
export interface Suggestion {
recipe: Recipe;
scoreDelta: number;
hasConflict: boolean;
}

View File

@@ -11,6 +11,7 @@
import BottomSheet from '$lib/components/BottomSheet.svelte';
import UndoBar from '$lib/planner/UndoBar.svelte';
import { prevWeek, nextWeek, getWeekStart, weekDays, formatDayLabel, formatDayAbbr, formatWeekRange, sortEasiestFirst } from '$lib/planner/week';
import type { Suggestion } from '$lib/planner/types';
let { data, form = null }: { data: { weekPlan: any; varietyScore: any; weekStart: string; recipes: any[] }; form?: any } = $props();
@@ -69,7 +70,7 @@
: null
);
let suggestions: any[] = $state([]);
let suggestions: Suggestion[] = $state([]);
let isLoadingSuggestions = $state(false);
// Recipes already in any slot this week — used for ⚠ overlap warnings