package main import ( "flag" "fmt" "log" "os" tea "github.com/charmbracelet/bubbletea" "skyrama-tui/internal/adminui" "skyrama-tui/internal/db" ) func main() { dsn := flag.String("dsn", "", "MySQL DSN. Overrides SKYRAMA_DSN env var.\n"+ " Format: user:pass@tcp(host:port)/dbname?parseTime=true") flag.Parse() if *dsn == "" { *dsn = os.Getenv("SKYRAMA_DSN") } if *dsn == "" { *dsn = "skyramaUser:Skyrama1234.@tcp(127.0.0.1:3306)/skyrama_clone?parseTime=true" } client, err := db.NewAdminClient(*dsn) if err != nil { fmt.Fprintf(os.Stderr, "cannot connect to database: %v\n", err) os.Exit(1) } defer client.Close() p := tea.NewProgram(adminui.NewApp(client), tea.WithAltScreen()) if _, err := p.Run(); err != nil { log.Fatalf("fatal: %v", err) } }