@stevecastaneda/paseo-progress 0.1.1 → 0.1.3

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/client/panel.tsx CHANGED
@@ -15,7 +15,7 @@ import { PROGRESS_FILE, type TicketStatus } from "../shared/events";
15
15
  import { formatMinutes, formatWorkDone, minutesSince } from "../shared/format";
16
16
  import { markPanelOpened } from "../shared/rpc";
17
17
  import { useDashboard } from "./dashboard-query";
18
- import { StatusBadge } from "./status-badge";
18
+ import { STATUS_LABEL } from "./status-badge";
19
19
  import { TicketDialogs } from "./ticket-dialog";
20
20
  import { PressableRow } from "./row";
21
21
  import { ShowMoreRow, usePaged } from "./show-more";
@@ -423,21 +423,14 @@ function TicketRow({ colors, ticket, live, now, onOpen, deliverables }: { colors
423
423
  <PressableRow colors={colors} onSurface1={working} transparentAtRest={!working}
424
424
  accessibilityRole="button" accessibilityLabel={`${ticket.id} details`} onPress={onOpen}
425
425
  style={{ flexDirection: "row", alignItems: "flex-start", gap: 10, paddingHorizontal: 10, paddingVertical: 8, borderTopWidth: 1, borderTopColor: colors.border }}>
426
- <View style={{ width: 16, paddingTop: 2, alignItems: "center" }}>
426
+ {/* The icon is the only status mark on the row; the ticket dialog spells it out in a badge. */}
427
+ <View accessible accessibilityLabel={ticket.waitingFor ? "Waiting" : STATUS_LABEL[ticket.status]} style={{ width: 16, paddingTop: 2, alignItems: "center" }}>
427
428
  <IconSwap swapKey={ticket.waitingFor ? "waiting" : ticket.status === "working" ? `working-${live}` : ticket.status} size={14}><StatusIcon colors={colors} status={ticket.status} live={live} waiting={Boolean(ticket.waitingFor)} /></IconSwap>
428
429
  </View>
429
430
  <View style={{ flex: 1, minWidth: 0, gap: 2 }}>
430
- {/* The Deliverables tab's icon before the title when the ticket has deliverables; they're listed in its dialog. */}
431
- <View style={{ flexDirection: "row", gap: 6 }}>
432
- {deliverables ? (
433
- <View accessibilityLabel={deliverables === 1 ? "Has a deliverable" : `Has ${deliverables} deliverables`} style={{ height: 18, justifyContent: "center" }}>
434
- <Icon name="Package" size={12} color={colors.foregroundMuted} />
435
- </View>
436
- ) : null}
437
- <Text style={{ flex: 1, color: muted ? colors.foregroundMuted : colors.foreground, fontSize: 13, lineHeight: 18, textDecorationLine: muted ? "line-through" : "none" }}>
438
- {ticket.title}
439
- </Text>
440
- </View>
431
+ <Text style={{ color: muted ? colors.foregroundMuted : colors.foreground, fontSize: 13, lineHeight: 18, textDecorationLine: muted ? "line-through" : "none" }}>
432
+ {ticket.title}
433
+ </Text>
441
434
  {ticket.status === "working" && ticket.stage && ticket.stageSince ? (
442
435
  <Text style={{ color: colors.foregroundMuted, fontSize: 12, lineHeight: 17 }}>
443
436
  {ticket.stage} stage started <When colors={colors} iso={ticket.stageSince} now={now} />
@@ -453,10 +446,11 @@ function TicketRow({ colors, ticket, live, now, onOpen, deliverables }: { colors
453
446
  ) : null}
454
447
  {ticket.note ? <Text style={{ color: colors.foregroundMuted, fontSize: 12, lineHeight: 17 }}>{ticket.note}</Text> : null}
455
448
  </View>
456
- <Text style={{ color: colors.foregroundMuted, fontSize: 12, lineHeight: 18 }}>{ticket.estimateMin} min</Text>
457
- {/* The check mark already says done. */}
458
- {/* Optical: the 20px badge centers on the 18px line. */}
459
- {ticket.status === "done" ? null : <View style={{ marginTop: -1 }}><StatusBadge colors={colors} status={ticket.status} waiting={Boolean(ticket.waitingFor)} /></View>}
449
+ {/* Fixed slots so the Package icon and estimates line up down the list, whether or not a row has deliverables; they're listed in its dialog. */}
450
+ <View accessibilityLabel={deliverables ? (deliverables === 1 ? "Has a deliverable" : `Has ${deliverables} deliverables`) : undefined} style={{ width: 12, height: 18, justifyContent: "center" }}>
451
+ {deliverables ? <Icon name="Package" size={12} color={colors.foregroundMuted} /> : null}
452
+ </View>
453
+ <Text style={{ minWidth: 44, textAlign: "right", color: colors.foregroundMuted, fontSize: 12, lineHeight: 18, fontVariant: ["tabular-nums"] }}>{ticket.estimateMin} min</Text>
460
454
  <View style={{ paddingTop: 2 }}><Icon name="ChevronRight" size={14} color={colors.foregroundMuted} /></View>
461
455
  </PressableRow>
462
456
  );
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@stevecastaneda/paseo-progress",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@stevecastaneda/paseo-progress",
9
- "version": "0.1.1",
9
+ "version": "0.1.3",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@getpaseo/client": "^0.9.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stevecastaneda/paseo-progress",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "A live progress dashboard per worktree for Paseo, drawn from a file agents write with the paseo-progress command.",
5
5
  "license": "MIT",
6
6
  "author": "Steve Castaneda",