> **Before opening a PR:** discuss new features on
[Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small
improvements as
[issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose).
You must be assigned to an `approved` issue — unsolicited PRs will be
auto-closed.
## Description:
Closed `BaseModal` instances rendered their complete headers and bodies
during page startup. A hidden cosmetics modal consequently generated
more than 1,200 pattern-preview data URLs in one Lit microtask
checkpoint, blocking the renderer for 11–30 seconds and delaying
unrelated promise continuations such as the clan-tag ownership spinner.
This hotfix keeps the lightweight `<o-modal>` shell mounted, but defers
its header and body until the modal opens and unmounts that content
again on close. It does not change the cosmetics UI.
Validation:
- `vitest run tests/client/BaseModal.test.ts`
- `npm run build-prod`
## Please complete the following:
- [x] I have added screenshots for all UI updates (no UI changes)
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file (no new user-facing text)
- [x] I have added relevant tests to the test directory
## Please put your Discord username so you can be contacted if a bug or
regression is found:
jish