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;