From b77f37a94e780520f3e3787b4949913f1d90c595 Mon Sep 17 00:00:00 2001 From: zenn Date: Tue, 19 May 2026 15:50:47 +0900 Subject: [PATCH] =?UTF-8?q?v1.3.1:=20=EC=96=B4=EB=82=98=EC=9A=B4=EC=8A=A4?= =?UTF-8?q?=20=EB=B0=94=C2=B7=EA=B0=80=EC=9E=85=20=EA=B8=88=EC=A7=80=20?= =?UTF-8?q?=EB=8B=89=EB=84=A4=EC=9E=84=C2=B7=EC=84=A4=EC=A0=95=20UI=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 공개 상단 어나운스 바와 관리자 맞춤 설정을 추가하고, 스팸 필터에서 가입 금지 닉네임을 관리·검증한다. POST 설정 읽기 모드 비활성 토글과 설정 내비 아이콘 틀을 반영한다. Co-authored-by: Cursor --- components/admin/AdminSettingsNavIcon.vue | 61 +++ components/site/SiteAnnouncementBar.vue | 116 +++++ components/site/SiteHeader.vue | 2 +- components/site/SiteTopChrome.vue | 48 +++ .../028_site_settings_announcement.sql | 5 + ...site_settings_signup_blocked_usernames.sql | 2 + docs/deploy.md | 2 + docs/map.md | 6 +- docs/spec.md | 12 +- docs/update.md | 11 + layouts/default.vue | 7 +- layouts/post.vue | 7 +- lib/announcement-bar.js | 64 +++ lib/signup-blocked-usernames.js | 110 +++++ package.json | 2 +- pages/admin/settings/index.vue | 401 ++++++++++++++++-- pages/signup.vue | 23 +- server/api/auth/profile.put.js | 3 + server/api/auth/signup.post.js | 3 + server/repositories/content-repository.js | 24 ++ server/utils/admin-site-settings-input.js | 42 +- server/utils/member-username-policy.js | 23 + server/utils/site-settings.js | 7 + 23 files changed, 934 insertions(+), 47 deletions(-) create mode 100644 components/admin/AdminSettingsNavIcon.vue create mode 100644 components/site/SiteAnnouncementBar.vue create mode 100644 components/site/SiteTopChrome.vue create mode 100644 db/migrations/028_site_settings_announcement.sql create mode 100644 db/migrations/029_site_settings_signup_blocked_usernames.sql create mode 100644 lib/announcement-bar.js create mode 100644 lib/signup-blocked-usernames.js create mode 100644 server/utils/member-username-policy.js diff --git a/components/admin/AdminSettingsNavIcon.vue b/components/admin/AdminSettingsNavIcon.vue new file mode 100644 index 0000000..d9076a9 --- /dev/null +++ b/components/admin/AdminSettingsNavIcon.vue @@ -0,0 +1,61 @@ + + + diff --git a/components/site/SiteAnnouncementBar.vue b/components/site/SiteAnnouncementBar.vue new file mode 100644 index 0000000..621934b --- /dev/null +++ b/components/site/SiteAnnouncementBar.vue @@ -0,0 +1,116 @@ + + + diff --git a/components/site/SiteHeader.vue b/components/site/SiteHeader.vue index 04d9af8..1d2492f 100644 --- a/components/site/SiteHeader.vue +++ b/components/site/SiteHeader.vue @@ -151,7 +151,7 @@ onBeforeUnmount(() => {