@kud/gh-ink 0.26.0 → 0.26.2

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.
Files changed (2) hide show
  1. package/dist/index.js +18 -21
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -924,22 +924,11 @@ var YOURS = {
924
924
  queued: ["waiting", "pending", "threads", "approved"],
925
925
  spoken: ["threads"]
926
926
  };
927
- var whoseMove = (health, sectionId, standing, theySpokeLast) => (
928
- // Somebody else having the last word outranks every review state below. It is
929
- // the plainest claim on you there is — a question asked, an objection raised,
930
- // a "can you rebase" and none of it shows up as a health, because a bare
931
- // comment approves nothing, fails nothing and opens no thread.
932
- //
933
- // The row already SAID this and the band disagreed with it: the turn arrow
934
- // reads lastActor and drew `←`, and the explain panel spelled out "X spoke
935
- // last, your reply is owed", while the band filed it under Their move. Two
936
- // signals on one row, pointing opposite ways, until 2026-08-27.
937
- //
938
- // Only in that direction. YOU having spoken last does not hand the row over —
939
- // red CI on your own PR is yours whether or not you commented after it — so
940
- // that case falls through to the table.
941
- theySpokeLast ? "you" : YOURS[standing ?? STANDING[sectionId] ?? "queued"].includes(health) ? "you" : "them"
942
- );
927
+ var whoseMove = (health, sectionId, standing, theySpokeLast) => {
928
+ const position = standing ?? STANDING[sectionId] ?? "queued";
929
+ if (theySpokeLast && position === "authored") return "you";
930
+ return YOURS[position].includes(health) ? "you" : "them";
931
+ };
943
932
  var BAND_LABEL = {
944
933
  you: "Your move",
945
934
  them: "Their move"
@@ -2760,6 +2749,7 @@ var App = ({
2760
2749
  tabHelp,
2761
2750
  emptyHint
2762
2751
  }) => {
2752
+ const { rows } = useWindowSize();
2763
2753
  const [state, setState] = useState({ phase: "loading" });
2764
2754
  const [pending, setPending] = useState(null);
2765
2755
  const [refreshing, setRefreshing] = useState(false);
@@ -3000,12 +2990,19 @@ var App = ({
3000
2990
  }
3001
2991
  ),
3002
2992
  hasCiStatus ? /* @__PURE__ */ jsx(CiStatusLine, { state: ciStatusState, job: ciJob }) : null,
3003
- state.phase === "loading" ? /* @__PURE__ */ jsx(LoadingScreen, { label: `Fetching ${title}\u2026` }) : /* @__PURE__ */ jsx(
3004
- NoRowsScreen,
2993
+ /* @__PURE__ */ jsx(
2994
+ Box,
3005
2995
  {
3006
- reason: state.phase === "empty" ? "empty" : "failed",
3007
- detail: state.phase === "failed" ? state.message : emptyHint,
3008
- onRetry: () => revalidate(true)
2996
+ flexDirection: "column",
2997
+ minHeight: Math.max(5, rows - 10 - (hasCiStatus ? 2 : 0)),
2998
+ children: state.phase === "loading" ? /* @__PURE__ */ jsx(LoadingScreen, { label: `Fetching ${title}\u2026` }) : /* @__PURE__ */ jsx(
2999
+ NoRowsScreen,
3000
+ {
3001
+ reason: state.phase === "empty" ? "empty" : "failed",
3002
+ detail: state.phase === "failed" ? state.message : emptyHint,
3003
+ onRetry: () => revalidate(true)
3004
+ }
3005
+ )
3009
3006
  }
3010
3007
  )
3011
3008
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh-ink",
3
- "version": "0.26.0",
3
+ "version": "0.26.2",
4
4
  "description": "Ink components for rendering GitHub PR review comments and health — controlled, presentation-only, built on @kud/ink-ui and fed by @kud/gh.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",