import { WeaponTypesConfig } from "./applications/weapon-types-config.mjs"

/**
 * Register all system settings
 */
export function registerSettings() {

  // Custom Weapon Types
  game.settings.register("fvtt-prism-rpg", "customWeaponTypes", {
    name: "PRISMRPG.Settings.customWeaponTypes.name",
    hint: "PRISMRPG.Settings.customWeaponTypes.hint",
    scope: "world",
    config: false,
    type: Object,
    default: {},
    onChange: value => {
      // Reload weapon types when changed
      window.location.reload()
    }
  })

  // Custom Weapon Groups
  game.settings.register("fvtt-prism-rpg", "customWeaponGroups", {
    name: "PRISMRPG.Settings.customWeaponGroups.name",
    hint: "PRISMRPG.Settings.customWeaponGroups.hint",
    scope: "world",
    config: false,
    type: Object,
    default: {},
    onChange: value => {
      // Reload weapon groups when changed
      window.location.reload()
    }
  })

  // Register menu for weapon types configuration
  game.settings.registerMenu("fvtt-prism-rpg", "weaponTypesConfig", {
    name: "PRISMRPG.Settings.weaponTypesConfig.name",
    hint: "PRISMRPG.Settings.weaponTypesConfig.hint",
    label: "PRISMRPG.Settings.weaponTypesConfig.label",
    icon: "fas fa-sword",
    type: WeaponTypesConfig,
    restricted: true
  })
}
