From fd9f3d8bd9df8179dbb3f945c6c8f38f2c689942 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 15 May 2024 19:36:17 +0800 Subject: [PATCH] feat: playground --- .prettierrc | 4 +- config/config.ts | 11 +-- config/routes.ts | 1 + src/assets/images/avatar.png | Bin 0 -> 46384 bytes src/assets/images/logo.png | Bin 0 -> 50113 bytes src/assets/{ => styles}/menu.less | 0 .../seal-form/components/wrapper.tsx | 14 ++++ src/components/seal-form/seal-input.tsx | 24 +++++++ src/components/seal-form/types.ts | 3 + src/config/index.ts | 0 src/global.less | 34 +++++++-- src/pages/dashboard/index.tsx | 4 +- .../playground/components/chat-style.less | 68 ++++++++++++++++++ .../playground/components/chatContent.tsx | 61 ++++++++++++++++ src/pages/playground/components/chatEmpty.tsx | 15 ++++ .../playground/components/message-input.less | 63 ++++++++++++++++ .../playground/components/messageInput.tsx | 26 +++++++ .../playground/components/params-settings.tsx | 13 ++++ src/pages/playground/index.tsx | 59 ++++++++++++--- 19 files changed, 380 insertions(+), 20 deletions(-) create mode 100644 src/assets/images/avatar.png create mode 100644 src/assets/images/logo.png rename src/assets/{ => styles}/menu.less (100%) create mode 100644 src/components/seal-form/components/wrapper.tsx create mode 100644 src/components/seal-form/seal-input.tsx create mode 100644 src/components/seal-form/types.ts create mode 100644 src/config/index.ts create mode 100644 src/pages/playground/components/chat-style.less create mode 100644 src/pages/playground/components/chatContent.tsx create mode 100644 src/pages/playground/components/chatEmpty.tsx create mode 100644 src/pages/playground/components/message-input.less create mode 100644 src/pages/playground/components/messageInput.tsx create mode 100644 src/pages/playground/components/params-settings.tsx diff --git a/.prettierrc b/.prettierrc index ea9f5baa..55206551 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,7 +1,9 @@ { "printWidth": 80, "singleQuote": true, - "trailingComma": "all", + "tabWidth": 2, + "trailingComma": "none", + "htmlWhitespaceSensitivity": "strict", "proseWrap": "never", "overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }], "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson","unused-imports"], diff --git a/config/config.ts b/config/config.ts index 28cfda82..ebf665f8 100644 --- a/config/config.ts +++ b/config/config.ts @@ -6,17 +6,20 @@ export default defineConfig({ antd: { style: 'less', configProvider: { + componentSize: 'large', theme:{ 'root-entry-name': 'variable', cssVar: true, hashed: false, - token: { - colorPrimary: '#2fbf85', - motion: true, - } + token: { + colorPrimary: '#2fbf85', + borderRadius:'20px', + motion: true, + }, }, } }, + hash: true, access: {}, model: {}, initialState: {}, diff --git a/config/routes.ts b/config/routes.ts index 2243ff39..8840531d 100644 --- a/config/routes.ts +++ b/config/routes.ts @@ -15,6 +15,7 @@ export default [ }, { name: 'Playground', + title: 'Playground', path: '/playground', key: 'playground', icon: 'Comment', diff --git a/src/assets/images/avatar.png b/src/assets/images/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..a53d4c0286b9418f27a165e6b3a754488a071c24 GIT binary patch literal 46384 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..22cccba8d03a2b94ea8f9fbf1697c5512f3189e0 GIT binary patch literal 50113 zcmaI7byQZ-w=VqB9g@=B-Q6i6-Q6Yi(jXnuNQWSyba#VvceiwRN#D)yoO8eLk25Y~ zi14!ain(S!&s-78pJh-G@ex5F5XvW6NmURCQv3ZMJS^}@hh^F-@E@M5l(wsyqou2d z3D^Q8X6|TeLHfzw#L7a|!o=LmdB{Q#1cCzFsB61wD=P4tIodOuyg$S2Y3~HQ4FU;@ zcsiMw*;%-fnp#-dI0%uSw|0_~+L#NGYjG*EDmqD6Slh^YgDup&KdYO0+nMp1lZyzG z3VQMb1K3-*nvi~Mv$~{ zF$3E;x!O27kiL&-V(RGTDnt$}^}qID@1&^se+PDO`EN-9GGp;HabjU(W@WLrf8W@D zo_29nwfO&*@xMOpqVDBn!J=y6;^+o80}jNJ;(uNSg!liR=>0)pHT+6o8{kw-zDPQn zx!GGdxPFopA_xA$Y;I%D&&tcq%F4!J#>8#T&Bw&a#m&oP%EM~OWXa3MZDGb?X<^D^ z_CMqNZ|}3Si%UuJ@UXIqiSw|rNlA-IN{UN~b4jqXOG-*`i*xGJlvdHi%*NsU6T0_P z`maq(T7YfbEzG6Cj`pPg5i`Hd|FQ%#3v&)`Zca-kK2}RJCQb`Zb|w>64ihE|HeOaP zHWPCWPHr~x|9;>6e-j@E2OAf!v=|4cv?Q>7DL!sK9%LdQscy6e4 zj*!bhbO;#~KuS)^T^1gBFjJ`XRf%!&cFE_Q_AX3T&AT$pQ2bNC_wR<4r}q8=2>+BZ z!3YcIZ%-XxKPIl8j*X5#yYGp-b#W>707m>Zkkm%KTrYwK9@&l2(=a{FK$pQHk+R}o z1M|S+F8iWRM3wn2M^<0D)8*(b8@7XPf@|6{DIWx;%PG*q>3K{lbP2b+c(e5QeKGpsskGo63y4_b)Ah+RO6 zEjWBZl_uBWpF?}m$g@UFy$H+Rj?q_D%bMRXl<_AKpF4VcBRS7MjP3v4Brq>I_Y=&W z@MkScbusuib68|#{1Eq%?11@QTAr=viX=5ppS0EyOO9p#)BrLvv$AA6AtVSCUI5^%J?vZ^r&Yb zhxNRpkjP9N`Py3JK5ga7p>~^HoO|arRnL$ioms>F;-jz5xu+ze6%TFuQQ`w}#;izU zL2)sgE1CRu&75e;&mY5khn>INM|K+e@P{%!(~Syq$Xu~W*984?M$p9u)+I&<62%Hg z8T~vfOIPne^(SSr1$xK+s5_04E8O=jttdx)LRJD+iXpPnwIn zv(Jc^nfR#~#~8EP26?nneYBCi=7a-WVZAEP3DW3kkusLme<5f+Fp3kIP3rP&L-I_L zN{(seH-ii-5||CCs;O)0B-no}2uCcXei$GW;fYyG#F5CZ!iT4+(+7dNAVH*(PEqt) z+EfRgW%^RUmWL&!yAs*|n z+7I_JHf&zBP|7Xza4w%6rz*nX#1ub(>{Gt2Rjqm5ki!Z`AV#^3wQT$DI)o?
    oj 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 ({ children }) => { + return ( +
    + {children} +
    + ); +} + +export default Wrapper; \ No newline at end of file diff --git a/src/components/seal-form/seal-input.tsx b/src/components/seal-form/seal-input.tsx new file mode 100644 index 00000000..9e8de926 --- /dev/null +++ b/src/components/seal-form/seal-input.tsx @@ -0,0 +1,24 @@ +import { Input } from 'antd'; +import type { InputProps } from 'antd'; +import Wrapper from './components/wrapper'; +import { SealFormItemProps } from './types'; + +const TextArea: React.FC = (props) => { + return ( + + + + ); +} + +const SealInput: React.FC = (props) => { + const {label, ...rest} = props; + return ( + + + + ); +} + + +export default {TextArea,Input: SealInput}; \ No newline at end of file diff --git a/src/components/seal-form/types.ts b/src/components/seal-form/types.ts new file mode 100644 index 00000000..886c92fb --- /dev/null +++ b/src/components/seal-form/types.ts @@ -0,0 +1,3 @@ +export interface SealFormItemProps { + label?: string; +} \ No newline at end of file diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/global.less b/src/global.less index faf6b225..66365653 100644 --- a/src/global.less +++ b/src/global.less @@ -1,14 +1,30 @@ html{ - --color-fill-1: #f3f6fa; + --color-fill-1: rgba(0, 0, 0, 0.04); --color-fill-2: #fff; + --color-fill-3: #f3f6fa; --menu-border-radius-base: 32px; + --border-radius-base: 16px; --color-white-1: #fff; --font-weight-normal: 500; --font-weight-bold: 700; --color-text-1: #1d2129; + --color-bg-light-1: #f0fff6; + --font-size-base: 12px; + --ant-input-active-shadow: 0 0 0 2px rgba(5, 255, 105, 0.06); + --ant-input-active-border-color: #2fbf85; + --ant-color-fill-secondary: rgba(0, 0, 0, 0.06); + // --color-text-1: #000; + .css-var-rf { - --ant-font-size: 12px; + --ant-font-size: var(--font-size-base); + } + .css-var-r0 { + // --ant-control-height: 36px; + --ant-font-size-sm: var(--font-size-base); + --ant-font-size-lg: var(--font-size-base); + --ant-font-size-xl: 20px; + --ant-padding-sm: 14px; } .css-var-rf.ant-menu-css-var { @@ -20,8 +36,17 @@ html{ --ant-menu-item-color: var(--color-text-1); --ant-menu-item-active-bg: var(--color-white-1); } + .css-var-r0.ant-input-css-var { + --ant-input-input-font-size: var(--font-size-base); + --ant-input-input-font-size-lg: var(--font-size-base); + --ant-input-input-font-size-sm:var(--font-size-base); + } + .css-var-r0.ant-select-css-var { + --ant-select-option-active-bg: var(--color-fill-1); + --ant-select-option-font-size: var(--font-size-base); + } } -body { +body * { font-weight: var(--font-weight-normal); } @@ -29,6 +54,7 @@ body { .ant-pro-layout { height: 100vh; .ant-pro-sider-logo { + padding-left: 22px; border-block-end: none; } .ant-layout { @@ -58,4 +84,4 @@ body { } // ======== menu style end ============ -@import url('src/assets/menu.less'); \ No newline at end of file +@import url('src/assets/styles/menu.less'); \ No newline at end of file diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx index c9f98b31..6e6a6d0a 100644 --- a/src/pages/dashboard/index.tsx +++ b/src/pages/dashboard/index.tsx @@ -7,9 +7,7 @@ const Dashboard: React.FC = () => { return ( diff --git a/src/pages/playground/components/chat-style.less b/src/pages/playground/components/chat-style.less new file mode 100644 index 00000000..1b4daa09 --- /dev/null +++ b/src/pages/playground/components/chat-style.less @@ -0,0 +1,68 @@ +.chatEmpty { + display: flex; + justify-content: center; + align-items: center; + margin-top: 200px; + flex-direction: column; + .logo { + height: 60px; + width: 60px; + margin-block: 20px; + img { + width: 100%; + height: 100%; + } + } + .tips { + margin-top: 20px; + } +} + +.chatContent { + width: max(50%, 500px); +} +.chatMessageItem { + margin-bottom: 12px; + position: relative; + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + padding-inline: 44px 16px; + .name { + padding-block: 8px 16px; + } + .content { + padding: 8px 12px; + border-radius: var(--border-radius-base); + background-color: var(--color-fill-3); + font-size: var(--font-size-base); + } + .contentWrap { + position: relative; + padding-right: 45px; + &:hover .edit { + display: block; + } + .edit { + display: none; + position: absolute; + top: -10px; + right: 0; + padding: 8px; + } + } + .img { + position: absolute; + top: 0; + left: 0; + width: 32px; + height: 32px; + border-radius: 50%; + img { + width: 100%; + height: 100%; + border-radius: 50%; + } + } +} diff --git a/src/pages/playground/components/chatContent.tsx b/src/pages/playground/components/chatContent.tsx new file mode 100644 index 00000000..4e05f1c2 --- /dev/null +++ b/src/pages/playground/components/chatContent.tsx @@ -0,0 +1,61 @@ +import { Button,Space,Tooltip} from "antd"; +import { EditOutlined, CopyOutlined,DislikeOutlined,SyncOutlined} from '@ant-design/icons'; +import ChatEmpty from "./chatEmpty"; +import chatStyle from './chat-style.less' +import avatar from '@/assets/images/avatar.png' +import logo from '@/assets/images/logo.png' + +export type ChatContentProps = { + messageList: any[]; +} + +const QuestionMessage:React.FC<{content: string;}> = ({content}) => { + return ( +
    + + + + + YOU +
    + +

    {content}

    +
    +
    + ) +} + +const AnswerMessage:React.FC<{content: string;}> = ({content}) => { + return ( +
    + + + + AI +

    {content}

    + + + + + + + + + + + +
    + ) +} + +const ChatContent:React.FC = ({ messageList }) => { + if (messageList.length === 0) { + return + } + return (
    + + +
    ) +} + +export default ChatContent; \ No newline at end of file diff --git a/src/pages/playground/components/chatEmpty.tsx b/src/pages/playground/components/chatEmpty.tsx new file mode 100644 index 00000000..ed977dfc --- /dev/null +++ b/src/pages/playground/components/chatEmpty.tsx @@ -0,0 +1,15 @@ +import Logo from '@/assets/images/logo.png'; +import chatStyle from './chat-style.less' + +const ChatEmpty:React.FC = () => { + return ( +
    +
    + chat empty +
    +

    How can I help you today?

    +
    + ); +} + +export default ChatEmpty; \ No newline at end of file diff --git a/src/pages/playground/components/message-input.less b/src/pages/playground/components/message-input.less new file mode 100644 index 00000000..77c32034 --- /dev/null +++ b/src/pages/playground/components/message-input.less @@ -0,0 +1,63 @@ +.ant-pro-footer-bar { + padding-block: 20px; + padding-bottom: 30px; + border:none; + .ant-pro-footer-bar-right { + width: 100%; + display: flex; + justify-content: center; + align-items: center; + } +} +.messageInput{ + position:relative; + display: flex; + align-items: center; + justify-content: center; + width: max(50%, 500px); + background-color: var(--color-fill-1); + border-radius: 30px; + padding-right: 50px; + border: 1px solid transparent; + transition: all 0.2s ease; + &:focus-within { + border-color: var(--ant-input-active-border-color); + box-shadow: var(--ant-input-active-shadow); + background-color: var(--color-white-1); + transition: all 0.2s ease; + &:hover { + background-color: var(--color-white-1); + } + } + + &:hover { + background: var(--ant-color-fill-secondary); + transition: background 0.2s ease; + } + textarea { + padding: 16px; + border-radius: 30px; + background-color:transparent; + } + textarea::-webkit-scrollbar { + width: 8px; +} + +textarea::-webkit-scrollbar-track { + background-color: #f1f1f1; +} + +textarea::-webkit-scrollbar-thumb { + background-color: #d9d9d9; + border-radius: 6px; +} + .send-btn { + position: absolute; + right: 10px; + bottom: 11px; + display: flex; + justify-content: center; + align-items: center; + transform: rotate(-30deg); + } +} \ No newline at end of file diff --git a/src/pages/playground/components/messageInput.tsx b/src/pages/playground/components/messageInput.tsx new file mode 100644 index 00000000..e50d1515 --- /dev/null +++ b/src/pages/playground/components/messageInput.tsx @@ -0,0 +1,26 @@ +import { Input,Button} from 'antd'; +import { useState } from 'react'; +import { SendOutlined } from '@ant-design/icons'; +import './message-input.less' + +const MessageInput: React.FC = () => { + const { TextArea } = Input; + const [message, setMessage] = useState('') + const handleInputChange = (value:string) => { + setMessage(value) + } + const handleSendMessage = () => { + console.log('send message:', message) + } + const SendButton: React.FC = () => { + return + } + return ( +
    + + +
    + ); +}; + +export default MessageInput; \ No newline at end of file diff --git a/src/pages/playground/components/params-settings.tsx b/src/pages/playground/components/params-settings.tsx new file mode 100644 index 00000000..b6a6036a --- /dev/null +++ b/src/pages/playground/components/params-settings.tsx @@ -0,0 +1,13 @@ +import { Form } from "antd"; +import { useState } from "react"; + +const ParamsSettings:React.FC = () => { + const [params, setParams] = useState({ + name: 'jack', + age: 18 + }); + + return (
    ) +}; + +export default ParamsSettings; \ No newline at end of file diff --git a/src/pages/playground/index.tsx b/src/pages/playground/index.tsx index 3cc675f8..4e54554b 100644 --- a/src/pages/playground/index.tsx +++ b/src/pages/playground/index.tsx @@ -1,16 +1,59 @@ +import { useState,useEffect} from 'react'; +import { Button, Select,Space,Input,Popover } from 'antd'; +import { ControlOutlined } from '@ant-design/icons'; import { PageContainer } from '@ant-design/pro-components'; +import SealInput from '@/components/seal-form/seal-input'; +import MessageInput from './components/messageInput'; +import ChatContent from './components/chatContent'; + +const dataList = [ + {value: 'llama3:latest', label: 'llama3:latest'}, + {value: 'wangfuyun/AnimateLCM', label: 'wangfuyun/AnimateLCM'}, + {value: 'Revanthraja/Text_to_Vision', label: 'Revanthraja/Text_to_Vision'}, +] +const Playground: React.FC = () => { + const [ModelList, setModelList] = useState(dataList) + const [messageList, setMessageList] = useState([]) + const [selectedModel, setSelectedModel] = useState('llama3:latest') + + const handleSelectChange = (value: string) => { + setSelectedModel(value) + } + + const getMessageList = () => { + // fetch message list from server + setMessageList(['1']) + } + + useEffect(() => { + getMessageList() + }, [selectedModel]) -const Dashboard: React.FC = () => { return ( -
    Playground
    + + title={false} + extra={[ + + + + + + + + ]} + footer={[ + + ]} + > + +
    + +
    +
    ); }; -export default Dashboard; \ No newline at end of file +export default Playground; \ No newline at end of file