From 730174b768cfc1e9f7c2332cd423633d67bd9420 Mon Sep 17 00:00:00 2001 From: neoapps-dev Date: Wed, 16 Sep 2026 21:56:18 +0300 Subject: [PATCH] feat: show title image on versionsview if windowheight is sufficient --- src/pages/App.tsx | 55 ++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/src/pages/App.tsx b/src/pages/App.tsx index a6cf3db..4a4e19b 100644 --- a/src/pages/App.tsx +++ b/src/pages/App.tsx @@ -1,6 +1,11 @@ import { useEffect, useState, useMemo, useCallback, useRef } from "react"; import { useTranslation } from "react-i18next"; -import { motion, AnimatePresence, MotionConfig } from "framer-motion"; +import { + motion, + AnimatePresence, + MotionConfig, + getDefaultTransition, +} from "framer-motion"; import "../css/App.css"; import HomeView from "../components/views/HomeView"; import SettingsView from "../components/views/SettingsView"; @@ -105,6 +110,12 @@ export default function App() { message: string; options?: ToastOptions; } | null>(null); + const [windowHeight, setWindowHeight] = useState(window.innerHeight); + useEffect(() => { + const onResize = () => setWindowHeight(window.innerHeight); + window.addEventListener("resize", onResize); + return () => window.removeEventListener("resize", onResize); + }, []); useEffect(() => { const pm = PluginManager.instance; pm.setNavigateCallback((viewId) => { @@ -294,23 +305,27 @@ export default function App() { const selectedVersionName = selectedEdition?.name ?? ""; const hasAnyInstall = game.installs.length > 0; const titleImage = selectedEdition?.titleImage ?? "/images/MenuTitle.png"; - const TITLE_HIDDEN_VIEWS = new Set([ - //neo: why an entire Set for that? yes. the answer is yes. - "workshop", - "lceonline", - "devtools", - "guides", - "pck-editor", - "arc-editor", - "loc-editor", - "grf-editor", - "col-editor", - "options-editor", - "model-editor", - "swf-editor", - "goldmapper", - "versions", //neo: didnt expect that but oh well - ]); + const titleHiddenViews = useMemo( + () => + new Set([ + //neo: why an entire Set for that? yes. the answer is yes. + "workshop", + "lceonline", + "devtools", + "guides", + "pck-editor", + "arc-editor", + "loc-editor", + "grf-editor", + "col-editor", + "options-editor", + "model-editor", + "swf-editor", + "goldmapper", + windowHeight >= 744 ? null : "versions", + ]), + [windowHeight], + ); useEffect(() => { const handleContextMenu = (e: MouseEvent) => e.preventDefault(); document.addEventListener("contextmenu", handleContextMenu); @@ -629,7 +644,7 @@ export default function App() {
{activeView !== "credits" && - !TITLE_HIDDEN_VIEWS.has(activeView) && ( + !titleHiddenViews.has(activeView) && ( )} {activeView !== "credits" && - !TITLE_HIDDEN_VIEWS.has(activeView) && ( + !titleHiddenViews.has(activeView) && (