| import React from 'react'; | |
| import { useRecoilState } from 'recoil'; | |
| import { Button } from '@librechat/client'; | |
| import { useLocalize } from '~/hooks'; | |
| import store from '~/store'; | |
| const ChatDirection = () => { | |
| const [direction, setDirection] = useRecoilState(store.chatDirection); | |
| const localize = useLocalize(); | |
| const toggleChatDirection = () => { | |
| setDirection((prev) => (prev === 'LTR' ? 'RTL' : 'LTR')); | |
| }; | |
| return ( | |
| <div className="flex items-center justify-between"> | |
| <div className="flex items-center space-x-2"> | |
| <span id="chat-direction-label">{localize('com_nav_chat_direction')}</span> | |
| </div> | |
| <Button | |
| variant="outline" | |
| aria-label={`${localize('com_nav_chat_direction')}: ${localize('com_ui_x_selected', { | |
| 0: | |
| direction === 'LTR' | |
| ? localize('chat_direction_left_to_right') | |
| : localize('chat_direction_right_to_left'), | |
| })}`} | |
| onClick={toggleChatDirection} | |
| data-testid="chatDirection" | |
| > | |
| {direction.toLowerCase()} | |
| </Button> | |
| </div> | |
| ); | |
| }; | |
| export default ChatDirection; | |