@kitlangton/ghui 0.1.6 → 0.1.7

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": "@kitlangton/ghui",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Terminal UI for GitHub pull requests",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/App.tsx CHANGED
@@ -1,6 +1,6 @@
1
1
  import { parseColor, SyntaxStyle, TextAttributes, type ScrollBoxRenderable } from "@opentui/core"
2
2
  import { useAtom, useAtomRefresh, useAtomSet, useAtomValue } from "@effect/atom-react"
3
- import { useKeyboard, useTerminalDimensions } from "@opentui/react"
3
+ import { useKeyboard, useRenderer, useTerminalDimensions } from "@opentui/react"
4
4
  import { Cause, Effect, Schedule } from "effect"
5
5
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult"
6
6
  import * as Atom from "effect/unstable/reactivity/Atom"
@@ -1528,6 +1528,7 @@ const LabelModal = ({
1528
1528
  }
1529
1529
 
1530
1530
  export const App = () => {
1531
+ const renderer = useRenderer()
1531
1532
  const { width, height } = useTerminalDimensions()
1532
1533
  const pullRequestResult = useAtomValue(pullRequestsAtom)
1533
1534
  const refreshPullRequestsAtom = useAtomRefresh(pullRequestsAtom)
@@ -1820,10 +1821,8 @@ export const App = () => {
1820
1821
  setLabelModal(initialLabelModalState)
1821
1822
  return
1822
1823
  }
1823
- if (key.name === "q") {
1824
- process.exit(0)
1825
- }
1826
- process.exit(0)
1824
+ renderer.destroy()
1825
+ return
1827
1826
  }
1828
1827
 
1829
1828
  // Label modal takes priority over everything else
package/src/index.tsx CHANGED
@@ -11,6 +11,7 @@ const renderer = await createCliRenderer({
11
11
  exitOnCtrlC: false,
12
12
  screenMode: "alternate-screen",
13
13
  externalOutputMode: "passthrough",
14
+ onDestroy: () => process.exit(0),
14
15
  })
15
16
 
16
17
  createRoot(renderer).render(