From f5d9bef547f94aaf90c757ce2a25cadb1186e7e7 Mon Sep 17 00:00:00 2001 From: dal4segno Date: Mon, 31 Aug 2026 14:42:59 +0900 Subject: [PATCH] feat: add consent-based GA4 analytics --- .gitea/workflows/deploy-pages.yml | 2 + UPDATES.md | 6 +- offline/OfflineApp.svelte | 3 + offline/analytics.ts | 9 ++ pages/analytics.ts | 3 + src/lib/analytics.ts | 4 + src/lib/analytics/google-analytics.ts | 105 +++++++++++++++++++ src/lib/analytics/types.ts | 9 ++ src/lib/components/AnalyticsConsent.svelte | 111 +++++++++++++++++++++ src/routes/+layout.svelte | 3 + vite.offline.config.ts | 1 + vite.pages.config.ts | 1 + 12 files changed, 256 insertions(+), 1 deletion(-) create mode 100644 offline/analytics.ts create mode 100644 pages/analytics.ts create mode 100644 src/lib/analytics.ts create mode 100644 src/lib/analytics/google-analytics.ts create mode 100644 src/lib/analytics/types.ts create mode 100644 src/lib/components/AnalyticsConsent.svelte diff --git a/.gitea/workflows/deploy-pages.yml b/.gitea/workflows/deploy-pages.yml index 0b2dbb4..163a2e5 100644 --- a/.gitea/workflows/deploy-pages.yml +++ b/.gitea/workflows/deploy-pages.yml @@ -46,6 +46,8 @@ jobs: - name: Build public site if: steps.publication.outputs.ready == 'true' + env: + VITE_GA_MEASUREMENT_ID: ${{ secrets.GA_MEASUREMENT_ID }} run: npm run build:pages - name: Publish generated files diff --git a/UPDATES.md b/UPDATES.md index adff287..a4e71f5 100644 --- a/UPDATES.md +++ b/UPDATES.md @@ -1,9 +1,13 @@ --- -updatedAt: 2026-08-31T14:15:17+09:00 +updatedAt: 2026-08-31T14:45:00+09:00 --- ## 2026년 8월 31일 +### 선택형 방문 통계 추가 + +`NEW` Google Analytics 방문 통계는 사용자가 동의한 뒤에만 활성화되며, 분석 설정에서 언제든 거부할 수 있습니다. 보유 카드, 편성, 검색어와 계산값은 전송하지 않습니다. + ### 업데이트 내역 탭 추가 `NEW` 버전 배포를 기다리지 않고, 수시로 반영되는 기능·개선·수정·데이터 변경 내용을 한곳에서 확인할 수 있습니다. diff --git a/offline/OfflineApp.svelte b/offline/OfflineApp.svelte index 5801ab8..5c06066 100644 --- a/offline/OfflineApp.svelte +++ b/offline/OfflineApp.svelte @@ -1,5 +1,6 @@ + +{#if analytics.available} + {#if dialogOpen} + + {:else} + + {/if} +{/if} + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 0fc7aa9..c04d4fc 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,7 @@