feat: version history as 10th feature flag, richer upgrade prompts, close unguarded photo-import tab (v0.80.0)

Recipe version history is now gated like the other 9 per-tier features (enabled by default, locked-vs-hidden treatment via isFeatureAvailableAnyTier). UpgradeDialog now shows a tagline + concrete bullet list per feature instead of one generic sentence.

Also closes a real gap: the AI-generate dialog's Photo tab hit /api/v1/ai/import-photo directly with no tier check in the UI (server route was already correctly gated) — a locked-out user could fill it in and hit a dead-end error instead of an upgrade prompt. Now threaded through the same lock/hide props as the dedicated PhotoImportButton.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Arnaud
2026-07-24 14:04:27 +02:00
parent 1dd8abfd52
commit 1fe379bcdc
15 changed files with 240 additions and 32 deletions
+6
View File
@@ -23,6 +23,12 @@ export const FEATURE_DEFINITIONS = [
description: "AI-suggested side dish / meal pairings for a recipe.",
defaultEnabled: true,
},
{
key: "version_history",
label: "Recipe version history",
description: "Snapshots of a recipe's prior versions, with diff/compare and restore.",
defaultEnabled: true,
},
// The following ship disabled by default (2026-07-24) — turn on per tier
// from this page once ready, rather than a code change.
{