8import { Nothing } from 'folktale/maybe';
9import { useRollerStore } from './rollerStore';
10import { noop } from 'lodash';
12const initialContext = {
13 pointCursor: Nothing(),
17export const PointCursorContext = createContext(initialContext);
19// pointCursor is Maybe<number>
20function _usePointCursor(initialPointCursor = Nothing()) {
21 const [pointCursor, setPointCursor] = useState(initialPointCursor);
22 const { setPoint } = useRollerStore();
24 const handleSetPointCursor = useCallback(
26 setPoint(Number(point?.value));
27 setPointCursor(point);
29 [setPoint, setPointCursor]
34 setPointCursor: handleSetPointCursor,
38export function PointCursorProvider({ initialPointCursor, children }) {
39 const pointCursor = _usePointCursor(initialPointCursor);
42 <PointCursorContext.Provider value={pointCursor}>
44 </PointCursorContext.Provider>
49export function usePointCursor() {
50 return useContext(PointCursorContext);
54export const withPointCursor = Component =>
55 forwardRef((props, ref) => (
56 <PointCursorContext.Consumer>
57 {pointCursor => <Component ref={ref} {...pointCursor} {...props} />}
58 </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