A decentralized music tracking and discovery platform built on AT Protocol 馃幍 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
97
fork

Configure Feed

Select the types of activity you want to include in your feed.

at feat/pgpull 57 lines 1.9 kB view raw
1import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; 2import { createRouter, RouterProvider } from "@tanstack/react-router"; 3import { BaseProvider, createLightTheme } from "baseui"; 4import { PLACEMENT, SnackbarProvider } from "baseui/snackbar"; 5import { ToasterContainer } from "baseui/toast/toaster"; 6import dayjs from "dayjs"; 7import relativeTime from "dayjs/plugin/relativeTime"; 8import utc from "dayjs/plugin/utc"; 9import { PostHogProvider } from "posthog-js/react"; 10import { createRoot } from "react-dom/client"; 11import { Client as Styletron } from "styletron-engine-monolithic"; 12import { Provider as StyletronProvider } from "styletron-react"; 13import "./index.css"; 14import { routeTree } from "./routeTree.gen.ts"; 15 16dayjs.extend(relativeTime); 17dayjs.extend(utc); 18 19const primitives = { 20 primaryFontFamily: "RockfordSansRegular", 21}; 22 23const theme = createLightTheme(primitives); 24const engine = new Styletron(); 25 26const queryClient = new QueryClient(); 27 28const router = createRouter({ routeTree }); 29 30declare module "@tanstack/react-router" { 31 interface Register { 32 router: typeof router; 33 } 34} 35 36createRoot(document.getElementById("root")!).render( 37 //<StrictMode> 38 <QueryClientProvider client={queryClient}> 39 <StyletronProvider value={engine}> 40 <BaseProvider theme={theme}> 41 <ToasterContainer placement={PLACEMENT.bottom}> 42 <SnackbarProvider placement={PLACEMENT.bottom}> 43 <PostHogProvider 44 apiKey={import.meta.env.VITE_PUBLIC_POSTHOG_KEY} 45 options={{ 46 api_host: "https://us.i.posthog.com", 47 }} 48 > 49 <RouterProvider router={router} /> 50 </PostHogProvider> 51 </SnackbarProvider> 52 </ToasterContainer> 53 </BaseProvider> 54 </StyletronProvider> 55 </QueryClientProvider>, 56 //</StrictMode> 57);