mirror of
https://github.com/yusufipk/OpenFrame.git
synced 2026-09-11 17:46:06 +00:00
- Moved registration logic to a new client component for better separation of concerns. - Integrated invite code requirement based on feature flags in the registration process. - Enhanced dashboard functionality to conditionally enable Bunny uploads based on feature flags. - Updated various components and API routes to check for Bunny uploads and Stripe billing feature flags. - Added new feature flag utilities for managing feature toggles in the application.
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
'use client';
|
|
|
|
import { ProjectFilter } from './project-filter';
|
|
import { VideoDragDropUploader } from '@/components/video-drag-drop-uploader';
|
|
|
|
interface SerializedProject {
|
|
id: string;
|
|
name: string;
|
|
description: string | null;
|
|
visibility: string;
|
|
updatedAt: string;
|
|
workspaceId: string | null;
|
|
workspaceName: string | null;
|
|
memberCount: number;
|
|
videoCount: number;
|
|
}
|
|
|
|
interface DashboardClientProps {
|
|
serializedProjects: SerializedProject[];
|
|
workspaces: { id: string; name: string }[];
|
|
totalPages: number;
|
|
canCreateProjects: boolean;
|
|
canUploadVideos: boolean;
|
|
bunnyUploadsEnabled: boolean;
|
|
}
|
|
|
|
export function DashboardClient({
|
|
serializedProjects,
|
|
workspaces,
|
|
totalPages,
|
|
canCreateProjects,
|
|
canUploadVideos,
|
|
bunnyUploadsEnabled,
|
|
}: DashboardClientProps) {
|
|
return (
|
|
<div className="px-6 lg:px-8 py-8 w-full">
|
|
<VideoDragDropUploader canUpload={canUploadVideos && bunnyUploadsEnabled} />
|
|
<ProjectFilter
|
|
projects={serializedProjects}
|
|
workspaces={workspaces}
|
|
totalPages={totalPages}
|
|
canCreateProjects={canCreateProjects}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|