@@ -4,10 +4,12 @@ import (
44 "errors"
55 "fmt"
66 "sort"
7+ "strings"
78
89 "github.com/charmbracelet/huh"
910 "github.com/charmbracelet/lipgloss"
1011 "github.com/nitrictech/suga/cli/internal/api"
12+ "github.com/nitrictech/suga/cli/internal/config"
1113 "github.com/nitrictech/suga/cli/internal/style"
1214 "github.com/nitrictech/suga/cli/internal/style/colors"
1315 "github.com/nitrictech/suga/cli/internal/style/icons"
@@ -19,6 +21,7 @@ import (
1921)
2022
2123type TeamApp struct {
24+ config * config.Config
2225 apiClient * api.SugaApiClient
2326 // auth uses WorkOSAuth directly because team switching requires
2427 // WorkOS-specific organization ID during token refresh
@@ -27,6 +30,7 @@ type TeamApp struct {
2730}
2831
2932func NewTeamApp (injector do.Injector ) (* TeamApp , error ) {
33+ config := do.MustInvoke [* config.Config ](injector )
3034 apiClient , err := api .NewSugaApiClient (injector )
3135 if err != nil {
3236 return nil , fmt .Errorf ("failed to create API client: %w" , err )
@@ -38,6 +42,7 @@ func NewTeamApp(injector do.Injector) (*TeamApp, error) {
3842 styles := tui .NewAppStyles ()
3943
4044 return & TeamApp {
45+ config : config ,
4146 apiClient : apiClient ,
4247 auth : auth ,
4348 styles : styles ,
@@ -56,7 +61,11 @@ func (t *TeamApp) SwitchTeam(teamSlug string) error {
5661 }
5762
5863 if len (allTeams ) == 0 {
59- fmt .Println ("No teams found. Create a team first to continue." )
64+ url := "the Suga dashboard"
65+ if t .config != nil && strings .TrimSpace (t .config .Url ) != "" {
66+ url = t .config .Url
67+ }
68+ fmt .Printf ("No teams found. Navigate to %s in your browser to create your first team.\n " , style .Teal (url ))
6069 return nil
6170 }
6271
0 commit comments