diff --git a/web/apps/photos/src/components/GalleryEmptyState.tsx b/web/apps/photos/src/components/GalleryEmptyState.tsx
deleted file mode 100644
index f4c7bad76b..0000000000
--- a/web/apps/photos/src/components/GalleryEmptyState.tsx
+++ /dev/null
@@ -1,98 +0,0 @@
-import AddPhotoAlternateIcon from "@mui/icons-material/AddPhotoAlternateOutlined";
-import FolderIcon from "@mui/icons-material/FolderOutlined";
-import { Button, Stack, Typography, styled } from "@mui/material";
-import { EnteLogo } from "ente-base/components/EnteLogo";
-import {
- FlexWrapper,
- VerticallyCentered,
-} from "ente-shared/components/Container";
-import { t } from "i18next";
-import { Trans } from "react-i18next";
-import { uploadManager } from "services/upload-manager";
-
-export default function GalleryEmptyState({ openUploader }) {
- return (
-
-
-
-
- }}
- />
-
-
- {t("welcome_to_ente_subtitle")}
-
-
-
-
-
-
-
-
-
- );
-}
-
-const Wrapper = styled("div")`
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
-`;
-
-/**
- * Prevent the image from being selected _and_ dragged, since dragging it
- * triggers the our dropdown selector overlay.
- */
-const NonDraggableImage = styled("img")`
- pointer-events: none;
- user-select: none;
-`;
diff --git a/web/apps/photos/src/pages/gallery.tsx b/web/apps/photos/src/pages/gallery.tsx
index 3577abb390..e08b346569 100644
--- a/web/apps/photos/src/pages/gallery.tsx
+++ b/web/apps/photos/src/pages/gallery.tsx
@@ -14,7 +14,6 @@ import {
FilesDownloadProgressAttributes,
} from "components/FilesDownloadProgress";
import { FixCreationTime } from "components/FixCreationTime";
-import GalleryEmptyState from "components/GalleryEmptyState";
import { Sidebar } from "components/Sidebar";
import { Upload, type UploadTypeSelectorIntent } from "components/Upload";
import SelectedFileOptions from "components/pages/gallery/SelectedFileOptions";
@@ -56,6 +55,7 @@ import {
} from "ente-new/photos/components/SearchBar";
import { WhatsNew } from "ente-new/photos/components/WhatsNew";
import {
+ GalleryEmptyState,
PeopleEmptyState,
SearchResultsHeader,
} from "ente-new/photos/components/gallery";
@@ -1094,7 +1094,10 @@ const Page: React.FC = () => {
!normalFiles?.length &&
!hiddenFiles?.length &&
activeCollectionID === ALL_SECTION ? (
-
+
) : !isInSearchMode &&
!isFirstLoad &&
state.view.type == "people" &&
diff --git a/web/packages/new/photos/components/gallery/index.tsx b/web/packages/new/photos/components/gallery/index.tsx
index 8cd9b0cb68..ee8aad7040 100644
--- a/web/packages/new/photos/components/gallery/index.tsx
+++ b/web/packages/new/photos/components/gallery/index.tsx
@@ -51,6 +51,103 @@ export const SearchResultsHeader: React.FC = ({
);
+import AddPhotoAlternateIcon from "@mui/icons-material/AddPhotoAlternateOutlined";
+import FolderIcon from "@mui/icons-material/FolderOutlined";
+import { Button, styled } from "@mui/material";
+import { EnteLogo } from "ente-base/components/EnteLogo";
+import {
+ FlexWrapper,
+ VerticallyCentered,
+} from "ente-shared/components/Container";
+import { Trans } from "react-i18next";
+
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore
+export function GalleryEmptyState({ openUploader, shouldAllowNewUpload }) {
+ return (
+
+
+
+
+ }}
+ />
+
+
+ {t("welcome_to_ente_subtitle")}
+
+
+
+
+
+
+
+
+
+ );
+}
+
+const Wrapper = styled("div")`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ text-align: center;
+`;
+
+/**
+ * Prevent the image from being selected _and_ dragged, since dragging it
+ * triggers the our dropdown selector overlay.
+ */
+const NonDraggableImage = styled("img")`
+ pointer-events: none;
+ user-select: none;
+`;
+
export const PeopleEmptyState: React.FC = () => {
const mlStatus = useMLStatusSnapshot();