Display ranking only for positive values

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
Yohann D'ANELLO 2022-05-04 17:28:39 +02:00
parent 4ecbe2540e
commit f6cf031a22
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
1 changed files with 10 additions and 8 deletions

18
main.go
View File

@ -86,10 +86,10 @@ func teaHandler(s ssh.Session) (tea.Model, []tea.ProgramOption) {
ti.CharLimit = 26 ti.CharLimit = 26
ti.Width = 26 ti.Width = 26
content, err := ioutil.ReadFile("cemantics.txt") content, err := ioutil.ReadFile("cemantix.txt")
if err != nil { if err != nil {
log.Printf("Error while opening cemantics.txt: %s", err) log.Printf("Error while opening cemantix.txt: %s", err)
return nil, nil return nil, nil
} }
@ -169,10 +169,10 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
} }
lineWidth := lipgloss.Width(fmt.Sprintf( lineWidth := lipgloss.Width(fmt.Sprintf(
"* %s %s %s %4d ", "* %s %s %s %4d ",
strings.Repeat(" ", m.maxLength), strings.Repeat(" ", m.maxLength),
"-100.00", "-100.00",
" ", " ",
42, 42,
)) ))
m.progressBar.Width = msg.Width - lineWidth m.progressBar.Width = msg.Width - lineWidth
@ -221,10 +221,10 @@ func (m model) InputWord() (model, tea.Cmd) {
m.words = InsertWord(m.words, w) m.words = InsertWord(m.words, w)
lineWidth := lipgloss.Width(fmt.Sprintf( lineWidth := lipgloss.Width(fmt.Sprintf(
"* %s %s %s %5d ", "* %s %s %s %5d ",
strings.Repeat(" ", m.maxLength), strings.Repeat(" ", m.maxLength),
"-00.00", "-00.00",
" ", " ",
1000, 1000,
)) ))
m.progressBar.Width = m.wordsViewport.Width - lineWidth m.progressBar.Width = m.wordsViewport.Width - lineWidth
@ -255,8 +255,10 @@ func (w word) View(m model) string {
} }
var progressBar string var progressBar string
var ranking string = " "
if w.ranking > 0 { if w.ranking > 0 {
progressBar = m.progressBar.ViewAs(float64(w.ranking) / 1000.0) progressBar = m.progressBar.ViewAs(float64(w.ranking) / 1000.0)
ranking = fmt.Sprintf("%4d", w.ranking)
} }
distStr := fmt.Sprintf("%.02f", w.distance) distStr := fmt.Sprintf("%.02f", w.distance)
@ -271,11 +273,11 @@ func (w word) View(m model) string {
} }
return fmt.Sprintf( return fmt.Sprintf(
"* %s %s %s %4d %s\n", "* %s %s %s %s %s\n",
w.content+strings.Repeat(" ", m.maxLength-utf8.RuneCountInString(w.content)), w.content+strings.Repeat(" ", m.maxLength-utf8.RuneCountInString(w.content)),
distStr, distStr,
emoji, emoji,
w.ranking, ranking,
progressBar, progressBar,
) )
} }