{{- $themeName := .chezmoi.config.data.theme -}}
-- Theme Bridge: {{ $themeName }}

local theme = {}

{{- if eq $themeName "apex-neon" }}
-- mirrors ~/Dev/Themes/apex/dist/hyprland/apex-neon-colors.conf (v2 spine)
theme.base = "rgb(070709)"
theme.surface = "rgb(101218)"
theme.overlay = "rgb(262a34)"
theme.muted = "rgb(383d49)"
theme.text = "rgb(e6e8ec)"
theme.love = "rgb(ff0044)"
theme.gold = "rgb(ffb700)"
theme.pine = "rgb(00ff99)"
theme.foam = "rgb(00eaff)"
theme.iris = "rgb(9d00ff)"
theme.focus = "rgb(d68fff)"  -- attention violet — "you are here"
theme.blue = "rgb(5b8cff)"   -- structural — window groups
theme.rose = "rgb(ff3b3b)"

theme.splash_text = "rgba(e6e8ecee)"
theme.dec_shadow = "rgba(000000ee)"
theme.glow = "rgba(d68fffee)"          -- active-window glow = attention violet
theme.glow_inactive = "rgba(00eaff33)" -- inactive glow = faint cyan HUD chrome

-- v2 signal vocabulary: inactive = dim cyan · active = attention violet · urgent = danger red
theme.border_active = { colors = { "rgba(d68fffff)", "rgba(9d00ffff)" }, angle = 45 }
theme.border_inactive = { colors = { "rgba(00eaff66)", "rgba(10121844)" }, angle = 45 }

-- urgent window = danger red (applied per-window by the window.urgent handler in rules.lua)
theme.border_urgent = { colors = { "rgba(ff0044ff)", "rgba(ff3b3bff)" }, angle = 45 }

theme.border_nogroup_active = { colors = { "rgba(d68fffff)", "rgba(9d00ffff)" }, angle = 45 }
theme.border_nogroup_inactive = { colors = { "rgba(00eaff66)", "rgba(10121844)" }, angle = 45 }

-- group = structural blue · group-locked = warning amber
theme.border_group_active = { colors = { "rgba(5b8cffff)", "rgba(5b8cffaa)" }, angle = 45 }
theme.border_group_inactive = { colors = { "rgba(383d4966)", "rgba(10121866)" }, angle = 45 }

theme.border_grouplocked_active = { colors = { "rgba(ffb700ff)", "rgba(ffb700aa)" }, angle = 45 }
theme.border_grouplocked_inactive = { colors = { "rgba(ffb70066)", "rgba(10121866)" }, angle = 45 }

theme.groupbar_text = "rgba(070709ff)"
theme.groupbar_text_inactive = "rgba(e6e8ecaa)"
-- active tab = info gradient: blue frame + cyan interior (the shown member); inactive = dim blue.
-- attention violet stays scarce — reserved for the active WINDOW border, not this chrome.
theme.groupbar_active = { colors = { "rgba(5b8cffff)", "rgba(00eaffff)", "rgba(00eaffff)", "rgba(00eaffff)", "rgba(00eaffff)", "rgba(00eaffff)", "rgba(5b8cffff)" }, angle = 0 }
theme.groupbar_inactive = { colors = { "rgba(5b8cff99)", "rgba(5b8cff44)" } }
theme.groupbar_grouplocked_active = { colors = { "rgba(ffb70088)", "rgba(ffb700ff)", "rgba(ffb700ff)", "rgba(ffb700ff)", "rgba(ffb700ff)", "rgba(ffb700ff)", "rgba(ffb70088)" } }
theme.groupbar_grouplocked_inactive = { colors = { "rgba(ffb70099)", "rgba(ffb70044)" } }
{{- else if eq $themeName "apex-aeon" }}
-- mirrors ~/Dev/Themes/apex/dist/hyprland/apex-aeon-colors.conf (v2 spine)
theme.base = "rgb(f1f3f7)"
theme.surface = "rgb(e7eaf0)"
theme.overlay = "rgb(c2c8d4)"
theme.muted = "rgb(c8cdd8)"
theme.text = "rgb(16181d)"
theme.love = "rgb(c8003a)"
theme.gold = "rgb(a86b00)"
theme.pine = "rgb(00875a)"
theme.foam = "rgb(0080a6)"
theme.iris = "rgb(6a1fb8)"
theme.focus = "rgb(7c2fd6)"  -- attention violet — "you are here"
theme.blue = "rgb(1633a0)"   -- structural — window groups
theme.rose = "rgb(9e0030)"

