From 22ec2193835453568d5e207c5a7180a125e3c639 Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Sun, 5 Jul 2026 17:38:43 +0300 Subject: [PATCH] Protect keyword context snapshots --- seo_mode/seo_mode/app/src/App.tsx | 147 ++++++++++++++++++------------ 1 file changed, 88 insertions(+), 59 deletions(-) diff --git a/seo_mode/seo_mode/app/src/App.tsx b/seo_mode/seo_mode/app/src/App.tsx index fc4a9b0..3de4f50 100644 --- a/seo_mode/seo_mode/app/src/App.tsx +++ b/seo_mode/seo_mode/app/src/App.tsx @@ -4387,6 +4387,7 @@ function SeoAnchorReviewWorkspace({ isCollapsed, isBulkApproving, isDemandProfileDirty, + isReadOnly, isSavingDraft, isManualAdding, onDecision, @@ -4410,6 +4411,7 @@ function SeoAnchorReviewWorkspace({ isCollapsed: boolean; isBulkApproving: boolean; isDemandProfileDirty: boolean; + isReadOnly: boolean; isSavingDraft: boolean; isManualAdding: boolean; onDecision: (anchor: AnchorReviewAnchorView, decision: AnchorReviewDecisionInput) => void; @@ -4447,7 +4449,11 @@ function SeoAnchorReviewWorkspace({ Выбираем смысловые якоря и вручную решаем, что отправлять в очередь Wordstat. Текущий активный профиль: {contextProfileLabel} - {contextProfileStatus === "loading" ? " · загружается" : contextProfileStatus === "snapshot" ? " · снимок" : ""} + {contextProfileStatus === "loading" + ? " · загружается" + : contextProfileStatus === "snapshot" + ? " · снимок только для просмотра" + : ""} {getAnchorReviewStateLabel(anchorReview.state)} · очередь Wordstat {anchorReview.readiness.wordstatQueueCount} · @@ -4462,12 +4468,21 @@ function SeoAnchorReviewWorkspace({