// ============================================================
// project-menu.ts — 项目选择器右键菜单定义
//
// 菜单结构：新建项目 | 统计项目 | 批量创建镜头 | —— | 在文件夹中打开
// ============================================================

import type { ContextMenuItems } from '@/shared/components/ContextMenu';

export interface ProjectMenuOptions {
    /** 是否可以新建（如未选工作区则禁用） */
    canCreate: boolean;
    /** 当前选中项目（用于"在文件夹中打开"） */
    canOpenFolder: boolean;
    onCreate: () => void;
    onStats: () => void;
    onBatchShots: () => void;
    onOpenFolder: () => void;
}

export function getProjectMenuItems(opts: ProjectMenuOptions): ContextMenuItems {
    return [
        {
            key: 'new-project',
            label: '新建项目',
            onClick: opts.onCreate,
            disabled: !opts.canCreate,
        },
        {
            key: 'stats-project',
            label: '统计项目',
            onClick: opts.onStats,
        },
        {
            key: 'batch-shots',
            label: '批量创建镜头',
            onClick: opts.onBatchShots,
        },
        'divider',
        {
            key: 'open-folder',
            label: '在文件夹中打开',
            onClick: opts.onOpenFolder,
            disabled: !opts.canOpenFolder,
        },
    ];
}
