Python/agent/application/application.py

62 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
"""
应用主入口
"""
import reflex as rx
from application.pages.index import index
from application.workshop.database import connection_pool_init
app = rx.App(
theme=rx.theme(color_mode="light"),
head_components=[
rx.script(
"""
document.addEventListener('click', function(e) {
const link = e.target.closest('a');
if (!link) return;
const href = link.getAttribute('href');
if (href && (href.startsWith('http://') || href.startsWith('https://'))) {
link.target = '_blank';
link.rel = 'noopener noreferrer';
}
})
"""
)
],
stylesheets=["/styles.css"],
style={
"box-shadow": "none",
"background-color": "var(--prismui-background-color-1)", # 默认背景颜色
"font_family": "var(--prismui-font-family)",
"font_size": "var(--prismui-font-size-2)",
"font_weight": "var(--prismui-font-weight-1)",
"color": "var(--prismui-color-1)",
"*": {
"margin": "0",
"padding": "0",
"gap": "0",
},
"*::before, *::after": {
"box-sizing": "border-box",
},
"* .rt-TextFieldRoot, * textarea": {
"border": "var(--prismui-border-1)",
"outline": "none",
"box-shadow": "none",
},
".rt-TextAreaInput::placeholder, .rt-TextFieldInput::placeholder": {
"font-family": "var(--font-family)",
"font-size": "var(--prismui-font-size-2)",
"color": "var(--prismui-color-3)",
"opacity": 1,
}, # 覆盖占位符样式
},
) # 此处变量名需使用 app ,具体原因目前尚不清楚
# 添加页面:首页
app.add_page(component=index(), route="/")
# 注册声明周期任务:连接池初始化
app.register_lifespan_task(connection_pool_init)