hmtxj commited on
Commit
e944f59
·
1 Parent(s): e50dee8

i18n: UI全中文化

Browse files
Files changed (1) hide show
  1. app.py +18 -19
app.py CHANGED
@@ -1013,7 +1013,7 @@ def toggle_pause():
1013
 
1014
  def get_pause_btn_text():
1015
  """获取暂停按钮文字"""
1016
- return "▶️ RESUME" if is_paused else "⛸️ PAUSE"
1017
 
1018
  def stop_task():
1019
  """彻底停止任务,保存数据并刷新状态"""
@@ -1077,7 +1077,7 @@ def get_status_html():
1077
  return '''
1078
  <div class="running-indicator">
1079
  <div class="spinner" style="border-color: #e74c3c; border-top-color: transparent;"></div>
1080
- <span style="color: #e74c3c; font-weight: 600;">🛑 STOPPING...</span>
1081
  </div>
1082
  '''
1083
  if is_refreshing:
@@ -1096,14 +1096,13 @@ def get_status_html():
1096
  progress_pct = min(100, int((current_account_idx / total_accounts) * 100))
1097
  progress_text = f"{current_account_idx}/{total_accounts}"
1098
 
1099
- if is_paused:
1100
  return f'''
1101
  <div style="text-align: center;">
1102
  <div class="status-badge" style="background: rgba(241, 196, 15, 0.1); color: #f1c40f; border-color: #f1c40f;">
1103
- ⛸️ PAUSED
1104
  </div>
1105
  <div class="runtime-display" style="margin-top: 8px; color: #f1c40f;">
1106
- ⏱️ {runtime_str} | {progress_text}
1107
  </div>
1108
  </div>
1109
  '''
@@ -1112,7 +1111,7 @@ def get_status_html():
1112
  <div style="text-align: center;">
1113
  <div class="running-indicator">
1114
  <div class="spinner"></div>
1115
- <span style="color: var(--term-blue); font-weight: 600;">🔄 RUNNING</span>
1116
  </div>
1117
  <div class="runtime-display" style="margin-top: 8px;">
1118
  ⏱️ {runtime_str} | 📊 {progress_text}
@@ -1124,12 +1123,12 @@ def get_status_html():
1124
  '''
1125
 
1126
  if is_paused:
1127
- return '<div class="status-badge" style="background: rgba(241, 196, 15, 0.1); color: #f1c40f; border-color: #f1c40f;">⛸️ PAUSED</div>'
1128
 
1129
- return '<div class="status-badge status-idle">💤 IDLE</div>'
1130
 
1131
  def get_time_str():
1132
- return f"Last Run: {last_refresh_time or 'Never'}"
1133
 
1134
  def check_auth(password):
1135
  """验证管理密码"""
@@ -1226,7 +1225,7 @@ with gr.Blocks() as app:
1226
  with gr.Column(visible=bool(ADMIN_PASSWORD)) as login_page:
1227
  gr.HTML('''
1228
  <div class="login-container">
1229
- <div class="login-title">🔐 Gemini Refresher</div>
1230
  <div class="login-subtitle">请输入管理密码</div>
1231
  </div>
