package service

import "strings"

// AllowedBoardIcons 与前端 BOARD_ICON_OPTIONS 的 key 保持一致
var AllowedBoardIcons = map[string]struct{}{
	"code-2": {}, "coffee": {}, "help-circle": {}, "message-square": {},
	"lightbulb": {}, "book-open": {}, "gamepad-2": {}, "palette": {},
	"music": {}, "camera": {}, "heart": {}, "zap": {},
	"globe": {}, "users": {}, "briefcase": {}, "graduation-cap": {},
	"shopping-bag": {}, "map-pin": {}, "megaphone": {}, "flame": {},
	"star": {}, "folder": {}, "wrench": {}, "cpu": {},
}

// NormalizeBoardIcon 校验并规范化板块图标 key，非法或空则返回空串
func NormalizeBoardIcon(icon string) string {
	icon = strings.TrimSpace(strings.ToLower(icon))
	if icon == "" {
		return ""
	}
	if _, ok := AllowedBoardIcons[icon]; !ok {
		return ""
	}
	return icon
}

// NormalizeBoardColorIndex -1 表示自动；0–7 为有效色槽
func NormalizeBoardColorIndex(colorIndex int) int {
	if colorIndex < 0 {
		return -1
	}
	if colorIndex > 7 {
		return colorIndex % 8
	}
	return colorIndex
}
