- 新 AppNext:首页按 /api/catalog2 的卡片勾选渲染(支持混合格式、每组条数),侧栏按分组树 + tree_hidden 渲染 - 分组页 /g/<key>、条目页 /g/<key>/i/<id>;条目在子树内递归查找,面包屑显示祖先链 - SPA 回落增加 /g/ 前缀;旧 /c/... 地址兼容 - 文档同步(路由、API、v19、限制) - 测试 59 passed;Playwright 验证首页/混合卡片/分组页/条目页/侧栏隐藏
28 lines
799 B
TypeScript
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>,
|
|
)
|