// Copyright (c) 2020-2021 Drew Lemmy
// This file is part of KristWeb 2 under GPL-3.0.
// Full details: https://github.com/tmpim/KristWeb2/blob/master/LICENSE.txt
import React from "react";
import { Switch } from "antd";
import { useTranslation } from "react-i18next";
import { useSelector } from "react-redux";
import { RootState } from "../../store";
import { SettingName, setBooleanSetting } from "../../utils/settings";
interface Props {
setting: SettingName<boolean>;
title?: string;
titleKey?: string;
}
export function SettingBoolean({ setting, title, titleKey }: Props): JSX.Element {
const settingValue = useSelector((s: RootState) => s.settings[setting]);
const { t } = useTranslation();
function onChange(value: boolean) {
setBooleanSetting(setting, value);
}
return <div
className="menu-item-setting menu-item-setting-switch"
onClick={() => onChange(!settingValue)}
>
<Switch onChange={onChange} checked={settingValue} style={{ marginRight: 12 }} />
{titleKey ? t(titleKey) : title}
</div>;
}