import {MenuTitle} from "./MenuTitle.js";
import {ChooseImporter} from "./ChooseImporter.js";
import {PopoutSheet} from "./PopoutSheet.js";
import {ActorItemCleaner} from "./ActorItemCleaner.js";
import {ActorSpellPreparedToggler} from "./ActorSpellPreparedToggler.js";
import {ActorPolymorpher} from "./ActorPolymorpher.js";
import {Config} from "./Config.js";
import {Charactermancer_StartingEquipment} from "./UtilCharactermancerEquipment.js";
import {ShowSheet} from "./ShowSheet.js";

class MenuTitleActor extends MenuTitle {}
MenuTitleActor._HOOK_NAME = "renderActorSheet";
MenuTitleActor._EVT_NAMESPACE = "plutonium-actor-title-menu";

// Each `Class` should have a static `pHandleButtonClick` method
MenuTitleActor._TOOL_LIST = [
	{
		name: "Plutonium Import",
		streamerName: "Import",
		Class: ChooseImporter,
		iconClass: "fa-atom",
		getMinRole: () => Config.get("import", "minimumRole"),
		isRequireOwner: true,
	},
	{
		name: "Equipment Shop",
		Class: Charactermancer_StartingEquipment,
		iconClass: "fa-shopping-cart",
		getMinRole: () => Config.get("import", "minimumRole"),
		isRequireOwner: true,
	},
	{
		name: "Polymorpher",
		Class: ActorPolymorpher,
		iconClass: "fa-paw",
		isRequireOwner: true,
	},
	{
		name: "Show Players",
		Class: ShowSheet,
		iconClass: "fa-eye",
		isRequireOwner: true,
	},
	{
		name: "Feature/Spell Cleaner",
		Class: ActorItemCleaner,
		iconClass: "fa-trash-alt",
		isRequireOwner: true,
	},
	{
		name: "Prepared Spell Mass-Toggler",
		Class: ActorSpellPreparedToggler,
		iconClass: "fa-check-square",
		isRequireOwner: true,
	},
	{
		name: "Pop Out",
		Class: PopoutSheet,
		iconClass: "fa-external-link-alt",
		additionalClassesButton: "pop__mnu-btn-open",
		additionalClassesPreSpacer: "pop__mnu-btn-open",
	},
];

export {MenuTitleActor};
