package wizard

import (
	"fmt"
	"os"

	tea "github.com/charmbracelet/bubbletea"
)

// Run 启动初始化向导
func Run(force bool) error {
	// 检查是否已有配置
	if !force && ConfigExists() {
		fmt.Println("⚠️  检测到已有配置文件")
		fmt.Println("   使用 --force 参数强制重新初始化")
		fmt.Println("   或运行 sunhpc init tui --force")
		return nil
	}

	// 创建程序实例
	p := tea.NewProgram(initialModel())

	// 运行程序
	if _, err := p.Run(); err != nil {
		return fmt.Errorf("初始化向导运行失败：%w", err)
	}

	return nil
}

// getConfigPath 获取配置文件路径
func GetConfigPath() string {
	// 优先使用环境变量
	if path := os.Getenv("SUNHPC_CONFIG"); path != "" {
		return path
	}
	// 默认路径
	return "/etc/sunhpc/config.json"
}

// configExists 检查配置文件是否存在
func ConfigExists() bool {
	configPath := GetConfigPath()
	_, err := os.Stat(configPath)
	return err == nil
}
