diff --git a/web/.gitignore b/web/.gitignore index 6911bdb01..68554d3ae 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -10,6 +10,9 @@ node_modules/ # Local env files .env*.local +# tsc +*.tsbuildinfo + # Vite dist diff --git a/web/apps/accounts/src/pages/credentials/index.tsx b/web/apps/accounts/src/pages/credentials/index.tsx index 453a61315..306efc7b8 100644 --- a/web/apps/accounts/src/pages/credentials/index.tsx +++ b/web/apps/accounts/src/pages/credentials/index.tsx @@ -1,17 +1,9 @@ import CredentialPage from "@ente/accounts/pages/credentials"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { useContext } from "react"; import { AppContext } from "../_app"; export default function Credential() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/accounts/src/pages/generate/index.tsx b/web/apps/accounts/src/pages/generate/index.tsx index 84d8f5227..ff1b6aa1f 100644 --- a/web/apps/accounts/src/pages/generate/index.tsx +++ b/web/apps/accounts/src/pages/generate/index.tsx @@ -1,17 +1,9 @@ import GeneratePage from "@ente/accounts/pages/generate"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Generate() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/accounts/src/pages/login/index.tsx b/web/apps/accounts/src/pages/login/index.tsx index a6ca13492..0631a7bd1 100644 --- a/web/apps/accounts/src/pages/login/index.tsx +++ b/web/apps/accounts/src/pages/login/index.tsx @@ -1,17 +1,9 @@ import LoginPage from "@ente/accounts/pages/login"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { useContext } from "react"; import { AppContext } from "../_app"; export default function Login() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/accounts/src/pages/passkeys/flow/Recover.tsx b/web/apps/accounts/src/pages/passkeys/flow/Recover.tsx index aea836f6e..f992e3961 100644 --- a/web/apps/accounts/src/pages/passkeys/flow/Recover.tsx +++ b/web/apps/accounts/src/pages/passkeys/flow/Recover.tsx @@ -1,17 +1,14 @@ import { TwoFactorType } from "@ente/accounts/constants/twofactor"; import RecoverPage from "@ente/accounts/pages/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Recover() { const appContext = useContext(AppContext); - const router = useRouter(); return ( diff --git a/web/apps/accounts/src/pages/recover/index.tsx b/web/apps/accounts/src/pages/recover/index.tsx index 6f718a207..2692225b2 100644 --- a/web/apps/accounts/src/pages/recover/index.tsx +++ b/web/apps/accounts/src/pages/recover/index.tsx @@ -1,17 +1,9 @@ import RecoverPage from "@ente/accounts/pages/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Recover() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/accounts/src/pages/signup/index.tsx b/web/apps/accounts/src/pages/signup/index.tsx index 1e0f576a6..40d073cf5 100644 --- a/web/apps/accounts/src/pages/signup/index.tsx +++ b/web/apps/accounts/src/pages/signup/index.tsx @@ -1,17 +1,9 @@ import SignupPage from "@ente/accounts/pages/signup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Sigup() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/accounts/src/pages/two-factor/recover/index.tsx b/web/apps/accounts/src/pages/two-factor/recover/index.tsx index e6b2036fa..af5765323 100644 --- a/web/apps/accounts/src/pages/two-factor/recover/index.tsx +++ b/web/apps/accounts/src/pages/two-factor/recover/index.tsx @@ -1,17 +1,11 @@ import TwoFactorRecoverPage from "@ente/accounts/pages/two-factor/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorRecover() { const appContext = useContext(AppContext); - const router = useRouter(); return ( - + ); } diff --git a/web/apps/accounts/src/pages/two-factor/setup/index.tsx b/web/apps/accounts/src/pages/two-factor/setup/index.tsx index f1b0e8f76..f1283e870 100644 --- a/web/apps/accounts/src/pages/two-factor/setup/index.tsx +++ b/web/apps/accounts/src/pages/two-factor/setup/index.tsx @@ -1,17 +1,11 @@ import TwoFactorSetupPage from "@ente/accounts/pages/two-factor/setup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorSetup() { const appContext = useContext(AppContext); - const router = useRouter(); return ( - + ); } diff --git a/web/apps/accounts/src/pages/two-factor/verify/index.tsx b/web/apps/accounts/src/pages/two-factor/verify/index.tsx index b17882d3b..fd4c2ce09 100644 --- a/web/apps/accounts/src/pages/two-factor/verify/index.tsx +++ b/web/apps/accounts/src/pages/two-factor/verify/index.tsx @@ -1,17 +1,11 @@ import TwoFactorVerifyPage from "@ente/accounts/pages/two-factor/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorVerify() { const appContext = useContext(AppContext); - const router = useRouter(); return ( - + ); } diff --git a/web/apps/accounts/src/pages/verify/index.tsx b/web/apps/accounts/src/pages/verify/index.tsx index 467419d0a..b09480858 100644 --- a/web/apps/accounts/src/pages/verify/index.tsx +++ b/web/apps/accounts/src/pages/verify/index.tsx @@ -1,17 +1,9 @@ import VerifyPage from "@ente/accounts/pages/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Verify() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/404.tsx b/web/apps/auth/src/pages/404.tsx index edb4ae7f7..6cca72b77 100644 --- a/web/apps/auth/src/pages/404.tsx +++ b/web/apps/auth/src/pages/404.tsx @@ -1,17 +1,9 @@ import { APPS } from "@ente/shared/apps/constants"; import NotFoundPage from "@ente/shared/next/pages/404"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function NotFound() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/auth/index.tsx b/web/apps/auth/src/pages/auth/index.tsx index 6d8bbecc2..55dc33ce6 100644 --- a/web/apps/auth/src/pages/auth/index.tsx +++ b/web/apps/auth/src/pages/auth/index.tsx @@ -122,19 +122,6 @@ const AuthenticatorCodesPage = () => {
- ); }; diff --git a/web/apps/auth/src/pages/change-email/index.tsx b/web/apps/auth/src/pages/change-email/index.tsx index 3bd1e89ab..8be39d9e8 100644 --- a/web/apps/auth/src/pages/change-email/index.tsx +++ b/web/apps/auth/src/pages/change-email/index.tsx @@ -1,17 +1,9 @@ import ChangeEmailPage from "@ente/accounts/pages/change-email"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function ChangeEmail() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/change-password/index.tsx b/web/apps/auth/src/pages/change-password/index.tsx index 567748755..612288049 100644 --- a/web/apps/auth/src/pages/change-password/index.tsx +++ b/web/apps/auth/src/pages/change-password/index.tsx @@ -1,17 +1,9 @@ import ChangePasswordPage from "@ente/accounts/pages/change-password"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function ChangePassword() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/credentials/index.tsx b/web/apps/auth/src/pages/credentials/index.tsx index c73a22089..9b3c0c9c5 100644 --- a/web/apps/auth/src/pages/credentials/index.tsx +++ b/web/apps/auth/src/pages/credentials/index.tsx @@ -1,17 +1,9 @@ import CredentialPage from "@ente/accounts/pages/credentials"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Credential() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/generate/index.tsx b/web/apps/auth/src/pages/generate/index.tsx index fe488e0c2..df3851357 100644 --- a/web/apps/auth/src/pages/generate/index.tsx +++ b/web/apps/auth/src/pages/generate/index.tsx @@ -1,17 +1,9 @@ import GeneratePage from "@ente/accounts/pages/generate"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Generate() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/login/index.tsx b/web/apps/auth/src/pages/login/index.tsx index 434a31557..ee2407b54 100644 --- a/web/apps/auth/src/pages/login/index.tsx +++ b/web/apps/auth/src/pages/login/index.tsx @@ -1,17 +1,9 @@ import LoginPage from "@ente/accounts/pages/login"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Login() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/recover/index.tsx b/web/apps/auth/src/pages/recover/index.tsx index 9629de5d6..64404ca35 100644 --- a/web/apps/auth/src/pages/recover/index.tsx +++ b/web/apps/auth/src/pages/recover/index.tsx @@ -1,17 +1,9 @@ import RecoverPage from "@ente/accounts/pages/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Recover() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/signup/index.tsx b/web/apps/auth/src/pages/signup/index.tsx index b7cbccd97..d272b5c51 100644 --- a/web/apps/auth/src/pages/signup/index.tsx +++ b/web/apps/auth/src/pages/signup/index.tsx @@ -1,17 +1,9 @@ import SignupPage from "@ente/accounts/pages/signup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Sigup() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/two-factor/recover/index.tsx b/web/apps/auth/src/pages/two-factor/recover/index.tsx index 965a77755..a67c7b816 100644 --- a/web/apps/auth/src/pages/two-factor/recover/index.tsx +++ b/web/apps/auth/src/pages/two-factor/recover/index.tsx @@ -1,17 +1,9 @@ import TwoFactorRecoverPage from "@ente/accounts/pages/two-factor/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorRecover() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/two-factor/setup/index.tsx b/web/apps/auth/src/pages/two-factor/setup/index.tsx index 4a027ded6..b007ab01b 100644 --- a/web/apps/auth/src/pages/two-factor/setup/index.tsx +++ b/web/apps/auth/src/pages/two-factor/setup/index.tsx @@ -1,17 +1,9 @@ import TwoFactorSetupPage from "@ente/accounts/pages/two-factor/setup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorSetup() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/two-factor/verify/index.tsx b/web/apps/auth/src/pages/two-factor/verify/index.tsx index 1c90e49a8..2243a4354 100644 --- a/web/apps/auth/src/pages/two-factor/verify/index.tsx +++ b/web/apps/auth/src/pages/two-factor/verify/index.tsx @@ -1,17 +1,9 @@ import TwoFactorVerifyPage from "@ente/accounts/pages/two-factor/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; -import { AppContext } from "pages/_app"; import { useContext } from "react"; +import { AppContext } from "../../_app"; export default function TwoFactorVerify() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/auth/src/pages/verify/index.tsx b/web/apps/auth/src/pages/verify/index.tsx index ff3317cab..5171462e7 100644 --- a/web/apps/auth/src/pages/verify/index.tsx +++ b/web/apps/auth/src/pages/verify/index.tsx @@ -1,17 +1,9 @@ import VerifyPage from "@ente/accounts/pages/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Verify() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/cast/src/components/FilledCircleCheck.tsx b/web/apps/cast/src/components/FilledCircleCheck.tsx new file mode 100644 index 000000000..c0635f138 --- /dev/null +++ b/web/apps/cast/src/components/FilledCircleCheck.tsx @@ -0,0 +1,64 @@ +import { styled } from "@mui/material"; + +const FilledCircleCheck = () => { + return ( + + + + + + + ); +}; + +export default FilledCircleCheck; + +const Container = styled("div")` + width: 100px; + height: 100px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + overflow: hidden; + animation: scaleIn 0.3s ease-in-out forwards; + + @keyframes scaleIn { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } + } + + svg { + width: 100px; + height: 100px; + + circle { + fill: green; + } + + path { + transform-origin: 50% 50%; + stroke-dasharray: 48; + stroke-dashoffset: 48; + animation: strokeCheck 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s + forwards; + stroke: white; + stroke-width: 2; + stroke-linecap: round; + stroke-linejoin: round; + } + } + + @keyframes strokeCheck { + 100% { + stroke-dashoffset: 0; + } + } +`; diff --git a/web/apps/cast/src/components/FilledCircleCheck/FilledCircleCheck.module.scss b/web/apps/cast/src/components/FilledCircleCheck/FilledCircleCheck.module.scss deleted file mode 100644 index 535a2448a..000000000 --- a/web/apps/cast/src/components/FilledCircleCheck/FilledCircleCheck.module.scss +++ /dev/null @@ -1,51 +0,0 @@ -.circle { - width: 100px; - height: 100px; - display: flex; - justify-content: center; - align-items: center; - border-radius: 50%; - overflow: hidden; - - &.animate { - animation: scaleIn 0.3s ease-in-out forwards; - } -} - -@keyframes scaleIn { - 0% { - transform: scale(0); - } - 50% { - transform: scale(1.1); - } - 100% { - transform: scale(1); - } -} - -.checkmark { - width: 100px; - height: 100px; - - &__circle { - fill: green; - } - - &__check { - transform-origin: 50% 50%; - stroke-dasharray: 48; - stroke-dashoffset: 48; - animation: strokeCheck 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards; - stroke: white; - stroke-width: 2; - stroke-linecap: round; - stroke-linejoin: round; - } -} - -@keyframes strokeCheck { - 100% { - stroke-dashoffset: 0; - } -} diff --git a/web/apps/cast/src/components/FilledCircleCheck/index.tsx b/web/apps/cast/src/components/FilledCircleCheck/index.tsx deleted file mode 100644 index cce8c935f..000000000 --- a/web/apps/cast/src/components/FilledCircleCheck/index.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { useEffect, useState } from "react"; -import styles from "./FilledCircleCheck.module.scss"; // Import our CSS module - -const FilledCircleCheck = () => { - const [animate, setAnimate] = useState(false); - - useEffect(() => { - setAnimate(true); - }, []); - - return ( -
- - - - -
- ); -}; - -export default FilledCircleCheck; diff --git a/web/apps/photos/src/pages/404.tsx b/web/apps/photos/src/pages/404.tsx index edb4ae7f7..6cca72b77 100644 --- a/web/apps/photos/src/pages/404.tsx +++ b/web/apps/photos/src/pages/404.tsx @@ -1,17 +1,9 @@ import { APPS } from "@ente/shared/apps/constants"; import NotFoundPage from "@ente/shared/next/pages/404"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function NotFound() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/change-email/index.tsx b/web/apps/photos/src/pages/change-email/index.tsx index bb4c111dc..6225f053c 100644 --- a/web/apps/photos/src/pages/change-email/index.tsx +++ b/web/apps/photos/src/pages/change-email/index.tsx @@ -1,17 +1,9 @@ import ChangeEmailPage from "@ente/accounts/pages/change-email"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function ChangeEmail() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/change-password/index.tsx b/web/apps/photos/src/pages/change-password/index.tsx index 33e44c938..8d8121d6a 100644 --- a/web/apps/photos/src/pages/change-password/index.tsx +++ b/web/apps/photos/src/pages/change-password/index.tsx @@ -1,17 +1,9 @@ import ChangePasswordPage from "@ente/accounts/pages/change-password"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function ChangePassword() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/credentials/index.tsx b/web/apps/photos/src/pages/credentials/index.tsx index 6e6612074..776b2064b 100644 --- a/web/apps/photos/src/pages/credentials/index.tsx +++ b/web/apps/photos/src/pages/credentials/index.tsx @@ -1,17 +1,9 @@ import CredentialPage from "@ente/accounts/pages/credentials"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Credential() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/generate/index.tsx b/web/apps/photos/src/pages/generate/index.tsx index 79a9007ef..5d62c93bc 100644 --- a/web/apps/photos/src/pages/generate/index.tsx +++ b/web/apps/photos/src/pages/generate/index.tsx @@ -1,17 +1,9 @@ import GeneratePage from "@ente/accounts/pages/generate"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Generate() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/login/index.tsx b/web/apps/photos/src/pages/login/index.tsx index 8709af06c..84539e2f3 100644 --- a/web/apps/photos/src/pages/login/index.tsx +++ b/web/apps/photos/src/pages/login/index.tsx @@ -1,17 +1,9 @@ import LoginPage from "@ente/accounts/pages/login"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Login() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/recover/index.tsx b/web/apps/photos/src/pages/recover/index.tsx index b3e16175f..06d755f7e 100644 --- a/web/apps/photos/src/pages/recover/index.tsx +++ b/web/apps/photos/src/pages/recover/index.tsx @@ -1,17 +1,10 @@ import RecoverPage from "@ente/accounts/pages/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Recover() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + + return ; } diff --git a/web/apps/photos/src/pages/signup/index.tsx b/web/apps/photos/src/pages/signup/index.tsx index 7c0409a02..29b139f86 100644 --- a/web/apps/photos/src/pages/signup/index.tsx +++ b/web/apps/photos/src/pages/signup/index.tsx @@ -1,17 +1,9 @@ import SignupPage from "@ente/accounts/pages/signup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Sigup() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/two-factor/recover/index.tsx b/web/apps/photos/src/pages/two-factor/recover/index.tsx index dcfb6fc15..f3f820d6e 100644 --- a/web/apps/photos/src/pages/two-factor/recover/index.tsx +++ b/web/apps/photos/src/pages/two-factor/recover/index.tsx @@ -1,17 +1,11 @@ import TwoFactorRecoverPage from "@ente/accounts/pages/two-factor/recover"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorRecover() { const appContext = useContext(AppContext); - const router = useRouter(); return ( - + ); } diff --git a/web/apps/photos/src/pages/two-factor/setup/index.tsx b/web/apps/photos/src/pages/two-factor/setup/index.tsx index b357018ee..2830560e9 100644 --- a/web/apps/photos/src/pages/two-factor/setup/index.tsx +++ b/web/apps/photos/src/pages/two-factor/setup/index.tsx @@ -1,17 +1,9 @@ import TwoFactorSetupPage from "@ente/accounts/pages/two-factor/setup"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorSetup() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/pages/two-factor/verify/index.tsx b/web/apps/photos/src/pages/two-factor/verify/index.tsx index a61852821..65914dcdf 100644 --- a/web/apps/photos/src/pages/two-factor/verify/index.tsx +++ b/web/apps/photos/src/pages/two-factor/verify/index.tsx @@ -1,17 +1,11 @@ import TwoFactorVerifyPage from "@ente/accounts/pages/two-factor/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function TwoFactorVerify() { const appContext = useContext(AppContext); - const router = useRouter(); return ( - + ); } diff --git a/web/apps/photos/src/pages/verify/index.tsx b/web/apps/photos/src/pages/verify/index.tsx index 9eeb6db60..081ea9e5e 100644 --- a/web/apps/photos/src/pages/verify/index.tsx +++ b/web/apps/photos/src/pages/verify/index.tsx @@ -1,17 +1,9 @@ import VerifyPage from "@ente/accounts/pages/verify"; import { APPS } from "@ente/shared/apps/constants"; -import { useRouter } from "next/router"; import { AppContext } from "pages/_app"; import { useContext } from "react"; export default function Verify() { const appContext = useContext(AppContext); - const router = useRouter(); - return ( - - ); + return ; } diff --git a/web/apps/photos/src/services/heic-convert/heic-convert.ts b/web/apps/photos/src/services/heic-convert/heic-convert.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/apps/photos/src/utils/file/index.ts b/web/apps/photos/src/utils/file/index.ts index fd6a08da3..8ae0a9562 100644 --- a/web/apps/photos/src/utils/file/index.ts +++ b/web/apps/photos/src/utils/file/index.ts @@ -1,6 +1,7 @@ import { logError } from "@ente/shared/sentry"; import { LS_KEYS, getData } from "@ente/shared/storage/localStorage"; import { User } from "@ente/shared/user/types"; +import { downloadUsingAnchor } from "@ente/shared/utils"; import { FILE_TYPE, RAW_FORMATS, diff --git a/web/packages/accounts/pages/change-email.tsx b/web/packages/accounts/pages/change-email.tsx index 007db9049..cf5c83079 100644 --- a/web/packages/accounts/pages/change-email.tsx +++ b/web/packages/accounts/pages/change-email.tsx @@ -23,11 +23,7 @@ function ChangeEmailPage({ appName, appContext }: PageProps) { {t("CHANGE_EMAIL")} - + ); diff --git a/web/packages/accounts/pages/two-factor/recover.tsx b/web/packages/accounts/pages/two-factor/recover.tsx index fcaf05eab..7a589b9ab 100644 --- a/web/packages/accounts/pages/two-factor/recover.tsx +++ b/web/packages/accounts/pages/two-factor/recover.tsx @@ -23,6 +23,7 @@ import { ApiError } from "@ente/shared/error"; import { Link } from "@mui/material"; import { HttpStatusCode } from "axios"; import { t } from "i18next"; +import { useRouter } from "next/router"; import { Trans } from "react-i18next"; const bip39 = require("bip39"); @@ -30,7 +31,6 @@ const bip39 = require("bip39"); bip39.setDefaultWordlist("english"); export default function Recover({ - router, appContext, twoFactorType = TwoFactorType.TOTP, }: PageProps) { @@ -40,6 +40,8 @@ export default function Recover({ const [doesHaveEncryptedRecoveryKey, setDoesHaveEncryptedRecoveryKey] = useState(false); + const router = useRouter(); + useEffect(() => { const user = getData(LS_KEYS.USER); if (!user || !user.email || !user.twoFactorSessionID) { diff --git a/web/packages/accounts/pages/two-factor/setup.tsx b/web/packages/accounts/pages/two-factor/setup.tsx index e887c21f2..bf22ea1c9 100644 --- a/web/packages/accounts/pages/two-factor/setup.tsx +++ b/web/packages/accounts/pages/two-factor/setup.tsx @@ -1,7 +1,4 @@ import { enableTwoFactor, setupTwoFactor } from "@ente/accounts/api/user"; -import { t } from "i18next"; -import { useEffect, useState } from "react"; - import VerifyTwoFactor, { VerifyTwoFactorCallback, } from "@ente/accounts/components/two-factor/VerifyForm"; @@ -16,16 +13,21 @@ import { logError } from "@ente/shared/sentry"; import { LS_KEYS, getData, setData } from "@ente/shared/storage/localStorage"; import { Box, CardContent, Typography } from "@mui/material"; import Card from "@mui/material/Card"; +import { t } from "i18next"; +import { useRouter } from "next/router"; +import { useEffect, useState } from "react"; export enum SetupMode { QR_CODE, MANUAL_CODE, } -export default function SetupTwoFactor({ router, appName }: PageProps) { +export default function SetupTwoFactor({ appName }: PageProps) { const [twoFactorSecret, setTwoFactorSecret] = useState(null); + const router = useRouter(); + useEffect(() => { if (twoFactorSecret) { return; diff --git a/web/packages/accounts/pages/two-factor/verify.tsx b/web/packages/accounts/pages/two-factor/verify.tsx index c10759f19..5498211ae 100644 --- a/web/packages/accounts/pages/two-factor/verify.tsx +++ b/web/packages/accounts/pages/two-factor/verify.tsx @@ -4,12 +4,7 @@ import VerifyTwoFactor, { } from "@ente/accounts/components/two-factor/VerifyForm"; import { PAGES } from "@ente/accounts/constants/pages"; import { logoutUser } from "@ente/accounts/services/user"; -import { LS_KEYS, getData, setData } from "@ente/shared/storage/localStorage"; -import { User } from "@ente/shared/user/types"; -import { t } from "i18next"; -import { useEffect, useState } from "react"; - -import { PageProps } from "@ente/shared/apps/types"; +import type { PageProps } from "@ente/shared/apps/types"; import { VerticallyCentered } from "@ente/shared/components/Container"; import FormPaper from "@ente/shared/components/Form/FormPaper"; import FormPaperFooter from "@ente/shared/components/Form/FormPaper/Footer"; @@ -17,11 +12,18 @@ import FormTitle from "@ente/shared/components/Form/FormPaper/Title"; import LinkButton from "@ente/shared/components/LinkButton"; import { ApiError } from "@ente/shared/error"; import InMemoryStore, { MS_KEYS } from "@ente/shared/storage/InMemoryStore"; +import { LS_KEYS, getData, setData } from "@ente/shared/storage/localStorage"; +import { User } from "@ente/shared/user/types"; import { HttpStatusCode } from "axios"; +import { t } from "i18next"; +import { useRouter } from "next/router"; +import { useEffect, useState } from "react"; -export default function TwoFactorVerify({ router }: PageProps) { +export const TwoFactorVerify: React.FC = () => { const [sessionID, setSessionID] = useState(""); + const router = useRouter(); + useEffect(() => { const main = async () => { const user: User = getData(LS_KEYS.USER); @@ -84,4 +86,6 @@ export default function TwoFactorVerify({ router }: PageProps) { ); -} +}; + +export default TwoFactorVerify; diff --git a/web/packages/accounts/pages/verify.tsx b/web/packages/accounts/pages/verify.tsx index 6f657d95a..6515a96b7 100644 --- a/web/packages/accounts/pages/verify.tsx +++ b/web/packages/accounts/pages/verify.tsx @@ -26,16 +26,19 @@ import { clearKeys } from "@ente/shared/storage/sessionStorage"; import { KeyAttributes, User } from "@ente/shared/user/types"; import { Box, Typography } from "@mui/material"; import { HttpStatusCode } from "axios"; +import { useRouter } from "next/router"; import { putAttributes, sendOtt, verifyOtt } from "../api/user"; import { PAGES } from "../constants/pages"; import { configureSRP } from "../services/srp"; import { logoutUser } from "../services/user"; import { SRPSetupAttributes } from "../types/srp"; -export default function VerifyPage({ appContext, router, appName }: PageProps) { +export default function VerifyPage({ appContext, appName }: PageProps) { const [email, setEmail] = useState(""); const [resend, setResend] = useState(0); + const router = useRouter(); + useEffect(() => { const main = async () => { const user: User = getData(LS_KEYS.USER); diff --git a/web/packages/build-config/tsconfig.json b/web/packages/build-config/tsconfig.json new file mode 100644 index 000000000..6fb762d4f --- /dev/null +++ b/web/packages/build-config/tsconfig.json @@ -0,0 +1,9 @@ +{ + /* A minimal tsconfig so that we can run tsc on the build-config package + itself */ + "compilerOptions": { + "noEmit": true, + "checkJs": true + }, + "include": ["*.js"] +} diff --git a/web/packages/shared/utils/index.ts b/web/packages/shared/utils/index.ts index 6a9df7e1f..1ed02fabe 100644 --- a/web/packages/shared/utils/index.ts +++ b/web/packages/shared/utils/index.ts @@ -29,8 +29,9 @@ export function isPromise(obj: T | Promise): obj is Promise { export async function retryAsyncFunction( request: (abort?: () => void) => Promise, + waitTimeBeforeNextTry?: number[], ): Promise { - const waitTimeBeforeNextTry = [2000, 5000, 10000]; + if (!waitTimeBeforeNextTry) waitTimeBeforeNextTry = [2000, 5000, 10000]; for ( let attemptNumber = 0;