mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
* 🚀 feat: Add Save Badges State functionality to chat settings * 🚀 feat: Remove individual chat setting components and introduce a reusable ToggleSwitch component * 🚀 feat: Replace Switches with reusable ToggleSwitch component in General settings; style: improved HoverCard * 🚀 feat: Refactor ChatForm and Footer components for improved layout and state management * 🚀 feat: Add deprecation warning for GPT Plugins endpoint --------- Co-authored-by: Danny Avila <danny@librechat.ai>
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { useRecoilState } from 'recoil';
|
|
import HoverCardSettings from '../HoverCardSettings';
|
|
import { Switch } from '~/components/ui';
|
|
import useLocalize from '~/hooks/useLocalize';
|
|
import store from '~/store';
|
|
|
|
export default function SaveBadgesState({
|
|
onCheckedChange,
|
|
}: {
|
|
onCheckedChange?: (value: boolean) => void;
|
|
}) {
|
|
const [saveBadgesState, setSaveBadgesState] = useRecoilState<boolean>(store.saveBadgesState);
|
|
const localize = useLocalize();
|
|
|
|
const handleCheckedChange = (value: boolean) => {
|
|
setSaveBadgesState(value);
|
|
if (onCheckedChange) {
|
|
onCheckedChange(value);
|
|
}
|
|
};
|
|
|
|
return (
|
|
<div className="flex items-center justify-between">
|
|
<div className="flex items-center space-x-2">
|
|
<div>{localize('com_nav_save_badges_state')}</div>
|
|
<HoverCardSettings side="bottom" text="com_nav_info_save_badges_state" />
|
|
</div>
|
|
<Switch
|
|
id="saveBadgesState"
|
|
checked={saveBadgesState}
|
|
onCheckedChange={handleCheckedChange}
|
|
className="ml-4"
|
|
data-testid="saveBadgesState"
|
|
/>
|
|
</div>
|
|
);
|
|
}
|