mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-22 03:10:15 +01:00
Add support for deleting individual presets
This commit is contained in:
parent
fbeff7a461
commit
48e33fe1e9
6 changed files with 39 additions and 39 deletions
|
|
@ -5,7 +5,7 @@ import EndpointItems from './EndpointItems';
|
|||
import PresetItems from './PresetItems';
|
||||
import FileUpload from './FileUpload';
|
||||
import getIcon from '~/utils/getIcon';
|
||||
import { useDeleteAllPresetsMutation } from '~/data-provider';
|
||||
import { useDeletePresetMutation } from '~/data-provider';
|
||||
import { Button } from '../../ui/Button.tsx';
|
||||
import {
|
||||
DropdownMenu,
|
||||
|
|
@ -33,7 +33,7 @@ export default function NewConversationMenu() {
|
|||
// const { model, promptPrefix, chatGptLabel, conversationId } = conversation;
|
||||
const { newConversation } = store.useConversation();
|
||||
|
||||
const deletePresetsMutation = useDeleteAllPresetsMutation();
|
||||
const deletePresetsMutation = useDeletePresetMutation();
|
||||
|
||||
const importPreset = jsonData => {
|
||||
handleFileSelected(jsonData).then(setPresets);
|
||||
|
|
@ -79,8 +79,12 @@ export default function NewConversationMenu() {
|
|||
setPreset(preset);
|
||||
};
|
||||
|
||||
const clearPreset = () => {
|
||||
deletePresetsMutation.mutate();
|
||||
const clearAllPresets = () => {
|
||||
deletePresetsMutation.mutate({arg: {}});
|
||||
};
|
||||
|
||||
const onDeletePreset = preset => {
|
||||
deletePresetsMutation.mutate({arg: preset});
|
||||
};
|
||||
|
||||
const icon = getIcon({
|
||||
|
|
@ -92,9 +96,7 @@ export default function NewConversationMenu() {
|
|||
});
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
// onOpenChange={onOpenChange}
|
||||
>
|
||||
<Dialog>
|
||||
<DropdownMenu
|
||||
open={menuOpen}
|
||||
onOpenChange={setMenuOpen}
|
||||
|
|
@ -102,7 +104,6 @@ export default function NewConversationMenu() {
|
|||
<DropdownMenuTrigger asChild>
|
||||
<Button
|
||||
variant="outline"
|
||||
// style={{backgroundColor: 'rgb(16, 163, 127)'}}
|
||||
className={`absolute top-[0.25px] mb-0 ml-1 items-center rounded-md border-0 p-1 outline-none focus:ring-0 focus:ring-offset-0 disabled:top-[0.25px] dark:data-[state=open]:bg-opacity-50 md:top-1 md:left-1 md:ml-0 md:pl-1 md:disabled:top-1`}
|
||||
>
|
||||
{icon}
|
||||
|
|
@ -140,7 +141,6 @@ export default function NewConversationMenu() {
|
|||
<Button
|
||||
type="button"
|
||||
className="h-auto bg-transparent px-2 py-1 text-xs font-medium font-normal text-red-700 hover:bg-slate-200 hover:text-red-700 dark:bg-transparent dark:text-red-400 dark:hover:bg-gray-800 dark:hover:text-red-400"
|
||||
// onClick={clearPreset}
|
||||
>
|
||||
Clear All
|
||||
</Button>
|
||||
|
|
@ -149,7 +149,7 @@ export default function NewConversationMenu() {
|
|||
title="Clear presets"
|
||||
description="Are you sure you want to clear all presets? This is irreversible."
|
||||
selection={{
|
||||
selectHandler: clearPreset,
|
||||
selectHandler: clearAllPresets,
|
||||
selectClasses: 'bg-red-600 hover:bg-red-700 dark:hover:bg-red-800 text-white',
|
||||
selectText: 'Clear'
|
||||
}}
|
||||
|
|
@ -166,7 +166,7 @@ export default function NewConversationMenu() {
|
|||
presets={presets}
|
||||
onSelect={onSelectPreset}
|
||||
onChangePreset={onChangePreset}
|
||||
onDeletePreset={clearPresetsTrigger}
|
||||
onDeletePreset={onDeletePreset}
|
||||
/>
|
||||
) : (
|
||||
<DropdownMenuLabel className="dark:text-gray-300">No preset yet.</DropdownMenuLabel>
|
||||
|
|
|
|||
|
|
@ -45,15 +45,6 @@ export default function PresetItem({ preset = {}, value, onSelect, onChangePrese
|
|||
{icon}
|
||||
{preset?.title}
|
||||
<small className="ml-2">({getPresetTitle()})</small>
|
||||
|
||||
{/* <RenameButton
|
||||
twcss={`ml-auto mr-2 ${buttonClass.className}`}
|
||||
onRename={onRename}
|
||||
renaming={renaming}
|
||||
onMouseOver={handleMouseOver}
|
||||
onMouseOut={handleMouseOut}
|
||||
renameHandler={renameHandler}
|
||||
/> */}
|
||||
<div className="flex w-4 flex-1" />
|
||||
<button
|
||||
className="invisible m-0 p-2 mr-1 rounded-md text-gray-400 hover:text-gray-700 group-hover:visible dark:text-gray-400 dark:hover:text-gray-200 "
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ export default function Nav({ navVisible, setNavVisible }) {
|
|||
});
|
||||
|
||||
useEffect(() => {
|
||||
//we use isInitialLoading here instead of isLoading because query is disabled by default
|
||||
if (searchQueryFn.isInitialLoading) {
|
||||
setIsFetching(true);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue