@vincentbanana/bananacli 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,108 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="color-scheme" content="light dark" />
7
+ <title>Banana</title>
8
+ <link rel="stylesheet" href="style.css" />
9
+ </head>
10
+ <body>
11
+ <div class="app" id="app">
12
+ <aside class="sidebar" id="sidebar">
13
+ <div class="sidebar-head">
14
+ <div class="brand">
15
+ <svg class="brand-mark" viewBox="0 0 24 24" aria-hidden="true">
16
+ <path d="M7 4.6c2.6-.4 4.9.5 6.3 2.6M12.3 7.2c1.4-2.1 3.7-3 6.3-2.6-1.1 1.6-1.2 3.1-.4 4.6.8 1.5.8 3-.1 4.5-1.1 2-3.3 3.5-5.9 4.3-2.3.7-4.7.7-7.1 0" />
17
+ <path d="M7.2 18c-1.1-2-1.2-4-.4-6 .9-2.3 2.5-3.7 4.7-4.2" />
18
+ </svg>
19
+ <span class="brand-name">Banana</span>
20
+ </div>
21
+ <button class="icon-btn" id="newChat" title="新建对话" aria-label="新建对话"></button>
22
+ </div>
23
+ <div class="session-list" id="sessionList"></div>
24
+ <div class="sidebar-foot">
25
+ <button class="ghost-btn" id="openSettings">
26
+ <span class="ghost-ico" data-icon="sliders"></span>
27
+ <span>设置</span>
28
+ </button>
29
+ <button class="ghost-btn danger" id="undoBtn" title="撤销上一轮文件改动">
30
+ <span class="ghost-ico" data-icon="undo"></span>
31
+ <span>撤销</span>
32
+ </button>
33
+ </div>
34
+ </aside>
35
+
36
+ <main class="main">
37
+ <header class="topbar">
38
+ <button class="icon-btn only-narrow" id="toggleSidebar" title="对话列表" aria-label="对话列表"></button>
39
+ <div class="topbar-title" id="threadTitle">新对话</div>
40
+ <div class="topbar-meta" id="threadMeta"></div>
41
+ <div class="topbar-actions">
42
+ <button class="chip-btn" id="modelBtn" title="模型与权限">
43
+ <span data-icon="chip"></span><span id="modelLabel">—</span>
44
+ </button>
45
+ <button class="icon-btn" id="filesBtn" title="项目文件" aria-label="项目文件"></button>
46
+ <button class="icon-btn" id="themeBtn" title="切换主题" aria-label="切换主题"></button>
47
+ <button class="icon-btn" id="abortBtn" title="停止" aria-label="停止" hidden></button>
48
+ </div>
49
+ </header>
50
+
51
+ <div class="thread" id="thread"></div>
52
+
53
+ <div class="composer-wrap">
54
+ <div class="attachments" id="attachments" hidden></div>
55
+ <form class="composer" id="composer">
56
+ <div class="command-palette" id="commandPalette" hidden></div>
57
+ <textarea id="input" rows="1" placeholder="说点什么;输入 / 调命令,@ 引文件,Enter 发送,Shift+Enter 换行"></textarea>
58
+ <button class="send-btn" id="sendBtn" type="submit" title="发送" aria-label="发送"></button>
59
+ </form>
60
+ <div class="composer-hint" id="composerHint"></div>
61
+ </div>
62
+ </main>
63
+ </div>
64
+
65
+ <div class="sheet" id="settingsSheet" hidden>
66
+ <div class="sheet-panel">
67
+ <header class="sheet-head">
68
+ <h2>设置</h2>
69
+ <button class="icon-btn" id="closeSettings" aria-label="关闭"></button>
70
+ </header>
71
+ <div class="sheet-body" id="settingsBody"></div>
72
+ </div>
73
+ </div>
74
+
75
+ <aside class="files-panel" id="filesPanel" hidden>
76
+ <header class="files-head">
77
+ <span id="filesTitle">项目文件</span>
78
+ <button class="icon-btn" id="closeFiles" aria-label="关闭文件面板"></button>
79
+ </header>
80
+ <div class="files-tree" id="filesTree"></div>
81
+ <div class="files-preview" id="filesPreview" hidden>
82
+ <div class="files-preview-head">
83
+ <span id="previewName"></span>
84
+ <button class="btn tiny" id="insertPath">插入到输入框</button>
85
+ </div>
86
+ <pre id="previewBody"></pre>
87
+ </div>
88
+ </aside>
89
+
90
+ <div class="modal" id="approvalModal" hidden>
91
+ <div class="modal-card">
92
+ <div class="modal-head">
93
+ <span class="modal-ico" data-icon="shield"></span>
94
+ <span id="approvalKind">需要确认</span>
95
+ </div>
96
+ <div class="modal-summary" id="approvalSummary"></div>
97
+ <pre class="modal-preview" id="approvalPreview" hidden></pre>
98
+ <div class="modal-actions">
99
+ <button class="btn" id="approvalNo">拒绝</button>
100
+ <button class="btn primary" id="approvalYes">允许</button>
101
+ </div>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="toast" id="toast" hidden></div>
106
+ <script type="module" src="app.js"></script>
107
+ </body>
108
+ </html>