diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 04e3f1b0..85cc0ba2 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -12,6 +12,7 @@ import { NotificationOverlay } from "./components/notification/notification-over import { PageStateService } from "./services/page-state.service"; import MapsPage from "./pages/maps-page.component"; import "tailwindcss/tailwind.css"; +import { BsmIframeView } from "./components/shared/bsm-map-preview.component"; export default function App() { @@ -38,6 +39,7 @@ export default function App() { +
diff --git a/src/renderer/components/maps-mangement-components/map-item.component.tsx b/src/renderer/components/maps-mangement-components/map-item.component.tsx index d0429b27..b1a6b2e6 100644 --- a/src/renderer/components/maps-mangement-components/map-item.component.tsx +++ b/src/renderer/components/maps-mangement-components/map-item.component.tsx @@ -222,11 +222,6 @@ export const MapItem = memo(({hash, title, autor, songAutor, coverUrl, songUrl, }, areEqual) function areEqual(prevProps: MapItemProps, nextProps: MapItemProps): boolean { - Array.from(Object.entries(prevProps)).forEach(v => { - if(!equal(prevProps[v[0]], nextProps[v[0]])){ - console.log(v[0]); - } - }); return equal(prevProps, nextProps); } diff --git a/src/renderer/components/modal/modal-types/iframe-modal.component.tsx b/src/renderer/components/modal/modal-types/iframe-modal.component.tsx deleted file mode 100644 index a6cc6c24..00000000 --- a/src/renderer/components/modal/modal-types/iframe-modal.component.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { ModalComponent } from "renderer/services/modale.service" - -export const IframeModal: ModalComponent = ({resolver, data}) => { - return ( -
- -
- ) -} diff --git a/src/renderer/components/shared/bsm-map-preview.component.tsx b/src/renderer/components/shared/bsm-map-preview.component.tsx new file mode 100644 index 00000000..815f942c --- /dev/null +++ b/src/renderer/components/shared/bsm-map-preview.component.tsx @@ -0,0 +1,28 @@ +import { AnimatePresence, motion } from "framer-motion"; +import { useRef } from "react"; +import { useClickOutside } from "renderer/hooks/use-click-outside.hook"; +import { useObservable } from "renderer/hooks/use-observable.hook" +import { LinkOpenerService } from "renderer/services/link-opener.service"; + +export function BsmIframeView() { + + const linkService = LinkOpenerService.getInstance() + + const iframeUrl = useObservable(linkService.iframeLink$); + const ref = useRef(null); + useClickOutside(ref, () => linkService.closeIframe()); + + return ( + + {iframeUrl && ( +
+ + +