welcome/app/introduction.go
2025-03-02 22:07:52 -08:00

32 lines
1.2 KiB
Go

package app
import (
"git.sr.ht/~rockorager/vaxis"
"git.tilde.town/nbsp/welcome/ui"
)
type Introduction struct{}
func (view *Introduction) Event(state *ui.State, event vaxis.Event) (processed bool) {
if key, ok := event.(vaxis.Key); ok && key.EventType == vaxis.EventPress {
switch key.String() {
case "Ctrl+c", "Ctrl+d":
close(ui.Quit)
case "Enter":
ui.ViewChange <- NewSettings()
}
processed = true
}
win := state.Window().New(0, 0, 80, state.Window().Height)
win.Wrap(vaxis.Segment{Text: `──── welcome to tilde town ────
`, Style: vaxis.Style{Foreground: vaxis.IndexColor(5)}}, vaxis.Segment{Text: `welcome to tilde town! we're glad you're here.
this short tutorial will help you get accustomed to the terminal — the text-based user interface that you will do most of your interacting with town on. if you're here, this means you've successfully connected to town over ssh — good job! you can handle the rest. i believe in you <3
please make sure your terminal window is decently tall, otherwise some stuff may get cut off.
press Enter to continue to the next page. if you know what you're doing, you can press Ctrl+C or Ctrl+D at any point to exit to a shell.`})
return
}