# frozen_string_literal: true

# we can not guess what to do if customization already started, so skip it
if !Theme.exists?
  STDERR.puts "> Seeding theme and color schemes"

  color_schemes = [
    { name: I18n.t("color_schemes.dark"), base_scheme_id: "Dark" },
    { name: I18n.t("color_schemes.wcag"), base_scheme_id: "WCAG" },
    { name: I18n.t("color_schemes.wcag_dark"), base_scheme_id: "WCAG Dark" },
    { name: I18n.t("color_schemes.dracula"), base_scheme_id: "Dracula" },
    { name: I18n.t("color_schemes.solarized_light"), base_scheme_id: "Solarized Light" },
    { name: I18n.t("color_schemes.solarized_dark"), base_scheme_id: "Solarized Dark" },
  ]

  color_schemes.each do |cs|
    scheme = ColorScheme.find_by(base_scheme_id: cs[:base_scheme_id])
    scheme ||=
      ColorScheme.create_from_base(
        name: cs[:name],
        via_wizard: true,
        base_scheme_id: cs[:base_scheme_id],
        user_selectable: true,
      )
  end

  name = I18n.t("color_schemes.default_theme_name")
  default_theme = Theme.create!(name: name, user_id: Discourse::SYSTEM_USER_ID)
  default_theme.set_default!

  if SiteSetting.default_dark_mode_color_scheme_id ==
       SiteSetting.defaults[:default_dark_mode_color_scheme_id]
    dark_scheme_id = ColorScheme.where(base_scheme_id: "Dark").pick(:id)

    SiteSetting.default_dark_mode_color_scheme_id = dark_scheme_id if dark_scheme_id.present?
  end
end