feat: auto-classify AI recipes as dish/drink (v0.33.0)
generate, generate-from-idea, URL import, and photo import all now have the AI set recipeType directly (defaulting to "dish" whenever ambiguous, per instruction), with cookMins force-cleared for drinks as a backstop in case the model doesn't follow the prompt guidance. 1-serving-by-default for unspecified drink quantities is left to the model's own judgment of the request text, since there's no reliable way to detect "was a serving count stated" without re-parsing intent. Drink recipes get a distinct default icon (no cover photo case), and Explore gains the same dish/drink Type filter My Recipes already had. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,7 @@ type Recipe = {
|
||||
updatedAt: Date;
|
||||
photos?: Array<{ storageKey: string; isCover: boolean }>;
|
||||
sourceUrl?: string | null;
|
||||
recipeType?: "dish" | "drink";
|
||||
};
|
||||
|
||||
const VISIBILITY_ICON = {
|
||||
@@ -56,7 +57,7 @@ export function RecipeCard({ recipe }: { recipe: Recipe }) {
|
||||
</div>
|
||||
) : (
|
||||
<div className="aspect-video bg-gradient-to-br from-muted to-muted/50 flex items-center justify-center text-4xl">
|
||||
🍽️
|
||||
{recipe.recipeType === "drink" ? "🍹" : "🍽️"}
|
||||
</div>
|
||||
)}
|
||||
<CardHeader className="pb-2">
|
||||
|
||||
@@ -49,6 +49,7 @@ type Recipe = {
|
||||
isBatchCook?: boolean;
|
||||
dishCount?: number;
|
||||
sourceUrl?: string | null;
|
||||
recipeType?: "dish" | "drink";
|
||||
};
|
||||
|
||||
/** Stops the click from bubbling to the card's own Link/select handler. */
|
||||
@@ -92,7 +93,7 @@ function RecipeThumb({ recipe, selectMode, selected, className }: { recipe: Reci
|
||||
/>
|
||||
) : (
|
||||
<div className={cn("w-full h-full flex items-center justify-center text-2xl", selectMode && !selected && "opacity-60")}>
|
||||
🍽️
|
||||
{recipe.recipeType === "drink" ? "🍹" : "🍽️"}
|
||||
</div>
|
||||
)}
|
||||
{selectMode && selected && <div className="absolute inset-0 bg-primary/20" />}
|
||||
|
||||
Reference in New Issue
Block a user