MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / App

Function App

apps/web/pages/_app.tsx:19–91  ·  view source on GitHub ↗
(props: AppProps)

Source from the content-addressed store, hash-verified

17import 'utilities/posthog';
18
19export default function App(props: AppProps) {
20 const router = useRouter();
21
22 const { Component, pageProps } = props;
23
24 useEffect(() => {
25 handlePosthogId(router);
26 const handleStart = (url: string) => {
27 NProgress.start();
28 };
29 const handleStop = () => {
30 (window as any).posthog?.capture('$pageview');
31 NProgress.done();
32 };
33
34 router.events.on('routeChangeStart', handleStart);
35 router.events.on('routeChangeComplete', handleStop);
36 router.events.on('routeChangeError', handleStop);
37 router.beforePopState(({ options }: { options: any }) => {
38 if (options?._preventNextJSReload) {
39 return false;
40 }
41 return true;
42 });
43
44 return () => {
45 router.events.off('routeChangeStart', handleStart);
46 router.events.off('routeChangeComplete', handleStop);
47 router.events.off('routeChangeError', handleStop);
48 };
49 }, [router]);
50
51 return (
52 <SessionProvider>
53 <Head>
54 <title>Linen Community</title>
55 <meta
56 name="viewport"
57 content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
58 />
59 <meta
60 name="google-site-verification"
61 content="PQcYPgLYmDXcT1ORhCBmPiwKISJnj1UCEbZpQXQPiVU"
62 />
63 {/* Twitter */}
64 <meta name="twitter:card" content="summary_large_image" key="twcard" />
65 <meta name="twitter:creator" content="@linen_dev" key="linen_dev" />
66 <meta
67 name="twitter:image"
68 content="https://static.main.linendev.com/logos/logo63448d11-cc57-4c35-8b16-5064ebae803c.png"
69 key="twimage"
70 />
71 </Head>
72
73 <Toast.ToastContext
74 containerStyle={{ top: '4rem', right: '1rem' }}
75 position="top-right"
76 />

Callers

nothing calls this directly

Calls 2

useRouterFunction · 0.90
handlePosthogIdFunction · 0.90

Tested by

no test coverage detected