add plausible

This commit is contained in:
saml33 2023-11-22 23:17:21 +11:00
parent dc1b73194b
commit 6834fc3888
4 changed files with 51 additions and 4 deletions

View File

@ -62,6 +62,7 @@
"lodash": "4.17.21", "lodash": "4.17.21",
"next": "13.4.17", "next": "13.4.17",
"next-i18next": "14.0.0", "next-i18next": "14.0.0",
"next-plausible": "3.11.3",
"next-themes": "0.2.0", "next-themes": "0.2.0",
"react": "18.2.0", "react": "18.2.0",
"react-dom": "18.2.0", "react-dom": "18.2.0",

View File

@ -2,16 +2,18 @@ import '../styles/globals.css'
import 'react-range-slider-input/dist/style.css' import 'react-range-slider-input/dist/style.css'
import type { AppProps } from 'next/app' import type { AppProps } from 'next/app'
import { useCallback, useMemo } from 'react' import { useCallback, useEffect, useMemo, useState } from 'react'
import { import {
Adapter, Adapter,
WalletAdapterNetwork, WalletAdapterNetwork,
WalletError, WalletError,
WalletName,
WalletNotReadyError, WalletNotReadyError,
} from '@solana/wallet-adapter-base' } from '@solana/wallet-adapter-base'
import { import {
ConnectionProvider, ConnectionProvider,
WalletProvider, WalletProvider,
useWallet,
} from '@solana/wallet-adapter-react' } from '@solana/wallet-adapter-react'
import { import {
PhantomWalletAdapter, PhantomWalletAdapter,
@ -39,6 +41,7 @@ import { useRouter } from 'next/router'
import Head from 'next/head' import Head from 'next/head'
import { AUTO_CONNECT_WALLET, THEME_KEY } from 'utils/constants' import { AUTO_CONNECT_WALLET, THEME_KEY } from 'utils/constants'
import useLocalStorageState from 'hooks/useLocalStorageState' import useLocalStorageState from 'hooks/useLocalStorageState'
import PlausibleProvider from 'next-plausible'
// init react-query // init react-query
export const queryClient = new QueryClient() export const queryClient = new QueryClient()
@ -129,6 +132,7 @@ function MyApp({ Component, pageProps }: AppProps) {
> >
<MangoProvider /> <MangoProvider />
<ThemeProvider defaultTheme="Light" storageKey={THEME_KEY}> <ThemeProvider defaultTheme="Light" storageKey={THEME_KEY}>
<Telemetry />
<Layout> <Layout>
<Component {...pageProps} /> <Component {...pageProps} />
</Layout> </Layout>
@ -142,3 +146,43 @@ function MyApp({ Component, pageProps }: AppProps) {
} }
export default appWithTranslation(MyApp) export default appWithTranslation(MyApp)
type TelemetryProps = {
walletProvider: string | WalletName<string>
walletConnected: string
}
const Telemetry = () => {
const { wallet } = useWallet()
const [telemetryProps, setTelemetryProps] = useState<
TelemetryProps | undefined
>()
useEffect(() => {
const props = {
walletProvider: wallet?.adapter.name ?? 'unknown',
walletConnected: (wallet?.adapter.connected ?? 'false').toString(),
}
// Hack to update script tag
const el = document.getElementById('plausible')
if (el) {
Object.entries(props).forEach(([key, value]) => {
el.setAttribute(`event-${key}`, value)
})
}
setTelemetryProps(props)
}, [wallet])
return (
<PlausibleProvider
domain="boost.mango.markets"
customDomain="https://pl.mngo.cloud"
trackLocalhost={true}
selfHosted={true}
scriptProps={{ id: 'plausible' }}
pageviewProps={telemetryProps}
trackOutboundLinks={true}
/>
)
}

View File

@ -651,11 +651,8 @@ const mangoStore = create<MangoStore>()(
} }
let newSelectedMangoAccount = selectedMangoAccount let newSelectedMangoAccount = selectedMangoAccount
console.log('hiii 00000')
if (!selectedMangoAccount || !selectedAccountIsNotInAccountsList) { if (!selectedMangoAccount || !selectedAccountIsNotInAccountsList) {
console.log('hiiiii selected tkn: ', selectedToken)
try { try {
newSelectedMangoAccount = mangoAccounts.find( newSelectedMangoAccount = mangoAccounts.find(
(m) => (m) =>

View File

@ -5569,6 +5569,11 @@ next-i18next@14.0.0:
hoist-non-react-statics "^3.3.2" hoist-non-react-statics "^3.3.2"
i18next-fs-backend "^2.1.5" i18next-fs-backend "^2.1.5"
next-plausible@3.11.3:
version "3.11.3"
resolved "https://registry.yarnpkg.com/next-plausible/-/next-plausible-3.11.3.tgz#387d2039b66f17f8f704027b2572a0e84e58eee7"
integrity sha512-2dpG58ryxdsr4ZI8whWQpGv0T6foRDPGiehcICpDhYfmMJmluewswQgfDA8Z37RFMXAY+6SHOPS7Xi+9ewNi2Q==
next-themes@0.2.0: next-themes@0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.0.tgz#fdc507f61e95b3ae513dee8d4783bcec8c02e3a3" resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.0.tgz#fdc507f61e95b3ae513dee8d4783bcec8c02e3a3"