fix signature and make better chaining

This commit is contained in:
Robin Olsen
2026-02-19 17:32:39 +01:00
parent 0f41f76679
commit ed9662ff07
2 changed files with 21 additions and 5 deletions

View File

@@ -71,6 +71,10 @@ func BaseQuestions(interfaceType task.InterfaceType) taskui.Questions {
}
}
func Question(fields ...huh.Field) *huh.Group {
return huh.NewGroup(fields...)
}
func ReplQuestion(interfaceType task.InterfaceType, fields ...huh.Field) *huh.Group {
if interfaceType != InterfaceREPL {
return nil
@@ -78,14 +82,14 @@ func ReplQuestion(interfaceType task.InterfaceType, fields ...huh.Field) *huh.Gr
return huh.NewGroup(fields...)
}
func WebQuestion(questions *taskui.Questions, interfaceType task.InterfaceType, fields ...huh.Field) *huh.Group {
func WebQuestion(interfaceType task.InterfaceType, fields ...huh.Field) *huh.Group {
if interfaceType != InterfaceWeb {
return nil
}
return huh.NewGroup(fields...)
}
func TUIQuestion(questions *taskui.Questions, interfaceType task.InterfaceType, fields ...huh.Field) *huh.Group {
func TUIQuestion(interfaceType task.InterfaceType, fields ...huh.Field) *huh.Group {
if interfaceType != InterfaceTUI {
return nil
}

View File

@@ -40,9 +40,21 @@ func (t *CodingTask) Details() taskui.TaskDetails {
func (t *CodingTask) Questions(interfaceType task.InterfaceType) (questions taskui.Questions) {
return BaseQuestions(interfaceType).
With(ReplQuestion(interfaceType,
huh.NewInput().Title("Please write your code in the 'code.txt' file and save it.").
Placeholder("Write your code here...")),
With(
ReplQuestion(interfaceType,
huh.NewConfirm().Title("Question only for REPL interface")),
).
With(
WebQuestion(interfaceType,
huh.NewInput().Title("Question only for Web interface")),
).
With(
TUIQuestion(interfaceType,
huh.NewConfirm().Title("Question only for TUI interface")),
).
With(
Question(
huh.NewConfirm().Title("One last question for all interfaces!")),
)
}