Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ jobs:
onlyChanged: true
autoAcceptChanges: true
exitOnceUploaded: true
env:
CHROMATIC_TEMP_DIR: './.chromatic-tmp'
- name: Clean storybook cache
run: rm -rf packages/design-system/node_modules/.cache/storybook

- name: Comment PR on Success
if: success() && github.event_name == 'pull_request'
Expand Down
14 changes: 0 additions & 14 deletions apps/client/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,6 @@

<title>Pinback</title>
</head>
<!-- Google tag (gtag.js) -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-847ZNSCC3J"
></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());

gtag('config', 'G-847ZNSCC3J');
</script>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
Expand Down
48 changes: 0 additions & 48 deletions apps/client/public/firebase-messaging-sw.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,51 +45,3 @@ messaging.onBackgroundMessage((payload) => {

self.registration.showNotification(notificationTitle, notificationOptions);
});

self.addEventListener('notificationclick', (event) => {
console.log('🔔 알림 클릭됨:', event);

const targetUrl = event.notification.data?.url || 'https://www.pinback.today';

fetch(
`https://www.google-analytics.com/mp/collect?measurement_id=G-847ZNSCC3J&api_secret=1hei57fPTKyGX5Cw73rwgA`,
{
method: 'POST',
body: JSON.stringify({
client_id: 'serviceworker',
events: [
{
name: 'reminder_push_click',
params: {
category: '리마인드 알림',
label: '리마인드 푸시 알림 클릭 (대시보드 이동)',
},
},
],
}),
}
).catch((err) => console.warn('GA 이벤트 전송 실패', err));

event.waitUntil(
(async () => {
const clientList = await clients.matchAll({
type: 'window',
includeUncontrolled: true,
});

for (const client of clientList) {
if (client.url === targetUrl && 'focus' in client) {
client.focus();
event.notification.close();
return;
}
}

if (clients.openWindow) {
const newClient = await clients.openWindow(targetUrl);
event.notification.close();
return newClient;
}
})()
);
});
5 changes: 0 additions & 5 deletions apps/client/src/pages/onBoarding/OnBoarding.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import onBoardingBg from '@assets/onBoarding/background/onBoardingBg.svg';
import Header from './components/header/Header';
import MainCard from './components/funnel/MainCard';
import { useEffect } from 'react';
import { trackPageView } from '@pinback/design-system/ui';
const OnBoarding = () => {
useEffect(() => {
trackPageView('온보딩 페이지 방문');
}, []);
return (
<div
className={`relative flex h-screen w-screen items-center justify-center bg-cover bg-center bg-no-repeat`}
Expand Down
12 changes: 2 additions & 10 deletions apps/client/src/pages/remind/Remind.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import { useMemo, useRef, useState, useEffect } from 'react';
import {
Badge,
PopupContainer,
trackPageView,
} from '@pinback/design-system/ui';
import { useMemo, useRef, useState } from 'react';
import { Badge, PopupContainer } from '@pinback/design-system/ui';
import CardEditModal from '@shared/components/cardEditModal/CardEditModal';
import OptionsMenuPortal from '@shared/components/sidebar/OptionsMenuPortal';
import { useAnchoredMenu } from '@shared/hooks/useAnchoredMenu';
Expand All @@ -25,10 +21,6 @@ import { useInfiniteScroll } from '@shared/hooks/useInfiniteScroll';
import Tooltip from '@shared/components/tooltip/Tooltip';

const Remind = () => {
useEffect(() => {
trackPageView('대시보드 페이지 방문');
}, []);

const [isEditOpen, setIsEditOpen] = useState(false);
const [activeBadge, setActiveBadge] = useState<'read' | 'notRead'>('notRead');
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
Expand Down
14 changes: 0 additions & 14 deletions apps/extension/popup.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,6 @@
<meta charset="UTF-8" />
<title>PinBack</title>
</head>
<!-- Google tag (gtag.js) -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-847ZNSCC3J"
></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());

gtag('config', 'G-847ZNSCC3J');
</script>
<body>
<div id="root"></div>
<script type="module" src="/src/popup.tsx"></script>
Expand Down
3 changes: 1 addition & 2 deletions apps/extension/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import MainPop from './pages/MainPop';
import { useState, useEffect } from 'react';
import { useGetArticleSaved } from '@apis/query/queries';
import { usePageMeta } from './hooks/usePageMeta';
import { sendGAEvent } from '@pinback/design-system/ui';

const App = () => {
const { url } = usePageMeta();
const { data: isSaved } = useGetArticleSaved(url);
Expand All @@ -24,7 +24,6 @@ const App = () => {
};

const handleDuplicateRightClick = () => {
sendGAEvent('익스텐션', '익스텐션', '대시보드 가기 버튼 클릭');
chrome.tabs.create({ url: 'https://www.pinback.today/' });
};

Expand Down
14 changes: 0 additions & 14 deletions apps/landing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,6 @@

<title>Pinback</title>
</head>
<!-- Google tag (gtag.js) -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-847ZNSCC3J"
></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());

gtag('config', 'G-847ZNSCC3J');
</script>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
Expand Down
1 change: 1 addition & 0 deletions apps/landing/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import './App.css';

import HeroSection from './components/HeroSection';
import FeatureBookmarkSection from './components/FeatureBookmarkSection';
import FeatureReminderSection from './components/FeatureReminderSection';
Expand Down
17 changes: 9 additions & 8 deletions apps/landing/src/components/FinalCTASection.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
import Lottie from 'lottie-react';
import Chippiface from '../assets/5_chippiface.json';
import { sendGAEvent, Button } from '@pinback/design-system/ui';
const FinalCTASection = () => {
const handleInstallClick = () => {
sendGAEvent('랜딩페이지', '랜딩페이지', '하단 설치 버튼 클릭');
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
};
import { Button } from '@pinback/design-system/ui';

const FinalCTASection = () => {
return (
<section className="bg-white-bg flex h-dvh w-full flex-col items-center justify-center gap-[6.4rem] overflow-hidden px-[17.2rem] text-center">
<Lottie
Expand All @@ -24,7 +19,13 @@ const FinalCTASection = () => {
도토리를 모아볼까요?
</p>
<div>
<Button variant="primary" onClick={handleInstallClick}>
<Button
variant="primary"
onClick={() => {
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
}}
>
지금 시작하기
</Button>
</div>
Expand Down
16 changes: 9 additions & 7 deletions apps/landing/src/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import { Icon } from '@pinback/design-system/icons';
import { Button, sendGAEvent } from '@pinback/design-system/ui';
import { Button } from '@pinback/design-system/ui';

const Header = () => {
const handleHeaderInstallClick = () => {
sendGAEvent('랜딩페이지', '랜딩페이지', '헤더 설치 버튼 클릭');
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
};
return (
<header className="fixed left-0 right-0 top-0 z-50 flex h-[7.4rem] w-full items-center justify-between px-[8rem]">
<Icon name={'logo'} width={87} height={24} />
<div>
<Button onClick={handleHeaderInstallClick}>다운로드</Button>
<Button
onClick={() => {
window.location.href =
'https://chromewebstore.google.com/detail/pinback-extension/engpidnjjbemfjmpcplchpfhokkgnbec?hl=ko&utm_source=ext_sidebar';
}}
>
다운로드
</Button>
</div>
</header>
);
Expand Down
35 changes: 0 additions & 35 deletions packages/design-system/src/components/gtag/utils/gtag.ts

This file was deleted.

3 changes: 1 addition & 2 deletions packages/design-system/src/components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,4 @@ export type { WheelPickerOption } from './wheelPicker/WheelPicker';
export { default as Popup } from './popup/Popup';
export { default as PopupContainer } from './popup/PopupContainer';
export { default as InfoBox } from './infobox/InfoBox';
export { validateDate, validateTime } from './dateTime/utils/ValidateData';
export { sendGAEvent, trackPageView } from './gtag/utils/gtag';
export {validateDate, validateTime} from './dateTime/utils/ValidateData';
Loading