From d4cd9411c06a50f43df2015777e019203c0e9bb2 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Wed, 5 Apr 2023 13:21:29 -0400 Subject: [PATCH] =?UTF-8?q?feat:=20add=20delete=20for=20presets=20in=20men?= =?UTF-8?q?u=20=1B[200~refactor(presets.js):=20remove=20unused=20getPreset?= =?UTF-8?q?=20function=20refactor(presets.js):=20use=20arrow=20function=20?= =?UTF-8?q?syntax=20for=20map=20callback=20refactor(presets.js):=20add=20c?= =?UTF-8?q?onsole.log=20for=20debugging=20purposes=20refactor(presets.js):?= =?UTF-8?q?=20simplify=20map=20callback=20syntax=20refactor(presets.js):?= =?UTF-8?q?=20remove=20commented=20out=20code=20refactor(FileUpload.jsx):?= =?UTF-8?q?=20remove=20commented=20out=20code=20refactor(NewConversationMe?= =?UTF-8?q?nu.jsx):=20rename=20data=20parameter=20to=20res=20for=20clarity?= =?UTF-8?q?=20refactor(NewConversationMenu.jsx):=20rename=20clearPresetsTr?= =?UTF-8?q?igger=20to=20deletePresetsTrigger=20for=20clarity=20refactor(Ne?= =?UTF-8?q?wConversationMenu.jsx):=20add=20onDeletePreset=20prop=20to=20Pr?= =?UTF-8?q?esetItems=20component=20refactor(PresetItem.jsx):=20add=20Trash?= =?UTF-8?q?Icon=20component=20and=20onDeletePreset=20prop=20refactor(Prese?= =?UTF-8?q?tItems.jsx):=20add=20onDeletePreset=20prop=20to=20PresetItem=20?= =?UTF-8?q?component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/server/routes/presets.js | 14 ++++++++------ .../src/components/Input/Endpoints/FileUpload.jsx | 14 -------------- .../Input/Endpoints/NewConversationMenu.jsx | 7 ++++--- .../src/components/Input/Endpoints/PresetItem.jsx | 14 ++++++++++++-- .../src/components/Input/Endpoints/PresetItems.jsx | 3 ++- 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/api/server/routes/presets.js b/api/server/routes/presets.js index 53a3801d6e..09146be112 100644 --- a/api/server/routes/presets.js +++ b/api/server/routes/presets.js @@ -1,10 +1,10 @@ const express = require('express'); const router = express.Router(); -const { getPreset, getPresets, savePreset, deletePresets } = require('../../models'); +const { getPresets, savePreset, deletePresets } = require('../../models'); const crypto = require('crypto'); router.get('/', async (req, res) => { - const presets = (await getPresets(req?.session?.user?.username)).map(preset => { + const presets = (await getPresets(req?.session?.user?.username)).map((preset) => { return preset.toObject(); }); res.status(200).send(presets); @@ -18,7 +18,7 @@ router.post('/', async (req, res) => { try { await savePreset(req?.session?.user?.username, update); - const presets = (await getPresets(req?.session?.user?.username)).map(preset => { + const presets = (await getPresets(req?.session?.user?.username)).map((preset) => { return preset.toObject(); }); res.status(201).send(presets); @@ -34,12 +34,14 @@ router.post('/delete', async (req, res) => { if (presetId) filter = { presetId }; + console.log('delete preset filter', filter); + try { await deletePresets(req?.session?.user?.username, filter); - const presets = (await getPresets(req?.session?.user?.username)).map(preset => { - return preset.toObject(); - }); + const presets = (await getPresets(req?.session?.user?.username)).map(preset => preset.toObject()); + + // console.log('delete preset response', presets); res.status(201).send(presets); // res.status(201).send(dbResponse); } catch (error) { diff --git a/client/src/components/Input/Endpoints/FileUpload.jsx b/client/src/components/Input/Endpoints/FileUpload.jsx index 7210a2d3f5..69f2bf1dba 100644 --- a/client/src/components/Input/Endpoints/FileUpload.jsx +++ b/client/src/components/Input/Endpoints/FileUpload.jsx @@ -5,20 +5,6 @@ import { useRecoilValue } from 'recoil'; import store from '~/store'; -// async function fetchPresets(callback) { -// try { -// const response = await axios.get('/api/presets', { -// timeout: 1000, -// withCredentials: true -// }); - -// callback(response.data); -// } catch (error) { -// console.error(error); -// console.log('[FileUpload] Error fetching presets'); -// } -// } - const FileUpload = ({ onFileSelected }) => { // const setPresets = useSetRecoilState(store.presets); const endpointsFilter = useRecoilValue(store.endpointsFilter); diff --git a/client/src/components/Input/Endpoints/NewConversationMenu.jsx b/client/src/components/Input/Endpoints/NewConversationMenu.jsx index cee16fb79c..f91baab86d 100644 --- a/client/src/components/Input/Endpoints/NewConversationMenu.jsx +++ b/client/src/components/Input/Endpoints/NewConversationMenu.jsx @@ -37,9 +37,9 @@ export default function NewConversationMenu() { // const { model, promptPrefix, chatGptLabel, conversationId } = conversation; const { newConversation } = store.useConversation(); - const { trigger: clearPresetsTrigger } = manualSWR(`/api/presets/delete`, 'post', data => { - console.log(data); - setPresets(data); + const { trigger: clearPresetsTrigger } = manualSWR(`/api/presets/delete`, 'post', res => { + console.log(res); + setPresets(res.data); }); const importPreset = jsonData => { @@ -172,6 +172,7 @@ export default function NewConversationMenu() { presets={presets} onSelect={onSelectPreset} onChangePreset={onChangePreset} + onDeletePreset={clearPresetsTrigger} /> ) : ( No preset yet. diff --git a/client/src/components/Input/Endpoints/PresetItem.jsx b/client/src/components/Input/Endpoints/PresetItem.jsx index e334a546c3..6bb7d70af3 100644 --- a/client/src/components/Input/Endpoints/PresetItem.jsx +++ b/client/src/components/Input/Endpoints/PresetItem.jsx @@ -1,9 +1,10 @@ import React from 'react'; import { DropdownMenuRadioItem } from '../../ui/DropdownMenu.tsx'; import EditIcon from '../../svg/EditIcon'; +import TrashIcon from '../../svg/TrashIcon'; import getIcon from '~/utils/getIcon'; -export default function PresetItem({ preset = {}, value, onSelect, onChangePreset }) { +export default function PresetItem({ preset = {}, value, onSelect, onChangePreset, onDeletePreset }) { const { endpoint } = preset; const icon = getIcon({ @@ -55,7 +56,16 @@ export default function PresetItem({ preset = {}, value, onSelect, onChangePrese /> */}
+