diff --git a/client/src/components/Input/Models/ModelItem.jsx b/client/src/components/Input/Models/ModelItem.jsx index b35cc3ece8..5a0ad0b9e6 100644 --- a/client/src/components/Input/Models/ModelItem.jsx +++ b/client/src/components/Input/Models/ModelItem.jsx @@ -6,7 +6,7 @@ import { DialogTrigger } from '../../ui/Dialog.tsx'; import RenameButton from '../../Conversations/RenameButton'; import TrashIcon from '../../svg/TrashIcon'; import manualSWR from '~/utils/fetchers'; -import { getIconOfModel } from '~/utils'; +import getIcon from '~/utils/getIcon'; import store from '~/store'; @@ -31,7 +31,7 @@ export default function ModelItem({ model: _model, value, onSelect }) { setCustomGPTModels(fetchedModels); }); - const icon = getIconOfModel({ + const icon = getIcon({ size: 20, sender: chatGptLabel || model, isCreatedByUser: false, diff --git a/client/src/components/Input/Models/ModelMenu.jsx b/client/src/components/Input/Models/ModelMenu.jsx index 65dd7f777e..d89bc63cae 100644 --- a/client/src/components/Input/Models/ModelMenu.jsx +++ b/client/src/components/Input/Models/ModelMenu.jsx @@ -4,7 +4,7 @@ import axios from 'axios'; import ModelDialog from './ModelDialog'; import MenuItems from './MenuItems'; import { swr } from '~/utils/fetchers'; -import { getIconOfModel } from '~/utils'; +import getIcon from '~/utils/getIcon'; import { Button } from '../../ui/Button.tsx'; import { @@ -145,7 +145,7 @@ export default function ModelMenu() { ]; const colorProps = model === 'chatgpt' ? chatgptColorProps : defaultColorProps; - const icon = getIconOfModel({ + const icon = getIcon({ size: 32, sender: chatGptLabel || model, isCreatedByUser: false, diff --git a/client/src/components/Messages/Message.jsx b/client/src/components/Messages/Message.jsx index 47b56ec2cb..b692af17fc 100644 --- a/client/src/components/Messages/Message.jsx +++ b/client/src/components/Messages/Message.jsx @@ -6,7 +6,7 @@ import MultiMessage from './MultiMessage'; import HoverButtons from './HoverButtons'; import SiblingSwitch from './SiblingSwitch'; import { fetchById } from '~/utils/fetchers'; -import { getIconOfAi } from '~/utils'; +import getIcon from '~/utils/getIcon'; import { useMessageHandler } from '~/utils/handleSubmit'; import store from '~/store'; @@ -60,7 +60,7 @@ export default function Message({ 'w-full border-b border-black/10 dark:border-gray-900/50 text-gray-800 bg-white dark:text-gray-100 group dark:bg-gray-800' }; - const icon = getIconOfAi({ + const icon = getIcon({ ...conversation, ...message }); diff --git a/client/src/utils/getIcon.jsx b/client/src/utils/getIcon.jsx new file mode 100644 index 0000000000..85519f8ad1 --- /dev/null +++ b/client/src/utils/getIcon.jsx @@ -0,0 +1,85 @@ +import { clsx } from 'clsx'; +import React from 'react'; +import { twMerge } from 'tailwind-merge'; +import GPTIcon from '../components/svg/GPTIcon'; +import BingIcon from '../components/svg/BingIcon'; + +const getIcon = props => { + // { size = 30, isCreatedByUser, model, chatGptLabel, error, ...props } + const { size = 30, isCreatedByUser, button } = props; + + if (isCreatedByUser) + return ( +