From e95cba0ace7a2a0c6488efd79895550003dc656c Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Sun, 26 May 2024 20:21:30 +0530 Subject: [PATCH] Reduce boilerplate --- web/apps/photos/src/pages/_app.tsx | 6 +++++- web/apps/photos/src/pages/change-email.tsx | 6 ++---- web/apps/photos/src/pages/change-password.tsx | 6 ++---- web/apps/photos/src/pages/credentials.tsx | 6 ++---- web/apps/photos/src/pages/generate.tsx | 6 ++---- web/apps/photos/src/pages/login.tsx | 6 ++---- web/apps/photos/src/pages/recover.tsx | 6 ++---- web/apps/photos/src/pages/signup.tsx | 6 ++---- web/apps/photos/src/pages/two-factor/recover.tsx | 6 ++---- web/apps/photos/src/pages/two-factor/setup.tsx | 6 ++---- web/apps/photos/src/pages/two-factor/verify.tsx | 6 ++---- web/apps/photos/src/pages/verify.tsx | 6 ++---- 12 files changed, 27 insertions(+), 45 deletions(-) diff --git a/web/apps/photos/src/pages/_app.tsx b/web/apps/photos/src/pages/_app.tsx index 521a6fc3e..a816d0b46 100644 --- a/web/apps/photos/src/pages/_app.tsx +++ b/web/apps/photos/src/pages/_app.tsx @@ -7,6 +7,7 @@ import { } from "@/next/log-web"; import type { AppName, BaseAppContextT } from "@/next/types/app"; import { AppUpdate } from "@/next/types/ipc"; +import { ensure } from "@/utils/ensure"; import { APPS, APP_TITLES, @@ -45,7 +46,7 @@ import isElectron from "is-electron"; import type { AppProps } from "next/app"; import { useRouter } from "next/router"; import "photoswipe/dist/photoswipe.css"; -import { createContext, useEffect, useRef, useState } from "react"; +import { createContext, useContext, useEffect, useRef, useState } from "react"; import LoadingBar from "react-top-loading-bar"; import DownloadManager from "services/download"; import { resumeExportsIfNeeded } from "services/export"; @@ -103,6 +104,9 @@ type AppContextT = BaseAppContextT & { /** The React {@link Context} available to all pages. */ export const AppContext = createContext(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) { const appName: AppName = "photos"; diff --git a/web/apps/photos/src/pages/change-email.tsx b/web/apps/photos/src/pages/change-email.tsx index 451c5ebfe..89a765fbf 100644 --- a/web/apps/photos/src/pages/change-email.tsx +++ b/web/apps/photos/src/pages/change-email.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/change-email"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/change-password.tsx b/web/apps/photos/src/pages/change-password.tsx index ba8e1ac3d..ed82edd92 100644 --- a/web/apps/photos/src/pages/change-password.tsx +++ b/web/apps/photos/src/pages/change-password.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/change-password"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/credentials.tsx b/web/apps/photos/src/pages/credentials.tsx index 7d21b33ac..070aace4a 100644 --- a/web/apps/photos/src/pages/credentials.tsx +++ b/web/apps/photos/src/pages/credentials.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/credentials"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/generate.tsx b/web/apps/photos/src/pages/generate.tsx index 718172d49..c6804255a 100644 --- a/web/apps/photos/src/pages/generate.tsx +++ b/web/apps/photos/src/pages/generate.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/generate"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/login.tsx b/web/apps/photos/src/pages/login.tsx index b40b9f914..1a7de0497 100644 --- a/web/apps/photos/src/pages/login.tsx +++ b/web/apps/photos/src/pages/login.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/login"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/recover.tsx b/web/apps/photos/src/pages/recover.tsx index cc6d8da82..d825729e5 100644 --- a/web/apps/photos/src/pages/recover.tsx +++ b/web/apps/photos/src/pages/recover.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/recover"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/signup.tsx b/web/apps/photos/src/pages/signup.tsx index 8cc5202a8..403d3e735 100644 --- a/web/apps/photos/src/pages/signup.tsx +++ b/web/apps/photos/src/pages/signup.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/signup"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/two-factor/recover.tsx b/web/apps/photos/src/pages/two-factor/recover.tsx index aa9c6faf9..d3f40be49 100644 --- a/web/apps/photos/src/pages/two-factor/recover.tsx +++ b/web/apps/photos/src/pages/two-factor/recover.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/two-factor/recover"; -import { useContext } from "react"; -import { AppContext } from "../_app"; +import { useAppContext } from "../_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/two-factor/setup.tsx b/web/apps/photos/src/pages/two-factor/setup.tsx index 35a24149f..12716e2df 100644 --- a/web/apps/photos/src/pages/two-factor/setup.tsx +++ b/web/apps/photos/src/pages/two-factor/setup.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/two-factor/setup"; -import { useContext } from "react"; -import { AppContext } from "../_app"; +import { useAppContext } from "../_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/two-factor/verify.tsx b/web/apps/photos/src/pages/two-factor/verify.tsx index 3f4ed7e39..7c682b1b9 100644 --- a/web/apps/photos/src/pages/two-factor/verify.tsx +++ b/web/apps/photos/src/pages/two-factor/verify.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/two-factor/verify"; -import { useContext } from "react"; -import { AppContext } from "../_app"; +import { useAppContext } from "../_app"; -const Page = () => ; +const Page = () => ; export default Page; diff --git a/web/apps/photos/src/pages/verify.tsx b/web/apps/photos/src/pages/verify.tsx index 5fb2ed10d..bb2dc8778 100644 --- a/web/apps/photos/src/pages/verify.tsx +++ b/web/apps/photos/src/pages/verify.tsx @@ -1,8 +1,6 @@ -import { ensure } from "@/utils/ensure"; import Page_ from "@ente/accounts/pages/verify"; -import { useContext } from "react"; -import { AppContext } from "./_app"; +import { useAppContext } from "./_app"; -const Page = () => ; +const Page = () => ; export default Page;