Skip to content

feat(desktop): split installed mods by location - #146

Merged
ShulhaOleh merged 17 commits into
mainfrom
feat/installed-location-tabs
Oct 17, 2026
Merged

ShulhaOleh merged 17 commits into
mainfrom
feat/installed-location-tabs

Conversation

@ShulhaOleh

Copy link
Copy Markdown
Member

Summary

Splits the Installed page by where mods are installed, so mods from different folders no longer share one mixed list.

  • Games that install mods into more than one place (PAYDAY 3, Crime Boss, PAYDAY 2, PDTH) now show a tab per location in the page title, styled like the source switcher on Browse Mods. Each tab shows its mod count, a dot when something in it needs attention, and an open folder button on the active tab. Movies and INI presets get their own Game files tab.
  • Games with a single location (RAID, Ready or Not) look the same as before.
  • Locations have clear names based on what they hold: Pak mods, UE4SS mods, SuperBLT mods, DAHM mods, Asset overrides, ModKit mods and Legacy paks. Settings uses the same names for its folder buttons. Each game package now declares which loader reads which folder, and package validation checks it.
  • Search looks through every tab. When nothing matches on the current tab, the page says which tab has matches and offers to switch to it.
  • A mod installed into two locations shows on both tabs, and uninstall, enable, disable, reinstall and Manage files act on all of its files.
  • Folders show on every tab that holds their mods. New folder stays on the main tab, where app folders apply.
  • New folder is an icon button like the other header buttons, and the open folder button sits after refresh and health.
  • Reordering only renumbers mods within the same location. Before, moving a Crime Boss ModKit mod could rename legacy pak files.
  • Renaming, moving and deleting a folder now updates every location that holds mods in it, and never touches unrelated folders with the same name.
  • The preview has a new library profile with mods in several locations.

Type of change

  • Application/code
  • Translation
  • Documentation
  • Other

Translation (if applicable)

  • Language:
  • Locale code:

See the translation guide.

Validation

  • Full local repository checks (bun checks)
  • Relevant local checks
  • CI only
  • Not applicable

Details:

cargo fmt, cargo clippy and cargo test pass, as do bun typecheck, bun lint, the format check, bun check-i18n, bun check-commands, the renderer tests and the preview tests. Every commit was also checked on its own. Checked by hand in the preview on PAYDAY 3, Crime Boss, RAID and Browse Mods, including the minimum window width. Two App.test.tsx tests are flaky under full suite load on main as well. No dependency changes.

Known limitation, unchanged by this PR: UE4SS mods nested inside an app folder are probably not loaded by UE4SS.

@github-actions

Copy link
Copy Markdown
Contributor

Deploying Modrex previews with  Cloudflare Pages  Cloudflare Pages

App preview:https://app-preview.modrex.net/pr/146
Site preview:https://site-preview.modrex.net/pr/146

View logs: app | site

@ShulhaOleh
ShulhaOleh merged commit f684782 into main Oct 17, 2026
19 checks passed
@ShulhaOleh
ShulhaOleh deleted the feat/installed-location-tabs branch October 17, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant