Private
Public Access
chore(conductor): Add new track 'approve_modal_ux_20260601'
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# Track approve_modal_ux_20260601 Context
|
||||
|
||||
- [Specification](./spec.md)
|
||||
- [Implementation Plan](./plan.md)
|
||||
- [Metadata](./metadata.json)
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"track_id": "approve_modal_ux_20260601",
|
||||
"type": "bug",
|
||||
"status": "new",
|
||||
"created_at": "2026-06-01T00:00:00Z",
|
||||
"updated_at": "2026-06-01T00:00:00Z",
|
||||
"description": "Fix Approve Modal sizing and inline full preview"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# Implementation Plan: Approve Modal UX Fixes
|
||||
|
||||
## Phase 1: Modal Layout Updates
|
||||
- [ ] Task: Make Modal Resizable
|
||||
- [ ] In `src/gui_2.py` (`render_approve_script_modal`), set `imgui.set_next_window_size(imgui.ImVec2(800, 600), imgui.Cond_.first_use_ever)`.
|
||||
- [ ] Change `imgui.WindowFlags_.always_auto_resize` to `0` in `imgui.begin_popup_modal`.
|
||||
- [ ] Task: Fix Full Preview and Input Height
|
||||
- [ ] Add `ui_approve_modal_preview = False` to `App.__init__`.
|
||||
- [ ] Replace `app.show_windows["Text Viewer"]` checkbox logic in `render_approve_script_modal` with `app.ui_approve_modal_preview`.
|
||||
- [ ] When `app.ui_approve_modal_preview` is True, render the script in a read-only child or using `markdown_helper`.
|
||||
- [ ] When False, set the `imgui.input_text_multiline` height to dynamically fill the remaining space (`imgui.ImVec2(-1, -40)` or similar).
|
||||
|
||||
## Phase 2: Verification
|
||||
- [ ] Task: Verification
|
||||
- [ ] Trigger a script approval and resize the modal.
|
||||
- [ ] Toggle "Show Full Preview" and ensure it renders within the modal safely.
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Verification' (Protocol in workflow.md)
|
||||
@@ -0,0 +1,16 @@
|
||||
# Specification: Approve Modal UX Fixes
|
||||
|
||||
## 1. Overview
|
||||
The "Approve PowerShell Command" modal is currently too small and cannot be resized. Additionally, the "Show Full Preview" option triggers the external "Text Viewer" window, which cannot be interacted with because the modal blocks all background UI inputs.
|
||||
|
||||
## 2. Functional Requirements
|
||||
* **Resizable Modal:** The modal must allow user resizing and should have a larger default minimum size.
|
||||
* **Inline Preview:** The "Show Full Preview" option must render the full script *inside* the modal itself (e.g., as a read-only scrollable child or markdown block), rather than triggering an external window.
|
||||
* **Responsive Input:** The script input text area should expand to fill the available vertical space of the modal, rather than being fixed to 200px.
|
||||
|
||||
## 3. Non-Functional Requirements
|
||||
* The modal must continue to reliably block the execution thread until the user approves or rejects the script.
|
||||
|
||||
## 4. Acceptance Criteria
|
||||
* The modal can be resized by dragging the corners.
|
||||
* Clicking "Show Full Preview" toggles an inline preview without locking the UI.
|
||||
Reference in New Issue
Block a user