Refactor registration and dashboard features to support invite codes and Bunny uploads

- 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.
This commit is contained in:
Yusuf İpek
2026-04-08 18:46:12 +03:00
parent 6f22b0bf8b
commit b1b1715578
29 changed files with 430 additions and 282 deletions
@@ -21,6 +21,7 @@ interface DashboardClientProps {
totalPages: number;
canCreateProjects: boolean;
canUploadVideos: boolean;
bunnyUploadsEnabled: boolean;
}
export function DashboardClient({
@@ -29,10 +30,11 @@ export function DashboardClient({
totalPages,
canCreateProjects,
canUploadVideos,
bunnyUploadsEnabled,
}: DashboardClientProps) {
return (
<div className="px-6 lg:px-8 py-8 w-full">
<VideoDragDropUploader canUpload={canUploadVideos} />
<VideoDragDropUploader canUpload={canUploadVideos && bunnyUploadsEnabled} />
<ProjectFilter
projects={serializedProjects}
workspaces={workspaces}
+2
View File
@@ -5,6 +5,7 @@ import { Prisma } from '@prisma/client';
import { hasCollaboratorBillingBackedAccess, requireBillingAccessOrRedirect } from '@/lib/route-access';
import { DashboardClient } from './dashboard-client';
import { buildBillingAccessWhereInput } from '@/lib/billing';
import { isBunnyUploadsEnabled } from '@/lib/feature-flags';
export default async function DashboardPage({
searchParams,
@@ -156,6 +157,7 @@ export default async function DashboardPage({
totalPages={totalPages}
canCreateProjects={canCreateProjects}
canUploadVideos={canUploadVideos}
bunnyUploadsEnabled={isBunnyUploadsEnabled()}
/>
);
}