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",
"next": "13.4.17",
"next-i18next": "14.0.0",
"next-plausible": "3.11.3",
"next-themes": "0.2.0",
"react": "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 type { AppProps } from 'next/app'
import { useCallback, useMemo } from 'react'
import { useCallback, useEffect, useMemo, useState } from 'react'
import {
Adapter,
WalletAdapterNetwork,
WalletError,
WalletName,
WalletNotReadyError,
} from '@solana/wallet-adapter-base'
import {
ConnectionProvider,
WalletProvider,
useWallet,
} from '@solana/wallet-adapter-react'
import {
PhantomWalletAdapter,
@ -39,6 +41,7 @@ import { useRouter } from 'next/router'
import Head from 'next/head'
import { AUTO_CONNECT_WALLET, THEME_KEY } from 'utils/constants'
import useLocalStorageState from 'hooks/useLocalStorageState'
import PlausibleProvider from 'next-plausible'
// init react-query
export const queryClient = new QueryClient()
@ -129,6 +132,7 @@ function MyApp({ Component, pageProps }: AppProps) {
>
<MangoProvider />
<ThemeProvider defaultTheme="Light" storageKey={THEME_KEY}>
<Telemetry />
<Layout>
<Component {...pageProps} />
</Layout>
@ -142,3 +146,43 @@ function MyApp({ Component, pageProps }: AppProps) {
}
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
console.log('hiii 00000')
if (!selectedMangoAccount || !selectedAccountIsNotInAccountsList) {
console.log('hiiiii selected tkn: ', selectedToken)
try {
newSelectedMangoAccount = mangoAccounts.find(
(m) =>

View File

@ -5569,6 +5569,11 @@ next-i18next@14.0.0:
hoist-non-react-statics "^3.3.2"
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:
version "0.2.0"
resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.0.tgz#fdc507f61e95b3ae513dee8d4783bcec8c02e3a3"