Archived
Move the web/server app under server/, add Markdown composer and rendering, cursor-insert image/file uploads, nested quote viewer, group read receipt dialog, and link Markdown attachments to sent messages.
33 lines
1.1 KiB
HTML
33 lines
1.1 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
<meta name="theme-color" content="#0b0e14" />
|
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
<link rel="apple-touch-icon" href="/favicon.png" />
|
|
<title>Chat</title>
|
|
<script>
|
|
// Cap 的 WASM 必须在使用 cap-widget 之前指定为自托管地址,
|
|
// 否则组件会去 jsdelivr 拉取,国内网络下会一直卡在“验证中”。
|
|
window.CAP_CUSTOM_WASM_URL = '/cap/cap_wasm_bg.wasm'
|
|
window.CAP_CUSTOM_HASHWX_URL = '/cap/hashwx.wasm'
|
|
</script>
|
|
<script>
|
|
;(() => {
|
|
try {
|
|
const t = localStorage.getItem('chat-theme') || 'system'
|
|
const dark =
|
|
t === 'dark' ||
|
|
(t === 'system' && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
document.documentElement.classList.toggle('dark', dark)
|
|
} catch {}
|
|
})()
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|