Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -4091,7 +4091,7 @@ def _progress_panel() -> str:
|
|
| 4091 |
rows+=(f"<tr>"
|
| 4092 |
f"<td style='color:#555;font-size:0.58em;padding:1px 3px;"
|
| 4093 |
f"white-space:nowrap'>{d['label'][:22]}</td>")
|
| 4094 |
-
for v in
|
| 4095 |
val=d.get(v,0.0); w=max(2,int(val*50))
|
| 4096 |
col=ver_colors[v]
|
| 4097 |
rows+=(f"<td style='padding:1px 2px'>"
|
|
@@ -4100,29 +4100,35 @@ def _progress_panel() -> str:
|
|
| 4100 |
f"title='{v}:{round(val*100)}%'></div></td>")
|
| 4101 |
rows+=(f"<td style='color:#4CAF50;font-size:0.56em;padding:1px 2px'>"
|
| 4102 |
f"{round(d.get('v33_ae2',0)*100)}%</td></tr>")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4103 |
return (f"<div style='color:#FFEB3B;font-size:0.70em;font-weight:bold;"
|
| 4104 |
f"margin-bottom:3px'>Progress to Practical</div>"
|
| 4105 |
f"<div style='font-size:0.60em;color:#444;margin-bottom:3px'>"
|
| 4106 |
-
f"<span style='color:{
|
| 4107 |
-
f"<span style='color:{
|
| 4108 |
-
f"<span style='color:{
|
| 4109 |
-
f"<span style='color:{
|
| 4110 |
f"</div>"
|
| 4111 |
f"<table style='width:100%;border-collapse:collapse'>"
|
| 4112 |
f"<tr>"
|
| 4113 |
f"<th style='color:#444;font-size:0.58em;text-align:left'>"
|
| 4114 |
f"dimension</th>"
|
| 4115 |
-
f"<th style='color:{
|
| 4116 |
-
f"<th style='color:{
|
| 4117 |
-
f"<th style='color:{
|
| 4118 |
-
f"<th style='color:{
|
| 4119 |
f"<th style='color:#888;font-size:0.58em'>AE2%</th>"
|
| 4120 |
f"</tr>"
|
| 4121 |
f"{rows}</table>"
|
| 4122 |
f"<div style='color:#333;font-size:0.56em;margin-top:3px'>"
|
| 4123 |
f"①=G1 soft-DOF ②=G2 perturb. AE2 leads on oracle dims, "
|
| 4124 |
f"AE leads on certificates.</div>")
|
| 4125 |
-
|
| 4126 |
def _game_panel() -> str:
|
| 4127 |
with STATE_LOCK: games=list(ARENA.get("game_results",[]))
|
| 4128 |
if not games:
|
|
|
|
| 4091 |
rows+=(f"<tr>"
|
| 4092 |
f"<td style='color:#555;font-size:0.58em;padding:1px 3px;"
|
| 4093 |
f"white-space:nowrap'>{d['label'][:22]}</td>")
|
| 4094 |
+
for v in["v31","v32","v33_ae","v33_ae2"]:
|
| 4095 |
val=d.get(v,0.0); w=max(2,int(val*50))
|
| 4096 |
col=ver_colors[v]
|
| 4097 |
rows+=(f"<td style='padding:1px 2px'>"
|
|
|
|
| 4100 |
f"title='{v}:{round(val*100)}%'></div></td>")
|
| 4101 |
rows+=(f"<td style='color:#4CAF50;font-size:0.56em;padding:1px 2px'>"
|
| 4102 |
f"{round(d.get('v33_ae2',0)*100)}%</td></tr>")
|
| 4103 |
+
|
| 4104 |
+
c_v31, c_v32 = ver_colors["v31"], ver_colors["v32"]
|
| 4105 |
+
c_ae, c_ae2 = ver_colors["v33_ae"], ver_colors["v33_ae2"]
|
| 4106 |
+
a_v31, a_v32 = avgs["v31"], avgs["v32"]
|
| 4107 |
+
a_ae, a_ae2 = avgs["v33_ae"], avgs["v33_ae2"]
|
| 4108 |
+
|
| 4109 |
return (f"<div style='color:#FFEB3B;font-size:0.70em;font-weight:bold;"
|
| 4110 |
f"margin-bottom:3px'>Progress to Practical</div>"
|
| 4111 |
f"<div style='font-size:0.60em;color:#444;margin-bottom:3px'>"
|
| 4112 |
+
f"<span style='color:{c_v31}'>v31:{a_v31}%</span> "
|
| 4113 |
+
f"<span style='color:{c_v32}'>v32:{a_v32}%</span> "
|
| 4114 |
+
f"<span style='color:{c_ae}'>v33-AE:{a_ae}%</span> "
|
| 4115 |
+
f"<span style='color:{c_ae2}'>v33-AE2:{a_ae2}%</span>"
|
| 4116 |
f"</div>"
|
| 4117 |
f"<table style='width:100%;border-collapse:collapse'>"
|
| 4118 |
f"<tr>"
|
| 4119 |
f"<th style='color:#444;font-size:0.58em;text-align:left'>"
|
| 4120 |
f"dimension</th>"
|
| 4121 |
+
f"<th style='color:{c_v31};font-size:0.58em'>v31</th>"
|
| 4122 |
+
f"<th style='color:{c_v32};font-size:0.58em'>v32</th>"
|
| 4123 |
+
f"<th style='color:{c_ae};font-size:0.58em'>AE</th>"
|
| 4124 |
+
f"<th style='color:{c_ae2};font-size:0.58em'>AE2</th>"
|
| 4125 |
f"<th style='color:#888;font-size:0.58em'>AE2%</th>"
|
| 4126 |
f"</tr>"
|
| 4127 |
f"{rows}</table>"
|
| 4128 |
f"<div style='color:#333;font-size:0.56em;margin-top:3px'>"
|
| 4129 |
f"①=G1 soft-DOF ②=G2 perturb. AE2 leads on oracle dims, "
|
| 4130 |
f"AE leads on certificates.</div>")
|
| 4131 |
+
|
| 4132 |
def _game_panel() -> str:
|
| 4133 |
with STATE_LOCK: games=list(ARENA.get("game_results",[]))
|
| 4134 |
if not games:
|