lazyreview 1.0.13 → 1.0.15

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/dist/cli.js CHANGED
@@ -122548,7 +122548,6 @@ function FilesTab({
122548
122548
  viewportHeight - 2,
122549
122549
  treeViewportMaxHeight - (isFiltering ? 1 : 0)
122550
122550
  );
122551
- const fileTreeListRef = (0, import_react81.useRef)(null);
122552
122551
  const { selectedIndex: treeSelectedIndex } = useListNavigation({
122553
122552
  itemCount: fileOrder.length,
122554
122553
  viewportHeight: treeViewportHeight,
@@ -122558,13 +122557,15 @@ function FilesTab({
122558
122557
  (r) => r.type === "file" && r.fileIndex === treeSelectedIndex
122559
122558
  );
122560
122559
  const effectiveRowIndex = selectedRowIndex >= 0 ? selectedRowIndex : 0;
122561
- (0, import_react81.useEffect)(() => {
122562
- const handleResize = () => fileTreeListRef.current?.remeasure();
122563
- stdout?.on("resize", handleResize);
122564
- return () => {
122565
- stdout?.off("resize", handleResize);
122566
- };
122567
- }, [stdout]);
122560
+ const treeScrollOffset = deriveScrollOffset(
122561
+ effectiveRowIndex,
122562
+ treeViewportHeight,
122563
+ displayRows.length
122564
+ );
122565
+ const visibleRows = displayRows.slice(
122566
+ treeScrollOffset,
122567
+ treeScrollOffset + treeViewportHeight
122568
+ );
122568
122569
  import_react81.default.useEffect(() => {
122569
122570
  if (focusPanel === "tree") {
122570
122571
  setSelectedFileIndex(treeSelectedIndex);
@@ -122836,29 +122837,21 @@ function FilesTab({
122836
122837
  height: treeViewportHeight,
122837
122838
  minHeight: 0,
122838
122839
  flexShrink: 1,
122839
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
122840
- ScrollList,
122841
- {
122842
- ref: fileTreeListRef,
122843
- selectedIndex: effectiveRowIndex,
122844
- scrollAlignment: "auto",
122845
- height: treeViewportHeight,
122846
- children: displayRows.map(
122847
- (row, rowIndex) => row.type === "dir" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { paddingLeft: row.indent * 2, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { color: theme14.colors.muted, children: [
122848
- row.name,
122849
- "/"
122850
- ] }) }, `row-${rowIndex}`) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { paddingLeft: row.indent * 2, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
122851
- FileItem,
122852
- {
122853
- item: row.file,
122854
- isFocus: isPanelFocused && row.fileIndex === treeSelectedIndex,
122855
- isSelected: row.fileIndex === selectedFileIndex,
122856
- isViewed: prUrl ? isViewed(prUrl, row.file.filename) : void 0
122857
- }
122858
- ) }, `row-${rowIndex}`)
122859
- )
122860
- }
122861
- )
122840
+ children: visibleRows.map((row, i) => {
122841
+ const rowIndex = treeScrollOffset + i;
122842
+ return row.type === "dir" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { paddingLeft: row.indent * 2, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { color: theme14.colors.muted, children: [
122843
+ row.name,
122844
+ "/"
122845
+ ] }) }, `row-${rowIndex}`) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { paddingLeft: row.indent * 2, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
122846
+ FileItem,
122847
+ {
122848
+ item: row.file,
122849
+ isFocus: isPanelFocused && row.fileIndex === treeSelectedIndex,
122850
+ isSelected: row.fileIndex === selectedFileIndex,
122851
+ isViewed: prUrl ? isViewed(prUrl, row.file.filename) : void 0
122852
+ }
122853
+ ) }, `row-${rowIndex}`);
122854
+ })
122862
122855
  }
122863
122856
  )
122864
122857
  ]
@@ -124266,7 +124259,7 @@ function useManualRefresh({
124266
124259
 
124267
124260
  // src/screens/PRDetailScreen.tsx
124268
124261
  var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
124269
- var PR_DETAIL_RESERVED_LINES = 18;
124262
+ var PR_DETAIL_RESERVED_LINES = 12;
124270
124263
  function PRDetailScreen({
124271
124264
  pr,
124272
124265
  owner,