DawnC commited on
Commit
c7461dd
·
verified ·
1 Parent(s): 86bfba6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -487,9 +487,8 @@ async def predict(image):
487
  for j, (breed, prob) in enumerate(zip(topk_breeds[:3], topk_probs_percent[:3])):
488
  prob = float(prob.replace('%', ''))
489
 
490
- # 使用 HTML 按鈕生成
491
  button_id = f"Dog {i+1}: More about {breed}"
492
- # 在這裡避免不必要的 buttons.append(button_id)
493
  dogs_info += f"<li><strong>{breed}</strong> ({prob:.2f}% confidence)"
494
  dogs_info += f'<button style="background-color: #4CAF50; color: white; border: none; padding: 5px 10px; border-radius: 3px; margin-left: 10px;" onclick="handle_button_click(\'{button_id}\')">Learn More</button></li>'
495
  dogs_info += "</ul>"
@@ -499,18 +498,24 @@ async def predict(image):
499
 
500
  dogs_info += '</div>'
501
 
502
- # 生成 JavaScript 處理按鈕點擊事件
503
  html_output = f"""
504
  <style>
505
  .dog-info {{ border: 1px solid #ddd; margin-bottom: 20px; padding: 15px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }}
506
  .dog-info h2 {{ background-color: #f0f0f0; padding: 10px; margin: -15px -15px 15px -15px; border-radius: 5px 5px 0 0; }}
 
 
507
  </style>
 
508
  {dogs_info}
 
509
  <script>
510
  function handle_button_click(button_id) {{
 
511
  const radio = document.querySelector('input[type=radio][value="' + button_id + '"]');
512
  if (radio) {{
513
- radio.click(); // 點擊按鈕後觸發事件
 
514
  }} else {{
515
  console.error("Radio button not found:", button_id);
516
  }}
@@ -520,6 +525,7 @@ async def predict(image):
520
 
521
 
522
 
 
523
  initial_state = {
524
  "dogs_info": dogs_info,
525
  "buttons": buttons,
 
487
  for j, (breed, prob) in enumerate(zip(topk_breeds[:3], topk_probs_percent[:3])):
488
  prob = float(prob.replace('%', ''))
489
 
490
+ # 為每個品種生成一個唯一的 button_id,並附加 Learn More 按鈕
491
  button_id = f"Dog {i+1}: More about {breed}"
 
492
  dogs_info += f"<li><strong>{breed}</strong> ({prob:.2f}% confidence)"
493
  dogs_info += f'<button style="background-color: #4CAF50; color: white; border: none; padding: 5px 10px; border-radius: 3px; margin-left: 10px;" onclick="handle_button_click(\'{button_id}\')">Learn More</button></li>'
494
  dogs_info += "</ul>"
 
498
 
499
  dogs_info += '</div>'
500
 
501
+ # 生成 JavaScript 來處理按鈕點擊事件
502
  html_output = f"""
503
  <style>
504
  .dog-info {{ border: 1px solid #ddd; margin-bottom: 20px; padding: 15px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }}
505
  .dog-info h2 {{ background-color: #f0f0f0; padding: 10px; margin: -15px -15px 15px -15px; border-radius: 5px 5px 0 0; }}
506
+ .breed-button {{ background-color: #4CAF50; color: white; padding: 5px 10px; border-radius: 3px; border: none; cursor: pointer; margin-left: 10px; }}
507
+ .breed-button:hover {{ background-color: #45a049; }}
508
  </style>
509
+
510
  {dogs_info}
511
+
512
  <script>
513
  function handle_button_click(button_id) {{
514
+ // 嘗試選擇 radio 按鈕並觸發點擊事件
515
  const radio = document.querySelector('input[type=radio][value="' + button_id + '"]');
516
  if (radio) {{
517
+ radio.click(); // 點擊對應的 radio 按鈕
518
+ console.log('Button clicked: ' + button_id); // 檢查按鈕點擊事件是否正確觸發
519
  }} else {{
520
  console.error("Radio button not found:", button_id);
521
  }}
 
525
 
526
 
527
 
528
+
529
  initial_state = {
530
  "dogs_info": dogs_info,
531
  "buttons": buttons,