import { TabsThemeEnum, ContentEnum, RouterTransitionEnum } from '/@/enums/appEnum';
import { MenuModeEnum, MenuTypeEnum, TopMenuAlignEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n();
export enum HandlerEnum {
CHANGE_LAYOUT,
CHANGE_THEME_COLOR,
CHANGE_THEME,
// menu
MENU_HAS_DRAG,
MENU_ACCORDION,
MENU_TRIGGER,
MENU_TOP_ALIGN,
MENU_COLLAPSED,
MENU_COLLAPSED_SHOW_TITLE,
MENU_WIDTH,
MENU_SHOW_SIDEBAR,
MENU_THEME,
MENU_SPLIT,
MENU_FIXED,
MENU_CLOSE_MIX_SIDEBAR_ON_CHANGE,
MENU_TRIGGER_MIX_SIDEBAR,
MENU_FIXED_MIX_SIDEBAR,
// header
HEADER_SHOW,
HEADER_THEME,
HEADER_FIXED,
HEADER_SEARCH,
TABS_SHOW_QUICK,
TABS_SHOW_REDO,
TABS_SHOW,
TABS_SHOW_FOLD,
TABS_THEME,
LOCK_TIME,
FULL_CONTENT,
CONTENT_MODE,
SHOW_BREADCRUMB,
SHOW_BREADCRUMB_ICON,
GRAY_MODE,
COLOR_WEAK,
SHOW_LOGO,
SHOW_FOOTER,
ROUTER_TRANSITION,
OPEN_PROGRESS,
OPEN_PAGE_LOADING,
OPEN_ROUTE_TRANSITION,
AI_ICON_SHOW,
}
// 标签页样式
export const tabsThemeOptions = [
{
value: TabsThemeEnum.SMOOTH,
label: t('layout.setting.tabsThemeSmooth'),
},
{
value: TabsThemeEnum.CARD,
label: t('layout.setting.tabsThemeCard'),
},
{
value: TabsThemeEnum.SIMPLE,
label: t('layout.setting.tabsThemeSimple'),
},
];
export const contentModeOptions = [
{
value: ContentEnum.FULL,
label: t('layout.setting.contentModeFull'),
},
{
value: ContentEnum.FIXED,
label: t('layout.setting.contentModeFixed'),
},
];
export const topMenuAlignOptions = [
{
value: TopMenuAlignEnum.CENTER,
label: t('layout.setting.topMenuAlignRight'),
},
{
value: TopMenuAlignEnum.START,
label: t('layout.setting.topMenuAlignLeft'),
},
{
value: TopMenuAlignEnum.END,
label: t('layout.setting.topMenuAlignCenter'),
},
];
export const getMenuTriggerOptions = (hideTop: boolean) => {
return [
{
value: TriggerEnum.NONE,
label: t('layout.setting.menuTriggerNone'),
},
{
value: TriggerEnum.FOOTER,
label: t('layout.setting.menuTriggerBottom'),
},
...(hideTop
? []
: [
{
value: TriggerEnum.HEADER,
label: t('layout.setting.menuTriggerTop'),
},
]),
];
};
export const routerTransitionOptions = [
RouterTransitionEnum.ZOOM_FADE,
RouterTransitionEnum.FADE,
RouterTransitionEnum.ZOOM_OUT,
RouterTransitionEnum.FADE_SIDE,
RouterTransitionEnum.FADE_BOTTOM,
RouterTransitionEnum.FADE_SCALE,
].map((item) => {
return {
label: item,
value: item,
};
});
export const menuTypeList = [
{
title: t('layout.setting.menuTypeSidebar'),
mode: MenuModeEnum.INLINE,
type: MenuTypeEnum.SIDEBAR,
},
{
title: t('layout.setting.menuTypeMix'),
mode: MenuModeEnum.INLINE,
type: MenuTypeEnum.MIX,
},
{
title: t('layout.setting.menuTypeTopMenu'),
mode: MenuModeEnum.HORIZONTAL,
type: MenuTypeEnum.TOP_MENU,
},
{
title: t('layout.setting.menuTypeMixSidebar'),
mode: MenuModeEnum.INLINE,
type: MenuTypeEnum.MIX_SIDEBAR,
},
];
export const mixSidebarTriggerOptions = [
{
value: MixSidebarTriggerEnum.HOVER,
label: t('layout.setting.triggerHover'),
},
{
value: MixSidebarTriggerEnum.CLICK,
label: t('layout.setting.triggerClick'),
},
];