Skip to content

Commit d795cd3

Browse files
committed
Feat: update
1 parent 2c7ab78 commit d795cd3

2 files changed

Lines changed: 18 additions & 10 deletions

File tree

src/app/layout.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import './globals.css';
55
import 'katex/dist/katex.min.css'; // Ensure CSS matches the rendered math
66
import 'highlight.js/styles/github-dark.css'; // Syntax highlighting
77

8+
const GA_ID = 'G-BVCTG6PEZP';
9+
810
export const metadata: Metadata = {
911
title: 'SOL1 Archive',
1012
description: 'Personal Research Blog',
@@ -22,7 +24,7 @@ export default function RootLayout({
2224
<html lang="en">
2325
<body>
2426
<main className="min-h-screen bg-background text-foreground flex flex-col">
25-
<Analytics />
27+
<Analytics gaId={GA_ID} />
2628
<TopBar />
2729
<div className="flex-1 w-full max-w-[1200px] mx-auto p-8">
2830
{children}

src/components/Analytics.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,24 @@
22

33
import Script from 'next/script';
44

5-
const AMPLITUDE_API_KEY = 'eaa0e4332a8e773490b19188a289c74c';
6-
7-
export default function Analytics() {
8-
if (!AMPLITUDE_API_KEY) return null;
5+
export default function Analytics({ gaId }: { gaId: string }) {
6+
if (!gaId) return null;
97

108
return (
11-
<Script id="amplitude-snippet" strategy="afterInteractive">
12-
{`
13-
!function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<m.length;t++)o(e,m[t],!1);for(var r=0;r<y.length;r++)o(e,y[r],!0)};r.invoked=!0;var a=t.createElement("script");a.type="text/javascript",a.crossOrigin="anonymous",a.src="https://cdn.amplitude.com/libs/plugin-ga-events-forwarder-browser-0.4.2-min.js.gz",a.onload=function(){e.gaEventsForwarder&&e.gaEventsForwarder.plugin&&e.amplitude.add(e.gaEventsForwarder.plugin())};var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-pY2pkwHaLM/6UIseFHVU3hOKr6oAvhLcdYkoRZyaMDWLjpM6B7nTxtOdE823WAOQ",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.11.0-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(a,u),u.parentNode.insertBefore(c,u);for(var p=function(){return this._q=[],this},d=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],l=0;l<d.length;l++)n(p,d[l]);r.Identify=p;for(var g=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],f=0;f<v.length;f++)n(g,v[f]);r.Revenue=g;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],y=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(r),r.createInstance=function(e){return r._iq[e]={_q:[]},i(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
9+
<>
10+
<Script
11+
src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}
12+
strategy="afterInteractive"
13+
/>
14+
<Script id="google-analytics" strategy="afterInteractive">
15+
{`
16+
window.dataLayer = window.dataLayer || [];
17+
function gtag(){window.dataLayer.push(arguments);}
18+
gtag('js', new Date());
1419
15-
amplitude.init('${AMPLITUDE_API_KEY}');
20+
gtag('config', '${gaId}');
1621
`}
17-
</Script>
22+
</Script>
23+
</>
1824
);
1925
}

0 commit comments

Comments
 (0)