import type { ItemUsageData } from "@shared/lib/types";

export const ITEM_WIZARD_CUSTOM_IDS = {
    PREFIX: "createitem_",
    START: "createitem_start",
    DETAILS: "createitem_details",
    ECONOMY: "createitem_economy",
    VISUALS: "createitem_visuals",
    TYPE_TOGGLE: "createitem_type_toggle",
    SELECT_TYPE: "createitem_select_type",
    ADD_EFFECT_START: "createitem_addeffect_start",
    SELECT_EFFECT_TYPE: "createitem_select_effect_type",
    TOGGLE_CONSUME: "createitem_toggle_consume",
    SAVE: "createitem_save",
    CANCEL: "createitem_cancel",
    MODAL_DETAILS: "createitem_modal_details",
    MODAL_ECONOMY: "createitem_modal_economy",
    MODAL_VISUALS: "createitem_modal_visuals",
    MODAL_EFFECT: "createitem_modal_effect",
    // Modal field IDs
    FIELD_NAME: "name",
    FIELD_DESC: "desc",
    FIELD_RARITY: "rarity",
    FIELD_PRICE: "price",
    FIELD_ICON: "icon",
    FIELD_IMAGE: "image",
    FIELD_AMOUNT: "amount",
    FIELD_MESSAGE: "message",
    FIELD_MULTIPLIER: "multiplier",
    FIELD_DURATION: "duration",
    FIELD_ROLE_ID: "role_id",
} as const;

export interface DraftItem {
    name: string;
    description: string;
    rarity: string;
    type: string;
    price: number | null;
    iconUrl: string;
    imageUrl: string;
    usageData: ItemUsageData;
    // Temporary state for effect adding flow
    pendingEffectType?: string;
}
