claude-code-kanban 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/public/app.js +13 -3
- package/public/style.css +21 -12
package/package.json
CHANGED
package/public/app.js
CHANGED
|
@@ -1463,17 +1463,19 @@ function updateFullscreenBtnIcon(btnId, isFullscreen) {
|
|
|
1463
1463
|
}
|
|
1464
1464
|
|
|
1465
1465
|
let _toastTimer = null;
|
|
1466
|
+
let _manualRefreshing = false;
|
|
1466
1467
|
//#endregion
|
|
1467
1468
|
|
|
1468
1469
|
//#region TOAST
|
|
1469
|
-
function showToast(msg) {
|
|
1470
|
+
function showToast(msg, type) {
|
|
1470
1471
|
const el = document.getElementById('toast');
|
|
1471
1472
|
clearTimeout(_toastTimer);
|
|
1472
1473
|
el.style.transition = 'none';
|
|
1473
|
-
el.classList.remove('visible');
|
|
1474
|
+
el.classList.remove('visible', 'toast-success', 'toast-error', 'toast-info');
|
|
1474
1475
|
void el.offsetHeight;
|
|
1475
1476
|
el.style.transition = '';
|
|
1476
1477
|
el.textContent = msg;
|
|
1478
|
+
if (type) el.classList.add(`toast-${type}`);
|
|
1477
1479
|
el.classList.add('visible');
|
|
1478
1480
|
_toastTimer = setTimeout(() => el.classList.remove('visible'), 2000);
|
|
1479
1481
|
}
|
|
@@ -3993,7 +3995,15 @@ document.addEventListener('keydown', (e) => {
|
|
|
3993
3995
|
}
|
|
3994
3996
|
if (matchKey(e, 'KeyR')) {
|
|
3995
3997
|
e.preventDefault();
|
|
3996
|
-
|
|
3998
|
+
if (_manualRefreshing) return;
|
|
3999
|
+
_manualRefreshing = true;
|
|
4000
|
+
const refreshes = [fetchSessions()];
|
|
4001
|
+
if (currentSessionId) refreshes.push(fetchTasks(currentSessionId));
|
|
4002
|
+
Promise.all(refreshes)
|
|
4003
|
+
.then(() => showToast('Data refreshed', 'success'))
|
|
4004
|
+
.finally(() => {
|
|
4005
|
+
_manualRefreshing = false;
|
|
4006
|
+
});
|
|
3997
4007
|
return;
|
|
3998
4008
|
}
|
|
3999
4009
|
if (matchKey(e, 'KeyT')) {
|
package/public/style.css
CHANGED
|
@@ -2076,29 +2076,38 @@ body::before {
|
|
|
2076
2076
|
}
|
|
2077
2077
|
.toast {
|
|
2078
2078
|
position: fixed;
|
|
2079
|
-
bottom:
|
|
2080
|
-
left:
|
|
2081
|
-
transform: translateY(20px);
|
|
2079
|
+
bottom: 16px;
|
|
2080
|
+
left: 16px;
|
|
2082
2081
|
background: var(--bg-elevated);
|
|
2083
|
-
color: var(--accent-text);
|
|
2084
2082
|
border: 1px solid var(--border);
|
|
2085
|
-
border-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
font-weight: 600;
|
|
2083
|
+
border-radius: 6px;
|
|
2084
|
+
padding: 8px 14px;
|
|
2085
|
+
font-size: 11px;
|
|
2086
|
+
color: var(--text-secondary);
|
|
2090
2087
|
z-index: 10000;
|
|
2091
2088
|
opacity: 0;
|
|
2089
|
+
transform: translateY(10px);
|
|
2092
2090
|
transition:
|
|
2093
|
-
opacity 0.
|
|
2094
|
-
transform 0.
|
|
2091
|
+
opacity 0.2s ease,
|
|
2092
|
+
transform 0.2s ease;
|
|
2095
2093
|
pointer-events: none;
|
|
2096
|
-
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
|
2097
2094
|
}
|
|
2098
2095
|
.toast.visible {
|
|
2099
2096
|
opacity: 1;
|
|
2100
2097
|
transform: translateY(0);
|
|
2101
2098
|
}
|
|
2099
|
+
.toast.toast-success {
|
|
2100
|
+
border-color: var(--success);
|
|
2101
|
+
color: var(--success);
|
|
2102
|
+
}
|
|
2103
|
+
.toast.toast-error {
|
|
2104
|
+
border-color: #f85149;
|
|
2105
|
+
color: #f85149;
|
|
2106
|
+
}
|
|
2107
|
+
.toast.toast-info {
|
|
2108
|
+
border-color: var(--accent);
|
|
2109
|
+
color: var(--accent);
|
|
2110
|
+
}
|
|
2102
2111
|
.rendered-md h1,
|
|
2103
2112
|
.rendered-md h2,
|
|
2104
2113
|
.rendered-md h3,
|