Python/智能体/application/state/frame.py

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