diff --git a/src/app/GlobalProvider.tsx b/src/app/GlobalProvider.tsx index 0d6b2e8..219fc72 100644 --- a/src/app/GlobalProvider.tsx +++ b/src/app/GlobalProvider.tsx @@ -53,6 +53,8 @@ type GlobalCtxType = { getSpecialVersionsList(game?: number | undefined): GameVersion[] selectedGame: number | null setViewingInfoFromDownloads: Dispatch> + showModInfo: number + setShowModInfo: Dispatch> } const GlobalCtx = createContext(null) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 55c580f..de53d6a 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -78,6 +78,7 @@ export default function RootLayout ({ const [selectedGame, setSelectedGame] = useState(null) const [category, setCategory] = useState(-1) + const [showModInfo, setShowModInfo] = useState(-1) const pathname = usePathname() const revisionCheck = useRef(false) @@ -174,11 +175,13 @@ export default function RootLayout ({ } else if (viewingInfoFromDownloads) { setViewingInfoFromDownloads(false) setPopupMode(0) + } else if (popupMode == 3 && showModInfo != -1) { + setShowModInfo(-1) } else { setFadeOut(true) setTimeout(() => setShowPopup(false), 200) } - }, [popupMode, selectedGame, pathname, viewingInfoFromDownloads]) + }, [popupMode, selectedGame, pathname, viewingInfoFromDownloads, showModInfo]) useEffect(() => { const unlisteners: (() => void)[] = [] @@ -660,7 +663,9 @@ export default function RootLayout ({ closePopup, getSpecialVersionsList, selectedGame, - setViewingInfoFromDownloads + setViewingInfoFromDownloads, + showModInfo, + setShowModInfo }} >
) => { if (e.target === e.currentTarget) { + if (showModInfo != -1) setShowModInfo(-1) if (viewingInfoFromDownloads) { setPopupMode(0) setViewingInfoFromDownloads(false) @@ -704,7 +710,7 @@ export default function RootLayout ({ selectedGame && pathname === '/') || viewingInfoFromDownloads || - popupMode == 4 + (popupMode == 3 && showModInfo != -1) ? faChevronLeft : faXmark } diff --git a/src/componets/popups/ModDownloads.tsx b/src/componets/popups/ModDownloads.tsx index d3a6b5c..4962594 100644 --- a/src/componets/popups/ModDownloads.tsx +++ b/src/componets/popups/ModDownloads.tsx @@ -17,7 +17,9 @@ export default function ModDownloadsPopup () { getGameInfo, getVersionInfo, managingVersion, - downloadedVersionsConfig + downloadedVersionsConfig, + showModInfo, + setShowModInfo } = useGlobal() const [mods, setMods] = useState(0) @@ -60,14 +62,14 @@ export default function ModDownloadsPopup () { setMods(1) } }} - hidden={typeof mods == 'number'} + hidden={typeof mods == 'number' || showModInfo != -1} >

{versionInfo?.displayName} Mod Manager

- {typeof mods != 'number' ? ( + {typeof mods != 'number' && showModInfo == -1 ? (
-
-
- ) - }) - : mods - .filter( - v => - !downloadedVersionsConfig || - !Object.keys(downloadedVersionsConfig.mods).includes( + : !Object.keys(downloadedVersionsConfig.mods).includes( String(v.id) - ) - ) - .map(v => { - return ( -
{ + return ( +
+
+

+ {v.name}{' '} + + v{v.latestVersion} + +

+

+ Made by {v.creators[0]} + {v.creators.length > 1 + ? ' + ' + (v.creators.length - 1) + ' more' + : null} +

+
+
+ + -
-
- ) - })} + {tab == 0 ? 'View' : 'Get'} + +
+ + ) + })} )}