Phase 5: TUI client (Bubbletea)
- cmd/tui/main.go: entry point with --server, --token, --version flags
- cmd/tui/config.go: config from ~/.config/dumpster/config.yaml or env vars
- cmd/tui/auth.go: login flow, session cookie management
- cmd/tui/api.go: HTTP client for servers, channels, messages, voice
- cmd/tui/model.go: root bubbletea model with state management
- cmd/tui/theme.go: Gruvbox dark lipgloss styles
- cmd/tui/servers.go: server bar with [D] style initials
- cmd/tui/channels.go: channel list with #text and 🔊 voice
- cmd/tui/chat.go: IRC-style message viewport with colored usernames
- cmd/tui/input.go: message input with > _ prompt
- cmd/tui/members.go: member list with ●/◐/○ status
- cmd/tui/ws.go: WebSocket client for real-time events
- cmd/tui/voice.go: voice state tracking and mute toggle
- cmd/tui/keys.go: vim-style keybindings (j/k, g/G, Tab, /, etc)
- cmd/tui/views.go: multi-pane layout rendering
- Makefile: added build-tui and run-tui targets
- go.mod/go.sum: added charmbracelet dependencies
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
.PHONY: build build-web build-server run dev docker-up docker-down clean
|
||||
.PHONY: build build-web build-server build-tui run run-tui dev docker-up docker-down clean
|
||||
|
||||
# Build everything
|
||||
build: build-web build-server
|
||||
@@ -7,6 +7,10 @@ build: build-web build-server
|
||||
build-server:
|
||||
CGO_ENABLED=0 go build -o dumpster-server ./cmd/server
|
||||
|
||||
# Build the TUI client
|
||||
build-tui:
|
||||
CGO_ENABLED=0 go build -o dumpster-tui ./cmd/tui
|
||||
|
||||
# Build the web frontend
|
||||
build-web:
|
||||
cd web && npm run build
|
||||
@@ -15,6 +19,10 @@ build-web:
|
||||
run: build-server
|
||||
./dumpster-server
|
||||
|
||||
# Run the TUI client
|
||||
run-tui: build-tui
|
||||
./dumpster-tui
|
||||
|
||||
# Run web dev server (in a separate terminal)
|
||||
dev-web:
|
||||
cd web && npm run dev
|
||||
@@ -37,6 +45,6 @@ docker-clean:
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
rm -f dumpster-server
|
||||
rm -f dumpster-server dumpster-tui
|
||||
rm -rf web/dist
|
||||
rm -rf web/node_modules
|
||||
|
||||
Reference in New Issue
Block a user