Skip to content

[GUI] Build frontend framework (routing, layout, Go bridge) #15

Description

@Weidows

Description

Build the React frontend framework with routing, layout, and Go backend bridge.

Tasks

Frontend Project Setup

  • Install frontend dependencies: Tailwind CSS, React Router, icons
  • Set up Tailwind config with custom theme (warm tones matching the CLI aesthetic)
  • Configure proper TypeScript types

Layout

  • Sidebar navigation with all page links and icons
  • Top bar showing active service count and quick actions
  • Main content area for page components
  • Dark/light theme toggle (persisted in localStorage)

Go ↔ JS Bridge

  • Use Wails Bind() to expose ServiceRegistry to frontend
  • Create TypeScript types/interfaces matching the Go Service interface:
    interface ServiceInfo {
      name: string;
      status: 'stopped' | 'running' | 'error';
      description: string;
    }
  • Implement React hooks: useServices(), useService(name)
  • Implement auto-refresh (poll every 2s for service status)

Error Handling

  • Global error boundary component
  • Toast notification system for service status changes
  • Loading states for async operations

Acceptance Criteria

  • Frontend compiles without TypeScript errors
  • Sidebar navigation works for all planned pages
  • Go backend methods are callable from frontend via window.go.main.*
  • Service status refreshes automatically via polling
  • Error toasts show on service failures

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    TODO

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions