diff --git a/internal/tui/components/anim/example/main.go b/internal/tui/components/anim/example/main.go deleted file mode 100644 index 0bf47654ecbeeb3293c8ad59b40ec35016607b1c..0000000000000000000000000000000000000000 --- a/internal/tui/components/anim/example/main.go +++ /dev/null @@ -1,90 +0,0 @@ -package main - -import ( - "fmt" - "image/color" - "os" - - tea "github.com/charmbracelet/bubbletea/v2" - anim "github.com/charmbracelet/crush/internal/tui/components/anim" - "github.com/charmbracelet/crush/internal/tui/styles" - "github.com/charmbracelet/lipgloss/v2" -) - -type model struct { - anim tea.Model - bgColor color.Color - quitting bool - w, h int -} - -func (m model) Init() tea.Cmd { - return m.anim.Init() -} - -func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { - switch msg := msg.(type) { - case tea.WindowSizeMsg: - m.w, m.h = msg.Width, msg.Height - return m, nil - case tea.KeyMsg: - switch msg.String() { - case "q", "ctrl+c": - m.quitting = true - return m, tea.Quit - default: - return m, nil - } - case anim.StepMsg: - var cmd tea.Cmd - m.anim, cmd = m.anim.Update(msg) - return m, cmd - default: - return m, nil - } -} - -func (m model) View() tea.View { - if m.w == 0 || m.h == 0 { - return tea.NewView("") - } - - v := tea.NewView("") - v.BackgroundColor = m.bgColor - - if m.quitting { - return v - } - - if a, ok := m.anim.(*anim.Anim); ok { - l := lipgloss.NewLayer(a.View()). - Width(a.Width()). - X(m.w/2 - a.Width()/2). - Y(m.h / 2) - - v = tea.NewView(lipgloss.NewCanvas(l)) - v.BackgroundColor = m.bgColor - return v - } - return v -} - -func main() { - t := styles.CurrentTheme() - p := tea.NewProgram(model{ - bgColor: t.BgBase, - anim: anim.New(anim.Settings{ - Label: "Hello", - Size: 50, - LabelColor: t.FgBase, - GradColorA: t.Primary, - GradColorB: t.Secondary, - CycleColors: true, - }), - }, tea.WithAltScreen()) - - if _, err := p.Run(); err != nil { - fmt.Fprintf(os.Stderr, "Uh oh: %v\n", err) - os.Exit(1) - } -}