import type { WorkbenchModuleKey } from './use-workbench-modules';

// v4 (2026-06-01): 两列排序 → 12 栅格自由网格。columns→grid，移除 collapsed。
// v5 (2026-06-01): 固化用户实拍布局为默认（坐标/尺寸 + 默认快捷入口 menuKeys）；删除 noticeNotification widget。
// 版本不匹配时丢弃旧布局走新默认，settings 原样迁移。
export const WORKBENCH_LAYOUT_VERSION = 5;

export interface WorkbenchShortcutSettings {
  /** 用户在快捷入口里选了哪些菜单 key */
  menuKeys: string[];
}

export interface WorkbenchModuleSettings {
  shortcut?: WorkbenchShortcutSettings;
  /** 后续每模块可加自定义设置 */
  [key: string]: unknown;
}

/** 单个 widget 在 12 栅格中的位置与尺寸。i 即 widget key（同时作为 grid-layout-plus 标识）。 */
export interface WorkbenchGridItem {
  i: WorkbenchModuleKey;
  x: number; // 列起点 0-11
  y: number; // 行起点
  w: number; // 占列数
  h: number; // 占行数
  minW?: number;
  minH?: number;
}

export interface WorkbenchLayout {
  version: typeof WORKBENCH_LAYOUT_VERSION;
  grid: WorkbenchGridItem[];
  hidden: WorkbenchModuleKey[];
  settings: WorkbenchModuleSettings;
}
