waveterm/frontend/app/workspace
Copilot 9d4acb7aad
Add builder-launch strip to AppsFloatingWindow (#2979)
AppsFloatingWindow currently lists local apps but does not provide an
in-context way to open the app builder picker. This change adds a bottom
ghost-style action strip (`+ Build/Edit Apps`) that launches the builder
via Electron preload with `openBuilder(null)`.

- **What changed**
  - Added a new bottom strip action inside `AppsFloatingWindow`:
    - Label: `+ Build/Edit Apps`
- Visual style: ghost-like footer strip with top border, hover state,
full-width click target
- Wired the strip to call the preload API and close the floating window:
    - `getApi().openBuilder(null)` (`null` app id opens the app picker)
- Kept the change scoped to `frontend/app/workspace/widgets.tsx` with no
behavior changes to app-grid item launching.

- **Implementation detail**
  - Imported `getApi` from `@/store/global`
  - Added a memoized handler for builder launch:
  
```tsx
const handleOpenBuilder = useCallback(() => {
    getApi().openBuilder(null);
    onClose();
}, [onClose]);
```

- **UI preview**
-
<screenshot>https://github.com/user-attachments/assets/1448588f-ff1d-41b5-af72-2849135ca1f3</screenshot>

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/wavetermdev/waveterm/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Co-authored-by: sawka <mike@commandline.dev>
2026-03-04 16:18:29 -08:00
..
widgetfilter.test.ts Add optional per-workspace widget visibility via workspaces in widgets.json (#2898) 2026-02-19 16:14:22 -08:00
widgetfilter.ts Add optional per-workspace widget visibility via workspaces in widgets.json (#2898) 2026-02-19 16:14:22 -08:00
widgets.tsx Add builder-launch strip to AppsFloatingWindow (#2979) 2026-03-04 16:18:29 -08:00
workspace-layout-model.ts waveapps builder window (scaffolding, restructure AI panel to work in both builder and tab windows) (#2482) 2025-10-26 17:48:01 -07:00
workspace.tsx Implement AI "stop" -- in the client, open ai responses/chat, and gemini backends (#2704) 2025-12-19 16:59:31 -08:00