mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-10-21 22:39:45 +00:00
* feat(web-shell): add installable PWA support * fix(build): skip incomplete Web Shell assets when bundling * feat(web-shell): declare browser support matrix and compat fallbacks * feat(web-shell): make the Web Shell installable as a PWA Serves /manifest.webmanifest and /sw.js pre-auth, registers the worker deferred to load, and replaces the earlier service-worker.js draft with sw.js as a Vite entry (PNG icons included). * feat(mobile-shell): add Android WebView shell skeleton WebView shell around the daemon-served Web Shell (no second UI), profile tuples of URL/token/display name with #token= fragment delivery, native WebView version check at the Chrome 107 floor, and a foreground-service skeleton for SSE/notifications. * chore(web-shell): drop superseded service worker draft files * test(web-shell): cover service worker routing and lifecycle * chore(web-shell): align @playwright/test with main lockfile * chore: register mobile-shell importer in pnpm lockfile * test(web-shell): parse sidebar stylesheet with postcss for @supports nesting * chore: register mobile-shell in pnpm rewrite set * fix(web-shell): address PWA and Android acceptance blockers * docs(mobile-shell): make remaining native acceptance limits explicit * fix(web-shell): address fourth PWA review round * fix(mobile-shell): restore web view on back --------- Co-authored-by: Shaojin Wen <shaojin.wensj@alibaba-inc.com>
65 lines
1.8 KiB
CSS
65 lines
1.8 KiB
CSS
.themeDark {
|
|
--background: #0d0d0d;
|
|
--foreground: #fafafa;
|
|
--muted: #161616;
|
|
--muted-foreground: #808598;
|
|
--secondary: #1e1e1e;
|
|
--border: #2a2a2a;
|
|
--agent-blue-500: #6785ff;
|
|
/* Chart series colors — mirror App.module.css .themeDark. DialogShell portals
|
|
to document.body, outside the app root that defines these, so the dialog's
|
|
own theme scope must carry them or SVG strokes resolve to `none`. */
|
|
--agent-blue-400: #8aa0ff;
|
|
--primary: #fafafa;
|
|
--success-color: #48bb78;
|
|
--warning-color: #ecc94b;
|
|
--error-color: #fc8181;
|
|
--font-mono:
|
|
'SF Mono', 'Fira Code', 'JetBrains Mono', 'Cascadia Code', monospace;
|
|
--font-sans:
|
|
-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
--radius: 6px;
|
|
--dialog-overlay: rgba(0, 0, 0, 0.62);
|
|
}
|
|
|
|
.themeLight {
|
|
--background: #ffffff;
|
|
--foreground: #0a0a0b;
|
|
--muted: #f3f3f5;
|
|
--muted-foreground: #a3a3a5;
|
|
--secondary: #f3f3f5;
|
|
--border: #e3e4e6;
|
|
--agent-blue-500: #0033ff;
|
|
/* Chart series colors — mirror App.module.css .themeLight (see .themeDark). */
|
|
--agent-blue-400: #335cff;
|
|
--primary: #151517;
|
|
--success-color: #1f7a3a;
|
|
--warning-color: #9a6a00;
|
|
--error-color: #c0362c;
|
|
--font-mono:
|
|
'SF Mono', 'Fira Code', 'JetBrains Mono', 'Cascadia Code', monospace;
|
|
--font-sans:
|
|
-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
--radius: 6px;
|
|
--dialog-overlay: rgba(10, 10, 11, 0.32);
|
|
}
|
|
|
|
.viewportPanel {
|
|
max-height: min(80vh, calc(100vh - 48px));
|
|
}
|
|
|
|
.viewportPanel[data-fullscreen] {
|
|
height: calc(100vh - 32px);
|
|
max-height: calc(100vh - 32px);
|
|
}
|
|
|
|
@supports (height: 100dvh) {
|
|
.viewportPanel {
|
|
max-height: min(80dvh, calc(100dvh - 48px));
|
|
}
|
|
|
|
.viewportPanel[data-fullscreen] {
|
|
height: calc(100dvh - 32px);
|
|
max-height: calc(100dvh - 32px);
|
|
}
|
|
}
|