diff --git a/web/src/pages/_app.tsx b/web/src/pages/_app.tsx index 341c953..79c2e38 100644 --- a/web/src/pages/_app.tsx +++ b/web/src/pages/_app.tsx @@ -12,7 +12,7 @@ dayjs.extend(localizedFormat); export default function App({ Component, pageProps }: { Component: any; pageProps: any }) { const createStore = useCreateStore(pageProps.store); - const renderFullLayout = Component.name !== "Overlay"; + const renderFullLayout = pageProps.renderFullLayout ?? true; return ( diff --git a/web/src/pages/overlay/[roomId].tsx b/web/src/pages/overlay/[roomId].tsx index 37e19e6..4ff2d70 100644 --- a/web/src/pages/overlay/[roomId].tsx +++ b/web/src/pages/overlay/[roomId].tsx @@ -1,9 +1,8 @@ -import React from "react"; -import { initializeStore } from "../../service/initializeStore"; import { IframeOverlayPage } from "../../components/Overlay/IframeOverlayPage"; +import { initializeStoreWithProps } from "../../service/initializeStore"; export default function Overlay() { return } -export const getServerSideProps = initializeStore; \ No newline at end of file +export const getServerSideProps = initializeStoreWithProps({renderFullLayout: false}); \ No newline at end of file diff --git a/web/src/service/initializeStore.ts b/web/src/service/initializeStore.ts index 848e3d9..5ab6908 100644 --- a/web/src/service/initializeStore.ts +++ b/web/src/service/initializeStore.ts @@ -28,4 +28,34 @@ export const initializeStore = (ctx: NextPageContext) => { } }, }; +} + +export const initializeStoreWithProps = (props: any) => { + return (ctx: NextPageContext) => { + const cookies = parseCookie(ctx.req?.headers.cookie ?? ""); + + let scTokenContent = null; + if (cookies.scToken) { + try { + scTokenContent = jwt_decode(cookies.scToken ?? "") ?? null; + } catch (e) { + console.error(e); + } + } + + return { + props: { + ...props, + store: { + scTokenContent: scTokenContent, + scToken: cookies.scToken ? cookies.scToken : null, + managing: cookies.managing ? cookies.managing : null, + twitchClientId: (process.env.NEXT_PUBLIC_TWITCH_CLIENT_ID ?? "").replaceAll('"', ''), + apiBaseUrl: (process.env.NEXT_PUBLIC_API_BASE_URL ?? "").replaceAll('"', ''), + yjsWsUrl: (process.env.NEXT_PUBLIC_YJS_WS_URL ?? "").replaceAll('"', ''), + baseUrl: (process.env.NEXT_PUBLIC_BASE_URL ?? "").replaceAll('"', ''), + } + }, + }; + } } \ No newline at end of file