feat: release OpsXShell 2.1.0 native Tauri edition

This commit is contained in:
Logan.Li committed 2026-07-30 23:32:51 +08:00
1 parent e9a0d21758
commit a3dba0c6ed
311 files changed
+31748 -14897

No files matched your search

+15 -14
View File
@@ -14,9 +14,9 @@ import {
Zap,
Plus,
X,
FolderOpen,
ChevronRight,
Settings,
Laptop,
} from 'lucide-react'
import { useTabStore } from '../../stores/tabStore'
import { useSessionStore, useSnippetStore, useCommandPaletteStore, type Session } from '../../stores'
@@ -45,9 +45,9 @@ interface CommandPaletteProps {
// ─── 类型 badge 颜色映射 ──────────────────────────────────────────────
const TYPE_BADGE: Record<CommandPaletteItemType, { label: string; className: string }> = {
command: { label: '命令', className: 'bg-surface-baseccent-blue/20 text-accent-blue' },
session: { label: '会话', className: 'bg-surface-baseccent-green/20 text-accent-green' },
snippet: { label: '片段', className: 'bg-surface-baseccent-purple/20 text-accent-purple' },
command: { label: '命令', className: 'bg-accent-blue/20 text-accent-blue' },
session: { label: '会话', className: 'bg-accent-green/20 text-accent-green' },
snippet: { label: '片段', className: 'bg-accent-purple/20 text-accent-purple' },
}
// ─── 组件 ──────────────────────────────────────────────────────────────
@@ -91,6 +91,15 @@ export function CommandPalette({
icon: <Zap size={16} />,
action: () => onQuickConnect(),
},
{
id: 'cmd:local-terminal',
type: 'command',
label: '本地终端',
description: '打开本机 Shell',
shortcut: 'Ctrl+Shift+T',
icon: <Laptop size={16} />,
action: () => addTab({ title: 'Local', type: 'terminal', isLocal: true }),
},
{
id: 'cmd:open-settings',
type: 'command',
@@ -129,14 +138,6 @@ export function CommandPalette({
icon: <X size={16} />,
action: () => useTabStore.getState().closeAllTabs(),
},
{
id: 'cmd:new-sftp',
type: 'command',
label: '新建 SFTP 浏览器',
description: '打开 SFTP 文件管理标签',
icon: <FolderOpen size={16} />,
action: () => addTab({ title: 'SFTP', type: 'sftp' }),
},
{
id: 'cmd:new-portforward',
type: 'command',
@@ -305,7 +306,7 @@ export function CommandPalette({
onKeyDown={handleKeyDown}
>
{/* Backdrop */}
<div className="absolute inset-0 bg-surface-baselack/60 backdrop-blur-sm animate-fade-in" />
<div className="absolute inset-0 bg-black/60 backdrop-blur-sm animate-fade-in" />
{/* Palette container */}
<div
@@ -369,7 +370,7 @@ export function CommandPalette({
className={`
flex items-center gap-3 px-4 py-2 cursor-pointer transition-colors duration-75
${isSelected
? 'bg-surface-baseccent-blue/15 text-content-primary'
? 'bg-accent-blue/15 text-content-primary'
: 'text-content-secondary hover:bg-dark-700'
}
`}