Spaces:
Sleeping
Sleeping
fix: status polling startsWith error, add TimesFM nav link to all HTML pages
Browse files- static/arima.html +1 -0
- static/ets.html +2 -0
- static/hybrid.html +1 -0
- static/index.html +1 -0
- static/lightgbm.html +1 -0
- static/prophet.html +1 -0
- static/theta.html +1 -0
- static/timesfm.html +6 -2
- static/xgboost.html +1 -0
static/arima.html
CHANGED
|
@@ -129,6 +129,7 @@
|
|
| 129 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 130 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 131 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 132 |
</ul>
|
| 133 |
</div>
|
| 134 |
</nav>
|
|
|
|
| 129 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 130 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 131 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 132 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 133 |
</ul>
|
| 134 |
</div>
|
| 135 |
</nav>
|
static/ets.html
CHANGED
|
@@ -121,6 +121,8 @@
|
|
| 121 |
<li><a href="/arima">ARIMA <span class="model-tag tag-classic">Classical</span></a></li>
|
| 122 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 123 |
<li><a href="/ets" class="active">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
|
|
|
|
|
|
| 124 |
</ul>
|
| 125 |
</div>
|
| 126 |
</nav>
|
|
|
|
| 121 |
<li><a href="/arima">ARIMA <span class="model-tag tag-classic">Classical</span></a></li>
|
| 122 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 123 |
<li><a href="/ets" class="active">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 124 |
+
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 125 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 126 |
</ul>
|
| 127 |
</div>
|
| 128 |
</nav>
|
static/hybrid.html
CHANGED
|
@@ -612,6 +612,7 @@
|
|
| 612 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 613 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 614 |
<li><a href="/hybrid" class="active">하이브리드 <span class="model-tag tag-hybrid">Hybrid</span></a></li>
|
|
|
|
| 615 |
</ul>
|
| 616 |
</div>
|
| 617 |
</nav>
|
|
|
|
| 612 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 613 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 614 |
<li><a href="/hybrid" class="active">하이브리드 <span class="model-tag tag-hybrid">Hybrid</span></a></li>
|
| 615 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 616 |
</ul>
|
| 617 |
</div>
|
| 618 |
</nav>
|
static/index.html
CHANGED
|
@@ -402,6 +402,7 @@
|
|
| 402 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 403 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 404 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 405 |
</ul>
|
| 406 |
</div>
|
| 407 |
</nav>
|
|
|
|
| 402 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 403 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 404 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 405 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 406 |
</ul>
|
| 407 |
</div>
|
| 408 |
</nav>
|
static/lightgbm.html
CHANGED
|
@@ -120,6 +120,7 @@
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 123 |
</ul>
|
| 124 |
</div>
|
| 125 |
</nav>
|
|
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 123 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 124 |
</ul>
|
| 125 |
</div>
|
| 126 |
</nav>
|
static/prophet.html
CHANGED
|
@@ -120,6 +120,7 @@
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 123 |
</ul>
|
| 124 |
</div>
|
| 125 |
</nav>
|
|
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 123 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 124 |
</ul>
|
| 125 |
</div>
|
| 126 |
</nav>
|
static/theta.html
CHANGED
|
@@ -122,6 +122,7 @@
|
|
| 122 |
<li><a href="/theta" class="active">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 123 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 124 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 125 |
</ul>
|
| 126 |
</div>
|
| 127 |
</nav>
|
|
|
|
| 122 |
<li><a href="/theta" class="active">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 123 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 124 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 125 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 126 |
</ul>
|
| 127 |
</div>
|
| 128 |
</nav>
|
static/timesfm.html
CHANGED
|
@@ -530,13 +530,17 @@
|
|
| 530 |
|
| 531 |
/* ---- 모델 상태 폴링 ---- */
|
| 532 |
function updateBadge(status) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 533 |
const map = {
|
| 534 |
loading: ['badge-loading', '<span class="spinner"></span>모델 로딩 중'],
|
| 535 |
loaded: ['badge-loaded', '● 모델 준비됨'],
|
| 536 |
error: ['badge-error', '● 로딩 오류'],
|
| 537 |
not_loaded: ['badge-not_loaded', '● 모델 미로딩'],
|
| 538 |
};
|
| 539 |
-
const [cls, text] = map[
|
| 540 |
modelStatusBadge.className = 'status-badge ' + cls;
|
| 541 |
modelStatusBadge.innerHTML = text;
|
| 542 |
}
|
|
@@ -552,7 +556,7 @@
|
|
| 552 |
modelReady = true;
|
| 553 |
refreshPredictBtn();
|
| 554 |
if (pollTimer) { clearInterval(pollTimer); pollTimer = null; }
|
| 555 |
-
} else if (status
|
| 556 |
if (pollTimer) { clearInterval(pollTimer); pollTimer = null; }
|
| 557 |
}
|
| 558 |
} catch (_) {
|
|
|
|
| 530 |
|
| 531 |
/* ---- 모델 상태 폴링 ---- */
|
| 532 |
function updateBadge(status) {
|
| 533 |
+
const key = status === 'loaded' ? 'loaded'
|
| 534 |
+
: status === 'loading' ? 'loading'
|
| 535 |
+
: status.startsWith('error') ? 'error'
|
| 536 |
+
: 'not_loaded';
|
| 537 |
const map = {
|
| 538 |
loading: ['badge-loading', '<span class="spinner"></span>모델 로딩 중'],
|
| 539 |
loaded: ['badge-loaded', '● 모델 준비됨'],
|
| 540 |
error: ['badge-error', '● 로딩 오류'],
|
| 541 |
not_loaded: ['badge-not_loaded', '● 모델 미로딩'],
|
| 542 |
};
|
| 543 |
+
const [cls, text] = map[key];
|
| 544 |
modelStatusBadge.className = 'status-badge ' + cls;
|
| 545 |
modelStatusBadge.innerHTML = text;
|
| 546 |
}
|
|
|
|
| 556 |
modelReady = true;
|
| 557 |
refreshPredictBtn();
|
| 558 |
if (pollTimer) { clearInterval(pollTimer); pollTimer = null; }
|
| 559 |
+
} else if (status.startsWith('error')) {
|
| 560 |
if (pollTimer) { clearInterval(pollTimer); pollTimer = null; }
|
| 561 |
}
|
| 562 |
} catch (_) {
|
static/xgboost.html
CHANGED
|
@@ -120,6 +120,7 @@
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
|
|
|
| 123 |
</ul>
|
| 124 |
</div>
|
| 125 |
</nav>
|
|
|
|
| 120 |
<li><a href="/theta">Theta <span class="model-tag tag-theta">Classical</span></a></li>
|
| 121 |
<li><a href="/ets">ETS <span class="model-tag tag-ets">Smoothing</span></a></li>
|
| 122 |
<li><a href="/hybrid">Hybrid <span class="model-tag" style="background: rgba(236, 72, 153, 0.15); color: #f472b6;">LLM</span></a></li>
|
| 123 |
+
<li><a href="/timesfm">TimesFM <span class="model-tag" style="background: rgba(56, 189, 248, 0.15); color: #7dd3fc;">FM</span></a></li>
|
| 124 |
</ul>
|
| 125 |
</div>
|
| 126 |
</nav>
|