fix(ticket): gate AI detection summary behind assign permission
This commit is contained in:
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user