{#snippet scoreBadge(recipeId: string, delta: number, hasConflict: boolean)} {#if delta > 0} ↑ +{delta.toFixed(1)} Punkte {:else if hasConflict} ↓ {delta.toFixed(1)} Punkte {:else} = {delta.toFixed(1)} Punkte {/if} {/snippet}

Rezept wählen

{dateLabel}

{#if isLoading}
{#each [1, 2, 3] as i (i)}
{/each}
{:else if topRecommendations.length > 0}
Empfohlen · Beste Abwechslung
{#each topRecommendations as suggestion (suggestion.recipe.id)} {@const meta = recipeMetadata(suggestion.recipe)}

{suggestion.recipe.name}

{#if meta}

{meta}

{/if} {@render scoreBadge(suggestion.recipe.id, suggestion.scoreDelta ?? 0, suggestion.hasConflict)}
{/each}
{/if}
Alle Rezepte
{#if filteredRecipes.length === 0}

Keine Treffer

{:else} {#each filteredRecipes as recipe (recipe.id)} {@const meta = recipeMetadata(recipe)} {@const score = scoreMap.get(recipe.id)}

{recipe.name}

{#if meta}

{meta}

{/if} {#if score} {@render scoreBadge(recipe.id, score.scoreDelta ?? 0, score.hasConflict)} {/if}
{/each} {/if}