1232
  ''')
@@ -1251,10 +1250,10 @@ with gr.Blocks() as app:
1251
  <div class="dot red"></div>
1252
  <div class="dot yellow"></div>
1253
  <div class="dot green"></div>
1254
- <div style="margin-left: 10px; color: var(--text-secondary); font-size: 13px; font-weight: 600;">Gemini Refresher</div>
1255
  </div>
1256
  <div style="display: flex; gap: 8px; align-items: center;">
1257
- <button id="theme-toggle">🌘 Dark</button>
1258
  </div>
1259
  </div>
1260
  <script>
@@ -1264,7 +1263,7 @@ with gr.Blocks() as app:
1264
  var isDark = document.body.classList.contains('dark-theme');
1265
  localStorage.setItem('theme', isDark ? 'dark' : 'light');
1266
  var btn = document.getElementById('theme-toggle');
1267
- if(btn) btn.innerText = isDark ? '☀️ Light' : '🌘 Dark';
1268
  }
1269
 
1270
  // 初始化主题 - 默认浅色(CSS 已默认浅色)
@@ -1281,7 +1280,7 @@ with gr.Blocks() as app:
1281
  btn.onclick = toggleTheme;
1282
  // 更新按钮文字
1283
  var isDark = document.body.classList.contains('dark-theme');
1284
- btn.innerText = isDark ? '☀️ Light' : '🌘 Dark';
1285
  }
1286
 
1287
  // 延迟再检查一次(防止 Gradio 动态加载覆盖)
@@ -1291,7 +1290,7 @@ with gr.Blocks() as app:
1291
  btn2.onclick = toggleTheme;
1292
  }
1293
  var isDark2 = document.body.classList.contains('dark-theme');
1294
- if (btn2) btn2.innerText = isDark2 ? '☀️ Light' : '🌘 Dark';
1295
  }, 500);
1296
  })();
1297
  </script>
@@ -1300,7 +1299,7 @@ with gr.Blocks() as app:
1300
  # 控制台区域
1301
  with gr.Row(elem_classes=["p-4"]):
1302
  with gr.Column(scale=3):
1303
- gr.Markdown("### 💎 Gemini Refresher Pro\nAutomated cookie refresh & database synchronization system.")
1304
 
1305
  with gr.Column(scale=2):
1306
  # 状态显示 - 每秒刷新
@@ -1310,9 +1309,9 @@ with gr.Blocks() as app:
1310
  with gr.Column(scale=1):
1311
  # 操作按钮
1312
  with gr.Row():
1313
- refresh_btn = gr.Button("🚀 EXECUTE", variant="primary", elem_classes=["action-btn"])
1314
  pause_btn = gr.Button(get_pause_btn_text(), variant="secondary", elem_classes=["action-btn"])
1315
- stop_btn = gr.Button("🛑 STOP", variant="stop", elem_classes=["action-btn"])
1316
  # 登出按钮
1317
  logout_btn = gr.Button("🚪 登出", size="sm", visible=bool(ADMIN_PASSWORD))
1318
 
@@ -1359,4 +1358,4 @@ if __name__ == "__main__":
1359
  css=CUSTOM_CSS,
1360
  js=JS_CODE
1361
  )
1362
- # Force Update 01/20/2026 20:35:00 - Add: Login system + Dynamic status with timer/progress
 
1013
 
1014
  def get_pause_btn_text():
1015
  """获取暂停按钮文字"""
1016
+ return "▶️ 继续" if is_paused else "⛸️ 暂停"
1017
 
1018
  def stop_task():
1019
  """彻底停止任务,保存数据并刷新状态"""
 
1077
  return '''
1078
  <div class="running-indicator">
1079
  <div class="spinner" style="border-color: #e74c3c; border-top-color: transparent;"></div>
1080
+ <span style="color: #e74c3c; font-weight: 600;">🛑 正在停止...</span>
1081
  </div>
1082
  '''
1083
  if is_refreshing:
 
1096
  progress_pct = min(100, int((current_account_idx / total_accounts) * 100))
1097
  progress_text = f"{current_account_idx}/{total_accounts}"
1098
 
 
1099
  return f'''
1100
  <div style="text-align: center;">
1101
  <div class="status-badge" style="background: rgba(241, 196, 15, 0.1); color: #f1c40f; border-color: #f1c40f;">
1102
+ ⛸️ 已暂停
1103
  </div>
1104
  <div class="runtime-display" style="margin-top: 8px; color: #f1c40f;">
1105
+ ⏱️ {runtime_str} | 📊 {progress_text}
1106
  </div>
1107
  </div>
