首页布局优化前

This commit is contained in:
iven
2026-03-17 23:26:16 +08:00
parent 74dbf42644
commit e262200f1e
89 changed files with 2266 additions and 2120 deletions

View File

@@ -1,16 +1,17 @@
import { useState } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import { Settings, Users, Bot, GitBranch, MessageSquare, Layers } from 'lucide-react';
import { Settings, Users, Bot, GitBranch, MessageSquare, Layers, Package } from 'lucide-react';
import { CloneManager } from './CloneManager';
import { HandList } from './HandList';
import { WorkflowList } from './WorkflowList';
import { TeamList } from './TeamList';
import { SwarmDashboard } from './SwarmDashboard';
import { SkillMarket } from './SkillMarket';
import { useGatewayStore } from '../store/gatewayStore';
import { Button } from './ui';
import { containerVariants, defaultTransition } from '../lib/animations';
export type MainViewType = 'chat' | 'hands' | 'workflow' | 'team' | 'swarm';
export type MainViewType = 'chat' | 'hands' | 'workflow' | 'team' | 'swarm' | 'skills';
interface SidebarProps {
onOpenSettings?: () => void;
@@ -21,12 +22,13 @@ interface SidebarProps {
onSelectTeam?: (teamId: string) => void;
}
type Tab = 'clones' | 'hands' | 'workflow' | 'team' | 'swarm';
type Tab = 'clones' | 'hands' | 'workflow' | 'team' | 'swarm' | 'skills';
const TABS: { key: Tab; label: string; icon: React.ComponentType<{ className?: string }>; mainView?: MainViewType }[] = [
{ key: 'clones', label: '分身', icon: Bot },
{ key: 'hands', label: 'Hands', icon: MessageSquare, mainView: 'hands' },
{ key: 'workflow', label: '工作流', icon: GitBranch, mainView: 'workflow' },
{ key: 'skills', label: '技能', icon: Package, mainView: 'skills' },
{ key: 'team', label: '团队', icon: Users, mainView: 'team' },
{ key: 'swarm', label: '协作', icon: Layers, mainView: 'swarm' },
];
@@ -107,6 +109,7 @@ export function Sidebar({
/>
)}
{activeTab === 'workflow' && <WorkflowList />}
{activeTab === 'skills' && <SkillMarket />}
{activeTab === 'team' && (
<TeamList
selectedTeamId={selectedTeamId}