@nanocollective/roster 0.1.0-alpha.36 → 0.1.0-alpha.37

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanocollective/roster",
3
- "version": "0.1.0-alpha.36",
3
+ "version": "0.1.0-alpha.37",
4
4
  "description": "An agent-run org, powered by GitHub. Scaffold AI staff members whose brain is a repo.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -192,5 +192,5 @@ textarea.dropping{border-color:var(--accent);background:color-mix(in srgb,var(--
192
192
  .tevquiet .tev{padding:5px 0;font-size:12px}
193
193
 
194
194
  /* Unread, from GitHub's notifications: a bar on the left and a heavier title. Cleared on open. */
195
- .irow.unread{box-shadow:inset 3px 0 0 var(--accent)}
195
+ .irow.unread{box-shadow:inset 3px 0 0 var(--blue);background:color-mix(in srgb,var(--blue) 6%,transparent)}
196
196
  .irow.unread .ititle{font-weight:700;color:var(--ink)}
@@ -169,3 +169,5 @@ main{padding:36px 44px 96px;max-width:1220px;overflow-x:hidden}
169
169
  .nav.inboxlink{display:flex;align-items:center;gap:8px}
170
170
  .nav.inboxlink .ic,.staffrow .ic{--ic:14px;color:var(--ink-faint);flex:none}
171
171
  .nav.inboxlink[aria-current="true"] .ic{color:var(--accent)}
172
+ /* The unread count matches the unread rows. Empty, it stays grey like every other badge. */
173
+ #unreadcount:not(:empty):not(.wait){background:var(--blue);color:#fff}
@@ -294,9 +294,15 @@ function inboxScreen(m, opts) {
294
294
  list.append(el("div", { className: "tdir err", textContent: e }));
295
295
  }
296
296
 
297
- // Newest first, flat. Grouping by repo buried a fresh comment under whichever project
298
- // happened to sort first; the project moves onto the row instead.
299
- items = items.slice().sort((a, b) => String(b.updatedAt).localeCompare(String(a.updatedAt)));
297
+ // Unread first, then newest first, flat. Grouping by repo buried a fresh comment under
298
+ // whichever project happened to sort first; the project moves onto the row instead.
299
+ items = items
300
+ .slice()
301
+ .sort(
302
+ (a, b) =>
303
+ Number(Boolean(b.unread)) - Number(Boolean(a.unread)) ||
304
+ String(b.updatedAt).localeCompare(String(a.updatedAt)),
305
+ );
300
306
  if (!items.length) {
301
307
  list.append(el("p", { className: "empty", textContent: "Nothing matches." }));
302
308
  return;