Move data provider to shared package (#582)

* create data-provider package and move code from data-provider folder to be shared between apps

* fix type issues

* add packages to ignore

* add new data-provider package to apps

* refactor: change client imports to use @librechat/data-provider package

* include data-provider build script in frontend build

* fix type issue after rebasing

* delete admin/package.json from this branch

* update test ci script to include building of data-provider package

* Try using regular build for test action

* Switch frontend-review back to build:ci

* Remove loginRedirect from Login.tsx

* Add ChatGPT back to EModelEndpoint
This commit is contained in:
Dan Orlando 2023-07-04 12:47:41 -07:00 committed by GitHub
parent d0078d478d
commit 04e4259005
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 1472 additions and 141 deletions

View file

@ -2,9 +2,15 @@ import * as Tabs from '@radix-ui/react-tabs';
import { CheckIcon } from 'lucide-react';
import { ThemeContext } from '~/hooks/ThemeContext';
import React, { useState, useContext, useCallback } from 'react';
import { useClearConversationsMutation } from '~/data-provider';
import { useClearConversationsMutation } from '@librechat/data-provider';
export const ThemeSelector = ({ theme, onChange }: { theme: string, onChange: (value: string) => void }) => (
export const ThemeSelector = ({
theme,
onChange
}: {
theme: string;
onChange: (value: string) => void;
}) => (
<div className="flex items-center justify-between">
<div>Theme</div>
<select
@ -19,7 +25,15 @@ export const ThemeSelector = ({ theme, onChange }: { theme: string, onChange: (v
</div>
);
export const ClearChatsButton = ({ confirmClear, showText = true, onClick }: { confirmClear: boolean, showText: boolean, onClick: () => void }) => (
export const ClearChatsButton = ({
confirmClear,
showText = true,
onClick
}: {
confirmClear: boolean;
showText: boolean;
onClick: () => void;
}) => (
<div className="flex items-center justify-between">
{showText && <div>Clear all chats</div>}
<button
@ -45,7 +59,7 @@ function General() {
const { theme, setTheme } = useContext(ThemeContext);
const clearConvosMutation = useClearConversationsMutation();
const [confirmClear, setConfirmClear] = useState(false);
const clearConvos = useCallback(() => {
if (confirmClear) {
console.log('Clearing conversations...');
@ -56,18 +70,21 @@ function General() {
}
}, [confirmClear, clearConvosMutation]);
const changeTheme = useCallback((value: string) => {
setTheme(value);
}, [setTheme]);
const changeTheme = useCallback(
(value: string) => {
setTheme(value);
},
[setTheme]
);
return (
<Tabs.Content value="general" role="tabpanel" className="w-full md:min-h-[300px]" >
<Tabs.Content value="general" role="tabpanel" className="w-full md:min-h-[300px]">
<div className="flex flex-col gap-3 text-sm text-gray-600 dark:text-gray-300">
<div className="border-b pb-3 last-of-type:border-b-0 dark:border-gray-700">
<ThemeSelector theme={theme} onChange={changeTheme} />
</div>
<div className="border-b pb-3 last-of-type:border-b-0 dark:border-gray-700">
<ClearChatsButton confirmClear={confirmClear} onClick={clearConvos} showText={true}/>
<ClearChatsButton confirmClear={confirmClear} onClick={clearConvos} showText={true} />
</div>
</div>
</Tabs.Content>