import { useState } from 'react' import { FileText, Folder, Slash, MousePointer, Save, Search, Moon, Plus, Hash, Star, Image, Code2, BookOpen, Maximize2, Zap, Wand2, Bot, } from 'lucide-react' import { useAppStore } from '../../stores/appStore' const FEATURES = [ { icon: , title: '富文本编辑', desc: '标题、列表、引用、代码块、表格、任务清单,应有尽有', }, { icon: , title: '语法高亮', desc: '代码块自动识别语言并高亮,支持 JS、TS、Python、Go 等数十种语言', }, { icon: , title: '图片插入', desc: '斜杠命令输入 URL,或直接拖拽 / 粘贴截图到编辑器', }, { icon: , title: '斜杠命令', desc: '输入 / 唤出命令菜单,用键盘快速插入任意内容块', }, { icon: , title: '浮动工具栏', desc: '选中文字后浮现格式工具栏,点击即可加粗、高亮、转标题', }, { icon: , title: '自动保存', desc: '停止输入 1 秒后自动写入本地 IndexedDB,无需手动保存', }, { icon: , title: '字数 & 阅读时长', desc: '底部实时显示字数,并估算当前笔记的阅读时长', }, { icon: , title: '专注模式', desc: '点击标题栏图标收起侧边栏,全屏沉浸写作,按 Esc 退出', }, { icon: , title: '文件夹管理', desc: '创建多级文件夹,右键可重命名或删除,笔记可分类归档', }, { icon: , title: '收藏', desc: '点击标题旁星标或笔记列表 hover 按钮,快速收藏重要笔记', }, { icon: , title: '全文搜索', desc: '侧边栏搜索框实时过滤笔记标题和标签', }, { icon: , title: '标签系统', desc: '为笔记添加多个标签,跨文件夹快速定位相关内容', }, { icon: , title: '深色模式', desc: '点击左上角图标一键切换亮色 / 暗色主题', }, { icon: , title: 'AI 续写', desc: '点击标题旁 ⚡ 按钮,AI 基于当前上下文流式续写下一段', }, { icon: , title: 'AI 润色', desc: '选中文字 → 浮动工具栏 → 润色,流式预览后一键替换原文', }, { icon: , title: 'AI 摘要', desc: '选中段落生成片段摘要,或在 AI 面板一键生成全文摘要', }, { icon: , title: 'AI 问答', desc: '点击 ✨ 打开 AI 助手面板,针对当前笔记内容自由提问', }, ] const SHORTCUTS: { mac: string[]; win: string[]; desc: string }[] = [ { mac: ['⌘', 'B'], win: ['Ctrl', 'B'], desc: '粗体' }, { mac: ['⌘', 'I'], win: ['Ctrl', 'I'], desc: '斜体' }, { mac: ['⌘', 'U'], win: ['Ctrl', 'U'], desc: '下划线' }, { mac: ['⌘', 'E'], win: ['Ctrl', 'E'], desc: '行内代码' }, { mac: ['⌘', 'Z'], win: ['Ctrl', 'Z'], desc: '撤销' }, { mac: ['⌘', '⇧', 'Z'], win: ['Ctrl', 'Y'], desc: '重做' }, { mac: ['/'], win: ['/'], desc: '命令菜单' }, { mac: ['Esc'], win: ['Esc'], desc: '退出专注模式' }, { mac: ['⌘', 'N'], win: ['Ctrl', 'N'], desc: '新建笔记' }, { mac: ['⌘', '\\'], win: ['Ctrl', '\\'], desc: '切换专注模式' }, { mac: ['⌘', '⇧', 'J'], win: ['Ctrl', '⇧', 'J'], desc: '打开 AI 助手' }, ] function detectOS(): 'mac' | 'win' { return /mac/i.test(navigator.platform) ? 'mac' : 'win' } export function WelcomeView() { const { createNote } = useAppStore() const [os, setOs] = useState<'mac' | 'win'>(detectOS) return (
{/* Hero */}
✏️

欢迎使用笔记

一款基于 Vite + React + TipTap 构建的现代笔记应用。
点击左侧笔记开始阅读,或新建一篇属于你的笔记。

{/* Divider */}
{/* Features */}

功能一览

{FEATURES.map(f => (
{f.icon}
{f.title}
{f.desc}
))}
{/* Shortcuts */}

常用快捷键

{(['mac', 'win'] as const).map(opt => ( ))}
{SHORTCUTS.map((s, i) => (
0 ? '1px solid var(--border)' : 'none', background: 'var(--bg-subtle)', }} > {s.desc}
{s[os].map(k => ( {k} ))}
))}
) }