package com.huangzj.protoplugin.memo;

import org.jetbrains.annotations.NotNull;

/** 备忘录工具窗口可选界面风格（持久化使用 {@link #persistenceId}）。 */
public enum MemoUiTheme {
    /** 跟随 IDE 浅色/深色主题 */
    IDE_DEFAULT("IDE 默认", "IDE"),
    /** 深色背景 + 青色点缀，适合长时间编辑 */
    DARK_FOCUS("深色专注", "DARK_FOCUS"),
    /** 米黄纸张、暖色文字，偏阅读向 */
    PAPER("护眼纸张", "PAPER"),
    /** 浅蓝面板 + 海蓝强调色 */
    OCEAN("海洋", "OCEAN"),
    /** 粉紫 pastel、柔和选区与装饰标签 */
    CUTE_CANDY("可爱糖果", "CUTE_CANDY");

    private final String displayName;
    private final String persistenceId;

    MemoUiTheme(String displayName, String persistenceId) {
        this.displayName = displayName;
        this.persistenceId = persistenceId;
    }

    public String getDisplayName() {
        return displayName;
    }

    public String getPersistenceId() {
        return persistenceId;
    }

    @NotNull
    public static MemoUiTheme fromPersistenceId(String id) {
        if (id == null || id.isEmpty()) {
            return IDE_DEFAULT;
        }
        for (MemoUiTheme t : values()) {
            if (t.persistenceId.equals(id)) {
                return t;
            }
        }
        return IDE_DEFAULT;
    }

    @Override
    public String toString() {
        return displayName;
    }
}
