From 4b7de05c7cf6dac450d2c913ef2b6ffa0d3ec9e0 Mon Sep 17 00:00:00 2001 From: Igor Loskutov Date: Thu, 8 Feb 2024 16:10:47 -0500 Subject: [PATCH] format --- reference-react/src/lib/reference-react.tsx | 77 ++++++++++---- ui/package.json | 3 +- ui/src/lib/ui.spec.ts | 19 ++-- ui/src/lib/ui.ts | 106 +++++++++++++------- 4 files changed, 139 insertions(+), 66 deletions(-) diff --git a/reference-react/src/lib/reference-react.tsx b/reference-react/src/lib/reference-react.tsx index 030d6f6..46a3a94 100644 --- a/reference-react/src/lib/reference-react.tsx +++ b/reference-react/src/lib/reference-react.tsx @@ -6,11 +6,11 @@ import { useCallback, useEffect, useMemo, - useState + useState, } from 'react'; import * as ui from '@jikan0/ui'; import { match } from 'ts-pattern'; -import { Action, ModeSelectorSettingsViewActions, ModeSelectorSettingViewModeActions, ViewValue } from '@jikan0/ui'; +import { ModeSelectorSettingViewModeActions, ViewValue } from '@jikan0/ui'; const StyledReferenceReact = styled.div` color: pink; @@ -26,7 +26,8 @@ const runningStages: { running: ({ viewValue }) => (
Running: {viewValue.timerStats.round.kind}:{' '} - {Number(viewValue.timerStats.round.left)} of {Number(viewValue.timerStats.round.current)}/ + {Number(viewValue.timerStats.round.left)} of{' '} + {Number(viewValue.timerStats.round.current)}/ {Number(viewValue.timerStats.rounds)}
), @@ -70,10 +71,11 @@ const Controls = ({ setUiState, uiState, }); - const makeOnClick = (action: ui.Action) => (e: MouseEvent) => { - e.preventDefault(); - onAction(action); - } + const makeOnClick = + (action: ui.Action) => (e: MouseEvent) => { + e.preventDefault(); + onAction(action); + }; return (
{view.startButton.active ? ( @@ -106,21 +108,58 @@ const Settings = ({ setUiState, uiState, }); - const makeOnChange = (makeAction: ModeSelectorSettingViewModeActions<'simple'>[keyof ModeSelectorSettingViewModeActions<'simple'>]) => (e: ChangeEvent) => { - e.preventDefault(); - const v = BigInt(parseInt(e.target.value, 10)); - onAction(makeAction(v)); - }; + const makeOnChange = + ( + makeAction: ModeSelectorSettingViewModeActions<'simple'>[keyof ModeSelectorSettingViewModeActions<'simple'>] + ) => + (e: ChangeEvent) => { + e.preventDefault(); + const v = BigInt(parseInt(e.target.value, 10)); + onAction(makeAction(v)); + }; const mode = view.modeSelector.value.mode; return (
- {view.running === 'stopped' ? ( - ((value, actions) =>
- - - -
)(view.modeSelector.value/*TODO move setting values inside mode lock*/, view.modeSelector.actions[mode]) - ) : null} + {view.running === 'stopped' + ? ((value, actions) => ( +
+ + + +
+ ))( + view.modeSelector + .value /*TODO move setting values inside mode lock*/, + view.modeSelector.actions[mode] + ) + : null}
); }; diff --git a/ui/package.json b/ui/package.json index 019ffd3..89911c8 100644 --- a/ui/package.json +++ b/ui/package.json @@ -4,7 +4,8 @@ "dependencies": { "tslib": "^2.3.0", "@jikan0/fsm": "*", - "@jikan0/utils": "*" + "@jikan0/utils": "*", + "@rimbu/core": "^2.0.0" }, "type": "commonjs", "main": "./src/index.js", diff --git a/ui/src/lib/ui.spec.ts b/ui/src/lib/ui.spec.ts index 2441a1a..567a6dd 100644 --- a/ui/src/lib/ui.spec.ts +++ b/ui/src/lib/ui.spec.ts @@ -1,12 +1,13 @@ import { ContinueClickedEvent, PauseClickedEvent, - reduce, simpleModeSelectorToProgram, + reduce, + simpleModeSelectorToProgram, StartClickedEvent, state0, StopClickedEvent, TimePassedEvent, - view + view, } from './ui'; import { pipe } from '@jikan0/utils'; @@ -130,12 +131,14 @@ describe('ui', () => { }); describe('simpleModeSelectorToProgram', () => { it('creates 20 queue items out of 10 rounds', () => { - expect(simpleModeSelectorToProgram({ - rounds: BigInt(10), - exerciseTimeMs: BigInt(1000), - restTimeMs: BigInt(500) - }).length).toBe(20/* +1 preparation - 1 rest*/); - }) + expect( + simpleModeSelectorToProgram({ + rounds: BigInt(10), + exerciseTimeMs: BigInt(1000), + restTimeMs: BigInt(500), + }).length + ).toBe(20 /* +1 preparation - 1 rest*/); + }); }); }); }); diff --git a/ui/src/lib/ui.ts b/ui/src/lib/ui.ts index 11929ca..357d45c 100644 --- a/ui/src/lib/ui.ts +++ b/ui/src/lib/ui.ts @@ -108,9 +108,11 @@ export type SimpleModeRoundsSelectedEvent = { rounds: bigint; }; -export const MakeSimpleModeRoundsSelectedEvent = (rounds: bigint): SimpleModeRoundsSelectedEvent => ({ +export const MakeSimpleModeRoundsSelectedEvent = ( + rounds: bigint +): SimpleModeRoundsSelectedEvent => ({ _tag: 'SimpleModeRoundsSelected', - rounds + rounds, }); export type Event = @@ -281,10 +283,10 @@ const simpleModeStateToStats = ( export type ModeSelectorSettingViewModeActions = { simple: { - setRounds: typeof MakeSimpleModeRoundsSelectedEvent, - setExerciseTimeMs: typeof MakeSimpleModeExerciseTimeSelectedEvent, - setRestTimeMs: typeof MakeSimpleModeRestTimeSelectedEvent, - } + setRounds: typeof MakeSimpleModeRoundsSelectedEvent; + setExerciseTimeMs: typeof MakeSimpleModeExerciseTimeSelectedEvent; + setRestTimeMs: typeof MakeSimpleModeRestTimeSelectedEvent; + }; }[M]; export type ModeSelectorSettingsViewValue = ModeSelectorSettingsValue; @@ -496,47 +498,75 @@ export const reduce = } case 'ModeSelected': { if (state.mode.selected === action.mode) return state; - return Deep.patch(state, [{ - mode: [{ - selected: action.mode, - }], - }]); + return Deep.patch(state, [ + { + mode: [ + { + selected: action.mode, + }, + ], + }, + ]); } case 'SimpleModeRoundsSelected': { if (state.mode.selected !== SIMPLE_MODE) return state; - return Deep.patch(state, [{ - mode: [{ - settings: [{ - simple: [{ - rounds: action.rounds, - }], - }], - }], - }]); + return Deep.patch(state, [ + { + mode: [ + { + settings: [ + { + simple: [ + { + rounds: action.rounds, + }, + ], + }, + ], + }, + ], + }, + ]); } case 'SimpleModeExerciseTimeSelected': { if (state.mode.selected !== SIMPLE_MODE) return state; - return Deep.patch(state, [{ - mode: [{ - settings: [{ - simple: [{ - exerciseTimeMs: action.exerciseTimeMs, - }], - }], - }], - }]); + return Deep.patch(state, [ + { + mode: [ + { + settings: [ + { + simple: [ + { + exerciseTimeMs: action.exerciseTimeMs, + }, + ], + }, + ], + }, + ], + }, + ]); } case 'SimpleModeRestTimeSelected': { if (state.mode.selected !== SIMPLE_MODE) return state; - return Deep.patch(state, [{ - mode: [{ - settings: [{ - simple: [{ - restTimeMs: action.restTimeMs, - }], - }], - }], - }]); + return Deep.patch(state, [ + { + mode: [ + { + settings: [ + { + simple: [ + { + restTimeMs: action.restTimeMs, + }, + ], + }, + ], + }, + ], + }, + ]); } } };