Add web UI to task command

t-311·WorkTask·
·
·
·Omni/Task.hs
Created1 month ago·Updated1 month ago

Dependencies

Description

Edit

Summary

Migrate the web UI from jr web to task web. This provides a browser-based view of tasks.

Current Location

The web UI code is in Omni/Jr/Web.hs. After t-310 removes Omni/Jr.hs, this code needs a new home.

Target

task web [--port=PORT]

Implementation Options

1. Move to Omni/Task/Web.hs - Keep web UI as part of task system 2. Move to Omni/Agent/Web.hs - If it's more agent-focused than task-focused

Steps

1. Review Omni/Jr/Web.hs to understand what it does 2. Move to appropriate location (likely Omni/Task/Web.hs) 3. Add web command to task CLI docopt 4. Wire up the command in task's move function 5. Test the web UI still works

Acceptance Criteria

  • [ ] task web launches the web UI
  • [ ] --port flag works
  • [ ] Web UI shows task list, details, etc.
  • [ ] Old Omni/Jr/Web.hs code removed (as part of t-310)

Timeline (3)

💬[human]1 month ago

Note: Omni/Jr/Web.hs was removed in commit 1343c07 (t-310). To recover the code for migration, use:

git show 1343c07^:Omni/Jr/Web.hs > Omni/Task/Web.hs
git show 1343c07^:Omni/Jr/Web/Handlers.hs
git show 1343c07^:Omni/Jr/Web/Pages.hs
git show 1343c07^:Omni/Jr/Web/Partials.hs
git show 1343c07^:Omni/Jr/Web/Components.hs
git show 1343c07^:Omni/Jr/Web/Types.hs
git show 1343c07^:Omni/Jr/Web/Style.hs

The web UI was a Servant-based app with HTMX frontend. Key files:

  • Web.hs: Main server setup, routes
  • Handlers.hs: API handlers
  • Pages.hs: Full page renders
  • Partials.hs: HTMX partial responses
  • Components.hs: Reusable UI components
  • Types.hs: Web-specific types (SortOrder, etc.)
  • Style.hs: CSS generation
🔄[human]Open → Done1 month ago