feat(web): 地址栏驱动视图,刷新详情页不再回首页

- 新增 data/view.ts 与 useViewRoute:视图与地址双向同步,支持前进后退
- 条目地址带上所属分组,刷新 / 收藏后「返回」有确定落点
- 服务端只把 /c/** 回落到 index.html,其余路径仍返回 404
- 明细页返回按钮去掉左侧箭头图标
This commit is contained in:
2026-10-24 17:18:30 +08:00
parent 41fed5e64d
commit 19ead7b716
22 changed files with 2098 additions and 1321 deletions
+6 -5
View File
@@ -1,5 +1,6 @@
import type { Project } from '../../api'
import type { NavModel, NavTarget } from '../../data/nav'
import type { NavTarget } from '../../data/nav'
import type { Category } from '../../data/types'
import { CategoryNav } from './CategoryNav'
import { ProfileCard } from './ProfileCard'
import { ServicePanel } from './ServicePanel'
@@ -10,8 +11,8 @@ import { ServicePanel } from './ServicePanel'
*/
type SidebarProps = {
projects: Project[]
/** 侧栏导航数据,来自内容库 */
nav: NavModel
/** 内容目录;侧栏直接由它派生 */
categories: Category[]
live: boolean
refreshing: boolean
onRefresh: () => void
@@ -22,7 +23,7 @@ type SidebarProps = {
export function Sidebar({
projects,
nav,
categories,
live,
refreshing,
onRefresh,
@@ -42,7 +43,7 @@ export function Sidebar({
/>
<CategoryNav
nav={nav}
categories={categories}
activeCategoryId={activeCategoryId}
activeGroupId={activeGroupId}
onNavigate={onNavigate}