okstra 0.207.0 → 0.207.1
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
CHANGED
package/runtime/BUILD.json
CHANGED
|
@@ -41,7 +41,12 @@ def _table(headers: tuple[str, ...], rows: list[list[str]], empty: str) -> str:
|
|
|
41
41
|
if not rows:
|
|
42
42
|
return f'<p class="empty">{_e(empty)}</p>'
|
|
43
43
|
head = "".join(f"<th>{_e(header)}</th>" for header in headers)
|
|
44
|
-
body = "".join(
|
|
44
|
+
body = "".join(
|
|
45
|
+
"<tr>"
|
|
46
|
+
+ "".join(f'<td data-label="{_e(header)}">{cell}</td>' for header, cell in zip(headers, row))
|
|
47
|
+
+ "</tr>"
|
|
48
|
+
for row in rows
|
|
49
|
+
)
|
|
45
50
|
return f'<div class="scroll"><table><thead><tr>{head}</tr></thead><tbody>{body}</tbody></table></div>'
|
|
46
51
|
|
|
47
52
|
|
|
@@ -81,7 +86,8 @@ def _projects_table(projects: list[dict]) -> str:
|
|
|
81
86
|
]
|
|
82
87
|
for project in projects
|
|
83
88
|
]
|
|
84
|
-
|
|
89
|
+
table = _table(("Project", "Root", "Role", "Tags", "Linked at"), rows, "No projects registered.")
|
|
90
|
+
return f'<div class="projects">{table}</div>'
|
|
85
91
|
|
|
86
92
|
|
|
87
93
|
def _child_rows(children: list[dict], roots: dict[str, str]) -> list[list[str]]:
|
|
@@ -168,7 +174,7 @@ def _task_panel(home: Path, manager_id: str, task: dict, status: dict, roots: di
|
|
|
168
174
|
f"<code>{_e(sync_command)}</code>, then re-run the view command.</p>"
|
|
169
175
|
)
|
|
170
176
|
children = _table(
|
|
171
|
-
("
|
|
177
|
+
("TaskID", "Status", "Assignment"),
|
|
172
178
|
_child_rows(status["children"], roots),
|
|
173
179
|
"No child tasks.",
|
|
174
180
|
)
|
|
@@ -74,10 +74,13 @@ code.child-key { word-break: normal; }
|
|
|
74
74
|
.child-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; font-size: 12px; }
|
|
75
75
|
.child-error { color: var(--blocked); margin: 8px 0 0; font-size: 12px; }
|
|
76
76
|
@media (max-width: 700px) {
|
|
77
|
-
.children table, .children tbody, .children tr, .children td
|
|
78
|
-
.
|
|
79
|
-
.children
|
|
80
|
-
.children
|
|
77
|
+
.children table, .children tbody, .children tr, .children td,
|
|
78
|
+
.projects table, .projects tbody, .projects tr, .projects td { display: block; width: 100%; }
|
|
79
|
+
.children thead, .projects thead { display: none; }
|
|
80
|
+
.children tr, .projects tr { padding: 12px 0; border-bottom: 1px solid var(--line); }
|
|
81
|
+
.children td, .projects td { padding: 6px 0; border: 0; }
|
|
82
|
+
.projects td { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
|
|
83
|
+
.projects td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
|
|
81
84
|
}
|
|
82
85
|
.chip {
|
|
83
86
|
display: inline-block;
|