메뉴 관리: 탭 분리·드래그 정렬·상단 트리·공개 접기 (v0.0.94)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-12 11:16:43 +09:00
parent 4de5589bcb
commit 77e1a050b9
18 changed files with 1145 additions and 181 deletions

View File

@@ -1,12 +1,22 @@
import { z } from 'zod'
export const adminNavigationItemInputSchema = z.object({
id: z.string().optional().nullable(),
id: z.string().uuid(),
label: z.string().trim().min(1),
url: z.string().trim().min(1).regex(/^(\/|https?:\/\/)/),
url: z.string().trim().min(1).regex(/^(\/|https?:\/\/|#)/),
location: z.enum(['primary', 'footer']),
sortOrder: z.coerce.number().int().min(0).default(0),
isVisible: z.boolean().default(true)
isVisible: z.boolean().default(true),
parentId: z.union([z.string().uuid(), z.null()]).optional(),
isFolder: z.boolean().default(false)
}).superRefine((data, ctx) => {
if (data.location === 'footer' && data.parentId) {
ctx.addIssue({
code: 'custom',
path: ['parentId'],
message: '하단 메뉴는 하위 항목을 가질 수 없습니다.'
})
}
})
export const adminNavigationInputSchema = z.object({