release v1.2.0
This commit is contained in:
66
server/api/test/test.go
Normal file
66
server/api/test/test.go
Normal file
@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/manifoldco/promptui"
|
||||
)
|
||||
|
||||
type pepper struct {
|
||||
Name string
|
||||
HeatUnit int
|
||||
Peppers int
|
||||
}
|
||||
|
||||
func main() {
|
||||
peppers := []pepper{
|
||||
{Name: "Bell Pepper", HeatUnit: 0, Peppers: 0},
|
||||
{Name: "Banana Pepper", HeatUnit: 100, Peppers: 1},
|
||||
{Name: "Poblano", HeatUnit: 1000, Peppers: 2},
|
||||
{Name: "Jalapeño", HeatUnit: 3500, Peppers: 3},
|
||||
{Name: "Aleppo", HeatUnit: 10000, Peppers: 4},
|
||||
{Name: "Tabasco", HeatUnit: 30000, Peppers: 5},
|
||||
{Name: "Malagueta", HeatUnit: 50000, Peppers: 6},
|
||||
{Name: "Habanero", HeatUnit: 100000, Peppers: 7},
|
||||
{Name: "Red Savina Habanero", HeatUnit: 350000, Peppers: 8},
|
||||
{Name: "Dragon’s Breath", HeatUnit: 855000, Peppers: 9},
|
||||
}
|
||||
|
||||
templates := &promptui.SelectTemplates{
|
||||
Label: "{{ . }}?",
|
||||
Active: "\U0001F336 {{ .Name | cyan }} ({{ .HeatUnit | red }})",
|
||||
Inactive: " {{ .Name | cyan }} ({{ .HeatUnit | red }})",
|
||||
Selected: "\U0001F336 {{ .Name | red | cyan }}",
|
||||
Details: `
|
||||
--------- Pepper ----------
|
||||
{{ "Name:" | faint }} {{ .Name }}/
|
||||
{{ "Heat Unit:" | faint }} {{ .HeatUnit }}
|
||||
{{ "Peppers:" | faint }} {{ .Peppers }}`,
|
||||
}
|
||||
|
||||
searcher := func(input string, index int) bool {
|
||||
pepper := peppers[index]
|
||||
name := strings.Replace(strings.ToLower(pepper.Name), " ", "", -1)
|
||||
input = strings.Replace(strings.ToLower(input), " ", "", -1)
|
||||
|
||||
return strings.Contains(name, input)
|
||||
}
|
||||
|
||||
prompt := promptui.Select{
|
||||
Label: "Spicy Level",
|
||||
Items: peppers,
|
||||
Templates: templates,
|
||||
Size: 4,
|
||||
Searcher: searcher,
|
||||
}
|
||||
|
||||
i, _, err := prompt.Run()
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Prompt failed %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Printf("You choose number %d: %s\n", i+1, peppers[i].Name)
|
||||
}
|
Reference in New Issue
Block a user