feat(admin): 分区增加「允许子分组」开关(与类型解耦)

- node 新增 allow_groups(迁移 v18):应用默认开、海报/图文默认关,已有分组的非应用分区自动开启
- 后台每行一个「子分组」开关;分组管理、卡片预览、内容弹窗选组、侧栏建组都跟随开关
- 关闭开关时条目平铺且不丢内容;首页卡片指向分组会自动挪回分区
- 三种类型共用同一模板,类型只决定渲染方式
- 测试 59 passed(迁移 15→18、开关建组、类型切换)
This commit is contained in:
2026-10-30 20:05:33 +08:00
parent 8df9ecdfda
commit be7a0747ed
8 changed files with 167 additions and 57 deletions
@@ -38,11 +38,8 @@ export function CategoryNav({
const items: MenuItem[] = [
{ key: HOME_KEY, label: '首页' },
...categories.map((category) => {
// 只有应用类有分组;空分组不出现在侧栏(后台仍保留)
const groups =
category.kind === 'apps'
? category.groups.filter((group) => group.items.length > 0)
: []
// 「允许子分组」的分区才有 groups;空分组不出现在侧栏(后台仍保留)
const groups = category.groups.filter((group) => group.items.length > 0)
return {
key: categoryKey(category.id),