use authenticated layout

This commit is contained in:
m5r
2021-10-24 22:25:01 +02:00
parent fbe31a508d
commit 4facb32e74
11 changed files with 20 additions and 32 deletions

View File

@ -1,5 +1,5 @@
import type { FunctionComponent } from "react";
import { Suspense } from "react";
import type { BlitzLayout } from "blitz";
import { Link, Routes, useMutation, useRouter } from "blitz";
import clsx from "clsx";
import {
@ -23,7 +23,7 @@ const subNavigation = [
{ name: "Notifications", href: Routes.Notifications(), icon: IoNotificationsOutline },
];
const SettingsLayout: FunctionComponent = ({ children }) => {
const SettingsLayout: BlitzLayout = ({ children }) => {
const router = useRouter();
const [logoutMutation] = useMutation(logout);
@ -90,4 +90,6 @@ const SettingsLayout: FunctionComponent = ({ children }) => {
);
};
SettingsLayout.authenticate = { redirectTo: Routes.SignIn() };
export default SettingsLayout;

View File

@ -1,5 +1,6 @@
import type { BlitzPage } from "blitz";
import { GetServerSideProps, getSession, Routes } from "blitz";
import type { GetServerSideProps } from "blitz";
import { getSession } from "blitz";
import db, { Subscription, SubscriptionStatus } from "db";
import useSubscription from "app/core/hooks/use-subscription";
@ -73,8 +74,6 @@ const Billing: BlitzPage<Props> = (props) => {
Billing.getLayout = (page) => <SettingsLayout>{page}</SettingsLayout>;
Billing.authenticate = { redirectTo: Routes.SignIn() };
export const getServerSideProps: GetServerSideProps<Props> = async ({ req, res }) => {
const session = await getSession(req, res);
const subscription = await db.subscription.findFirst({

View File

@ -1,5 +1,4 @@
import type { BlitzPage } from "blitz";
import { Routes } from "blitz";
import SettingsLayout from "../../components/settings-layout";
import ProfileInformations from "../../components/account/profile-informations";
@ -20,6 +19,4 @@ const Account: BlitzPage = () => {
Account.getLayout = (page) => <SettingsLayout>{page}</SettingsLayout>;
Account.authenticate = { redirectTo: Routes.SignIn() };
export default Account;

View File

@ -1,5 +1,4 @@
import type { BlitzPage } from "blitz";
import { Routes } from "blitz";
import SettingsLayout from "../../components/settings-layout";
@ -9,6 +8,4 @@ const Notifications: BlitzPage = () => {
Notifications.getLayout = (page) => <SettingsLayout>{page}</SettingsLayout>;
Notifications.authenticate = { redirectTo: Routes.SignIn() };
export default Notifications;

View File

@ -1,5 +1,5 @@
import type { BlitzPage } from "blitz";
import { Routes, dynamic } from "blitz";
import { dynamic } from "blitz";
import SettingsLayout from "../../components/settings-layout";
import PhoneNumberForm from "../../components/phone/phone-number-form";
@ -20,6 +20,4 @@ const TwilioApiForm = dynamic(() => import("../../components/phone/twilio-api-fo
PhoneSettings.getLayout = (page) => <SettingsLayout>{page}</SettingsLayout>;
PhoneSettings.authenticate = { redirectTo: Routes.SignIn() };
export default PhoneSettings;