mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 09:50:15 +01:00
♻️ refactor: Replace fontSize Recoil atom with Jotai (#10171)
* fix: reapply chat font size on load * refactor: streamline font size handling in localStorage * fix: update matchMedia mock to accurately reflect desktop and touchscreen capabilities * refactor: implement Jotai for font size management and initialize on app load - Replaced Recoil with Jotai for font size state management across components. - Added a new `fontSize` atom to handle font size changes and persist them in localStorage. - Implemented `initializeFontSize` function to apply saved font size on app load. - Updated relevant components to utilize the new font size atom. --------- Co-authored-by: ddooochii <ddooochii@gmail.com> Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
parent
114deecc4e
commit
d41b07c0af
11 changed files with 87 additions and 19 deletions
|
|
@ -21,8 +21,8 @@ describe('useFocusChatEffect', () => {
|
|||
(useNavigate as jest.Mock).mockReturnValue(mockNavigate);
|
||||
|
||||
// Mock window.matchMedia
|
||||
window.matchMedia = jest.fn().mockImplementation(() => ({
|
||||
matches: false,
|
||||
window.matchMedia = jest.fn().mockImplementation((query) => ({
|
||||
matches: query === '(hover: hover)', // Desktop has hover capability
|
||||
media: '',
|
||||
onchange: null,
|
||||
addListener: jest.fn(),
|
||||
|
|
@ -83,8 +83,8 @@ describe('useFocusChatEffect', () => {
|
|||
});
|
||||
|
||||
test('should not focus textarea on touchscreen devices', () => {
|
||||
window.matchMedia = jest.fn().mockImplementation(() => ({
|
||||
matches: true, // This indicates a touchscreen
|
||||
window.matchMedia = jest.fn().mockImplementation((query) => ({
|
||||
matches: query === '(pointer: coarse)', // Touchscreen has coarse pointer
|
||||
media: '',
|
||||
onchange: null,
|
||||
addListener: jest.fn(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue