cwadayi's picture
Update app.py
a4bf8ae verified
# app.py
import gradio as gr
from core.visits import get_and_update_visits
from ui.layouts import create_ui
# --- 最終版專業佈景主題 ---
professional_theme = gr.themes.Soft(
# 設定字體
font=gr.themes.GoogleFont("Noto Sans TC"),
# 設定色調
primary_hue=gr.themes.colors.teal,
secondary_hue=gr.themes.colors.cyan,
neutral_hue="slate",
# 設定元件圓角與間距
radius_size=gr.themes.sizes.radius_md,
spacing_size=gr.themes.sizes.spacing_md,
).set(
# === 全局佈局 ===
body_background_fill="#f8f9fa",
panel_background_fill="#f8f9fa",
# === 卡片/區塊樣式 ===
block_background_fill="white",
block_border_width="0px",
block_border_color="transparent",
block_radius="16px",
block_shadow="0 4px 10px rgba(0, 0, 0, 0.08)",
# === 未選中分頁 (次要按鈕) 樣式 ===
button_secondary_background_fill="transparent",
button_secondary_background_fill_hover="rgba(0, 0, 0, 0.05)",
button_secondary_text_color="#6c757d",
button_secondary_text_color_hover="#005f73",
# === 主要按鈕 (及選中分頁) 樣式 ===
button_primary_background_fill="#005f73",
button_primary_background_fill_hover="#0a9396",
button_primary_text_color="white",
# === 輸入框樣式 ===
input_background_fill="white",
input_border_color="#dee2e6",
input_shadow="0 1px 3px rgba(0, 0, 0, 0.08)",
input_border_width="1.5px",
input_radius="8px",
# --- 其他細節 ---
link_text_color="#0a9396",
link_text_color_hover="#005f73",
)
# --- 應用程式啟動邏輯 ---
try:
count = get_and_update_visits()
visit_count_html = f"🚀 **總載入次數:** {count}"
print(f"Application loaded. Total visits: {count}")
except Exception as e:
visit_count_html = "🚀 **總載入次數:** N/A"
print(f"Could not update visit count: {e}")
# --- 建立 UI 並傳入佈景主題 ---
demo = create_ui(visit_count_html, theme=professional_theme)
# --- 啟動應用程式 ---
if __name__ == "__main__":
demo.launch()