feat(website): implement PDPA cookie consent banner and script manager (#14)
### Overview Implement PDPA & GDPR compliant Cookie Consent Management Platform (CMP) for pps/website: - **Zustand Store (cookieConsentStore.ts):** Stores consent record ( ecessary, nalytics, marketing) in localStorage with skipHydration: true for Next.js SSR safety. - **Cookie Banner (CookieBanner.tsx):** Fixed bottom floating banner with Quiet Luxury styling, providing Accept All, Reject Non-Essential, and Customize buttons. - **Preferences Modal (CookiePreferencesModal.tsx):** Detailed modal dialog allowing users to granularly toggle Analytics and Marketing cookies (Strictly Necessary is locked). - **Script Manager (ScriptManager.tsx):** Coordinates Google Consent Mode v2 (nalytics_storage, d_storage), conditionally injects GA4, Meta Pixel, and TikTok Pixel, and dispatches homaroma:consent-change DOM events. - **Footer Revocation Link:** Added Cookie Preferences link in the Support column of Footer.tsx so users can modify/revoke consent anytime. - **Multilingual Support:** Added localized text for TH, EN, JA, and ZH. --------- Co-authored-by: Your Name <you@example.com> Reviewed-on: #14 Co-authored-by: antigravity-bot <bot@kittisak.com>
This commit was merged in pull request #14.
This commit is contained in:
1 parent
9a18463bda
commit
b27afb4561
11 files changed
+692
-7
No files matched your search
@@ -237,6 +237,24 @@
|
||||
"notFound": "注文情報を確認できませんでした",
|
||||
"networkError": "接続エラーが発生しました。もう一度お試しください。"
|
||||
}
|
||||
},
|
||||
"cookie": {
|
||||
"settings": "クッキー設定",
|
||||
"bannerTitle": "お客様のプライバシーを尊重します",
|
||||
"bannerDesc": "当ウェブサイトでは、利便性の向上、利用状況の分析、パーソナライズされた広告の提供のためにクッキーを使用しています。同意設定はいつでも変更できます。",
|
||||
"btnCustomize": "設定",
|
||||
"btnRejectAll": "必須以外を拒否",
|
||||
"btnAcceptAll": "すべて同意",
|
||||
"btnSavePreferences": "設定を保存",
|
||||
"prefTitle": "プライバシーおよびクッキー設定",
|
||||
"prefSubtitle": "個人情報保護法(PDPA/GDPR)に基づくクッキーの保存およびデータ利用の同意管理",
|
||||
"alwaysActive": "常に有効",
|
||||
"catNecessaryTitle": "必須クッキー (Strictly Necessary)",
|
||||
"catNecessaryDesc": "ウェブサイトの基本的な機能(ログイン、セキュリティ、カート、言語設定など)に不可欠なクッキーです。このクッキーを無効にすることはできません。",
|
||||
"catAnalyticsTitle": "分析・パフォーマンスクッキー (Analytics)",
|
||||
"catAnalyticsDesc": "訪問者数やトラフィックソースを計測し、サイトのパフォーマンスを向上させるためのクッキーです(Google Analyticsなど)。",
|
||||
"catMarketingTitle": "マーケティング・ターゲティングクッキー (Marketing)",
|
||||
"catMarketingDesc": "お客様の興味関心に基づいた関連性の高い広告やプロモーションを配信するために使用されます(Meta Pixel、TikTok Pixelなど)。"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user