diff --git a/package-lock.json b/package-lock.json index b7d0133d..0ab63e1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11928,6 +11928,11 @@ "resolve": "^1.22.1" } }, + "tailwindcss-scoped-groups": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tailwindcss-scoped-groups/-/tailwindcss-scoped-groups-2.0.0.tgz", + "integrity": "sha512-uE9PJzfjqzsKlZ0dUjG5yPwBmkEZ/qmrXMLjykRs0otolUHAIclbtV49JQGyeYLo8YA7WPMgzKOg2e4snVyHqw==" + }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", diff --git a/package.json b/package.json index e98258bf..63037887 100644 --- a/package.json +++ b/package.json @@ -246,6 +246,7 @@ "rxjs": "^7.5.6", "semver": "^7.3.8", "tailwind-scrollbar-hide": "^1.1.7", + "tailwindcss-scoped-groups": "^2.0.0", "use-double-click": "^1.0.5", "uuid": "^9.0.0" }, diff --git a/src/renderer/components/shared/bsm-checkbox.component.tsx b/src/renderer/components/shared/bsm-checkbox.component.tsx index eaba2db1..59ab476d 100644 --- a/src/renderer/components/shared/bsm-checkbox.component.tsx +++ b/src/renderer/components/shared/bsm-checkbox.component.tsx @@ -15,8 +15,8 @@ export function BsmCheckbox({className, checked, onChange, disabled} : Props) { } return ( -
- {!disabled && } +
+ {!disabled && } {e.stopPropagation(); handleClick()}}> 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 453e0d24..bad56dd9 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 @@ -8,9 +8,9 @@ import { useObservable } from "renderer/hooks/use-observable.hook"; import { PageStateService } from "renderer/services/page-state.service"; import useDoubleClick from 'use-double-click'; -type Props = {mod: Mod, installedVersion: string, isDependency?: boolean, isSelected?: boolean, onChange?: (val: boolean) => void, wantInfo?: boolean, onWantInfo?: (mod: Mod) => void} +type Props = {className?: string, mod: Mod, installedVersion: string, isDependency?: boolean, isSelected?: boolean, onChange?: (val: boolean) => void, wantInfo?: boolean, onWantInfo?: (mod: Mod) => void} -export function ModItem({mod, installedVersion, isDependency, isSelected, onChange, wantInfo, onWantInfo}: Props) { +export function ModItem({className, mod, installedVersion, isDependency, isSelected, onChange, wantInfo, onWantInfo}: Props) { const modsManager = BsModsManagerService.getInstance(); const pageState = PageStateService.getInstance(); @@ -23,7 +23,7 @@ export function ModItem({mod, installedVersion, isDependency, isSelected, onChan onSingleClick: e => handleWantInfo(e), onDoubleClick: e => handleOnChange(e), ref: clickRef, - latency: 200 + latency: 175 }) const wantInfoStyle: CSSProperties = wantInfo ? {borderColor: themeColor} : {borderColor: "transparent"}; @@ -39,17 +39,17 @@ export function ModItem({mod, installedVersion, isDependency, isSelected, onChan const isChecked = isDependency || isSelected || mod.required; return ( -
-
+
  • +
    - {mod.name} - {installedVersion || "-"} - {mod.version} - {mod.description} -
    - {installedVersion && {e.stopPropagation(); uninstall()}}/>} + {mod.name} + {installedVersion || "-"} + {mod.version} + {mod.description} +
    + {installedVersion && {e.stopPropagation(); uninstall()}}/>}
    -
    +
  • ) } diff --git a/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx b/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx index 44d4fa57..ef3922cc 100644 --- a/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx +++ b/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx @@ -68,14 +68,13 @@ export function ModsGrid({modsMap, installed, modsSelected, onModChange, moreInf ({text: "pages.version-viewer.mods.mods-grid.header-bar.dropdown.uninstall-all", icon: "trash", onClick: handleUninstallAll}), ]}/> + { Array.from(modsMap.keys()).map(key => modsMap.get(key).some(mod => mod.name.toLowerCase().includes(filter)) && (

      {key}

      {modsMap.get(key).map(mod => mod.name.toLowerCase().includes(filter) && ( -
    • - onModChange(val, mod)} onWantInfo={onWantInfos} wantInfo={mod.name === moreInfoMod?.name}/> -
    • + onModChange(val, mod)} onWantInfo={onWantInfos} wantInfo={mod.name === moreInfoMod?.name}/> ))}
    )) diff --git a/tailwind.config.js b/tailwind.config.js index 42ff802e..34588d5d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -6,7 +6,7 @@ module.exports = { darkMode: 'class', content: ['./src/renderer/**/*.tsx'], mode: 'jit', - plugins: [require('tailwind-scrollbar-hide'), require('tailwind-scrollbar')({ nocompatible: true })], + plugins: [require('tailwind-scrollbar-hide'), require('tailwind-scrollbar')({ nocompatible: true }), require("tailwindcss-scoped-groups")({groups: ["one"]})], theme:{ colors:{ ...colors,