backstep 0.1.7 → 0.1.8
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.
|
@@ -132,6 +132,8 @@ test('with nothing to undo the band still holds the key, and a press says there
|
|
|
132
132
|
|
|
133
133
|
const ui = await $.ui.mount({ ...BAND, surface: 'terminal' })
|
|
134
134
|
expect((await ui.find({ type: 'Text', text: /nothing to undo yet/ }))).toBeTruthy()
|
|
135
|
+
// The mark: the front triangle in the terminal's own color, the one behind in the logo's pink.
|
|
136
|
+
expect((await ui.find({ type: 'Text', text: '◀', props: { color: '#ee7bb6' } }))).toBeTruthy()
|
|
135
137
|
await ui.press({ key: 'undo' })
|
|
136
138
|
expect(toasts[0]).toContain('Nothing to undo yet')
|
|
137
139
|
await ui.unmount()
|
package/mod/hooks/register.tsx
CHANGED
|
@@ -16,8 +16,9 @@ const armed = atom({ plugin: 'backstep', key: 'armed' } as const, null as number
|
|
|
16
16
|
// The keys bound to undo, read as a session starts and when the person changes
|
|
17
17
|
// them. Kept in state, not a variable, so the band redraws with the new key.
|
|
18
18
|
const keys = atom({ plugin: 'backstep', key: 'keys' } as const, ['ctrl+u'] as string[])
|
|
19
|
-
// Backstep's mark,
|
|
20
|
-
|
|
19
|
+
// Backstep's mark, as on the logo: the front rewind triangle in the terminal's
|
|
20
|
+
// own black or white, the one behind it in the logo's pink.
|
|
21
|
+
const PINK = '#ee7bb6'
|
|
21
22
|
// How long the "press again to undo" question waits before it lets go.
|
|
22
23
|
const CONFIRM_MS = 5000
|
|
23
24
|
|
|
@@ -598,7 +599,9 @@ export const register: Register = (on, options) => {
|
|
|
598
599
|
if (r?.phase === 'running') {
|
|
599
600
|
return (
|
|
600
601
|
<Box>
|
|
601
|
-
<Text bold
|
|
602
|
+
<Text bold>◀</Text>
|
|
603
|
+
<Text color={PINK} bold>◀</Text>
|
|
604
|
+
<Text bold> Rewinding </Text>
|
|
602
605
|
<Text>{bar(r.frame)}</Text>
|
|
603
606
|
<Text dimColor> undoing the last turn…</Text>
|
|
604
607
|
</Box>
|
|
@@ -632,7 +635,9 @@ export const register: Register = (on, options) => {
|
|
|
632
635
|
if (target && (await read($, armed)) !== null) {
|
|
633
636
|
return (
|
|
634
637
|
<Box>
|
|
635
|
-
<Text
|
|
638
|
+
<Text bold>◀</Text>
|
|
639
|
+
<Text color={PINK} bold>◀</Text>
|
|
640
|
+
<Text color="warning" bold> Undo Claude's last turn? </Text>
|
|
636
641
|
<Text dimColor>{summary(target)} </Text>
|
|
637
642
|
<Button key="undo" action={UNDO_ACTION} plain onPress={() => void pressUndo($)}>
|
|
638
643
|
{`${label} again to undo`}
|
|
@@ -650,7 +655,9 @@ export const register: Register = (on, options) => {
|
|
|
650
655
|
// with nothing to undo, a press says so rather than doing nothing.
|
|
651
656
|
return (
|
|
652
657
|
<Box>
|
|
653
|
-
<Text bold
|
|
658
|
+
<Text bold>◀</Text>
|
|
659
|
+
<Text color={PINK} bold>◀</Text>
|
|
660
|
+
<Text> </Text>
|
|
654
661
|
<Text dimColor>{target ? `Last turn: ${summary(target)} ` : 'Backstep is on · nothing to undo yet '}</Text>
|
|
655
662
|
<Button key="undo" action={UNDO_ACTION} plain dimColor onPress={() => void pressUndo($)}>
|
|
656
663
|
{`${label} to undo`}
|