Spaces:
Running
Running
Align task card content
Browse files- ui/assets/app.js +5 -1
- ui/assets/styles.css +27 -5
ui/assets/app.js
CHANGED
|
@@ -40,11 +40,15 @@ function renderTaskCards(target, tasks) {
|
|
| 40 |
const title = document.createElement("h3");
|
| 41 |
title.textContent = safeText(task.name);
|
| 42 |
|
|
|
|
|
|
|
|
|
|
| 43 |
const expectedField = document.createElement("p");
|
| 44 |
expectedField.append("Expected field: ");
|
| 45 |
const expectedFieldValue = document.createElement("strong");
|
| 46 |
expectedFieldValue.textContent = safeText(task.expected_field || task.output_field);
|
| 47 |
expectedField.appendChild(expectedFieldValue);
|
|
|
|
| 48 |
|
| 49 |
const taskMeta = document.createElement("div");
|
| 50 |
taskMeta.className = "task-meta";
|
|
@@ -59,7 +63,7 @@ function renderTaskCards(target, tasks) {
|
|
| 59 |
taskValues.appendChild(createBadge(value));
|
| 60 |
});
|
| 61 |
|
| 62 |
-
article.append(difficulty,
|
| 63 |
target.appendChild(article);
|
| 64 |
});
|
| 65 |
}
|
|
|
|
| 40 |
const title = document.createElement("h3");
|
| 41 |
title.textContent = safeText(task.name);
|
| 42 |
|
| 43 |
+
const content = document.createElement("div");
|
| 44 |
+
content.className = "task-card-content";
|
| 45 |
+
|
| 46 |
const expectedField = document.createElement("p");
|
| 47 |
expectedField.append("Expected field: ");
|
| 48 |
const expectedFieldValue = document.createElement("strong");
|
| 49 |
expectedFieldValue.textContent = safeText(task.expected_field || task.output_field);
|
| 50 |
expectedField.appendChild(expectedFieldValue);
|
| 51 |
+
content.append(title, expectedField);
|
| 52 |
|
| 53 |
const taskMeta = document.createElement("div");
|
| 54 |
taskMeta.className = "task-meta";
|
|
|
|
| 63 |
taskValues.appendChild(createBadge(value));
|
| 64 |
});
|
| 65 |
|
| 66 |
+
article.append(difficulty, content, taskMeta, taskValues);
|
| 67 |
target.appendChild(article);
|
| 68 |
});
|
| 69 |
}
|
ui/assets/styles.css
CHANGED
|
@@ -481,11 +481,11 @@ main {
|
|
| 481 |
.task-card {
|
| 482 |
position: relative;
|
| 483 |
overflow: hidden;
|
| 484 |
-
display:
|
| 485 |
min-height: 245px;
|
| 486 |
-
|
| 487 |
-
|
| 488 |
-
gap:
|
| 489 |
}
|
| 490 |
|
| 491 |
.task-card::after {
|
|
@@ -503,7 +503,29 @@ main {
|
|
| 503 |
display: flex;
|
| 504 |
flex-wrap: wrap;
|
| 505 |
gap: 8px;
|
| 506 |
-
margin-top:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 507 |
}
|
| 508 |
|
| 509 |
.badge {
|
|
|
|
| 481 |
.task-card {
|
| 482 |
position: relative;
|
| 483 |
overflow: hidden;
|
| 484 |
+
display: grid;
|
| 485 |
min-height: 245px;
|
| 486 |
+
grid-template-rows: 32px minmax(92px, auto) minmax(36px, auto) minmax(72px, 1fr);
|
| 487 |
+
align-content: start;
|
| 488 |
+
gap: 16px;
|
| 489 |
}
|
| 490 |
|
| 491 |
.task-card::after {
|
|
|
|
| 503 |
display: flex;
|
| 504 |
flex-wrap: wrap;
|
| 505 |
gap: 8px;
|
| 506 |
+
margin-top: 0;
|
| 507 |
+
}
|
| 508 |
+
|
| 509 |
+
.task-card-content {
|
| 510 |
+
display: grid;
|
| 511 |
+
align-content: start;
|
| 512 |
+
min-height: 92px;
|
| 513 |
+
}
|
| 514 |
+
|
| 515 |
+
.task-card > .badge:first-child {
|
| 516 |
+
width: fit-content;
|
| 517 |
+
}
|
| 518 |
+
|
| 519 |
+
.task-card h3 {
|
| 520 |
+
min-height: 3.05em;
|
| 521 |
+
}
|
| 522 |
+
|
| 523 |
+
.task-card p {
|
| 524 |
+
margin: 0;
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
.task-values {
|
| 528 |
+
align-content: start;
|
| 529 |
}
|
| 530 |
|
| 531 |
.badge {
|