feat(ui): add collapsible persistent sidebar

This commit is contained in:
Logan.Li committed 2026-08-06 17:56:55 +08:00
1 parent 9ce71795b8
commit 101d2164b4
13 files changed
+153 -29

No files matched your search

+11 -5
View File
@@ -1,8 +1,9 @@
import { Terminal, Plus, Zap, Clock, Server, ChevronRight } from 'lucide-react'
import { Plus, Zap, Clock, Server, ChevronRight } from 'lucide-react'
import { useSessionStore } from '../../stores'
import { useTabStore } from '../../stores/tabStore'
import EmptyState from '../common/EmptyState'
import LocalShellMenu from '../layout/sidebar/LocalShellMenu'
import appIconUrl from '../../assets/opsxshell-app-icon.png'
interface WelcomeViewProps {
onNewSession?: () => void
@@ -27,12 +28,17 @@ export default function WelcomeView({ onNewSession, onQuickConnect }: WelcomeVie
<div className="w-full max-w-3xl px-6 py-10 sm:py-12">
{/* Hero — 短文案 */}
<div className="flex items-center gap-4 mb-8">
<div className="w-14 h-14 rounded-2xl bg-gradient-to-br from-accent-blue/30 to-accent-purple/20 border border-dark-600/60 flex items-center justify-center shadow-lg shadow-black/20 flex-shrink-0">
<Terminal className="w-7 h-7 text-content-primary" />
</div>
<img
src={appIconUrl}
alt="OpsXShell"
width={56}
height={56}
className="h-14 w-14 flex-shrink-0 rounded-2xl object-cover shadow-lg shadow-black/20"
draggable={false}
/>
<div className="min-w-0">
<h1 className="text-2xl font-semibold text-content-primary tracking-tight">OpsXShell</h1>
<p className="text-sm text-txt-muted mt-0.5">SSH / SFTP 跨平台运维工作台</p>
<p className="text-sm text-txt-muted mt-0.5">SSH / SFTP 终端</p>
</div>
</div>