reduce auth

This commit is contained in:
Manav Rathi 2024-05-26 20:29:53 +05:30
parent 71a8049a35
commit b28f6c3d8c
No known key found for this signature in database
12 changed files with 27 additions and 45 deletions

View file

@ -5,6 +5,7 @@ import {
logUnhandledErrorsAndRejections, logUnhandledErrorsAndRejections,
} from "@/next/log-web"; } from "@/next/log-web";
import type { AppName, BaseAppContextT } from "@/next/types/app"; import type { AppName, BaseAppContextT } from "@/next/types/app";
import { ensure } from "@/utils/ensure";
import { accountLogout } from "@ente/accounts/services/logout"; import { accountLogout } from "@ente/accounts/services/logout";
import { import {
APPS, APPS,
@ -29,7 +30,7 @@ import { ThemeProvider } from "@mui/material/styles";
import { t } from "i18next"; import { t } from "i18next";
import type { AppProps } from "next/app"; import type { AppProps } from "next/app";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { createContext, useEffect, useRef, useState } from "react"; import { createContext, useContext, useEffect, useRef, useState } from "react";
import LoadingBar, { type LoadingBarRef } from "react-top-loading-bar"; import LoadingBar, { type LoadingBarRef } from "react-top-loading-bar";
import "../../public/css/global.css"; import "../../public/css/global.css";
@ -47,6 +48,9 @@ type AppContextT = BaseAppContextT & {
/** The React {@link Context} available to all pages. */ /** The React {@link Context} available to all pages. */
export const AppContext = createContext<AppContextT | undefined>(undefined); export const AppContext = createContext<AppContextT | undefined>(undefined);
/** Utility hook to reduce amount of boilerplate in account related pages. */
export const useAppContext = () => ensure(useContext(AppContext));
export default function App({ Component, pageProps }: AppProps) { export default function App({ Component, pageProps }: AppProps) {
const appName: AppName = "auth"; const appName: AppName = "auth";

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/change-email"; import Page_ from "@ente/accounts/pages/change-email";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/change-password"; import Page_ from "@ente/accounts/pages/change-password";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/credentials"; import Page_ from "@ente/accounts/pages/credentials";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/generate"; import Page_ from "@ente/accounts/pages/generate";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/login"; import Page_ from "@ente/accounts/pages/login";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/recover"; import Page_ from "@ente/accounts/pages/recover";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/signup"; import Page_ from "@ente/accounts/pages/signup";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/two-factor/recover"; import Page_ from "@ente/accounts/pages/two-factor/recover";
import { useContext } from "react"; import { useAppContext } from "../_app";
import { AppContext } from "../_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/two-factor/setup"; import Page_ from "@ente/accounts/pages/two-factor/setup";
import { useContext } from "react"; import { useAppContext } from "../_app";
import { AppContext } from "../_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/two-factor/verify"; import Page_ from "@ente/accounts/pages/two-factor/verify";
import { useContext } from "react"; import { useAppContext } from "../_app";
import { AppContext } from "../_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;

View file

@ -1,8 +1,6 @@
import { ensure } from "@/utils/ensure";
import Page_ from "@ente/accounts/pages/verify"; import Page_ from "@ente/accounts/pages/verify";
import { useContext } from "react"; import { useAppContext } from "./_app";
import { AppContext } from "./_app";
const Page = () => <Page_ appContext={ensure(useContext(AppContext))} />; const Page = () => <Page_ appContext={useAppContext()} />;
export default Page; export default Page;