theme.splash_text = "rgba(16181dee)"
theme.dec_shadow = "rgba(000000ee)"
theme.glow = "rgba(7c2fd6ee)"          -- active-window glow = attention violet
theme.glow_inactive = "rgba(0080a633)" -- inactive glow = faint cyan HUD chrome

-- v2 signal vocabulary: inactive = dim cyan · active = attention violet · urgent = danger red
theme.border_active = { colors = { "rgba(7c2fd6ff)", "rgba(6a1fb8ff)" }, angle = 45 }
theme.border_inactive = { colors = { "rgba(0080a666)", "rgba(e7eaf044)" }, angle = 45 }

-- urgent window = danger red (applied per-window by the window.urgent handler in rules.lua)
theme.border_urgent = { colors = { "rgba(c8003aff)", "rgba(9e0030ff)" }, angle = 45 }

theme.border_nogroup_active = { colors = { "rgba(7c2fd6ff)", "rgba(6a1fb8ff)" }, angle = 45 }
theme.border_nogroup_inactive = { colors = { "rgba(0080a666)", "rgba(e7eaf044)" }, angle = 45 }

-- group = structural blue · group-locked = warning amber
theme.border_group_active = { colors = { "rgba(1633a0ff)", "rgba(1633a0aa)" }, angle = 45 }
theme.border_group_inactive = { colors = { "rgba(c8cdd866)", "rgba(e7eaf066)" }, angle = 45 }

theme.border_grouplocked_active = { colors = { "rgba(a86b00ff)", "rgba(a86b00aa)" }, angle = 45 }
theme.border_grouplocked_inactive = { colors = { "rgba(a86b0066)", "rgba(e7eaf066)" }, angle = 45 }

theme.groupbar_text = "rgba(f1f3f7ff)"
theme.groupbar_text_inactive = "rgba(16181daa)"
-- active tab = info gradient: blue frame + cyan interior (the shown member); inactive = dim blue.
-- attention violet stays scarce — reserved for the active WINDOW border, not this chrome.
theme.groupbar_active = { colors = { "rgba(1633a0ff)", "rgba(0080a6ff)", "rgba(0080a6ff)", "rgba(0080a6ff)", "rgba(0080a6ff)", "rgba(0080a6ff)", "rgba(1633a0ff)" }, angle = 0 }
theme.groupbar_inactive = { colors = { "rgba(1633a099)", "rgba(1633a044)" } }
theme.groupbar_grouplocked_active = { colors = { "rgba(a86b0088)", "rgba(a86b00ff)", "rgba(a86b00ff)", "rgba(a86b00ff)", "rgba(a86b00ff)", "rgba(a86b00ff)", "rgba(a86b0088)" } }
theme.groupbar_grouplocked_inactive = { colors = { "rgba(a86b0099)", "rgba(a86b0044)" } }
{{- end }}

-- Apply colors to config
hl.config({
  general = {
    ["col.active_border"] = theme.border_active,
    ["col.inactive_border"] = theme.border_inactive,
    ["col.nogroup_border"] = theme.border_nogroup_inactive,
    ["col.nogroup_border_active"] = theme.border_nogroup_active
  },
  decoration = {
    shadow = {
      color = theme.dec_shadow
    },
    glow = {
      color = theme.glow,
      color_inactive = theme.glow_inactive
    }
  },
  group = {
    ["col.border_active"] = theme.border_group_active,
    ["col.border_inactive"] = theme.border_group_inactive,
    ["col.border_locked_active"] = theme.border_grouplocked_active,
    ["col.border_locked_inactive"] = theme.border_grouplocked_inactive,
    groupbar = {
      text_color = theme.groupbar_text,
      text_color_inactive = theme.groupbar_text_inactive,
      ["col.active"] = theme.groupbar_active,
      ["col.inactive"] = theme.groupbar_inactive,
      ["col.locked_active"] = theme.groupbar_grouplocked_active,
      ["col.locked_inactive"] = theme.groupbar_grouplocked_inactive
    }
  },
  misc = {
    ["col.splash"] = theme.splash_text
  }
})

return theme
