diff --git a/src/components/buttons/more.tsx b/src/components/buttons/more.tsx new file mode 100644 index 00000000..c5847e8d --- /dev/null +++ b/src/components/buttons/more.tsx @@ -0,0 +1,46 @@ +import { DoubleRightOutlined } from '@ant-design/icons'; +import { useIntl } from '@umijs/max'; +import { Button } from 'antd'; +import React from 'react'; +import styled from 'styled-components'; + +interface MoreButtonProps { + show: boolean; + loadMore: () => void; + loading?: boolean; +} + +const MoreWrapper = styled.div` + display: flex; + justify-content: center; + margin-block: 16px; + opacity: 1; + transition: opacity 0.3s; + &.loading { + opacity: 0; + transition: opacity 0.3s ease-in-out; + } +`; + +const MoreButton: React.FC = (props) => { + const { show, loading, loadMore } = props; + const intl = useIntl(); + return ( + <> + {show ? ( + + + + ) : null} + + ); +}; + +export default MoreButton; diff --git a/src/components/simple-table/index.less b/src/components/simple-table/index.less index 9cce0d1d..411ed6c9 100644 --- a/src/components/simple-table/index.less +++ b/src/components/simple-table/index.less @@ -8,25 +8,22 @@ border-spacing: 0; td { - border-bottom: 1px solid rgba(255, 255, 255, 10%); + border-bottom: 1px solid var(--ant-color-split); } th { - border-bottom: 1px solid rgba(255, 255, 255, 10%); - } - - tr:last-child td { - // border-bottom: none; + border-bottom: 1px solid var(--ant-color-split); } } th { height: 36px; font-weight: 600; + color: var(--ant-color-text); } td { - color: var(--color-white-quaternary); + color: var(--ant-color-text-secondary); } .cell-span { @@ -38,16 +35,4 @@ .cell-header { font-weight: var(--font-weight-medium); } - - &.light { - th { - color: var(--ant-color-text); - border-bottom: 1px solid var(--ant-color-split); - } - - td { - color: var(--ant-color-text); - border-bottom: 1px solid var(--ant-color-split); - } - } } diff --git a/src/global.less b/src/global.less index 510f3338..4918ca5a 100644 --- a/src/global.less +++ b/src/global.less @@ -76,6 +76,7 @@ html { --color-bg-tooltip: '#fff'; --color-modal-content-bg: rgba(255, 255, 255, 90%); --color-modal-box-shadow: 0 4px 16px rgba(0, 0, 0, 10%); + --color-spotlight-bg: rgba(255, 255, 255, 100%); // ======== input ============ --box-shadow-base: 0 4px 6px rgba(227, 232, 240, 70%); --ant-border-radius-lg: 4px; @@ -97,6 +98,7 @@ html[data-theme='realDark'] { --color-progress-text: rgba(255, 255, 255, 80%); --color-modal-content-bg: #1f1f1f; --color-modal-box-shadow: none; + --color-spotlight-bg: #3e3e3e; background: #141414; @@ -731,7 +733,7 @@ body { .light-downloading-tooltip { &.ant-tooltip .ant-tooltip-arrow::before { - background: var(--color-white-1); + background: var(--color-spotlight-bg); } } diff --git a/src/pages/llmodels/catalog.tsx b/src/pages/llmodels/catalog.tsx index 910c6a83..0f021faa 100644 --- a/src/pages/llmodels/catalog.tsx +++ b/src/pages/llmodels/catalog.tsx @@ -1,9 +1,10 @@ import { modelsExpandKeysAtom } from '@/atoms/models'; +import MoreButton from '@/components/buttons/more'; import PageTools from '@/components/page-tools'; import { PageAction } from '@/config'; import useBodyScroll from '@/hooks/use-body-scroll'; import { IS_FIRST_LOGIN, writeState } from '@/utils/localstore/index'; -import { DoubleRightOutlined, SyncOutlined } from '@ant-design/icons'; +import { SyncOutlined } from '@ant-design/icons'; import { PageContainer } from '@ant-design/pro-components'; import { useIntl, useNavigate } from '@umijs/max'; import { Button, Input, Pagination, Select, Space, message } from 'antd'; @@ -22,18 +23,6 @@ const PageWrapper = styled.div` margin-block: 32px 16px; `; -const MoreWrapper = styled.div` - display: flex; - justify-content: center; - margin-block: 16px; - opacity: 1; - transition: opacity 0.3s; - &.loading { - opacity: 0; - transition: opacity 0.3s ease-in-out; - } -`; - const Catalog: React.FC = () => { const intl = useIntl(); const { saveScrollHeight, restoreScrollHeight } = useBodyScroll(); @@ -315,18 +304,11 @@ const Catalog: React.FC = () => { activeId={-1} isFirst={isFirst} > - {queryParams.page < dataSource.totalPage && ( - - - - )} + ); @@ -162,7 +161,7 @@ const RenderWorkerDownloading = (props: { arrow={true} overlayInnerStyle={{ width: 300, - backgroundColor: 'var(--color-white-1)' + backgroundColor: 'var(--color-spotlight-bg)' }} overlayClassName="light-downloading-tooltip" title={ diff --git a/src/pages/llmodels/config/llama-config.ts b/src/pages/llmodels/config/llama-config.ts index 61819dfb..9428b500 100644 --- a/src/pages/llmodels/config/llama-config.ts +++ b/src/pages/llmodels/config/llama-config.ts @@ -592,6 +592,10 @@ const options = [ { label: '--context-shift', value: '--context-shift' + }, + { + label: '--v2', + value: '--v2' } ]; diff --git a/src/pages/playground/config/index.ts b/src/pages/playground/config/index.ts index e76a1ee3..778b37b4 100644 --- a/src/pages/playground/config/index.ts +++ b/src/pages/playground/config/index.ts @@ -1,4 +1,4 @@ -import { map } from 'lodash'; +import _, { map } from 'lodash'; import { CREAT_IMAGE_API } from '../apis'; import { MessageItem } from './types'; @@ -50,30 +50,33 @@ export const formatMessageParams = (messageList: any[]) => { export const generateMessagesByListContent = (messageList: any[]) => { if (!messageList.length) return []; - return messageList.map((item: MessageItem) => { - const content = map( - item.imgs, - (img: { uid: string | number; dataUrl: string }) => { - return { - type: 'image_url', - image_url: { - url: img.dataUrl - } - }; - } - ); + if (item.imgs?.length) { + const content = map( + item.imgs, + (img: { uid: string | number; dataUrl: string }) => { + return { + type: 'image_url', + image_url: { + url: img.dataUrl + } + }; + } + ); - if (item.content) { - content.push({ - type: 'text', - text: item.content - }); + if (item.content) { + content.push({ + type: 'text', + text: item.content + }); + } + + return { + role: item.role, + content: content + }; } - return { - role: item.role, - content: content - }; + return _.omit(item, ['uid', 'imgs']); }); };