From 9b8fbd6360c5b23ce78e93db35f8d243deca6bf6 Mon Sep 17 00:00:00 2001 From: Jaybe Date: Sat, 15 Nov 2025 07:37:42 +0900 Subject: [PATCH] =?UTF-8?q?feat(export-ui):=20Display=20=EB=93=9C=EB=A1=AD?= =?UTF-8?q?=EB=8B=A4=EC=9A=B4/=ED=85=8C=EB=A7=88=EC=BB=AC=EB=9F=AC=20HEX?= =?UTF-8?q?=20=EA=B2=80=EC=A6=9D=20=EB=B0=98=EC=98=81(TDD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/BuilderClientPage.tsx | 18 ++++-- components/ExportOptions.polish.ui.test.tsx | 64 +++++++++++++++++++++ 2 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 components/ExportOptions.polish.ui.test.tsx diff --git a/components/BuilderClientPage.tsx b/components/BuilderClientPage.tsx index c9eec70..192f586 100644 --- a/components/BuilderClientPage.tsx +++ b/components/BuilderClientPage.tsx @@ -223,7 +223,13 @@ export default function BuilderClientPage() { if (manifestShortName && manifestShortName.trim().length > 0) manifestOverrideBase.short_name = manifestShortName.trim() if (manifestStartUrl && manifestStartUrl.trim().length > 0) manifestOverrideBase.start_url = manifestStartUrl.trim() if (manifestDisplay && manifestDisplay.trim().length > 0) manifestOverrideBase.display = manifestDisplay.trim() - if (manifestThemeColor && manifestThemeColor.trim().length > 0) manifestOverrideBase.theme_color = manifestThemeColor.trim() + if (manifestThemeColor && manifestThemeColor.trim().length > 0) { + const v = manifestThemeColor.trim() + const hexOk = /^#([0-9a-fA-F]{3}){1,2}$/.test(v) + if (hexOk) { + manifestOverrideBase.theme_color = v + } + } const manifestOverride = Object.keys(manifestOverrideBase).length > 0 ? (manifestOverrideBase as { name?: string; short_name?: string; start_url?: string; display?: string; theme_color?: string }) : undefined const robotsTextOverride = (() => { const lines = (robotsDisallow || '').split(/\n+/).map((s) => s.trim()).filter((s) => s.length > 0) @@ -334,14 +340,18 @@ export default function BuilderClientPage() {