Upload 43 files
Browse files- index.html +6 -6
- static/css/main.css +2 -125
- static/js/app.js +14 -3
index.html
CHANGED
|
@@ -584,7 +584,7 @@
|
|
| 584 |
</svg>
|
| 585 |
</div>
|
| 586 |
<div class="stat-content">
|
| 587 |
-
<div class="stat-label">
|
| 588 |
<div class="stat-value" id="transformers-status-value">Checking...</div>
|
| 589 |
</div>
|
| 590 |
</div>
|
|
@@ -598,7 +598,7 @@
|
|
| 598 |
</svg>
|
| 599 |
</div>
|
| 600 |
<div class="stat-content">
|
| 601 |
-
<div class="stat-label">
|
| 602 |
<div class="stat-value" id="hf-status-value">Checking...</div>
|
| 603 |
</div>
|
| 604 |
</div>
|
|
@@ -614,7 +614,7 @@
|
|
| 614 |
</svg>
|
| 615 |
</div>
|
| 616 |
<div class="stat-content">
|
| 617 |
-
<div class="stat-label">Models
|
| 618 |
<div class="stat-value" id="models-status-value">0</div>
|
| 619 |
</div>
|
| 620 |
</div>
|
|
@@ -627,7 +627,7 @@
|
|
| 627 |
</svg>
|
| 628 |
</div>
|
| 629 |
<div class="stat-content">
|
| 630 |
-
<div class="stat-label">Last
|
| 631 |
<div class="stat-value" id="last-test-value" style="font-size: 13px;">Never</div>
|
| 632 |
</div>
|
| 633 |
</div>
|
|
@@ -645,7 +645,7 @@
|
|
| 645 |
</svg>
|
| 646 |
Run Full Diagnostic
|
| 647 |
</button>
|
| 648 |
-
<button class="btn-
|
| 649 |
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block; vertical-align: middle; margin-right: 6px;">
|
| 650 |
<polyline points="23 4 23 10 17 10"></polyline>
|
| 651 |
<polyline points="1 20 1 14 7 14"></polyline>
|
|
@@ -653,7 +653,7 @@
|
|
| 653 |
</svg>
|
| 654 |
Refresh Status
|
| 655 |
</button>
|
| 656 |
-
<button class="btn-
|
| 657 |
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block; vertical-align: middle; margin-right: 6px;">
|
| 658 |
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
|
| 659 |
<polyline points="7 10 12 15 17 10"></polyline>
|
|
|
|
| 584 |
</svg>
|
| 585 |
</div>
|
| 586 |
<div class="stat-content">
|
| 587 |
+
<div class="stat-label">ML Library Status</div>
|
| 588 |
<div class="stat-value" id="transformers-status-value">Checking...</div>
|
| 589 |
</div>
|
| 590 |
</div>
|
|
|
|
| 598 |
</svg>
|
| 599 |
</div>
|
| 600 |
<div class="stat-content">
|
| 601 |
+
<div class="stat-label">HF Hub Connection</div>
|
| 602 |
<div class="stat-value" id="hf-status-value">Checking...</div>
|
| 603 |
</div>
|
| 604 |
</div>
|
|
|
|
| 614 |
</svg>
|
| 615 |
</div>
|
| 616 |
<div class="stat-content">
|
| 617 |
+
<div class="stat-label">AI Models Ready</div>
|
| 618 |
<div class="stat-value" id="models-status-value">0</div>
|
| 619 |
</div>
|
| 620 |
</div>
|
|
|
|
| 627 |
</svg>
|
| 628 |
</div>
|
| 629 |
<div class="stat-content">
|
| 630 |
+
<div class="stat-label">Last Diagnostic</div>
|
| 631 |
<div class="stat-value" id="last-test-value" style="font-size: 13px;">Never</div>
|
| 632 |
</div>
|
| 633 |
</div>
|
|
|
|
| 645 |
</svg>
|
| 646 |
Run Full Diagnostic
|
| 647 |
</button>
|
| 648 |
+
<button class="btn-refresh" onclick="refreshDiagnosticStatus()">
|
| 649 |
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block; vertical-align: middle; margin-right: 6px;">
|
| 650 |
<polyline points="23 4 23 10 17 10"></polyline>
|
| 651 |
<polyline points="1 20 1 14 7 14"></polyline>
|
|
|
|
| 653 |
</svg>
|
| 654 |
Refresh Status
|
| 655 |
</button>
|
| 656 |
+
<button class="btn-refresh" onclick="downloadDiagnosticLog()">
|
| 657 |
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block; vertical-align: middle; margin-right: 6px;">
|
| 658 |
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
|
| 659 |
<polyline points="7 10 12 15 17 10"></polyline>
|
static/css/main.css
CHANGED
|
@@ -1967,121 +1967,7 @@ body.light-theme ::-webkit-scrollbar-track {
|
|
| 1967 |
font-weight: 600;
|
| 1968 |
}
|
| 1969 |
|
| 1970 |
-
/* Diagnostic Actions */
|
| 1971 |
-
.diagnostic-actions {
|
| 1972 |
-
display: flex;
|
| 1973 |
-
gap: 12px;
|
| 1974 |
-
margin-bottom: 32px;
|
| 1975 |
-
flex-wrap: wrap;
|
| 1976 |
-
}
|
| 1977 |
-
|
| 1978 |
-
.diagnostic-actions .btn-primary {
|
| 1979 |
-
display: flex;
|
| 1980 |
-
align-items: center;
|
| 1981 |
-
justify-content: center;
|
| 1982 |
-
gap: 8px;
|
| 1983 |
-
padding: 12px 24px;
|
| 1984 |
-
background: linear-gradient(135deg, var(--primary), var(--primary-dark));
|
| 1985 |
-
border: none;
|
| 1986 |
-
border-radius: 10px;
|
| 1987 |
-
color: white;
|
| 1988 |
-
font-weight: 600;
|
| 1989 |
-
font-size: 14px;
|
| 1990 |
-
cursor: pointer;
|
| 1991 |
-
transition: all var(--transition-fast);
|
| 1992 |
-
position: relative;
|
| 1993 |
-
overflow: hidden;
|
| 1994 |
-
}
|
| 1995 |
-
|
| 1996 |
-
.diagnostic-actions .btn-primary::before {
|
| 1997 |
-
content: '';
|
| 1998 |
-
position: absolute;
|
| 1999 |
-
top: 50%;
|
| 2000 |
-
left: 50%;
|
| 2001 |
-
width: 0;
|
| 2002 |
-
height: 0;
|
| 2003 |
-
border-radius: 50%;
|
| 2004 |
-
background: rgba(255, 255, 255, 0.2);
|
| 2005 |
-
transform: translate(-50%, -50%);
|
| 2006 |
-
transition: width 0.6s, height 0.6s;
|
| 2007 |
-
}
|
| 2008 |
-
|
| 2009 |
-
.diagnostic-actions .btn-primary:hover:not(:disabled) {
|
| 2010 |
-
transform: translateY(-2px);
|
| 2011 |
-
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
|
| 2012 |
-
}
|
| 2013 |
-
|
| 2014 |
-
.diagnostic-actions .btn-primary:hover:not(:disabled)::before {
|
| 2015 |
-
width: 300px;
|
| 2016 |
-
height: 300px;
|
| 2017 |
-
}
|
| 2018 |
-
|
| 2019 |
-
.diagnostic-actions .btn-primary:disabled {
|
| 2020 |
-
opacity: 0.6;
|
| 2021 |
-
cursor: not-allowed;
|
| 2022 |
-
transform: none;
|
| 2023 |
-
}
|
| 2024 |
-
|
| 2025 |
-
.diagnostic-actions .btn-primary:disabled::before {
|
| 2026 |
-
display: none;
|
| 2027 |
-
}
|
| 2028 |
-
|
| 2029 |
-
.diagnostic-actions .btn-primary svg {
|
| 2030 |
-
width: 16px;
|
| 2031 |
-
height: 16px;
|
| 2032 |
-
stroke-width: 2;
|
| 2033 |
-
flex-shrink: 0;
|
| 2034 |
-
}
|
| 2035 |
-
|
| 2036 |
-
.diagnostic-actions .btn-secondary {
|
| 2037 |
-
display: flex;
|
| 2038 |
-
align-items: center;
|
| 2039 |
-
justify-content: center;
|
| 2040 |
-
gap: 8px;
|
| 2041 |
-
padding: 12px 24px;
|
| 2042 |
-
background: rgba(102, 126, 234, 0.15);
|
| 2043 |
-
border: 1px solid var(--primary);
|
| 2044 |
-
border-radius: 10px;
|
| 2045 |
-
color: var(--text-primary);
|
| 2046 |
-
font-weight: 600;
|
| 2047 |
-
font-size: 14px;
|
| 2048 |
-
cursor: pointer;
|
| 2049 |
-
transition: all var(--transition-fast);
|
| 2050 |
-
position: relative;
|
| 2051 |
-
overflow: hidden;
|
| 2052 |
-
}
|
| 2053 |
-
|
| 2054 |
-
.diagnostic-actions .btn-secondary::before {
|
| 2055 |
-
content: '';
|
| 2056 |
-
position: absolute;
|
| 2057 |
-
top: 50%;
|
| 2058 |
-
left: 50%;
|
| 2059 |
-
width: 0;
|
| 2060 |
-
height: 0;
|
| 2061 |
-
border-radius: 50%;
|
| 2062 |
-
background: rgba(102, 126, 234, 0.1);
|
| 2063 |
-
transform: translate(-50%, -50%);
|
| 2064 |
-
transition: width 0.6s, height 0.6s;
|
| 2065 |
-
}
|
| 2066 |
-
|
| 2067 |
-
.diagnostic-actions .btn-secondary:hover {
|
| 2068 |
-
background: rgba(102, 126, 234, 0.25);
|
| 2069 |
-
border-color: var(--primary-light);
|
| 2070 |
-
transform: translateY(-2px);
|
| 2071 |
-
box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
|
| 2072 |
-
}
|
| 2073 |
-
|
| 2074 |
-
.diagnostic-actions .btn-secondary:hover::before {
|
| 2075 |
-
width: 300px;
|
| 2076 |
-
height: 300px;
|
| 2077 |
-
}
|
| 2078 |
-
|
| 2079 |
-
.diagnostic-actions .btn-secondary svg {
|
| 2080 |
-
width: 16px;
|
| 2081 |
-
height: 16px;
|
| 2082 |
-
stroke-width: 2;
|
| 2083 |
-
flex-shrink: 0;
|
| 2084 |
-
}
|
| 2085 |
|
| 2086 |
/* Test Progress */
|
| 2087 |
#test-progress {
|
|
@@ -2175,16 +2061,7 @@ body.light-theme ::-webkit-scrollbar-track {
|
|
| 2175 |
grid-template-columns: 1fr;
|
| 2176 |
}
|
| 2177 |
|
| 2178 |
-
|
| 2179 |
-
flex-direction: column;
|
| 2180 |
-
}
|
| 2181 |
-
|
| 2182 |
-
.diagnostic-actions .btn-primary,
|
| 2183 |
-
.diagnostic-actions .btn-secondary {
|
| 2184 |
-
width: 100%;
|
| 2185 |
-
justify-content: center;
|
| 2186 |
-
padding: 14px 24px;
|
| 2187 |
-
}
|
| 2188 |
|
| 2189 |
.summary-grid {
|
| 2190 |
grid-template-columns: 1fr;
|
|
|
|
| 1967 |
font-weight: 600;
|
| 1968 |
}
|
| 1969 |
|
| 1970 |
+
/* Diagnostic Actions - Removed custom styles, using standard button classes */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1971 |
|
| 1972 |
/* Test Progress */
|
| 1973 |
#test-progress {
|
|
|
|
| 2061 |
grid-template-columns: 1fr;
|
| 2062 |
}
|
| 2063 |
|
| 2064 |
+
/* Diagnostic actions use standard button classes, no special mobile handling needed */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2065 |
|
| 2066 |
.summary-grid {
|
| 2067 |
grid-template-columns: 1fr;
|
static/js/app.js
CHANGED
|
@@ -1601,20 +1601,31 @@ async function refreshDiagnosticStatus() {
|
|
| 1601 |
|
| 1602 |
if (transformersStatusEl) {
|
| 1603 |
const transformersAvailable = modelsData.transformers_available || false;
|
| 1604 |
-
transformersStatusEl.textContent = transformersAvailable ? '
|
| 1605 |
transformersStatusEl.style.color = transformersAvailable ? 'var(--success)' : 'var(--danger)';
|
| 1606 |
}
|
| 1607 |
|
| 1608 |
if (hfStatusEl) {
|
| 1609 |
const hfMode = modelsData.hf_mode || 'off';
|
| 1610 |
const isConnected = hfMode !== 'off';
|
| 1611 |
-
|
|
|
|
| 1612 |
hfStatusEl.style.color = isConnected ? 'var(--success)' : 'var(--warning)';
|
| 1613 |
}
|
| 1614 |
|
| 1615 |
if (modelsLoadedEl) {
|
| 1616 |
const modelsLoaded = modelsData.models_loaded || 0;
|
| 1617 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1618 |
}
|
| 1619 |
}
|
| 1620 |
|
|
|
|
| 1601 |
|
| 1602 |
if (transformersStatusEl) {
|
| 1603 |
const transformersAvailable = modelsData.transformers_available || false;
|
| 1604 |
+
transformersStatusEl.textContent = transformersAvailable ? '✅ Installed' : '❌ Not Installed';
|
| 1605 |
transformersStatusEl.style.color = transformersAvailable ? 'var(--success)' : 'var(--danger)';
|
| 1606 |
}
|
| 1607 |
|
| 1608 |
if (hfStatusEl) {
|
| 1609 |
const hfMode = modelsData.hf_mode || 'off';
|
| 1610 |
const isConnected = hfMode !== 'off';
|
| 1611 |
+
const modeText = hfMode === 'public' ? 'Public' : hfMode === 'auth' ? 'Authenticated' : 'Offline';
|
| 1612 |
+
hfStatusEl.textContent = isConnected ? `✅ ${modeText}` : '⚠️ Offline';
|
| 1613 |
hfStatusEl.style.color = isConnected ? 'var(--success)' : 'var(--warning)';
|
| 1614 |
}
|
| 1615 |
|
| 1616 |
if (modelsLoadedEl) {
|
| 1617 |
const modelsLoaded = modelsData.models_loaded || 0;
|
| 1618 |
+
const modelsFailed = modelsData.models_failed || 0;
|
| 1619 |
+
if (modelsLoaded > 0) {
|
| 1620 |
+
modelsLoadedEl.textContent = `${modelsLoaded} Ready`;
|
| 1621 |
+
modelsLoadedEl.style.color = 'var(--success)';
|
| 1622 |
+
} else if (modelsFailed > 0) {
|
| 1623 |
+
modelsLoadedEl.textContent = `${modelsFailed} Failed`;
|
| 1624 |
+
modelsLoadedEl.style.color = 'var(--danger)';
|
| 1625 |
+
} else {
|
| 1626 |
+
modelsLoadedEl.textContent = '0';
|
| 1627 |
+
modelsLoadedEl.style.color = 'var(--text-secondary)';
|
| 1628 |
+
}
|
| 1629 |
}
|
| 1630 |
}
|
| 1631 |
|