@yemi33/minions 0.1.29 → 0.1.30
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/CHANGELOG.md +5 -0
- package/dashboard/js/render-work-items.js +28 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -226,20 +226,42 @@ async function retryWorkItem(id, source) {
|
|
|
226
226
|
function wiPrev() { if (wiPage > 0) { wiPage--; renderWorkItems(allWorkItems); } }
|
|
227
227
|
function wiNext() { const tp = Math.ceil(allWorkItems.length / WI_PER_PAGE); if (wiPage < tp-1) { wiPage++; renderWorkItems(allWorkItems); } }
|
|
228
228
|
|
|
229
|
+
let _feedbackRating = null;
|
|
229
230
|
function feedbackWorkItem(id, source) {
|
|
231
|
+
_feedbackRating = null;
|
|
230
232
|
document.getElementById('modal-title').textContent = 'Feedback on ' + id;
|
|
231
233
|
document.getElementById('modal-body').innerHTML =
|
|
232
|
-
'<div style="display:flex;flex-direction:column;gap:16px
|
|
233
|
-
'<div style="display:flex;gap:
|
|
234
|
-
'<button onclick="
|
|
235
|
-
'<button onclick="
|
|
234
|
+
'<div style="display:flex;flex-direction:column;gap:16px">' +
|
|
235
|
+
'<div style="display:flex;gap:16px;justify-content:center">' +
|
|
236
|
+
'<button id="fb-up" onclick="_selectRating(\'up\')" style="font-size:36px;background:none;border:2px solid var(--border);border-radius:12px;padding:12px 20px;cursor:pointer;transition:all 0.2s">👍</button>' +
|
|
237
|
+
'<button id="fb-down" onclick="_selectRating(\'down\')" style="font-size:36px;background:none;border:2px solid var(--border);border-radius:12px;padding:12px 20px;cursor:pointer;transition:all 0.2s">👎</button>' +
|
|
238
|
+
'</div>' +
|
|
239
|
+
'<textarea id="feedback-comment" rows="3" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;resize:vertical" placeholder="What was good or needs improvement?"></textarea>' +
|
|
240
|
+
'<div style="display:flex;justify-content:flex-end;gap:8px">' +
|
|
241
|
+
'<button onclick="closeModal()" class="pr-pager-btn">Cancel</button>' +
|
|
242
|
+
'<button id="fb-send" onclick="submitFeedback(\'' + escHtml(id) + '\',\'' + escHtml(source) + '\')" style="padding:6px 16px;background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:not-allowed" disabled>Select rating first</button>' +
|
|
236
243
|
'</div>' +
|
|
237
|
-
'<textarea id="feedback-comment" rows="3" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;resize:vertical" placeholder="Optional: what was good or needs improvement?"></textarea>' +
|
|
238
244
|
'</div>';
|
|
239
245
|
document.getElementById('modal').classList.add('open');
|
|
240
246
|
}
|
|
247
|
+
function _selectRating(r) {
|
|
248
|
+
_feedbackRating = r;
|
|
249
|
+
document.getElementById('fb-up').style.borderColor = r === 'up' ? 'var(--green)' : 'var(--border)';
|
|
250
|
+
document.getElementById('fb-up').style.background = r === 'up' ? 'rgba(63,185,80,0.1)' : 'none';
|
|
251
|
+
document.getElementById('fb-down').style.borderColor = r === 'down' ? 'var(--red)' : 'var(--border)';
|
|
252
|
+
document.getElementById('fb-down').style.background = r === 'down' ? 'rgba(248,81,73,0.1)' : 'none';
|
|
253
|
+
const btn = document.getElementById('fb-send');
|
|
254
|
+
btn.disabled = false;
|
|
255
|
+
btn.style.background = 'var(--blue)';
|
|
256
|
+
btn.style.color = '#fff';
|
|
257
|
+
btn.style.cursor = 'pointer';
|
|
258
|
+
btn.style.borderColor = 'var(--blue)';
|
|
259
|
+
btn.textContent = 'Send Feedback';
|
|
260
|
+
}
|
|
241
261
|
|
|
242
|
-
async function submitFeedback(id, source
|
|
262
|
+
async function submitFeedback(id, source) {
|
|
263
|
+
const rating = _feedbackRating;
|
|
264
|
+
if (!rating) { alert('Please select a rating first'); return; }
|
|
243
265
|
const comment = document.getElementById('feedback-comment')?.value || '';
|
|
244
266
|
try {
|
|
245
267
|
const res = await fetch('/api/work-items/feedback', {
|
package/package.json
CHANGED