ake178178 commited on
Commit
a006d3e
·
verified ·
1 Parent(s): aba1421

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -62
app.py CHANGED
@@ -4,9 +4,6 @@ import pandas as pd
4
  import json
5
  import os
6
 
7
- # 模擬用戶數據
8
- users = {"admin": "password"}
9
-
10
  # 數據存儲文件
11
  data_file = "dog_activity_data.json"
12
 
@@ -59,70 +56,58 @@ def delete_activity(row_index):
59
  except ValueError:
60
  return "錯誤: 請輸入有效的數字行號", update_activity_display()
61
 
62
- # 登錄功能
63
- def login(username, password):
64
- if username in users and users[username] == password:
65
- return gr.update(visible=False), gr.update(visible=True), "登錄成功"
66
- else:
67
- return gr.update(visible=True), gr.update(visible=False), "用戶名或密碼錯誤"
68
-
69
  # 主界面
70
  def main_interface():
71
  init_data_file()
72
-
73
- with gr.Blocks() as app:
74
- # 登錄界面
75
- login_section = gr.Column(visible=True)
76
- with login_section:
77
- gr.Markdown("## 🐾 狗狗活動記錄器 - 登錄")
78
- username = gr.Textbox(label="用戶名", placeholder="輸入用戶名")
79
- password = gr.Textbox(label="密碼", type="password", placeholder="輸入密碼")
80
- login_btn = gr.Button("登錄")
81
- login_msg = gr.Textbox(label="消息", interactive=False)
82
-
83
- # 主內容界面
84
- main_section = gr.Column(visible=False)
85
- with main_section:
86
- gr.Markdown("### 🚀 點擊按鈕記錄活動")
87
- # 記錄活動按鈕 (帶顏色和 icon)
88
- with gr.Row():
89
- activity_buttons = {
90
- "💩 拉屎": "#FF6347",
91
- "💦 尿尿": "#4682B4",
92
- "🍽️ 全吃了": "#32CD32",
93
- "🍛 吃了一半": "#FFD700",
94
- "🥄 沒怎麼吃": "#D3D3D3"
95
- }
96
- button_list = []
97
- for name, color in activity_buttons.items():
98
- button_list.append(
99
- gr.Button(name, elem_id=name, interactive=True, color=color)
100
- )
101
-
102
- # 活動記錄表格
103
- gr.Markdown("### 📊 最近活動記錄 (僅顯示最近5條)")
104
- data_table = gr.Dataframe(update_activity_display(), interactive=False)
105
-
106
- # 顯示更多按鈕
107
- show_more_btn = gr.Button("顯示更多記錄")
108
- show_less_btn = gr.Button("顯示最近5條", visible=False)
109
-
110
- # 刪除記錄功能
111
- gr.Markdown("### 🗑️ 刪除記錄")
112
- row_to_delete = gr.Textbox(label="輸入要刪除的行號 (從 0 開始)")
113
- delete_btn = gr.Button("刪除記錄")
114
- delete_msg = gr.Textbox(label="刪除狀態", interactive=False)
115
-
116
- # 登錄邏輯
117
- login_btn.click(
118
- login,
119
- inputs=[username, password],
120
- outputs=[login_section, main_section, login_msg]
121
- )
122
 
123
  # 綁定活動按鈕邏輯
124
- for button, activity in zip(button_list, activity_buttons.keys()):
125
- button.click(save_activity, inputs=[], outputs=[data_table])
 
 
 
126
 
127
  # 綁定顯示更多邏輯
128
  show_more_btn.click(
 
4
  import json
5
  import os
6
 
 
 
 
7
  # 數據存儲文件
8
  data_file = "dog_activity_data.json"
9
 
 
56
  except ValueError:
57
  return "錯誤: 請輸入有效的數字行號", update_activity_display()
58
 
 
 
 
 
 
 
 
59
  # 主界面
60
  def main_interface():
61
  init_data_file()
62
+ custom_css = """
63
+ .custom-btn {
64
+ width: 100%;
65
+ padding: 10px;
66
+ margin: 5px 0;
67
+ color: white;
68
+ border: none;
69
+ font-size: 16px;
70
+ text-align: center;
71
+ cursor: pointer;
72
+ border-radius: 5px;
73
+ }
74
+ .btn-poop { background-color: #FF6347; } /* Tomato */
75
+ .btn-pee { background-color: #4682B4; } /* SteelBlue */
76
+ .btn-eat { background-color: #32CD32; } /* LimeGreen */
77
+ .btn-half { background-color: #FFD700; } /* Gold */
78
+ .btn-no-eat { background-color: #D3D3D3; } /* LightGray */
79
+ """
80
+ with gr.Blocks(css=custom_css) as app:
81
+ gr.Markdown("## 🐾 狗狗活動記錄器")
82
+
83
+ # 記錄活動按鈕 (不同顏色 + icon)
84
+ with gr.Row():
85
+ poop_btn = gr.Button("💩 拉屎", elem_classes="custom-btn btn-poop")
86
+ pee_btn = gr.Button("💦 尿尿", elem_classes="custom-btn btn-pee")
87
+ eat_btn = gr.Button("🍽️ 全吃了", elem_classes="custom-btn btn-eat")
88
+ half_eat_btn = gr.Button("🍛 吃了一半", elem_classes="custom-btn btn-half")
89
+ no_eat_btn = gr.Button("🥄 沒怎麼吃", elem_classes="custom-btn btn-no-eat")
90
+
91
+ # 活動記錄表格
92
+ gr.Markdown("### 📊 最近活動記錄 (僅顯示最近5條)")
93
+ data_table = gr.Dataframe(update_activity_display(), interactive=False)
94
+
95
+ # 顯示更多按鈕
96
+ show_more_btn = gr.Button("顯示更多記錄")
97
+ show_less_btn = gr.Button("顯示最近5條", visible=False)
98
+
99
+ # 刪除記錄功能
100
+ gr.Markdown("### 🗑️ 刪除記錄")
101
+ row_to_delete = gr.Textbox(label="輸入要刪除的行號 (從 0 開始)")
102
+ delete_btn = gr.Button("刪除記錄")
103
+ delete_msg = gr.Textbox(label="刪除狀態", interactive=False)
 
 
 
 
 
 
 
 
104
 
105
  # 綁定活動按鈕邏輯
106
+ poop_btn.click(lambda: save_activity("拉屎"), outputs=[data_table])
107
+ pee_btn.click(lambda: save_activity("尿尿"), outputs=[data_table])
108
+ eat_btn.click(lambda: save_activity("全吃了"), outputs=[data_table])
109
+ half_eat_btn.click(lambda: save_activity("吃了一半"), outputs=[data_table])
110
+ no_eat_btn.click(lambda: save_activity("沒怎麼吃"), outputs=[data_table])
111
 
112
  # 綁定顯示更多邏輯
113
  show_more_btn.click(