package com.jeesharp.business.modules.setting.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 首页宫格介绍列表页布局，对应表字段 {@code cms_home_quick_grid.intro_list_layout}。
 *
 * @author jeesharp
 * @since 2026-07-14
 */
@Getter
@AllArgsConstructor
public enum HomeQuickGridIntroListLayoutEnum {

    /** 大图卡片（上图下文，默认） */
    CARD(0, "大图卡片"),

    /** 左图右文列表 */
    LIST(1, "左图右文"),

    /** 双列网格 */
    GRID_2COL(2, "双列网格"),

    /** 瀑布流双列 */
    WATERFALL(3, "瀑布流"),

    /** 纯文字列表 */
    TEXT(4, "纯文字"),

    /** 头条大图 + 小条列表 */
    FEATURED(5, "头条+列表"),

    /** 轮播 + Tab + 左图右文（频道页） */
    CHANNEL(6, "频道页"),

    /** 沉浸横滑大卡 */
    SWIPE_CARD(7, "沉浸横滑"),

    /** 堆叠透视横滑卡 */
    STACK_PEEK(8, "堆叠卡片"),

    /** 全屏纵滑吸附 */
    SNAP_FEED(9, "全屏纵滑"),

    /** 动感频道页（轮播视差 + Tab 动效 + 列表） */
    CHANNEL_MOTION(10, "动感频道页");

    private final Integer value;
    private final String desc;

    public static HomeQuickGridIntroListLayoutEnum fromValue(Integer value) {
        if (value == null) {
            return null;
        }
        for (HomeQuickGridIntroListLayoutEnum e : values()) {
            if (e.value.equals(value)) {
                return e;
            }
        }
        return null;
    }

    public static String getDescByValue(Integer value) {
        HomeQuickGridIntroListLayoutEnum e = fromValue(value);
        return e != null ? e.getDesc() : "";
    }
}
