Skip to content

Commit 72972b8

Browse files
committed
feat: play sound on the typing test page
1 parent e26622c commit 72972b8

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

package-lock.json

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/page-typing-test/lib/components/TestScreen.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Screen } from "@keybr/pages-shared";
22
import { type LineList, makeStats } from "@keybr/textinput";
3+
import { useSoundPlayer } from "@keybr/textinput-sounds";
34
import { TextArea } from "@keybr/textinput-ui";
45
import { Box, type Focusable, Spacer, useView } from "@keybr/widget";
56
import { useEffect, useRef, useState } from "react";
@@ -35,6 +36,7 @@ function Controller({
3536
const { setView } = useView(views);
3637
const settings = useCompositeSettings();
3738
const focusRef = useRef<Focusable>(null);
39+
const player = useSoundPlayer();
3840
const [session, setSession] = useState(() => nextTest(settings, generator));
3941
const [lines, setLines] = useState<LineList>(Session.emptyLines);
4042
const [progress, setProgress] = useState(Session.emptyProgress);
@@ -71,9 +73,11 @@ function Controller({
7173
onKeyDown={session.handleKeyDown}
7274
onKeyUp={session.handleKeyUp}
7375
onInput={(event) => {
74-
const { progress, completed } = session.handleInput(event);
76+
const { feedback, progress, completed } =
77+
session.handleInput(event);
7578
setLines(session.getLines());
7679
setProgress(progress);
80+
player(feedback);
7781
if (completed) {
7882
setView("report", { result: makeResult(session) });
7983
}

packages/page-typing-test/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@keybr/settings": "*",
2323
"@keybr/textinput": "*",
2424
"@keybr/textinput-events": "*",
25+
"@keybr/textinput-sounds": "*",
2526
"@keybr/textinput-ui": "*",
2627
"@keybr/widget": "*"
2728
},

0 commit comments

Comments
 (0)