- {item.label}
+
{
+ setCollapsedGroups(prev => ({
+ ...prev,
+ [item.id]: !prev[item.id]
+ }));
+ }}
+ style={{
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ color: '#94a3b8', fontSize: 12, fontWeight: 600,
+ padding: '10px 14px 4px', letterSpacing: 0.5, textTransform: 'uppercase',
+ cursor: 'pointer',
+ }}
+ >
+ {item.label}
+
+
+
- {(childMap[item.id] || []).sort((a, b) => {
- const orderA = typeof a.sortOrder === 'number' ? a.sortOrder : Infinity;
- const orderB = typeof b.sortOrder === 'number' ? b.sortOrder : Infinity;
- return orderA - orderB;
- }).map(c => renderMenuItem(c, 1))}
+ {isExpanded && (
+
+ {(childMap[item.id] || []).sort((a, b) => {
+ const orderA = typeof a.sortOrder === 'number' ? a.sortOrder : Infinity;
+ const orderB = typeof b.sortOrder === 'number' ? b.sortOrder : Infinity;
+ return orderA - orderB;
+ }).map(c => renderMenuItem(c, 1))}
+
+ )}
);
+ } else if (hasChildren) {
+ items.push(renderMenuItem(item));
} else {
items.push(renderMenuItem(item));
}
diff --git a/video-gen-app/src/pages/LoginPage.tsx b/video-gen-app/src/pages/LoginPage.tsx
index de16ed78..d478f0b2 100644
--- a/video-gen-app/src/pages/LoginPage.tsx
+++ b/video-gen-app/src/pages/LoginPage.tsx
@@ -372,10 +372,10 @@ const LoginPage: React.FC = () => {
{/* Right side - login/register form */}