LibreChat/client/src/store/preset.ts
Danny Avila ca64efec1b
feat: Implement Default Preset Selection for Conversations 📌 (#1275)
* fix: type issues with icons

* refactor: use react query for presets, show toasts on preset crud, refactor mutations, remove presetsQuery from Root (breaking change)

* refactor: change preset titling

* refactor: update preset schemas and methods for necessary new properties `order` and `defaultPreset`

* feat: add `defaultPreset` Recoil value

* refactor(getPresetTitle): make logic cleaner and more concise

* feat: complete UI portion of defaultPreset feature, with animations added to preset items

* chore: remove console.logs()

* feat: complete default preset handling

* refactor: remove user sensitive values on logout

* fix: allow endpoint selection without default preset overwriting
2023-12-06 14:00:15 -05:00

34 lines
638 B
TypeScript

import { atom } from 'recoil';
import { TPreset } from 'librechat-data-provider';
// preset structure is as same defination as conversation
// an array of saved presets.
// sample structure
// [preset1, preset2, preset3]
const presets = atom<TPreset[]>({
key: 'presets',
default: [],
});
const preset = atom<TPreset | null>({
key: 'preset',
default: null,
});
const defaultPreset = atom<TPreset | null>({
key: 'defaultPreset',
default: null,
});
const presetModalVisible = atom<boolean>({
key: 'presetModalVisible',
default: false,
});
export default {
preset,
presets,
defaultPreset,
presetModalVisible,
};