From 85038df24a667844e749b7f220296970db27856f Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Mon, 13 Jul 2026 14:49:27 +0400 Subject: [PATCH] fix(project-editor): ProjectValidator duplicate-slug check falls back to route when slug is unset Mock bootstrap seed data populates page.route but never page.slug, so duplicateSlugIssues always collapsed every static page to the same undefined key and reported a false-positive duplicate-slugs issue, permanently blocking Publish. Fall back to route (leading slash stripped) when slug is missing or empty. --- .../project-editor/services/project-validator.service.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/features/project-editor/services/project-validator.service.ts b/src/app/features/project-editor/services/project-validator.service.ts index 5f16b8c..725219a 100644 --- a/src/app/features/project-editor/services/project-validator.service.ts +++ b/src/app/features/project-editor/services/project-validator.service.ts @@ -41,7 +41,9 @@ export class ProjectValidator { if (!staticPages || Array.isArray(staticPages)) { return []; } - const slugs = Object.values(staticPages).map(page => page.slug); + const slugs = Object.values(staticPages).map(page => + page.slug && page.slug.trim() ? page.slug : (page.route ?? '').replace(/^\//, ''), + ); const hasDuplicates = slugs.some((slug, index) => slugs.indexOf(slug) !== index); return hasDuplicates ? [{ code: 'duplicate-slugs', message: 'builder.validationDuplicateSlugs' }] : []; }