From cc58267c93f667732dcab0a5b391fb73f5972c3c Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 14:12:44 +0000 Subject: [PATCH] Fix rollback system --- .../versioning/EntityVersionHistory.tsx | 5 +- src/components/versioning/RollbackDialog.tsx | 4 +- src/hooks/useEntityVersions.ts | 14 +- ...6_8ac94312-d4ae-4c79-a4d3-bee658516d8d.sql | 205 ++++++++++++++++++ 4 files changed, 222 insertions(+), 6 deletions(-) create mode 100644 supabase/migrations/20251030141156_8ac94312-d4ae-4c79-a4d3-bee658516d8d.sql diff --git a/src/components/versioning/EntityVersionHistory.tsx b/src/components/versioning/EntityVersionHistory.tsx index 73ff24ba..b3ae5b60 100644 --- a/src/components/versioning/EntityVersionHistory.tsx +++ b/src/components/versioning/EntityVersionHistory.tsx @@ -10,6 +10,7 @@ import { ScrollArea } from '@/components/ui/scroll-area'; import { VersionComparisonDialog } from './VersionComparisonDialog'; import { RollbackDialog } from './RollbackDialog'; import { useEntityVersions } from '@/hooks/useEntityVersions'; +import { useUserRole } from '@/hooks/useUserRole'; import type { EntityType } from '@/types/versioning'; interface EntityVersionHistoryProps { @@ -28,6 +29,7 @@ const changeTypeColors = { export function EntityVersionHistory({ entityType, entityId, entityName }: EntityVersionHistoryProps) { const { versions, loading, rollbackToVersion } = useEntityVersions(entityType, entityId); + const { isModerator } = useUserRole(); const [selectedVersions, setSelectedVersions] = useState([]); const [compareDialogOpen, setCompareDialogOpen] = useState(false); const [rollbackDialogOpen, setRollbackDialogOpen] = useState(false); @@ -128,7 +130,7 @@ export function EntityVersionHistory({ entityType, entityId, entityName }: Entit )} - {!version.is_current && ( + {!version.is_current && isModerator() && (