feat: unify app ordering and simplify app settings access

This commit is contained in:
mesalogo
2026-09-18 15:29:00 +08:00
parent bbae893c45
commit ca3c919a34
26 changed files with 543 additions and 332 deletions
+4 -4
View File
@@ -35,12 +35,12 @@ export type BuiltInApplicationId = typeof builtInApplicationIds[number]
export const editableApplicationIds = ['magic-notes', 'local-inference'] as const
export type EditableApplicationId = typeof editableApplicationIds[number]
export const defaultApplicationNavigation = {
order: [...editableApplicationIds],
pinned: { 'magic-notes': true, 'local-inference': true }
order: ['knowledge', 'heartbeat', 'magic-notes', 'local-inference'] as BuiltInApplicationId[],
pinned: { 'magic-notes': true, 'local-inference': false }
}
export const applicationNavigationSchema = z.object({
order: z.array(z.enum(editableApplicationIds)).length(editableApplicationIds.length)
.refine(ids => new Set(ids).size === editableApplicationIds.length, 'Each application must occur exactly once'),
order: z.array(z.enum(builtInApplicationIds)).length(builtInApplicationIds.length)
.refine(ids => new Set(ids).size === builtInApplicationIds.length, 'Each application must occur exactly once'),
pinned: z.object({
'magic-notes': z.boolean(), 'local-inference': z.boolean()
}).strict()