fix(ticket): gate AI detection summary behind assign permission

This commit is contained in:
2026-07-29 19:07:22 +05:30
parent 31839d1c70
commit e894676d3b

View File

@@ -8,7 +8,7 @@ import {
MapPin, MapPin,
Monitor, Monitor,
UserRound, UserRound,
Play Play,
} from 'lucide-react'; } from 'lucide-react';
import { useState } from 'react'; import { useState } from 'react';
@@ -172,6 +172,8 @@ export function TicketOverviewCard({
</Card> </Card>
) : null} ) : null}
<PermissionGuard permissions={PERMISSIONS.TICKET.ASSIGN}>
<>
<Card> <Card>
<CardHeader> <CardHeader>
<CardTitle className="flex items-center gap-2"> <CardTitle className="flex items-center gap-2">
@@ -180,7 +182,6 @@ export function TicketOverviewCard({
</CardTitle> </CardTitle>
{analysisVideoId ? ( {analysisVideoId ? (
<CardAction> <CardAction>
<PermissionGuard permissions={PERMISSIONS.TICKET.ASSIGN}>
<Button <Button
variant="secondary" variant="secondary"
onClick={() => setIsAnalysisOpen(true)} onClick={() => setIsAnalysisOpen(true)}
@@ -188,7 +189,6 @@ export function TicketOverviewCard({
<Play className="mr-2 size-4" /> <Play className="mr-2 size-4" />
View Video View Video
</Button> </Button>
</PermissionGuard>
</CardAction> </CardAction>
) : null} ) : null}
</CardHeader> </CardHeader>
@@ -216,7 +216,10 @@ export function TicketOverviewCard({
{hasVideoMetrics ? ( {hasVideoMetrics ? (
<div className="grid gap-3 rounded-lg bg-muted/35 px-4 py-3 text-sm sm:grid-cols-3"> <div className="grid gap-3 rounded-lg bg-muted/35 px-4 py-3 text-sm sm:grid-cols-3">
{videoMetadata?.fps ? ( {videoMetadata?.fps ? (
<VideoMetric icon={Gauge} label={`${videoMetadata.fps} FPS`} /> <VideoMetric
icon={Gauge}
label={`${videoMetadata.fps} FPS`}
/>
) : null} ) : null}
{duration ? ( {duration ? (
<VideoMetric icon={Clock3} label={`${duration} Duration`} /> <VideoMetric icon={Clock3} label={`${duration} Duration`} />
@@ -245,6 +248,8 @@ export function TicketOverviewCard({
</DialogBody> </DialogBody>
</DialogContent> </DialogContent>
</Dialog> </Dialog>
</>
</PermissionGuard>
</div> </div>
); );
} }