fix: hide recipe variations button when locked instead of disabled+lock-badge (v0.78.1)

Was the one gated feature still shown as a clickable disabled button with a small lock icon overlay, opening an upgrade dialog on click. Every other gated feature (pairings, nutrition estimate, markdown export) hides entirely instead — brought this one in line and removed the now-dead locked/UpgradeDialog code from VariationsButton.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-24 12:58:04 +02:00
parent 355ba944ad
commit 0319b796ae
8 changed files with 40 additions and 43 deletions
@@ -2,11 +2,10 @@
import { useState } from "react";
import { useTranslations } from "next-intl";
import { GitBranch, Lock } from "lucide-react";
import { GitBranch } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip";
import { VariationsDialog } from "./variations-dialog";
import { UpgradeDialog } from "@/components/premium/upgrade-dialog";
export function VariationsButton({
recipeId,
@@ -16,7 +15,6 @@ export function VariationsButton({
cookMins,
ingredients,
steps,
locked = false,
}: {
recipeId: string;
baseServings: number;
@@ -25,26 +23,17 @@ export function VariationsButton({
cookMins?: number | null;
ingredients: Array<{ rawName: string; quantity?: string | number | null; unit?: string | null; note?: string | null; order: number }>;
steps: Array<{ instruction: string; timerSeconds?: number | null; order: number }>;
locked?: boolean;
}) {
const t = useTranslations("recipe");
const [open, setOpen] = useState(false);
const [upgradeOpen, setUpgradeOpen] = useState(false);
return (
<>
<TooltipProvider>
<Tooltip>
<TooltipTrigger render={
<Button
variant="ghost"
size="icon"
onClick={() => (locked ? setUpgradeOpen(true) : setOpen(true))}
aria-label={t("variationsTooltip")}
className="relative"
>
<Button variant="ghost" size="icon" onClick={() => setOpen(true)} aria-label={t("variationsTooltip")}>
<GitBranch className="h-4 w-4" />
{locked && <Lock className="h-2.5 w-2.5 absolute bottom-1 right-1 text-muted-foreground" />}
</Button>
} />
<TooltipContent>{t("variationsTooltip")}</TooltipContent>
@@ -61,12 +50,6 @@ export function VariationsButton({
open={open}
onOpenChange={setOpen}
/>
<UpgradeDialog
open={upgradeOpen}
onOpenChange={setUpgradeOpen}
featureKey="recipe_variations"
featureLabel="Recipe variations"
/>
</>
);
}