Tui 重构代码逻辑
This commit is contained in:
@@ -6,8 +6,12 @@ import "github.com/charmbracelet/lipgloss"
|
||||
var (
|
||||
primaryColor = lipgloss.Color("#7C3AED")
|
||||
secondaryColor = lipgloss.Color("#10B981")
|
||||
titleColor = lipgloss.Color("#8b19a2")
|
||||
errorColor = lipgloss.Color("#EF4444")
|
||||
warnColor = lipgloss.Color("#F59E0B")
|
||||
btnTextColor = lipgloss.Color("#666666") // 深灰色
|
||||
btnbordColor = lipgloss.Color("#3b4147")
|
||||
btnFocusColor = lipgloss.Color("#ffffff")
|
||||
|
||||
// 背景色设为无,让终端自己的背景色生效,避免黑块
|
||||
bgColor = lipgloss.Color("#1F2937")
|
||||
@@ -16,82 +20,92 @@ var (
|
||||
)
|
||||
|
||||
// 容器样式
|
||||
var containerStyle = lipgloss.NewStyle().
|
||||
Padding(2, 4).
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
BorderForeground(primaryColor).
|
||||
//Background(bgColor). // 注释掉背景色,防止在某些终端出现黑块
|
||||
Foreground(textColor).
|
||||
//Width(80).
|
||||
Align(lipgloss.Center)
|
||||
var (
|
||||
// 基础布局样式
|
||||
appStyle = lipgloss.NewStyle().
|
||||
Padding(1, 1).
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
BorderForeground(primaryColor).
|
||||
Foreground(textColor).
|
||||
Align(lipgloss.Center).
|
||||
Height(40)
|
||||
|
||||
// 标题样式
|
||||
var titleStyle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(primaryColor).
|
||||
MarginBottom(1)
|
||||
// 标题样式
|
||||
titleStyle = lipgloss.NewStyle().
|
||||
Foreground(titleColor).
|
||||
Padding(0, 1).
|
||||
Bold(true).
|
||||
Align(lipgloss.Center)
|
||||
|
||||
var subTitleStyle = lipgloss.NewStyle().
|
||||
Foreground(mutedColor).
|
||||
MarginBottom(2)
|
||||
// 子标题/标签样式
|
||||
labelStyle = lipgloss.NewStyle().
|
||||
Width(30).
|
||||
Align(lipgloss.Right).
|
||||
PaddingRight(2)
|
||||
|
||||
// 按钮样式
|
||||
var normalButton = lipgloss.NewStyle().
|
||||
Padding(0, 2).
|
||||
Foreground(lipgloss.Color("#666666")) // 深灰色,更暗
|
||||
valueStyle = lipgloss.NewStyle().
|
||||
Foreground(textColor).
|
||||
Width(50)
|
||||
|
||||
var selectedButton = lipgloss.NewStyle().
|
||||
Bold(true)
|
||||
// 输入框/列表内容样式
|
||||
inputBoxStyle = lipgloss.NewStyle().
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
BorderForeground(btnbordColor).
|
||||
Padding(0, 1).
|
||||
Width(50)
|
||||
|
||||
// 输入框样式
|
||||
var inputBox = lipgloss.NewStyle().
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
BorderForeground(primaryColor).
|
||||
Padding(0, 1)
|
||||
// 按钮基础样式
|
||||
btnBaseStyle = lipgloss.NewStyle().
|
||||
Foreground(btnTextColor).
|
||||
Padding(0, 2).
|
||||
Margin(1, 1).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(btnbordColor)
|
||||
|
||||
var labelStyle = lipgloss.NewStyle().
|
||||
Foreground(mutedColor).
|
||||
Width(12).
|
||||
Align(lipgloss.Right)
|
||||
// 按钮选中/聚焦样式
|
||||
btnSelectedStyle = lipgloss.NewStyle().
|
||||
Foreground(btnFocusColor).
|
||||
Padding(0, 2).
|
||||
Margin(1, 1).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(btnbordColor)
|
||||
|
||||
// 协议框样式
|
||||
var agreementBox = lipgloss.NewStyle().
|
||||
BorderStyle(lipgloss.RoundedBorder()).
|
||||
BorderForeground(warnColor).
|
||||
Padding(1, 2).
|
||||
//Width(70).
|
||||
Align(lipgloss.Left)
|
||||
splitlineStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#888888"))
|
||||
|
||||
// 总结框样式
|
||||
var summaryBox = lipgloss.NewStyle().
|
||||
BorderStyle(lipgloss.DoubleBorder()).
|
||||
BorderForeground(primaryColor).
|
||||
Padding(0, 0).
|
||||
Foreground(textColor)
|
||||
// 错误提示样式
|
||||
errorStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#ff5555")).
|
||||
Bold(true).
|
||||
Width(76)
|
||||
|
||||
// 进度条样式
|
||||
var progressStyle = lipgloss.NewStyle().Foreground(primaryColor)
|
||||
// 协议文本样式
|
||||
licenseTextStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#f8f8f2")).
|
||||
Width(76)
|
||||
|
||||
// 提示信息样式
|
||||
var hintStyle = lipgloss.NewStyle().
|
||||
Foreground(mutedColor).
|
||||
Italic(true)
|
||||
// 提示文本样式
|
||||
hintStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#888888")).
|
||||
Width(76)
|
||||
|
||||
// 成功/错误样式
|
||||
var successTitle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(secondaryColor)
|
||||
infoStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#888888")).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(btnbordColor)
|
||||
|
||||
var successMsg = lipgloss.NewStyle().
|
||||
Foreground(textColor)
|
||||
// 成功/错误提示样式
|
||||
successTitle = lipgloss.NewStyle().
|
||||
Foreground(secondaryColor).
|
||||
Bold(true)
|
||||
|
||||
var errorTitle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(errorColor)
|
||||
successMsg = lipgloss.NewStyle().
|
||||
Foreground(textColor)
|
||||
|
||||
var errorMsg = lipgloss.NewStyle().
|
||||
Foreground(textColor)
|
||||
errorTitle = lipgloss.NewStyle().
|
||||
Bold(true).
|
||||
Foreground(errorColor)
|
||||
|
||||
var infoStyle = lipgloss.NewStyle().
|
||||
Foreground(primaryColor).
|
||||
Bold(true)
|
||||
errorMsg = lipgloss.NewStyle().
|
||||
Foreground(textColor)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user