@@ -21,7 +21,10 @@ func mainPrompt() (err error) {
2121 "Quit the application" ,
2222 },
2323 }
24- survey .AskOne (prompt , & selection , nil )
24+ err := survey .AskOne (prompt , & selection , nil )
25+ if err != nil {
26+ break
27+ }
2528 switch selection {
2629 case "Create a new event" :
2730 event .CreateEvent ("" , "" )
@@ -45,40 +48,67 @@ func createSpeakerPrompt(city, year string) (err error) {
4548 prompt := & survey.Input {
4649 Message : "Enter the city name:" ,
4750 }
48- survey .AskOne (prompt , & city , survey .Required )
51+ err := survey .AskOne (prompt , & city , survey .Required )
52+ // handle interrupts
53+ if err != nil {
54+ exitCode = false
55+ break
56+ }
4957 }
5058
5159 if year == "" {
5260 prompt := & survey.Input {
5361 Message : "Enter the year:" ,
5462 }
55- survey .AskOne (prompt , & year , survey .Required )
63+ err := survey .AskOne (prompt , & year , survey .Required )
64+ // handle interrupts
65+ if err != nil {
66+ exitCode = false
67+ break
68+ }
5669 }
5770 speaker .CreateSpeaker ("" , city , year )
5871 prompt := & survey.Confirm {
5972 Message : "Do you want to add another speaker?" ,
6073 }
61- survey .AskOne (prompt , & exitCode , nil )
74+ err := survey .AskOne (prompt , & exitCode , nil )
75+ // handle interrupts
76+ if err != nil {
77+ exitCode = false
78+ break
79+ }
6280 }
6381 return
6482}
6583
6684func showSpeakerPrompt (city , year string ) (err error ) {
67-
68- if city == "" {
69- prompt := & survey.Input {
70- Message : "Enter the city name:" ,
85+ var exitCode = true
86+ for exitCode {
87+ if city == "" {
88+ prompt := & survey.Input {
89+ Message : "Enter the city name:" ,
90+ }
91+ err := survey .AskOne (prompt , & city , survey .Required )
92+ // handle interrupts
93+ if err != nil {
94+ exitCode = false
95+ break
96+ }
7197 }
72- survey .AskOne (prompt , & city , survey .Required )
73- }
7498
75- if year == "" {
76- prompt := & survey.Input {
77- Message : "Enter the year:" ,
99+ if year == "" {
100+ prompt := & survey.Input {
101+ Message : "Enter the year:" ,
102+ }
103+ err := survey .AskOne (prompt , & year , survey .Required )
104+ // handle interrupts
105+ if err != nil {
106+ exitCode = false
107+ break
108+ }
78109 }
79- survey .AskOne (prompt , & year , survey .Required )
80- }
81- speaker .ShowSpeakers (city , year )
110+ speaker .ShowSpeakers (city , year )
82111
112+ }
83113 return
84114}
0 commit comments