separate beads viewer into its own app

This commit is contained in:
Robin Olsen
2026-02-03 16:41:29 +01:00
parent f4b34c393f
commit 93128cb072
3 changed files with 59 additions and 53 deletions

View File

@@ -2,15 +2,9 @@ package main
import (
"context"
"encoding/json"
"fmt"
"os"
"github.com/Dicklesworthstone/beads_viewer/pkg/model"
bv_ui "github.com/Dicklesworthstone/beads_viewer/pkg/ui"
"github.com/LazyBachelor/LazyPM/internal/models"
"github.com/LazyBachelor/LazyPM/internal/service"
tea "github.com/charmbracelet/bubbletea"
"github.com/LazyBachelor/LazyPM/pkg/tui"
)
func main() {
@@ -20,50 +14,7 @@ func main() {
IssuePrefix: "pm",
}
svc, close, err := service.NewServices(context.Background(), config)
if err != nil {
fmt.Fprintf(os.Stderr, "Error initializing services: %v\n", err)
os.Exit(1)
}
defer close()
beadsIssues, err := svc.Beads.AllIssues(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error loading issues: %v\n", err)
os.Exit(1)
}
issues, err := convertToModelIssues(beadsIssues)
if err != nil {
fmt.Fprintf(os.Stderr, "Error converting issues: %v\n", err)
os.Exit(1)
}
model := bv_ui.NewModel(issues, nil, config.BeadsDBPath)
p := tea.NewProgram(model, tea.WithAltScreen())
if _, err := p.Run(); err != nil {
fmt.Fprintf(os.Stderr, "Error running TUI: %v\n", err)
os.Exit(1)
if err := tui.Run(context.Background(), config); err != nil {
panic(err)
}
}
func convertToModelIssues(beadsIssues []models.Issue) ([]model.Issue, error) {
result := make([]model.Issue, 0, len(beadsIssues))
for _, issue := range beadsIssues {
jsonData, err := json.Marshal(issue)
if err != nil {
return nil, fmt.Errorf("failed to marshal issue ID %s: %w", issue.ID, err)
}
var modelIssue model.Issue
if err := json.Unmarshal(jsonData, &modelIssue); err != nil {
return nil, fmt.Errorf("failed to unmarshal issue ID %s: %w", issue.ID, err)
}
result = append(result, modelIssue)
}
return result, nil
}