0 && (
)}
diff --git a/src/components/player/internals/InfoButton.tsx b/src/components/player/internals/InfoButton.tsx
index 093c08fa..0ca76d04 100644
--- a/src/components/player/internals/InfoButton.tsx
+++ b/src/components/player/internals/InfoButton.tsx
@@ -1,8 +1,7 @@
-import { useEffect, useState } from "react";
+import { useEffect } from "react";
import { Icons } from "@/components/Icon";
-import { DetailsModal } from "@/components/overlays/detailsModal";
-import { useModal } from "@/components/overlays/Modal";
+import { useOverlayStack } from "@/stores/interface/overlayStack";
import { usePlayerStore } from "@/stores/player/store";
import { usePreferencesStore } from "@/stores/preferences";
@@ -10,25 +9,20 @@ import { VideoPlayerButton } from "./Button";
export function InfoButton() {
const meta = usePlayerStore((s) => s.meta);
- const modal = useModal("player-details");
+ const { showModal, isModalVisible } = useOverlayStack();
const setHasOpenOverlay = usePlayerStore((s) => s.setHasOpenOverlay);
- const [detailsData, setDetailsData] = useState<{
- id: number;
- type: "movie" | "show";
- } | null>(null);
useEffect(() => {
- setHasOpenOverlay(modal.isShown);
- }, [setHasOpenOverlay, modal.isShown]);
+ setHasOpenOverlay(isModalVisible("player-details"));
+ }, [setHasOpenOverlay, isModalVisible]);
const handleClick = async () => {
if (!meta?.tmdbId) return;
- setDetailsData({
+ showModal("player-details", {
id: Number(meta.tmdbId),
type: meta.type === "movie" ? "movie" : "show",
});
- modal.show();
};
const enableLowPerformanceMode = usePreferencesStore(
@@ -40,16 +34,11 @@ export function InfoButton() {
}
return (
- <>
-
- {detailsData && (
-
- )}
- >
+
);
}
diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx
index f9b0c520..88a97ee0 100644
--- a/src/pages/HomePage.tsx
+++ b/src/pages/HomePage.tsx
@@ -4,7 +4,6 @@ import { useTranslation } from "react-i18next";
import { To, useNavigate } from "react-router-dom";
import { WideContainer } from "@/components/layout/WideContainer";
-import { DetailsModal } from "@/components/overlays/detailsModal";
import { useDebounce } from "@/hooks/useDebounce";
import { useRandomTranslation } from "@/hooks/useRandomTranslation";
import { useSearchQuery } from "@/hooks/useSearchQuery";
@@ -62,7 +61,6 @@ export function HomePage() {
const s = useSearch(search);
const [showBookmarks, setShowBookmarks] = useState(false);
const [showWatching, setShowWatching] = useState(false);
- const [detailsData, setDetailsData] = useState
();
const { showModal } = useOverlayStack();
const enableDiscover = usePreferencesStore((state) => state.enableDiscover);
const enableFeatured = usePreferencesStore((state) => state.enableFeatured);
@@ -83,11 +81,10 @@ export function HomePage() {
};
const handleShowDetails = async (media: MediaItem | FeaturedMedia) => {
- setDetailsData({
+ showModal("details", {
id: Number(media.id),
type: media.type === "movie" ? "movie" : "show",
});
- showModal("details");
};
const renderHomeSections = () => {
@@ -235,8 +232,6 @@ export function HomePage() {
)}
-
- {detailsData &&