style: UI 主题改版 — 暗色→暖色调亮色主题
- 奶白背景 (#FAF7F2) + 珊瑚橙主色 (#E8734A) - 圆润柔和设计: radius 8-20px, 柔和阴影 - 紫色辅助色 (Think/推理), 金色标签 (Token) - 终端区域保留深色 (#2D2016 暖棕) 保证可读性 - 窗口背景色、导出 HTML、theme-color 同步更新 - 字体升级: Inter + JetBrains Mono
This commit is contained in:
+1
-1
@@ -47,7 +47,7 @@ function createMainWindow(): BrowserWindow {
|
|||||||
minHeight: 600,
|
minHeight: 600,
|
||||||
icon: process.platform === 'win32' ? ICO_PATH : ICON_PATH,
|
icon: process.platform === 'win32' ? ICO_PATH : ICON_PATH,
|
||||||
title: APP_NAME,
|
title: APP_NAME,
|
||||||
backgroundColor: '#202020',
|
backgroundColor: '#FAF7F2',
|
||||||
show: false,
|
show: false,
|
||||||
autoHideMenuBar: true,
|
autoHideMenuBar: true,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
|||||||
@@ -431,11 +431,11 @@ export async function exportAsMarkdown(session: ChatSession): Promise<void> {
|
|||||||
|
|
||||||
export async function exportAsHtml(session: ChatSession): Promise<void> {
|
export async function exportAsHtml(session: ChatSession): Promise<void> {
|
||||||
let html = `<!DOCTYPE html><html><head><meta charset="UTF-8"><title>${escapeHtml(session.title)}</title>
|
let html = `<!DOCTYPE html><html><head><meta charset="UTF-8"><title>${escapeHtml(session.title)}</title>
|
||||||
<style>body{max-width:800px;margin:0 auto;padding:20px;font-family:system-ui;line-height:1.6;background:#202020;color:#fff;}
|
<style>body{max-width:800px;margin:0 auto;padding:20px;font-family:system-ui;line-height:1.6;background:#FAF7F2;color:#2D2016;}
|
||||||
.user{background:rgba(25,25,60,0.5);padding:12px;border-radius:8px;margin:8px 0;}
|
.user{background:#F5F0E8;padding:12px;border-radius:12px;margin:8px 0;border:1px solid rgba(0,0,0,0.06);}
|
||||||
.assistant{background:rgba(96,205,255,0.03);padding:12px;border-radius:8px;margin:8px 0;border:1px solid rgba(96,205,255,0.08);}
|
.assistant{background:#fff;padding:12px;border-radius:12px;margin:8px 0;border:1px solid rgba(0,0,0,0.06);box-shadow:0 1px 4px rgba(45,32,22,0.04);}
|
||||||
pre{background:rgba(0,0,0,0.3);padding:12px;border-radius:8px;overflow-x:auto;}
|
pre{background:#2D2016;color:#F5F0E8;padding:14px;border-radius:12px;overflow-x:auto;}
|
||||||
code{background:rgba(0,0,0,0.2);padding:2px 6px;border-radius:4px;}</style></head><body>
|
code{background:#F5F0E8;color:#E8734A;padding:2px 6px;border-radius:4px;}</style></head><body>
|
||||||
<h1>${escapeHtml(session.title)}</h1><p>${formatTime(session.createdAt)} · ${session.model}</p><hr>`;
|
<h1>${escapeHtml(session.title)}</h1><p>${formatTime(session.createdAt)} · ${session.model}</p><hr>`;
|
||||||
session.messages.forEach(m => {
|
session.messages.forEach(m => {
|
||||||
html += `<div class="${m.role}"><strong>${m.role === 'user' ? '👤 用户' : '🤖 AI'}</strong><br>${(m.content || '').replace(/\n/g, '<br>')}</div>`;
|
html += `<div class="${m.role}"><strong>${m.role === 'user' ? '👤 用户' : '🤖 AI'}</strong><br>${(m.content || '').replace(/\n/g, '<br>')}</div>`;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
<meta name="theme-color" content="#202020">
|
<meta name="theme-color" content="#FAF7F2">
|
||||||
<meta name="description" content="Metona Ollama Desktop - TypeScript + Electron AI 聊天客户端">
|
<meta name="description" content="Metona Ollama Desktop - TypeScript + Electron AI 聊天客户端">
|
||||||
<link rel="icon" href="/assets/icons/llama.ico" type="image/x-icon">
|
<link rel="icon" href="/assets/icons/llama.ico" type="image/x-icon">
|
||||||
<title>Metona Ollama</title>
|
<title>Metona Ollama</title>
|
||||||
@@ -431,9 +431,9 @@
|
|||||||
<div style="margin-top:6px;display:flex;align-items:center;gap:8px;">
|
<div style="margin-top:6px;display:flex;align-items:center;gap:8px;">
|
||||||
<label style="margin:0;font-size:11px;color:var(--text-secondary);">执行模式:</label>
|
<label style="margin:0;font-size:11px;color:var(--text-secondary);">执行模式:</label>
|
||||||
<select id="selectRunCommandMode" style="font-size:11px;padding:2px 6px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;">
|
<select id="selectRunCommandMode" style="font-size:11px;padding:2px 6px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;">
|
||||||
<option value="confirm" style="background:#2d2d2d;color:#fff;">需确认</option>
|
<option value="confirm">需确认</option>
|
||||||
<option value="auto" style="background:#2d2d2d;color:#fff;">自动执行</option>
|
<option value="auto">自动执行</option>
|
||||||
<option value="disabled" style="background:#2d2d2d;color:#fff;">禁用</option>
|
<option value="disabled">禁用</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+537
-498
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user