package ui

import (
	"errors"
	"fes/src/config"
	"fmt"
	"strings"

	"github.com/fatih/color"
)

func Path(path string, err error) {
	path = strings.TrimPrefix(path, "/")

	if path == "" {
		path = "(null)"
	}

	fmt.Printf(" > %s ", path)
	if err == nil {
		OK("ok")
		return
	} else if errors.Is(err, config.ErrRouteMiss) {
		WARN(config.ErrRouteMiss.Error())
	} else {
		ERROR("bad")
	}
}

func Warning(msg string, err error) error {
	fmt.Printf("fes: %s: %v\n", color.MagentaString("warning"), err)
	return err
}

func Error(msg string, err error) error {
	fmt.Printf("fes: %s: %v\n", color.RedString("error"), err)
	return err
}

func Fatal(msg string, err error) error {
	fmt.Printf("fes: %s: %v\n", color.RedString("fatal"), err)
	panic(err)
}

func OK(msg string) {
	color.Green(msg)
}

func WARN(msg string) {
	color.Magenta(msg)
}

func ERROR(msg string) {
	color.Red(msg)
}
