Repository navigation
feat(admin): minimize a floating window instead of dismissing it - #660
Open
mostafasadeghidev wants to merge 1 commit into
Open
mostafasadeghidev wants to merge 1 commit into
mostafasadeghidev wants to merge 1 commit into
Conversation
A floating window that stays useful while the user works around it — the upload queue mid-transfer, a bulk edit mid-review, the viewer — offered two choices: close it and lose it, or let it cover the grid. A `minimizable` FloatingWindow now gets a collapse control beside Close that folds it to its title bar; its header actions fold with the body they act on. The upload queue and the bulk edit window opt in. The media viewer builds its own shell rather than FloatingWindow, so it wires the same control itself. Its height is a fixed length, so hiding the body alone left a full-size empty pane: `data-minimized` collapses the height too, while the top offset still clamps against the full height so a window folded near the bottom edge does not jump. Minimized state is per-session, and a folded window stays where it sits — the position is the user's own, and folding to a corner would discard it. The tests render the real windows and press the real control; each was checked against a window that hides nothing or keeps its height. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mostafasadeghidev
added a commit
to mostafasadeghidev/Instatic
that referenced
this pull request
Oct 16, 2026
…tests The stack already carried CoreBunch#501's minimize code, identical to CoreBunch#660's; the two conflicts were lines CoreBunch#660 does not have (CoreBunch#500's useTopmostEscape, the viewer's purge-confirmation state from CoreBunch#497/CoreBunch#507), kept as they were, and the merge's second `minimizable` attribute on two windows is dropped. What this adds is CoreBunch#660's docs and its tests, which render the real windows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mostafasadeghidev
added a commit
to mostafasadeghidev/Instatic
that referenced
this pull request
Oct 16, 2026
…ch#501 is now three PRs CoreBunch#335 and CoreBunch#499 move to the landed table (shipped in v0.0.21). CoreBunch#501 was closed in review and asked to come back split: its rows become CoreBunch#658 (select-all), CoreBunch#659 (upload queue stays closed) and CoreBunch#660 (minimize). The three parts of CoreBunch#501 that are in none of them — the Uploads progress label, the queue's bottom-left default, and the Dialog body size — are listed as carried-but-not-proposed, so the README still says what a server runs. Also: what an installation needs before moving to plain upstream, since upstream's 031 repeats an ALTER this branch ran as 025. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out of #501, per review: minimize alone, on
main.What
A
minimizableprop onFloatingWindowadds a collapse control beside Close that folds the window to its title bar. Header actions fold with the body they act on. The upload queue and the bulk edit window opt in.The media viewer builds its own shell rather than
FloatingWindow, so it wires the same control itself.Why
The upload queue mid-transfer, a bulk edit mid-review, the viewer beside the grid: closing loses the panel, and keeping it covers the grid.
Details
data-minimizedcollapses the height as well, while the top offset still clamps against the full height, so a window folded near the bottom edge doesn't jump.Tests
minimizeWindow.test.tsxrenders the realFloatingWindowandMediaViewerWindowand presses the real control. Each was checked against a window that hides nothing or keeps its height.Overlaps
This touches the same lines as #500 (
FloatingWindow: itsuseTopmostEscapecall sits beside the new state) and as #497/#507 (MediaViewerWindow's header). Each overlap is a line or two, and whichever lands second is a trivial rebase. I'll do it.Verification
Docs:
docs/features/media.md, Floating windows.