+
diff --git a/client/src/components/Chat/Menus/Presets/PresetItems.tsx b/client/src/components/Chat/Menus/Presets/PresetItems.tsx
index 965300c53e8..957a7b06bbf 100644
--- a/client/src/components/Chat/Menus/Presets/PresetItems.tsx
+++ b/client/src/components/Chat/Menus/Presets/PresetItems.tsx
@@ -5,7 +5,7 @@ import { Flipper, Flipped } from 'react-flip-toolkit';
import { useGetEndpointsQuery } from 'librechat-data-provider/react-query';
import type { FC } from 'react';
import type { TPreset } from 'librechat-data-provider';
-import FileUpload from '~/components/Input/EndpointMenu/FileUpload';
+import FileUpload from '~/components/Chat/Input/Files/FileUpload';
import { PinIcon, EditIcon, TrashIcon } from '~/components/svg';
import DialogTemplate from '~/components/ui/DialogTemplate';
import { getPresetTitle, getEndpointField } from '~/utils';
diff --git a/client/src/components/Endpoints/AlternativeSettings.tsx b/client/src/components/Endpoints/AlternativeSettings.tsx
new file mode 100644
index 00000000000..6420e369b75
--- /dev/null
+++ b/client/src/components/Endpoints/AlternativeSettings.tsx
@@ -0,0 +1,24 @@
+import { useRecoilValue } from 'recoil';
+import { SettingsViews } from 'librechat-data-provider';
+import type { TSettingsProps } from '~/common';
+import { Advanced } from './Settings';
+import { cn } from '~/utils';
+import store from '~/store';
+
+export default function AlternativeSettings({
+ conversation,
+ setOption,
+ isPreset = false,
+ className = '',
+}: TSettingsProps & { isMultiChat?: boolean }) {
+ const currentSettingsView = useRecoilValue(store.currentSettingsView);
+ if (!conversation?.endpoint || currentSettingsView === SettingsViews.default) {
+ return null;
+ }
+
+ return (
+
+ );
+}
diff --git a/client/src/components/Endpoints/EditPresetDialog.tsx b/client/src/components/Endpoints/EditPresetDialog.tsx
deleted file mode 100644
index 9dcffbbf901..00000000000
--- a/client/src/components/Endpoints/EditPresetDialog.tsx
+++ /dev/null
@@ -1,145 +0,0 @@
-import axios from 'axios';
-import { useEffect } from 'react';
-import filenamify from 'filenamify';
-import exportFromJSON from 'export-from-json';
-import { useSetRecoilState, useRecoilState } from 'recoil';
-import { useGetEndpointsQuery } from 'librechat-data-provider/react-query';
-import type { TEditPresetProps } from '~/common';
-import { useSetOptions, useLocalize } from '~/hooks';
-import { Input, Label, Dropdown, Dialog, DialogClose, DialogButton } from '~/components/';
-import DialogTemplate from '~/components/ui/DialogTemplate';
-import PopoverButtons from './PopoverButtons';
-import EndpointSettings from './EndpointSettings';
-import { cn, defaultTextProps, removeFocusOutlines, cleanupPreset, mapEndpoints } from '~/utils/';
-import store from '~/store';
-
-const EditPresetDialog = ({ open, onOpenChange, preset: _preset, title }: TEditPresetProps) => {
- const [preset, setPreset] = useRecoilState(store.preset);
- const setPresets = useSetRecoilState(store.presets);
- const { data: availableEndpoints = [] } = useGetEndpointsQuery({
- select: mapEndpoints,
- });
- const { setOption } = useSetOptions(_preset);
- const localize = useLocalize();
-
- const submitPreset = () => {
- if (!preset) {
- return;
- }
- axios({
- method: 'post',
- url: '/api/presets',
- data: cleanupPreset({ preset }),
- withCredentials: true,
- }).then((res) => {
- setPresets(res?.data);
- });
- };
-
- const exportPreset = () => {
- if (!preset) {
- return;
- }
- const fileName = filenamify(preset?.title || 'preset');
- exportFromJSON({
- data: cleanupPreset({ preset }),
- fileName,
- exportType: exportFromJSON.types.json,
- });
- };
-
- useEffect(() => {
- setPreset(_preset);
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [open]);
-
- const { endpoint } = preset || {};
- if (!endpoint) {
- return null;
- }
-
- return (
-
- }
- buttons={
-