From 1d1bde0b08200d9bcb0ede3da6277c827f01d030 Mon Sep 17 00:00:00 2001 From: Bokdol11859 <2019147551@yonsei.ac.kr> Date: Sun, 21 Apr 2024 13:48:29 +0900 Subject: [PATCH] feat: add events for button clicks --- src/app/(input)/layout.tsx | 11 ++++++++++- src/app/(input)/ticker/_components/intro.tsx | 15 +++++++++------ .../(input)/ticker/_components/ticker-footer.tsx | 8 ++++++-- src/app/(landing)/_components/floating-footer.tsx | 10 +--------- src/app/global-provider.tsx | 3 ++- src/hooks/use-view-event.tsx | 13 +++++++++++++ 6 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 src/hooks/use-view-event.tsx diff --git a/src/app/(input)/layout.tsx b/src/app/(input)/layout.tsx index 01415b6..911b951 100644 --- a/src/app/(input)/layout.tsx +++ b/src/app/(input)/layout.tsx @@ -5,6 +5,7 @@ import Link from "next/link"; import React from "react"; import Logo from "@/components/common/logo/logo"; import { useStocksStore } from "@/state/stores/stocks-store"; +import { sendGAEvent } from "@next/third-parties/google"; export const viewport: Viewport = { themeColor: "var(--color-white)", @@ -12,13 +13,21 @@ export const viewport: Viewport = { const InputLayout = ({ children }: { children: React.ReactNode }) => { const { removeAllStocks } = useStocksStore(); + + const onResetClick = React.useCallback(() => { + removeAllStocks(); + sendGAEvent({ + event: "Reset Button Click", + }); + }, [removeAllStocks]); + return (
-
+
Reset
diff --git a/src/app/(input)/ticker/_components/intro.tsx b/src/app/(input)/ticker/_components/intro.tsx index 343378a..96fa3d2 100644 --- a/src/app/(input)/ticker/_components/intro.tsx +++ b/src/app/(input)/ticker/_components/intro.tsx @@ -1,6 +1,7 @@ import { Button } from "@/components/ui/button"; import { useDrawerStore } from "@/state/stores/drawer-store"; import { useStocksStore } from "@/state/stores/stocks-store"; +import { sendGAEvent } from "@next/third-parties/google"; import { Plus } from "lucide-react"; import React from "react"; @@ -9,18 +10,20 @@ const Intro = () => { const { stocks } = useStocksStore(); const hasStock = stocks.length > 0; + const onAddStockClick = React.useCallback(() => { + isDrawerOpenChange(true); + sendGAEvent({ + event: "Add Stock Button Click", + }); + }, [isDrawerOpenChange]); + return ( <>

You added {stocks.length} {`${stocks.length > 1 ? "stocks" : "stock"}`}.

-