fix: ssr session on teams page
parent
6f64df3e75
commit
2008ad263c
|
@ -1,8 +1,9 @@
|
||||||
import '../styles/globals.css';
|
import '../styles/globals.css';
|
||||||
import {createTelemetryClient, TelemetryProvider} from '../lib/telemetry';
|
import {createTelemetryClient, TelemetryProvider} from '../lib/telemetry';
|
||||||
import { Provider } from 'next-auth/client';
|
import { Provider } from 'next-auth/client';
|
||||||
|
import type { AppProps } from "next/app"
|
||||||
|
|
||||||
function MyApp({ Component, pageProps }) {
|
function MyApp({ Component, pageProps }: AppProps) {
|
||||||
return (
|
return (
|
||||||
<TelemetryProvider value={createTelemetryClient()}>
|
<TelemetryProvider value={createTelemetryClient()}>
|
||||||
<Provider session={pageProps.session}>
|
<Provider session={pageProps.session}>
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
import { GetServerSideProps } from "next"
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import Shell from '../../components/Shell';
|
import Shell from '../../components/Shell';
|
||||||
import SettingsShell from '../../components/Settings';
|
import SettingsShell from '../../components/Settings';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { useSession } from 'next-auth/client';
|
import type { Session } from "next-auth"
|
||||||
|
import { useSession, getSession } from 'next-auth/client';
|
||||||
import {
|
import {
|
||||||
UsersIcon,
|
UsersIcon,
|
||||||
} from "@heroicons/react/outline";
|
} from "@heroicons/react/outline";
|
||||||
|
@ -165,3 +167,15 @@ export default function Teams() {
|
||||||
</Shell>
|
</Shell>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Export the `session` prop to use sessions with Server Side Rendering
|
||||||
|
export const getServerSideProps: GetServerSideProps<{session: Session | null}> = async (context) => {
|
||||||
|
const session = await getSession(context);
|
||||||
|
if (!session) {
|
||||||
|
return { redirect: { permanent: false, destination: '/auth/login' } };
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
props: { session }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue