Files
stash/stash-web/src/main.tsx
T
CNWei 165d3f112e feat(front): 前台切换到分组树 + 卡片组合
- 新 AppNext:首页按 /api/catalog2 的卡片勾选渲染(支持混合格式、每组条数),侧栏按分组树 + tree_hidden 渲染
- 分组页 /g/<key>、条目页 /g/<key>/i/<id>;条目在子树内递归查找,面包屑显示祖先链
- SPA 回落增加 /g/ 前缀;旧 /c/... 地址兼容
- 文档同步(路由、API、v19、限制)
- 测试 59 passed;Playwright 验证首页/混合卡片/分组页/条目页/侧栏隐藏
2026-10-30 20:45:39 +08:00

28 lines
799 B
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import '@stash/ui/style.css'
import './index.css'
import AppNext from './AppNext.tsx'
import { AdminNext } from './components/admin/AdminNext'
/**
* 入口分流:
* - `/admin`:设置页独立壳;
* - `/login`:老地址,直接回首页(登录已改为页内弹窗);
* - 其它:正常站点。
*
* 判定放在这里而不是 App 里,是因为 App 的 `useViewRoute` 会把地址规范化,
* 组件内部再读 pathname 已经晚了。
*/
const path = window.location.pathname
if (path === '/login') {
window.location.replace('/')
}
const root = createRoot(document.getElementById('root')!)
root.render(
<StrictMode>{path === '/admin' ? <AdminNext /> : <AppNext />}</StrictMode>,
)