1package main
2
3// This is an example for testing logo treatments. Do not remove.
4
5import (
6 "fmt"
7 "os"
8
9 "charm.land/lipgloss/v2"
10 "github.com/charmbracelet/crush/internal/ui/logo"
11 "github.com/charmbracelet/crush/internal/ui/styles"
12 "github.com/charmbracelet/x/term"
13)
14
15func main() {
16 w, _, err := term.GetSize(os.Stdout.Fd())
17 if err != nil {
18 fmt.Fprintf(os.Stderr, "Could not get terminal size: %s", err)
19 }
20
21 s := styles.CharmtonePantera()
22 opts := logo.Opts{
23 FieldColor: s.Logo.FieldColor,
24 TitleColorA: s.Logo.TitleColorA,
25 TitleColorB: s.Logo.TitleColorB,
26 CharmColor: s.Logo.CharmColor,
27 VersionColor: s.Logo.VersionColor,
28 Width: w,
29 Unstable: true,
30 }
31
32 renderCompact := func(hyper bool) string {
33 opts.Hyper = hyper
34 return logo.Render(s.Logo.GradCanvas, "v1.0.0", true, opts)
35 }
36
37 renderWide := func(hyper bool) string {
38 opts.Hyper = hyper
39 return logo.Render(s.Logo.GradCanvas, "v1.0.0", false, opts)
40 }
41
42 lipgloss.Println(
43 lipgloss.JoinHorizontal(lipgloss.Top, renderCompact(false), " ", renderCompact(true)),
44 )
45
46 for i := range 6 {
47 lipgloss.Println(renderWide(i > 0))
48 }
49}