Skip to content

Commit 00e9abe

Browse files
committed
feat: 環境変数にGA_IDを追加し、Google Analyticsをレイアウトに統合
1 parent bd93d59 commit 00e9abe

File tree

5 files changed

+19
-1
lines changed

5 files changed

+19
-1
lines changed

.env.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
GMAIL_ADDRESS="[email protected]"
2-
GMAIL_PASSWORD="fixme"
2+
GMAIL_PASSWORD="fixme"
3+
NEXT_PUBLIC_GA_ID="UA-XXXXXXXXX-X"

bun.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
"dependencies": {
77
"@conform-to/react": "^1.6.1",
88
"@conform-to/valibot": "^1.6.1",
9+
"@next/third-parties": "^15.3.3",
910
"@valibot/i18n": "^1.0.0",
11+
"@vercel/analytics": "^1.5.0",
1012
"@yamada-ui/lucide": "^1.10.5",
1113
"@yamada-ui/markdown": "^1.1.3",
1214
"@yamada-ui/react": "^1.7.6",
@@ -235,6 +237,8 @@
235237

236238
"@next/swc-win32-x64-msvc": ["@next/[email protected]", "", { "os": "win32", "cpu": "x64" }, "sha512-6xomMuu54FAFxttYr5PJbEfu96godcxBTRk1OhAvJq0/EnmFU/Ybiax30Snis4vdWZ9LGpf7Roy5fSs7v/5ROQ=="],
237239

240+
"@next/third-parties": ["@next/[email protected]", "", { "dependencies": { "third-party-capital": "1.0.20" }, "peerDependencies": { "next": "^13.0.0 || ^14.0.0 || ^15.0.0", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0" } }, "sha512-kwhDkK/3klTvW6SuNkmIMSqzEk9Rnc7PkpGeAi3x0mcbPJhFTwdC/qTEd/HZt53J2yFv73YohOBk6dUG3TEIkQ=="],
241+
238242
"@pkgjs/parseargs": ["@pkgjs/[email protected]", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
239243

240244
"@popperjs/core": ["@popperjs/[email protected]", "", {}, "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="],
@@ -279,6 +283,8 @@
279283

280284
"@valibot/i18n": ["@valibot/[email protected]", "", { "peerDependencies": { "valibot": "^1.0.0" } }, "sha512-daCwLqQOHAbUAWtWm1zE2JV6Gn3lqS3Qw/Rm4s+FGbwyfrk3ljee2eiZBVACFet3oanB2TZpZeLssppH3YxfiQ=="],
281285

286+
"@vercel/analytics": ["@vercel/[email protected]", "", { "peerDependencies": { "@remix-run/react": "^2", "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@remix-run/react", "@sveltejs/kit", "next", "react", "svelte", "vue", "vue-router"] }, "sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g=="],
287+
282288
"@yamada-ui/accordion": ["@yamada-ui/[email protected]", "", { "dependencies": { "@yamada-ui/core": "1.17.3", "@yamada-ui/icon": "1.1.21", "@yamada-ui/motion": "2.3.3", "@yamada-ui/transitions": "1.1.19", "@yamada-ui/use-controllable-state": "1.0.29", "@yamada-ui/use-descendant": "1.0.31", "@yamada-ui/utils": "1.7.2" }, "peerDependencies": { "react": ">=18" } }, "sha512-aX5iwtAWLEE31mnJxxCc+ntRbWaOGbgPXYZ5wAUfijylQylQVsSZJ9zL4hm7pBxjlQZ3/gEqOoG1ts9QF55uyg=="],
283289

284290
"@yamada-ui/alert": ["@yamada-ui/[email protected]", "", { "dependencies": { "@yamada-ui/core": "1.17.3", "@yamada-ui/icon": "1.1.21", "@yamada-ui/loading": "1.1.32", "@yamada-ui/utils": "1.7.2" }, "peerDependencies": { "react": ">=18" } }, "sha512-PHxXLZwXn5SopOpzsEjLx9ZDau5De37TDm/dQ+IYfU9D0TgfwSB4yirlZChJm9+kGGby7+U+dvqhtOJnyQkEfA=="],
@@ -971,6 +977,8 @@
971977

972978
"tar": ["[email protected]", "", { "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", "minizlib": "^3.0.1", "mkdirp": "^3.0.1", "yallist": "^5.0.0" } }, "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw=="],
973979

980+
"third-party-capital": ["[email protected]", "", {}, "sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA=="],
981+
974982
"toggle-selection": ["[email protected]", "", {}, "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="],
975983

976984
"tr46": ["[email protected]", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="],

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
"dependencies": {
2828
"@conform-to/react": "^1.6.1",
2929
"@conform-to/valibot": "^1.6.1",
30+
"@next/third-parties": "^15.3.3",
3031
"@valibot/i18n": "^1.0.0",
32+
"@vercel/analytics": "^1.5.0",
3133
"@yamada-ui/lucide": "^1.10.5",
3234
"@yamada-ui/markdown": "^1.1.3",
3335
"@yamada-ui/react": "^1.7.6",

src/utils/env/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ export const env = createEnv({
1414
},
1515
shared: {
1616
NODE_ENV: v.union([v.literal("development"), v.literal("production"), v.literal("test")]),
17+
GA_ID: v.string(),
1718
},
1819
},
1920
values: {
2021
NODE_ENV: process.env.NODE_ENV,
2122
GMAIL_ADDRESS: process.env.GMAIL_ADDRESS,
2223
GMAIL_PASSWORD: process.env.GMAIL_PASSWORD,
24+
GA_ID: process.env.NEXT_PUBLIC_GA_ID,
2325
},
2426
});

src/views/layout/index.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import { configureValidationSettings } from "@/lib/validation";
2+
import { env } from "@/utils/env";
3+
import { GoogleAnalytics } from "@next/third-parties/google";
4+
import { Analytics } from "@vercel/analytics/next";
25
import { Container, Separator } from "@yamada-ui/react";
36
import { FC, ReactNode } from "react";
47
import { Header } from "./header";
@@ -9,6 +12,8 @@ export const LayoutPage: FC<{ children: ReactNode }> = ({ children }) => {
912
configureValidationSettings();
1013
return (
1114
<Providers>
15+
<Analytics />
16+
<GoogleAnalytics gaId={env.GA_ID} />
1217
<Header />
1318
<Separator />
1419
<Navigation />

0 commit comments

Comments
 (0)