8import { Nothing } from 'folktale/maybe';
9import { useRollerStore } from './rollerStore';
11export const PointCursorContext = createContext(null);
13// pointCursor is Maybe<number>
14function _usePointCursor(initialPointCursor = Nothing()) {
15 const [pointCursor, setPointCursor] = useState(initialPointCursor);
16 const { setPoint } = useRollerStore();
18 const handleSetPointCursor = useCallback(
20 setPoint(Number(point?.value));
21 setPointCursor(point);
23 [setPoint, setPointCursor]
28 setPointCursor: handleSetPointCursor,
32export function PointCursorProvider({ initialPointCursor, children }) {
33 const pointCursor = _usePointCursor(initialPointCursor);
36 <PointCursorContext.Provider value={pointCursor}>
38 </PointCursorContext.Provider>
43export function usePointCursor() {
44 return useContext(PointCursorContext);
48export const withPointCursor = Component =>
49 forwardRef((props, ref) => (
50 <PointCursorContext.Consumer>
51 {pointCursor => <Component ref={ref} {...pointCursor} {...props} />}
52 </PointCursorContext.Consumer>
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list