node build fixed
This commit is contained in:
122
seanime-2.9.10/internal/core/tui.go
Normal file
122
seanime-2.9.10/internal/core/tui.go
Normal file
@@ -0,0 +1,122 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"seanime/internal/constants"
|
||||
"strings"
|
||||
|
||||
"github.com/charmbracelet/lipgloss"
|
||||
"golang.org/x/term"
|
||||
)
|
||||
|
||||
func PrintHeader() {
|
||||
// Get terminal width
|
||||
physicalWidth, _, _ := term.GetSize(int(os.Stdout.Fd()))
|
||||
|
||||
// Color scheme
|
||||
// primary := lipgloss.Color("#7B61FF")
|
||||
// secondary := lipgloss.Color("#5243CB")
|
||||
// highlight := lipgloss.Color("#14F9D5")
|
||||
// versionBgColor := lipgloss.Color("#8A2BE2")
|
||||
subtle := lipgloss.AdaptiveColor{Light: "#D9DCCF", Dark: "#383838"}
|
||||
|
||||
// Base styles
|
||||
docStyle := lipgloss.NewStyle().Padding(1, 2)
|
||||
if physicalWidth > 0 {
|
||||
docStyle = docStyle.MaxWidth(physicalWidth)
|
||||
}
|
||||
|
||||
// Build the header
|
||||
doc := strings.Builder{}
|
||||
|
||||
// Logo with gradient effect
|
||||
logoStyle := lipgloss.NewStyle().Bold(true)
|
||||
logoLines := strings.Split(asciiLogo(), "\n")
|
||||
|
||||
// Create a gradient effect for the logo
|
||||
gradientColors := []string{"#9370DB", "#8A2BE2", "#7B68EE", "#6A5ACD", "#5243CB"}
|
||||
for i, line := range logoLines {
|
||||
colorIdx := i % len(gradientColors)
|
||||
coloredLine := logoStyle.Foreground(lipgloss.Color(gradientColors[colorIdx])).Render(line)
|
||||
doc.WriteString(coloredLine + "\n")
|
||||
}
|
||||
|
||||
// App name and version with box
|
||||
titleBox := lipgloss.NewStyle().
|
||||
Border(lipgloss.NormalBorder()).
|
||||
BorderForeground(subtle).
|
||||
Foreground(lipgloss.Color("#FFF7DB")).
|
||||
// Background(secondary).
|
||||
Padding(0, 1).
|
||||
Bold(true).
|
||||
Render("Seanime")
|
||||
|
||||
versionBox := lipgloss.NewStyle().
|
||||
Border(lipgloss.NormalBorder()).
|
||||
BorderForeground(subtle).
|
||||
Foreground(lipgloss.Color("#ed4760")).
|
||||
// Background(versionBgColor).
|
||||
Padding(0, 1).
|
||||
Bold(true).
|
||||
Render(constants.Version)
|
||||
|
||||
// Version name with different style
|
||||
versionName := lipgloss.NewStyle().
|
||||
Italic(true).
|
||||
Border(lipgloss.NormalBorder()).
|
||||
BorderForeground(subtle).
|
||||
Foreground(lipgloss.Color("#FFF7DB")).
|
||||
// Background(versionBgColor).
|
||||
Padding(0, 1).
|
||||
Render(constants.VersionName)
|
||||
|
||||
// Combine title elements
|
||||
titleRow := lipgloss.JoinHorizontal(lipgloss.Center, titleBox, versionBox, versionName)
|
||||
|
||||
// Add a decorative line
|
||||
// lineWidth := min(80, physicalWidth-4)
|
||||
// line := lipgloss.NewStyle().
|
||||
// Foreground(subtle).
|
||||
// Render(strings.Repeat("─", lineWidth))
|
||||
|
||||
// Put it all together
|
||||
doc.WriteString("\n" +
|
||||
lipgloss.NewStyle().Align(lipgloss.Center).Render(titleRow))
|
||||
|
||||
// Print the result
|
||||
fmt.Println(docStyle.Render(doc.String()))
|
||||
}
|
||||
|
||||
// func asciiLogo() string {
|
||||
// return `⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⠀⠀⠀⢠⣾⣧⣤⡖⠀⠀⠀⠀⠀⠀⠀
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠋⠀⠉⠀⢄⣸⣿⣿⣿⣿⣿⣥⡤⢶⣿⣦⣀⡀
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡆⠀⠀⠀⣙⣛⣿⣿⣿⣿⡏⠀⠀⣀⣿⣿⣿⡟
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⠷⣦⣤⣤⣬⣽⣿⣿⣿⣿⣿⣿⣿⣟⠛⠿⠋⠀
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠋⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⡆⠀⠀
|
||||
// ⠀⠀⠀⠀⣠⣶⣶⣶⣿⣦⡀⠘⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠈⢹⡏⠁⠀⠀
|
||||
// ⠀⠀⠀⢀⣿⡏⠉⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡆⠀⢀⣿⡇⠀⠀⠀
|
||||
// ⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡘⣿⣿⣃⠀⠀⠀
|
||||
// ⣴⣷⣀⣸⣿⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⠹⣿⣯⣤⣾⠏⠉⠉⠉⠙⠢⠀
|
||||
// ⠈⠙⢿⣿⡟⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣄⠛⠉⢩⣷⣴⡆⠀⠀⠀⠀⠀
|
||||
// ⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣀⡠⠋⠈⢿⣇⠀⠀⠀⠀⠀
|
||||
// ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
// ⠀⠀⠀⠀⠀`
|
||||
// }
|
||||
|
||||
func asciiLogo() string {
|
||||
return `⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣴⡇⠀⠀⠀
|
||||
⠀⢸⣿⣿⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣿⣿⣿⣿⣿⡇⠀⠀⠀
|
||||
⠀⠘⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀
|
||||
⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀
|
||||
⠀⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⡻⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿⣿⣿⣿⡌⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⢀⣠⣤⣴⣶⣶⣶⣦⣤⣤⣄⣉⡉⠛⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⢀⣴⣾⣿⣿⣿⣿⡿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀ ⠉⠉⠀⠀⠉⠉⠀⠀ ⠉ ⠉⠉⠉⠉⠉⠉⠉⠛⠛⠛⠲⠦⠄`
|
||||
}
|
||||
Reference in New Issue
Block a user