/**
 * 页面模板:
 * 首页定义
 */

import type { IHomeCommonCategoryListTabNestCategoryItemDefine } from "./List";

/**
 * 页面模板:首页定义
 */
export interface IHomeCommonCategoryHomeDefine {
  type: 'Home',
  props: {
    /**
     * 首页标题
     */
    title: string,
    /**
     * 首页副标题
     */
    subTitle: string,
    /**
     * 首页banner图
     */
    homeBanner: string,
    /**
     * 首页按钮
     */
    homeButtons: {
      /**
       * 按钮标题
       */
      title: string,
      /**
       * 按钮标题
       * @default true
       */
      showTitle?: boolean,
      /**
       * 按钮图标
       */
      icon: string,
      /**
       * 按钮跳转链接
       */
      link: string,
      /**
       * 按钮大小
       */
      size: number

      /**
       * 按钮样式
       */
      style: 'text'|'large-bg',
    }[],
    /**
     * 首页分类项
     */
    categorys: IHomeCommonCategoryListTabNestCategoryItemDefine[],
    /**
     * 首页Tab控制
     */
    tabs: {
      /**
       * 标签标题
       */
      title: string,
      /**
       * 标签图标
       */
      icon: string,
      /**
       * 选中时的图标
       */
      activeIcon: string,
      /**
       * 是否凸起
       * @default false
       */
      hump?: boolean,
      /**
       * 凸起高度
       * @default [0,0]
       */
      humpHeight?: number[],
      /**
       * 凸起间距
       * @default [20,20]
       */
      humpSpace?: number[],
      /**
       * 图标大小
       */
      iconSize?: number,
      /**
       * 标签是否可见
       * @default true
       */
      visible?: boolean,
      /**
       * 标签跳转链接
       * * home: 首页
       * * list: 内嵌列表页
       * * user: 用户页
       * @default 'list'
       */
      type: 'home'|'list'|'user',
      /**
       * 标签页面配置名称，在type为list时有效
       */
      pageConfigName?: string,
      /**
       * 标签页面头部图片，在type为list时有效
       */
      pageHeadImage?: string,
      /**
       * 标签页面头部图片宽度，在type为list时有效
       */
      pageHeadImageWidth?: number,
      /**
       * 标签页面头部图片样式，在type为list时有效
       */
      pageHeadImageStyle?: Record<string, any>,
    }[],
  },
}
