+3
-3
@@ -8,10 +8,10 @@ const inter = Inter({ subsets: ["latin"], variable: "--font-sans" });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
template: "%s | FeedBack",
|
||||
default: "FeedBack — VFX Review Platform",
|
||||
template: "%s | VFX Review",
|
||||
default: "VFX Review — Two Tales VFX Review Platform",
|
||||
},
|
||||
description: "Frame-accurate review and approval for VFX and animation studios.",
|
||||
description: "VFX review and approval for Two Tales VFX.",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
|
||||
@@ -90,6 +90,7 @@ interface ReviewPageClientProps {
|
||||
canApprove: boolean;
|
||||
canShare: boolean;
|
||||
currentUserId: string;
|
||||
userRole?: string;
|
||||
}
|
||||
|
||||
const APPROVAL_STATUS_STYLES: Record<string, string> = {
|
||||
@@ -106,6 +107,7 @@ export function ReviewPageClient({
|
||||
canApprove,
|
||||
canShare,
|
||||
currentUserId,
|
||||
userRole,
|
||||
}: ReviewPageClientProps) {
|
||||
const [comments, setComments] = useState(initialComments);
|
||||
const [annotations, setAnnotations] = useState(initialAnnotations);
|
||||
@@ -348,9 +350,12 @@ export function ReviewPageClient({
|
||||
fps={version.fps}
|
||||
comments={comments}
|
||||
onCommentsChange={handleCommentsChange}
|
||||
onAnnotationDeleted={handleAnnotationSaved}
|
||||
pendingFrame={pendingFrame}
|
||||
onPendingFrameCleared={() => setPendingFrame(null)}
|
||||
onSeekToFrame={(frame) => playerRef.current?.seekToFrame(frame)}
|
||||
currentUserId={currentUserId}
|
||||
isAdmin={userRole === "ADMIN"}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -121,6 +121,7 @@ export default async function ReviewPage({
|
||||
canApprove={canApprove}
|
||||
canShare={canShare}
|
||||
currentUserId={session.user.id}
|
||||
userRole={session.user.role as string}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user