1108
  '''
 
1111
  <div style="text-align: center;">
1112
  <div class="running-indicator">
1113
  <div class="spinner"></div>
1114
+ <span style="color: var(--term-blue); font-weight: 600;">🔄 运行中</span>
1115
  </div>
1116
  <div class="runtime-display" style="margin-top: 8px;">
1117
  ⏱️ {runtime_str} | 📊 {progress_text}
 
1123
  '''
1124
 
1125
  if is_paused:
1126
+ return '<div class="status-badge" style="background: rgba(241, 196, 15, 0.1); color: #f1c40f; border-color: #f1c40f;">⛸️ 已暂停</div>'
1127
 
1128
+ return '<div class="status-badge status-idle">💤 空闲</div>'
1129
 
1130
  def get_time_str():
1131
+ return f"上次运行: {last_refresh_time or '从未运行'}"
1132
 
1133
  def check_auth(password):
1134
  """验证管理密码"""
 
1225
  with gr.Column(visible=bool(ADMIN_PASSWORD)) as login_page:
1226
  gr.HTML('''
1227
  <div class="login-container">
1228
+ <div class="login-title">🔐 Gemini 账号刷新器</div>
1229
  <div class="login-subtitle">请输入管理密码</div>
1230
  </div>
1231
  ''')
 
1250
  <div class="dot red"></div>
1251
  <div class="dot yellow"></div>
1252
  <div class="dot green"></div>
1253
+ <div style="margin-left: 10px; color: var(--text-secondary); font-size: 13px; font-weight: 600;">Gemini 刷新器</div>
1254
  </div>
1255
  <div style="display: flex; gap: 8px; align-items: center;">
1256
+ <button id="theme-toggle">🌘 深色</button>
1257
  </div>
1258
  </div>
1259
  <script>
 
1263
  var isDark = document.body.classList.contains('dark-theme');
1264
  localStorage.setItem('theme', isDark ? 'dark' : 'light');
1265
  var btn = document.getElementById('theme-toggle');
1266
+ if(btn) btn.innerText = isDark ? '☀️ 浅色' : '🌘 深色';
1267
  }
1268
 
1269
  // 初始化主题 - 默认浅色(CSS 已默认浅色)
 
1280
  btn.onclick = toggleTheme;
1281
  // 更新按钮文字
1282
  var isDark = document.body.classList.contains('dark-theme');
1283
+ btn.innerText = isDark ? '☀️ 浅色' : '🌘 深色';
1284
  }
1285
 
1286
  // 延迟再检查一次(防止 Gradio 动态加载覆盖)
 
1290
  btn2.onclick = toggleTheme;
1291
  }
1292
  var isDark2 = document.body.classList.contains('dark-theme');
1293
+ if (btn2) btn2.innerText = isDark2 ? '☀️ 浅色' : '🌘 深色';
1294
  }, 500);
1295
  })();
1296
  </script>
 
1299
  # 控制台区域
1300
  with gr.Row(elem_classes=["p-4"]):
1301
  with gr.Column(scale=3):
1302
+ gr.Markdown("### 💎 Gemini 账号刷新器\n自动化 Cookie 刷新 & 数据库同步系统")
1303
 
1304
  with gr.Column(scale=2):
1305
  # 状态显示 - 每秒刷新
 
1309
  with gr.Column(scale=1):
1310
  # 操作按钮
1311
  with gr.Row():
1312
+ refresh_btn = gr.Button("🚀 执行刷新", variant="primary", elem_classes=["action-btn"])
1313
  pause_btn = gr.Button(get_pause_btn_text(), variant="secondary", elem_classes=["action-btn"])
1314
+ stop_btn = gr.Button("🛑 停止", variant="stop", elem_classes=["action-btn"])
1315
  # 登出按钮
1316
  logout_btn = gr.Button("🚪 登出", size="sm", visible=bool(ADMIN_PASSWORD))
1317
 
 
1358
  css=CUSTOM_CSS,
1359
  js=JS_CODE
1360
  )
1361
+ # Force Update 01/20/2026 20:40:00 - UI全中文化