*/}
- {/*
-
-
+
+
+
+ setSidebarCollapsed(!sidebarCollapsed)} />
+
{children}
-
*/}
-
-
- {children}
-
+
);
}
\ No newline at end of file
diff --git a/components/layout/sidebar.tsx b/components/layout/sidebar.tsx
index 2e99395..ec5df08 100644
--- a/components/layout/sidebar.tsx
+++ b/components/layout/sidebar.tsx
@@ -16,6 +16,9 @@ import {
ChevronLeft,
ChevronRight,
Video,
+ PanelsLeftBottom,
+ ArrowLeftToLine,
+ X
} from 'lucide-react';
interface SidebarProps {
@@ -30,94 +33,77 @@ const navigationItems = [
{ name: 'Home', href: '/', icon: Home },
{ name: 'Media Library', href: '/media', icon: FolderOpen },
{ name: 'Actors Library', href: '/actors', icon: Users },
- ],
- },
- {
- title: 'Plugins',
- items: [
- { name: 'Text to Clip', href: '/plugins/text-to-clip', icon: Type },
- { name: 'Text to Image', href: '/plugins/text-to-image', icon: Image },
- ],
- },
- {
- title: 'History',
- items: [
{ name: 'Task History', href: '/history', icon: History },
],
- },
+ }
];
export function Sidebar({ collapsed, onToggle }: SidebarProps) {
const pathname = usePathname();
return (
-
+ {/* Backdrop */}
+ {!collapsed && (
+
onToggle(true)}
+ />
)}
- >
-
- {/* Logo */}
-
- {!collapsed && (
+
+ {/* Sidebar */}
+
+
+
-
+
Movie Flow
- )}
-
-
+
+
- {/* Navigation */}
-
- {navigationItems.map((section, index) => (
-
- {!collapsed && (
-
- {section.title}
-
- )}
-
- {section.items.map((item) => {
- const isActive = pathname === item.href;
- return (
-
-
-
- );
- })}
+ {/* Navigation */}
+
+ {navigationItems.map((section, index) => (
+
+
+ {section.items.map((item) => {
+ const isActive = pathname === item.href;
+ return (
+
+
+
+ );
+ })}
+
- {index < navigationItems.length - 1 && (
-
- )}
-
- ))}
+ ))}
+
-
+ >
);
}
\ No newline at end of file
diff --git a/components/layout/top-bar.tsx b/components/layout/top-bar.tsx
index 4a39bf7..06552cc 100644
--- a/components/layout/top-bar.tsx
+++ b/components/layout/top-bar.tsx
@@ -16,19 +16,24 @@ import {
Settings,
LogOut,
Bell,
+ PanelsLeftBottom
} from 'lucide-react';
import { useRouter } from 'next/navigation';
-export function TopBar({ collapsed }: { collapsed: boolean }) {
+export function TopBar({ collapsed, onToggleSidebar }: { collapsed: boolean; onToggleSidebar: () => void }) {
const { theme, setTheme } = useTheme();
const router = useRouter();
return (
- //
-
-
-
router.push('/')}>
-
Movie Flow
+
+
+
+
+
router.push('/')}>
+
Movie Flow
+
diff --git a/components/pages/create-to-video.tsx b/components/pages/create-to-video.tsx
index e5dce68..80275b5 100644
--- a/components/pages/create-to-video.tsx
+++ b/components/pages/create-to-video.tsx
@@ -461,27 +461,27 @@ export function CreateToVideo() {
{generateObj.video_info ? (
- {generateObj.video_info.roles.map((role: any, index: number) => (
-
(
+
-
-
-

-
-
-
-
{role.name}
-
{role.core_identity}
-
-
- ))}
+ >
+
+
+

+
+
+
{role.name}
+
{role.core_identity}
+
+
+ ))}
+
) : (
{[1, 2].map((i) => (
@@ -492,7 +492,7 @@ export function CreateToVideo() {
-
+
))}
@@ -553,14 +553,14 @@ export function CreateToVideo() {
{generateObj.video_info ? (
-
场景
+
场景
{generateObj.video_info.sence}
-
+
-
风格
+
风格
{generateObj.video_info.style}
-
-
+
+
) : (
@@ -570,9 +570,9 @@ export function CreateToVideo() {
-
-
- )}
+
+
+ )}
@@ -594,7 +594,7 @@ export function CreateToVideo() {
Scene {selectedVideoIndex + 1}
)}
-
+
+