Client-side PowerShell parameter detection with stepper UI for
converting hardcoded values to template parameters.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Instead of an empty gap between header and Generate button, display
a small info box explaining no parameters are needed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add 'Back to Script Library' link at top of ScriptTemplateListView.
Change right pane in ScriptLibraryPage from overflow-hidden to
overflow-y-auto so the script preview scrolls for long scripts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ScriptBodyEditor: overlay now has overflow-hidden and syncs scroll
position from the textarea via onScroll, so only one scrollbar appears.
ScriptManagePage: outer scroll container is now full-width so scrolling
works even when hovering outside the max-w content area.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace pulsing dot with a light cyan background pill that's visible
but not distracting. Remove overflow-hidden from ScriptBodyEditor
wrapper so the textarea content scrolls properly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add pulsing cyan dot + hover gear rotation to make the link noticeable.
Add overflow-y-auto to ScriptManagePage so the editor form scrolls.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The chunk-reload logic used Date.now() and sessionStorage during render,
triggering react-hooks/purity. Moved to useEffect so side effects run
after commit, fixing the CI lint failure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove leftover text-left on TemplateCard div (was from button era)
- Use warning text as React key instead of array index
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The right pane is now ScriptPreview-only. Generate/Download/Copy controls
moved to ScriptConfigurePane in the left pane (configure mode).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add paneMode state ('browse' | 'configure') local to page
- Move ScriptFilterBar inside left pane column (hidden in configure mode)
- inputValue owned at page level to survive mode transitions
- Left pane: ScriptFilterBar + ScriptTemplateList in browse; ScriptConfigurePane in configure
- Right pane: ScriptPreview only (read-only); empty state when no template selected
- canGenerate derived from usePermissions().isEngineer (matching ScriptGeneratorPanel pattern)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ScriptParameterField: extract error <p> from select/boolean input blocks and remove error prop from Input/Textarea components so all types render help_text before error via unified bottom rendering
- ScriptFilterBar: replace native <input> with shared <Input> component from @/components/ui/Input, preserving search icon via absolute positioning wrapper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>