LibreChat/client/src/store/prompts.ts
Danny Avila 2bb0842650
🅰️ feat: Dynamic Font Size (#3568)
* wip: general setup

* added: translations for font-size

* fix: prompts related linter errors and add theming

* wip: font size selector

* refactor: Update FontSizeSelector options display property

* refactor: adjust Intersection Observer threshold and debounce rate

* feat: Update selectedPrompt type in PromptForm to be optional

* feat: dynamic font size

* refactor: Update message font size in navigation bar

* refactor: Update code analyze block styling

* refactor: ProgressText dynamic font size

* refactor: move FontSizeSelector component to Chat from General settings

* fix: HoverButtons styling for better visibility

* refactor: Update HoverButtons styling for better visibility

---------

Co-authored-by: kraken <solodarken@gmail.com>
2024-08-07 14:23:33 -04:00

28 lines
961 B
TypeScript

import { atom } from 'recoil';
import { atomWithLocalStorage } from '~/store/utils';
import { PromptsEditorMode } from '~/common';
// Static atoms without localStorage
const staticAtoms = {
// `name` filter
promptsName: atom<string>({ key: 'promptsName', default: '' }),
// `category` filter
promptsCategory: atom<string>({ key: 'promptsCategory', default: '' }),
// `pageNumber` filter
promptsPageNumber: atom<number>({ key: 'promptsPageNumber', default: 1 }),
// `pageSize` filter
promptsPageSize: atom<number>({ key: 'promptsPageSize', default: 10 }),
};
// Atoms with localStorage
const localStorageAtoms = {
autoSendPrompts: atomWithLocalStorage('autoSendPrompts', true),
alwaysMakeProd: atomWithLocalStorage('alwaysMakeProd', true),
// Editor mode
promptsEditorMode: atomWithLocalStorage<PromptsEditorMode>(
'promptsEditorMode',
PromptsEditorMode.SIMPLE,
),
};
export default { ...staticAtoms, ...localStorageAtoms };