From 3a2c92614c83ba043f048ea54160412de6c22874 Mon Sep 17 00:00:00 2001 From: Unifox Date: Fri, 7 Feb 2025 23:14:50 -0700 Subject: [PATCH] Move file-size-text.tsx into mod-item Since FileSizeText will only ever be used on ModItems --- .../components/shared/file-size-text.tsx | 38 ------------------- .../slides/mods/mod-item.component.tsx | 38 ++++++++++++++++++- 2 files changed, 37 insertions(+), 39 deletions(-) delete mode 100644 src/renderer/components/shared/file-size-text.tsx diff --git a/src/renderer/components/shared/file-size-text.tsx b/src/renderer/components/shared/file-size-text.tsx deleted file mode 100644 index 29e89cb8..00000000 --- a/src/renderer/components/shared/file-size-text.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import Tippy from "@tippyjs/react"; -import { CSSProperties } from "react"; - -type Props = { - fileSize?: number; - wantInfoStyle: CSSProperties; -} - -export function FileSizeText({ fileSize, wantInfoStyle }: Props) { - - const verifyFileSize = fileSize !== undefined; - - const isMediumMod = verifyFileSize && fileSize > 1024 * 1024 * 50; // 50MB - - const isLargeMod = verifyFileSize && fileSize > 1024 * 1024 * 100; // 100MB - - const getFormattedSize = () : string => { - if (!verifyFileSize) - return `-`; - if (fileSize < 1024 * 1024) - return `${(fileSize/1024).toFixed(2)}KB`; - return `${(fileSize/1024/1024).toFixed(2)}MB`; - }; - - return ( - - - - {getFormattedSize()} - - - ); -} diff --git a/src/renderer/components/version-viewer/slides/mods/mod-item.component.tsx b/src/renderer/components/version-viewer/slides/mods/mod-item.component.tsx index 8202f0dc..e0088e87 100644 --- a/src/renderer/components/version-viewer/slides/mods/mod-item.component.tsx +++ b/src/renderer/components/version-viewer/slides/mods/mod-item.component.tsx @@ -7,7 +7,7 @@ import useDoubleClick from "use-double-click"; import { useOnUpdate } from "renderer/hooks/use-on-update.hook"; import striptags from "striptags"; import { safeGt } from "shared/helpers/semver.helpers"; -import { FileSizeText } from "renderer/components/shared/file-size-text"; +import Tippy from "@tippyjs/react"; type Props = { className?: string; @@ -22,6 +22,42 @@ type Props = { onUninstall?: () => void; }; +type FileSizeProps = { + fileSize?: number; + wantInfoStyle: CSSProperties; +}; + +function FileSizeText({ fileSize, wantInfoStyle }: FileSizeProps) { + + const verifyFileSize = fileSize !== undefined; + + const isMediumMod = verifyFileSize && fileSize > 1024 * 1024 * 50; // 50MB + + const isLargeMod = verifyFileSize && fileSize > 1024 * 1024 * 100; // 100MB + + const getFormattedSize = () : string => { + if (!verifyFileSize) + return `-`; + if (fileSize < 1024 * 1024) + return `${(fileSize/1024).toFixed(2)}KB`; + return `${(fileSize/1024/1024).toFixed(2)}MB`; + }; + + return ( + + + + {getFormattedSize()} + + + ); +} + export function ModItem({ className, mod, installedVersion, isDependency, isSelected, onChange, wantInfo, onWantInfo, disabled, onUninstall }: Props) { const themeColor = useThemeColor("second-color");