100 lines
2.3 KiB
Go
100 lines
2.3 KiB
Go
package wizard
|
|
|
|
import "github.com/charmbracelet/lipgloss"
|
|
|
|
// 颜色定义
|
|
var (
|
|
primaryColor = lipgloss.Color("#7C3AED")
|
|
secondaryColor = lipgloss.Color("#10B981")
|
|
errorColor = lipgloss.Color("#EF4444")
|
|
warnColor = lipgloss.Color("#F59E0B")
|
|
|
|
// 背景色设为无,让终端自己的背景色生效,避免黑块
|
|
bgColor = lipgloss.Color("#1F2937")
|
|
textColor = lipgloss.Color("#FFFFFF")
|
|
mutedColor = lipgloss.Color("#B0B0B0")
|
|
)
|
|
|
|
// 容器样式
|
|
var containerStyle = lipgloss.NewStyle().
|
|
Padding(2, 4).
|
|
BorderStyle(lipgloss.RoundedBorder()).
|
|
BorderForeground(primaryColor).
|
|
//Background(bgColor). // 注释掉背景色,防止在某些终端出现黑块
|
|
Foreground(textColor).
|
|
//Width(80).
|
|
Align(lipgloss.Center)
|
|
|
|
// 标题样式
|
|
var titleStyle = lipgloss.NewStyle().
|
|
Bold(true).
|
|
Foreground(primaryColor).
|
|
MarginBottom(1)
|
|
|
|
var subTitleStyle = lipgloss.NewStyle().
|
|
Foreground(mutedColor).
|
|
MarginBottom(2)
|
|
|
|
// 按钮样式
|
|
var normalButton = lipgloss.NewStyle().
|
|
Padding(0, 2).
|
|
Foreground(lipgloss.Color("#666666")) // 深灰色,更暗
|
|
|
|
var selectedButton = lipgloss.NewStyle().
|
|
Padding(0, 2).
|
|
Foreground(lipgloss.Color("#3d4747ff")). // 亮绿色
|
|
Bold(true)
|
|
|
|
// 输入框样式
|
|
var inputBox = lipgloss.NewStyle().
|
|
BorderStyle(lipgloss.RoundedBorder()).
|
|
BorderForeground(primaryColor).
|
|
Padding(0, 1)
|
|
|
|
var labelStyle = lipgloss.NewStyle().
|
|
Foreground(mutedColor).
|
|
Width(12).
|
|
Align(lipgloss.Right)
|
|
|
|
// 协议框样式
|
|
var agreementBox = lipgloss.NewStyle().
|
|
BorderStyle(lipgloss.RoundedBorder()).
|
|
BorderForeground(warnColor).
|
|
Padding(1, 2).
|
|
//Width(70).
|
|
Align(lipgloss.Left)
|
|
|
|
// 总结框样式
|
|
var summaryBox = lipgloss.NewStyle().
|
|
BorderStyle(lipgloss.DoubleBorder()).
|
|
BorderForeground(primaryColor).
|
|
Padding(0, 0).
|
|
Foreground(textColor)
|
|
|
|
// 进度条样式
|
|
var progressStyle = lipgloss.NewStyle().Foreground(primaryColor)
|
|
|
|
// 提示信息样式
|
|
var hintStyle = lipgloss.NewStyle().
|
|
Foreground(mutedColor).
|
|
Italic(true)
|
|
|
|
// 成功/错误样式
|
|
var successTitle = lipgloss.NewStyle().
|
|
Bold(true).
|
|
Foreground(secondaryColor)
|
|
|
|
var successMsg = lipgloss.NewStyle().
|
|
Foreground(textColor)
|
|
|
|
var errorTitle = lipgloss.NewStyle().
|
|
Bold(true).
|
|
Foreground(errorColor)
|
|
|
|
var errorMsg = lipgloss.NewStyle().
|
|
Foreground(textColor)
|
|
|
|
var infoStyle = lipgloss.NewStyle().
|
|
Foreground(primaryColor).
|
|
Bold(true)
|