42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
框架状态
|
|
"""
|
|
import reflex as rx
|
|
from application.models import SidebarIconNavButtonKind, SidebarIconNavButton
|
|
|
|
# 初始化侧边栏图标导航按钮字典
|
|
sidebar_icon_nav_buttons = {
|
|
SidebarIconNavButtonKind.CONVERSATION: {"icon": "message-square", "name": "对话"},
|
|
SidebarIconNavButtonKind.KNOWLEDGE: {"icon": "book", "name": "知识库"},
|
|
}
|
|
|
|
|
|
class FrameState(rx.State):
|
|
"""
|
|
框架状态
|
|
"""
|
|
|
|
# 初始化侧边栏图标导航按钮字典
|
|
SIDEBAR_ICON_NAV_BUTTONS = {
|
|
SidebarIconNavButtonKind.CONVERSATION: SidebarIconNavButton(
|
|
icon="message-circle-more", name="对话"
|
|
),
|
|
SidebarIconNavButtonKind.KNOWLEDGE: SidebarIconNavButton(
|
|
icon="book", name="知识库"
|
|
),
|
|
} # 侧边栏图标导航按钮字典
|
|
|
|
# 当前侧边栏图标导航按钮
|
|
sidebar_icon_nav_button: SidebarIconNavButton =
|
|
|
|
@rx.var
|
|
def get_sidebar_icon_nav_button(self) -> SidebarIconNavButton:
|
|
"""获取当前侧边栏图标导航按钮"""
|
|
return self.SIDEBAR_ICON_NAV_BUTTONS[self.sidebar_icon_nav_button]
|
|
|
|
@rx.event
|
|
def set_active_sidebar_tab(self, icon_id: str):
|
|
"""切换侧边栏当前标签名称"""
|
|
self.sidebar_tab_name = icon_id
|