export interface SubjectOption {
    value: number;
    label: string;
}

export interface SubjectFilterOption {
    label: string;
    value?: number;
    subjectId?: string;
}

// 学科
export const subject_chinese: SubjectOption = {
    value: 1,
    label: '语文',
};

export const subject_math: SubjectOption = {
    value: 2,
    label: '数学',
};

export const subject_english: SubjectOption = {
    value: 3,
    label: '英语',
};

export const subject_physics: SubjectOption = {
    value: 4,
    label: '物理',
};

export const subject_chemistry: SubjectOption = {
    value: 5,
    label: '化学',
};

export const subject_bio: SubjectOption = {
    value: 6,
    label: '生物学',
};

export const subject_politics: SubjectOption = {
    value: 7,
    label: '政治（道法）',
};

export const subject_history: SubjectOption = {
    value: 8,
    label: '历史',
};

export const subject_geo: SubjectOption = {
    value: 9,
    label: '地理',
};

export const subject_science: SubjectOption = {
    value: 10,
    label: '科学',
};

export const subject_history_society: SubjectOption = {
    value: 11,
    label: '历史与社会',
};

export const subject_info: SubjectOption = {
    value: 12,
    label: '信息技术',
};

export const subject_music: SubjectOption = {
    value: 13,
    label: '音乐',
};

export const subject_art: SubjectOption = {
    value: 14,
    label: '美术',
};

export const SUBJECT_OPTIONS: SubjectOption[] = [
    subject_chinese,
    subject_math,
    subject_english,
    subject_physics,
    subject_chemistry,
    subject_bio,
    subject_politics,
    subject_history,
    subject_geo,
    subject_science,
    subject_history_society,
    subject_info,
    subject_music,
    subject_art,
];

export const SUBJECT_FILTER_OPTIONS: SubjectFilterOption[] = [
    { label: '全部学科' },
    ...SUBJECT_OPTIONS.map((item) => ({
        ...item,
        subjectId: String(item.value),
    })),
];

/** 学科选择器选项（不含「全部学科」，默认选中第一项） */
export const SUBJECT_PICKER_OPTIONS: SubjectFilterOption[] = SUBJECT_OPTIONS.map((item) => ({
    ...item,
    subjectId: String(item.value),
}));
