Handy/src/components/settings/AudioFeedback.tsx
CJ Pais f87051f464
Add Internationalization Support (#437)
* basic i18n

* tweak

* translate app

* add linting to make sure we have translations

* run linter on pr

* format
2025-12-12 11:16:54 +07:00

33 lines
1.1 KiB
TypeScript

import React from "react";
import { useTranslation } from "react-i18next";
import { ToggleSwitch } from "../ui/ToggleSwitch";
import { useSettings } from "../../hooks/useSettings";
import { VolumeSlider } from "./VolumeSlider";
import { SoundPicker } from "./SoundPicker";
interface AudioFeedbackProps {
descriptionMode?: "inline" | "tooltip";
grouped?: boolean;
}
export const AudioFeedback: React.FC<AudioFeedbackProps> = React.memo(
({ descriptionMode = "tooltip", grouped = false }) => {
const { t } = useTranslation();
const { getSetting, updateSetting, isUpdating } = useSettings();
const audioFeedbackEnabled = getSetting("audio_feedback") || false;
return (
<div className="flex flex-col">
<ToggleSwitch
checked={audioFeedbackEnabled}
onChange={(enabled) => updateSetting("audio_feedback", enabled)}
isUpdating={isUpdating("audio_feedback")}
label={t("settings.sound.audioFeedback.label")}
description={t("settings.sound.audioFeedback.description")}
descriptionMode={descriptionMode}
grouped={grouped}
/>
</div>
);
},
);