aboutsummaryrefslogtreecommitdiff
path: root/screens/aux.go
diff options
context:
space:
mode:
Diffstat (limited to 'screens/aux.go')
-rw-r--r--screens/aux.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/screens/aux.go b/screens/aux.go
new file mode 100644
index 0000000..b283d5e
--- /dev/null
+++ b/screens/aux.go
@@ -0,0 +1,47 @@
+package screens
+
+import (
+ "fmt"
+
+ "github.com/charmbracelet/bubbles/spinner"
+ tea "github.com/charmbracelet/bubbletea"
+)
+
+func _aux() tea.Model {
+ s := spinner.New()
+ s.Spinner = spinner.Dot
+ return &auxScreen{
+ spinner: s,
+ }
+}
+
+type auxScreen struct {
+ spinner spinner.Model
+}
+
+func (a *auxScreen) Init() tea.Cmd {
+ return a.spinner.Tick
+}
+
+func (a *auxScreen) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
+ switch msg := msg.(type) {
+ case tea.KeyMsg:
+ switch msg.String() {
+ case "ctrl+c", "q":
+ return a, tea.Quit
+ case "r":
+ return a, switchScreen(_root())
+ default:
+ return a, nil
+ }
+ default:
+ var cmd tea.Cmd
+ a.spinner, cmd = a.spinner.Update(msg)
+ return a, cmd
+ }
+}
+
+func (a *auxScreen) View() string {
+ str := fmt.Sprintf("%s Loading forever... Press 'r' to return to root or 'q' to quit.\n\n", a.spinner.View())
+ return str
+}