feat: add descriptive hint #25

Merged
santiagon610 merged 3 commits from ns/moreFixes into main 2026-03-15 04:28:32 +00:00
santiagon610 commented 2026-03-15 03:51:06 +00:00 (Migrated from github.com)

Add main-screen hint when Generate is disabled, return-to-main session check, Help/About flags, and Windows per-user install option

Problem

  • Unclear why Generate is disabled: When the Generate Prompts button was disabled (e.g. after a config reset or before choosing an output directory), the UI gave no indication of what was missing. Users could have a valid AWS session, a selected voice, and prompts entered but still see a greyed-out button—often because the output directory is only set in Settings → Saving Prompts.
  • Session not re-checked when leaving Settings: If the user configured AWS in Settings and clicked Return without using "Check credentials and permissions," the app did not re-run the session check, so the main view could still show the button as disabled even when credentials were valid.
  • No install-scope choice on Windows: The Windows release only shipped an MSI installer (per-machine). Users could not choose a per-user install without custom WiX work.

Solution

  • Hint under Generate button: Add a computed list of missing requirements (AWS sign-in, output directory, prompts, voice) and show a "To enable: …" message under the button whenever it is disabled and not generating, so users know to e.g. select an output directory in Settings → Saving Prompts.
  • Re-check session on Return: When the user leaves Settings via Return, call checkSession() before switching to the main view so newly saved credentials are detected and the button state updates.
  • Help and About feature flags: Replace the single combined flag with SHOW_HELP and SHOW_ABOUT in app-config (both default false), and gate the Help button, footer About link, and About modal on these flags so they can be toggled independently.
  • Windows: NSIS installer with install-scope choice: Add an NSIS installer (.exe) with installMode: "both" so users can choose per-user or system-wide at install time. Build both MSI and NSIS on Windows in CI, upload both artifacts, and attach both to GitHub Releases. Keep the MSI for per-machine and enterprise use.

Changes

  • src/App.vue: Add generateButtonBlockers computed and a "To enable: …" hint below the Generate button when it is disabled and not generating. Add returnToMain() to run checkSession() then switch to main, and use it for the Settings Return button. Use SHOW_HELP and SHOW_ABOUT from app-config for the Help button, footer, and About modal. Add .generate-hint style for the hint text. In loadVoices(), set default voice when the current selection is empty or not in the loaded list (so the button can enable after session becomes valid).
  • src/app-config.ts: Add SHOW_HELP and SHOW_ABOUT (both false).
  • src-tauri/tauri.conf.json: Under bundle.windows, add nsis with installMode: "both".
  • .github/workflows/build-installers.yml: In the Windows job, use --bundles msi,nsis and add an upload step for the windows-nsis artifact (bundle/nsis/*.exe).
  • .github/workflows/release-assets.yml: Include artifacts/windows-nsis/*.exe in the release upload.
  • .github/workflows/ci.yml: Remove push: branches: [main] so CI runs only on pull requests to main.
  • README.md: In "Getting the app," mention Windows MSI and NSIS and that the NSIS .exe offers per-user or system-wide install. In the Build section, document building with --bundles msi,nsis and the NSIS install-mode behavior.
## Add main-screen hint when Generate is disabled, return-to-main session check, Help/About flags, and Windows per-user install option ### Problem * **Unclear why Generate is disabled:** When the Generate Prompts button was disabled (e.g. after a config reset or before choosing an output directory), the UI gave no indication of what was missing. Users could have a valid AWS session, a selected voice, and prompts entered but still see a greyed-out button—often because the output directory is only set in Settings → Saving Prompts. * **Session not re-checked when leaving Settings:** If the user configured AWS in Settings and clicked Return without using "Check credentials and permissions," the app did not re-run the session check, so the main view could still show the button as disabled even when credentials were valid. * **No install-scope choice on Windows:** The Windows release only shipped an MSI installer (per-machine). Users could not choose a per-user install without custom WiX work. ### Solution * **Hint under Generate button:** Add a computed list of missing requirements (AWS sign-in, output directory, prompts, voice) and show a "To enable: …" message under the button whenever it is disabled and not generating, so users know to e.g. select an output directory in Settings → Saving Prompts. * **Re-check session on Return:** When the user leaves Settings via Return, call `checkSession()` before switching to the main view so newly saved credentials are detected and the button state updates. * **Help and About feature flags:** Replace the single combined flag with `SHOW_HELP` and `SHOW_ABOUT` in app-config (both default `false`), and gate the Help button, footer About link, and About modal on these flags so they can be toggled independently. * **Windows: NSIS installer with install-scope choice:** Add an NSIS installer (`.exe`) with `installMode: "both"` so users can choose per-user or system-wide at install time. Build both MSI and NSIS on Windows in CI, upload both artifacts, and attach both to GitHub Releases. Keep the MSI for per-machine and enterprise use. ### Changes * **`src/App.vue`:** Add `generateButtonBlockers` computed and a "To enable: …" hint below the Generate button when it is disabled and not generating. Add `returnToMain()` to run `checkSession()` then switch to main, and use it for the Settings Return button. Use `SHOW_HELP` and `SHOW_ABOUT` from app-config for the Help button, footer, and About modal. Add `.generate-hint` style for the hint text. In `loadVoices()`, set default voice when the current selection is empty or not in the loaded list (so the button can enable after session becomes valid). * **`src/app-config.ts`:** Add `SHOW_HELP` and `SHOW_ABOUT` (both `false`). * **`src-tauri/tauri.conf.json`:** Under `bundle.windows`, add `nsis` with `installMode: "both"`. * **`.github/workflows/build-installers.yml`:** In the Windows job, use `--bundles msi,nsis` and add an upload step for the `windows-nsis` artifact (`bundle/nsis/*.exe`). * **`.github/workflows/release-assets.yml`:** Include `artifacts/windows-nsis/*.exe` in the release upload. * **`.github/workflows/ci.yml`:** Remove `push: branches: [main]` so CI runs only on pull requests to `main`. * **`README.md`:** In "Getting the app," mention Windows MSI and NSIS and that the NSIS `.exe` offers per-user or system-wide install. In the Build section, document building with `--bundles msi,nsis` and the NSIS install-mode behavior.
Sign in to join this conversation.
No description provided.