All checks were successful
Build and Push LST Docker Image / docker (push) Successful in 1m17s
39 lines
818 B
TypeScript
39 lines
818 B
TypeScript
import { createAudioPlayer } from "expo-audio";
|
|
import * as Haptics from "expo-haptics";
|
|
|
|
export type ScanFeedback = {
|
|
type: "good" | "bad";
|
|
sound?: boolean;
|
|
vibrate?: boolean;
|
|
led?: boolean;
|
|
};
|
|
|
|
const goodSound = createAudioPlayer(require("../../assets/sounds/good.wav"));
|
|
const badSound = createAudioPlayer(require("../../assets/sounds/bad.wav"));
|
|
|
|
export async function scannerFeedback({
|
|
type,
|
|
sound = true,
|
|
vibrate = true,
|
|
led = true,
|
|
}: ScanFeedback) {
|
|
if (sound) {
|
|
const player = type === "good" ? goodSound : badSound;
|
|
player.seekTo(0);
|
|
player.play();
|
|
}
|
|
|
|
if (vibrate) {
|
|
await Haptics.notificationAsync(
|
|
type === "good"
|
|
? Haptics.NotificationFeedbackType.Success
|
|
: Haptics.NotificationFeedbackType.Error,
|
|
);
|
|
}
|
|
|
|
if (led) {
|
|
// Zebra LED hook goes here
|
|
// More below 👇
|
|
}
|
|
}
|