Saberlve
d624315fbf
fix(import-window): move window shell outside layout to fix z-index stacking
...
The window-shell was incorrectly placed inside the first .panel section.
.panel creates a stacking context via backdrop-filter/overflow, trapping
the position:fixed window frame. Moving window-shell and minimized-bar
to be direct children of <body> (outside <main class="layout">) so
z-index:40 properly covers all panels.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:21:53 +08:00
Saberlve
4829dce3a6
Merge branch 'feature/import-floating-window' into master
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:18:08 +08:00
Saberlve
42b80215fd
test(import-window): fix window-project-label to import-window-project-label
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:13:16 +08:00
Saberlve
034da6e136
test(import-window): update UI tests for floating window
...
Updates test assertions to match new window IDs and function names:
- import-window-shell, window-minimize-button, window-maximize-button,
window-close-button, window-restore-button, import-window-minimized-bar
- window-project-label, window-collection-tree, window-collection-items
- window-selected-count, window-clear-selection-button
- window-import-selected-items-button
- isImportWindowOpen, openImportWindow, closeImportWindow
- New window management functions in CSS and JS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:08:07 +08:00
Saberlve
947cef19ec
feat(import-window): implement drag, minimize, maximize, close + rename refs
...
- Add window management functions: applyWindowPositionAndSize,
initWindowFromSession, startWindowDrag, moveWindowDrag, endWindowDrag,
minimizeWindow, maximizeWindow, restoreWindow
- Wire window control button event listeners
- Rename openImportModal→openImportWindow, closeImportModal→closeImportWindow
- Update all element references from modal*→window* names
- Remove selectDescendantsButton references
- openImportWindow now calls initWindowFromSession on open
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:58:45 +08:00
Saberlve
35d1db4fd7
feat(import-window): add window state management to JS
...
Adds WINDOW_SESSION_STORAGE_KEY, readWindowSessionState(),
window state properties to state object, new element references
in elements object, and persistWindowSessionState().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:53:51 +08:00
Saberlve
998551ab19
feat(import-window): replace modal CSS with window frame CSS
...
Replaces .modal-shell, .modal-overlay, .modal-card with
.window-shell, .window-frame supporting:
- 90vw x 75vh centered floating window
- minimize/maximize/close buttons
- draggable toolbar
- resizable window
- session-persisted position/size
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:52:33 +08:00
Saberlve
fa0b4933c3
feat(import-window): add window state management to JS
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:49:31 +08:00
Saberlve
803cccfbd1
feat(import-window): replace modal HTML with window frame structure
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:43:28 +08:00
Saberlve
05a5e99ee0
feat(import-window): replace modal CSS with window frame CSS
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:35:55 +08:00
Saberlve
5dee76ecd1
docs: add import floating window design spec
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 15:21:07 +08:00
Saberlve
6003300135
docs: revise zotero import spec for fullscreen modal
2026-04-15 14:52:25 +08:00
Saberlve
3667e313a4
refactor: derive modal project label from canonical state
2026-04-15 12:54:27 +08:00
Saberlve
1660e1203d
test: restore narrow modal state contract
2026-04-15 12:54:27 +08:00
Saberlve
00106e11d5
fix: reset modal load state after fetch errors
2026-04-15 12:54:27 +08:00
Saberlve
3a1c046a68
fix: sequence modal collection item loads
2026-04-15 12:54:27 +08:00
Saberlve
4b6c78105e
fix: validate modal session state
2026-04-15 12:54:27 +08:00
Saberlve
a117a29b0d
fix: keep modal rows compact and label project by name
2026-04-15 12:54:27 +08:00
Saberlve
ec32d591df
feat: wire modal import state
2026-04-15 12:54:27 +08:00
Saberlve
d52a52b574
fix: add minimal zotero modal lifecycle
2026-04-15 12:22:49 +08:00
Saberlve
0e62d0fc4e
fix: simplify zotero import modal shell
2026-04-15 12:21:17 +08:00
Saberlve
4db4632ac8
fix: trim zotero import modal shell
2026-04-15 12:18:34 +08:00
Saberlve
6a2250ef1a
feat: add zotero import modal shell
2026-04-15 12:16:31 +08:00
Saberlve
f7554b889a
test: split modal import ui contract
2026-04-15 12:12:12 +08:00
Saberlve
ff9f64675c
test: define modal import ui contract
2026-04-15 12:10:33 +08:00
Saberlve
2566508b48
docs: revise zotero import spec for modal flow
2026-04-15 12:04:51 +08:00
Saberlve
0c0c773e61
docs: add zotero collection import design
2026-04-15 11:48:43 +08:00