|
|
|
@ -1,59 +1,35 @@
|
|
|
|
|
'use client';
|
|
|
|
|
|
|
|
|
|
import { Avatar, Icon } from '@lobehub/ui';
|
|
|
|
|
import { Card, Button, List, Image, Flex, Tabs, Table, Space, Input, Select, Upload, Slider, InputNumber, Carousel } from "antd";
|
|
|
|
|
import { StarOutlined, StarFilled, StarTwoTone, CloudUploadOutlined} from '@ant-design/icons';
|
|
|
|
|
// import { Avatar, Icon } from '@lobehub/ui';
|
|
|
|
|
import { Card, Button, List, Image, Flex, Input, Select, Slider, Carousel } from "antd";
|
|
|
|
|
import { createStyles } from 'antd-style';
|
|
|
|
|
import { LucideArrowUpRightFromSquare, TelescopeIcon } from 'lucide-react';
|
|
|
|
|
import Link from 'next/link';
|
|
|
|
|
import { memo, useState, useRef } from 'react';
|
|
|
|
|
import { useTranslation } from 'react-i18next';
|
|
|
|
|
import { Flexbox } from 'react-layout-kit';
|
|
|
|
|
|
|
|
|
|
import Notification from '@/components/Notification';
|
|
|
|
|
import { BRANDING_NAME } from '@/const/branding';
|
|
|
|
|
import { PRIVACY_URL } from '@/const/url';
|
|
|
|
|
import { useServerConfigStore } from '@/store/serverConfig';
|
|
|
|
|
import { serverConfigSelectors } from '@/store/serverConfig/selectors';
|
|
|
|
|
import { useUserStore } from '@/store/user';
|
|
|
|
|
import { preferenceSelectors } from '@/store/user/selectors';
|
|
|
|
|
import styled from 'styled-components';
|
|
|
|
|
const { Search } = Input;
|
|
|
|
|
const { Dragger } = Upload;
|
|
|
|
|
const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
listStyle: css`
|
|
|
|
|
border: none !important;
|
|
|
|
|
`,
|
|
|
|
|
cardStyle: css`
|
|
|
|
|
box-shadow: 1px 0px 12px 0px rgba(42, 77, 255, 0.19);
|
|
|
|
|
border: none;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
overflow: auto;
|
|
|
|
|
`,
|
|
|
|
|
cardRobotStyle: css`
|
|
|
|
|
box-shadow: 1px 0px 12px 0px rgba(42, 77, 255, 0.19);
|
|
|
|
|
border: none;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
padding: 0 24px;
|
|
|
|
|
// import { useTranslation } from 'react-i18next';
|
|
|
|
|
// import { Flexbox } from 'react-layout-kit';
|
|
|
|
|
const useStyles = createStyles(({ css }) => ({
|
|
|
|
|
buttonDelete: css`
|
|
|
|
|
background: url(/images/delete.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
iconImg: css`
|
|
|
|
|
width: 48px;
|
|
|
|
|
height: 48px;
|
|
|
|
|
`,
|
|
|
|
|
title: css`
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
buttonEdit: css`
|
|
|
|
|
background: url(/images/edit.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
dec: css`
|
|
|
|
|
color: #666666;
|
|
|
|
|
buttonManage: css`
|
|
|
|
|
background: url(/images/manage.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
buttonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
@ -85,99 +61,49 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
importButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
cardRobotStyle: css`
|
|
|
|
|
box-shadow: 1px 0px 12px 0px rgba(42, 77, 255, 0.19);
|
|
|
|
|
border: none;
|
|
|
|
|
padding: 18px 30px !important;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: rgba(0, 68, 255, 0.102);
|
|
|
|
|
margin-left: 50px;
|
|
|
|
|
&:hover {
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
background-color: rgba(0, 68, 255, 0.102) !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
buttonManage: css`
|
|
|
|
|
background: url(/images/manage.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
buttonEdit: css`
|
|
|
|
|
background: url(/images/edit.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
padding: 0 24px;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
buttonDelete: css`
|
|
|
|
|
background: url(/images/delete.png) center center no-repeat;
|
|
|
|
|
background-size: 14px;
|
|
|
|
|
&:before {
|
|
|
|
|
content: "11";
|
|
|
|
|
visibility: hidden;
|
|
|
|
|
}
|
|
|
|
|
cardStyle: css`
|
|
|
|
|
box-shadow: 1px 0px 12px 0px rgba(42, 77, 255, 0.19);
|
|
|
|
|
border: none;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
overflow: auto;
|
|
|
|
|
`,
|
|
|
|
|
tableHead: css`
|
|
|
|
|
.ant-table-thead {
|
|
|
|
|
.ant-table-cell {
|
|
|
|
|
background-color: #F1F8FF !important
|
|
|
|
|
}
|
|
|
|
|
checkButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
padding: 15px 30px !important;
|
|
|
|
|
box-shadow: 0px 2px 9px 0px rgba(95, 135, 255, 0.4);
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
border-color: #0044FF;
|
|
|
|
|
background-color: #0044FF;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #0044FF !important;
|
|
|
|
|
background-color: #0044FF !important;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
tabStyle: css`
|
|
|
|
|
.ant-tabs-tab {
|
|
|
|
|
margin-right: 40px !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-tabs-tab-btn {
|
|
|
|
|
color: #648EFF
|
|
|
|
|
}
|
|
|
|
|
.ant-tabs-tab.ant-tabs-tab-active {
|
|
|
|
|
.ant-tabs-tab-btn {
|
|
|
|
|
color: #0044FF
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.ant-pagination {
|
|
|
|
|
.ant-pagination-item-active {
|
|
|
|
|
border-color: #0056FF !important
|
|
|
|
|
a {
|
|
|
|
|
color: #0056FF !important
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
checkItem: css`
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
`,
|
|
|
|
|
searchStyle: css`
|
|
|
|
|
.ant-input-affix-wrapper {
|
|
|
|
|
border: none;
|
|
|
|
|
background-color: #F3F6FF;
|
|
|
|
|
}
|
|
|
|
|
.ant-input-search-button {
|
|
|
|
|
border: none;
|
|
|
|
|
background-color: #F3F6FF;
|
|
|
|
|
&:hover {
|
|
|
|
|
background-color: #F3F6FF !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-btn-icon {
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
checkTitle: css`
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
margin-right: 5px;
|
|
|
|
|
`,
|
|
|
|
|
selectStyle: css`
|
|
|
|
|
.ant-select-selector {
|
|
|
|
|
border: none !important;
|
|
|
|
|
background-color: #F0F3FD !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-select-selection-item {
|
|
|
|
|
color: #4A73FF
|
|
|
|
|
}
|
|
|
|
|
.ant-select-arrow {
|
|
|
|
|
color: #2959FF
|
|
|
|
|
}
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
dec: css`
|
|
|
|
|
color: #666666;
|
|
|
|
|
`,
|
|
|
|
|
documentCard: css`
|
|
|
|
|
width: 100%;
|
|
|
|
@ -197,11 +123,31 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
border: 1px solid #0044FF;
|
|
|
|
|
`,
|
|
|
|
|
iconImg: css`
|
|
|
|
|
width: 48px;
|
|
|
|
|
height: 48px;
|
|
|
|
|
`,
|
|
|
|
|
importButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
border: none;
|
|
|
|
|
padding: 18px 30px !important;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: rgba(0, 68, 255, 0.102);
|
|
|
|
|
margin-left: 50px;
|
|
|
|
|
&:hover {
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
background-color: rgba(0, 68, 255, 0.102) !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
importFileCard: css`
|
|
|
|
|
.ant-card-body {
|
|
|
|
|
height: 100%
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
listStyle: css`
|
|
|
|
|
border: none !important;
|
|
|
|
|
`,
|
|
|
|
|
previewContainer: css`
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
@ -209,57 +155,29 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
text-align: center;
|
|
|
|
|
padding: 30% 0;
|
|
|
|
|
`,
|
|
|
|
|
testContent: css`
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 500px;
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-radius: 2px;
|
|
|
|
|
border: 1px solid #D9D9D9;
|
|
|
|
|
`,
|
|
|
|
|
checkButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
padding: 15px 30px !important;
|
|
|
|
|
box-shadow: 0px 2px 9px 0px rgba(95, 135, 255, 0.4);
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
border-color: #0044FF;
|
|
|
|
|
background-color: #0044FF;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #0044FF !important;
|
|
|
|
|
background-color: #0044FF !important;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
viewButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
border-color: #BECFFF;
|
|
|
|
|
padding: 10px 15px !important;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: rgba(255, 255, 255, 0) !important;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #BECFFF !important;
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
background-color: rgba(255, 255, 255, 0) !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
checkTitle: css`
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
margin-right: 5px;
|
|
|
|
|
`,
|
|
|
|
|
checkItem: css`
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
`,
|
|
|
|
|
robotAvatarLeftContainer: css`
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
`,
|
|
|
|
|
robotAvatarLeft: css`
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
background: #DFE7FF;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
`,
|
|
|
|
|
robotAvatarLeftContainer: css`
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
`,
|
|
|
|
|
robotBg: css`
|
|
|
|
|
width: 120px !important;
|
|
|
|
|
height: 80px !important;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
margin-botom: 5px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
`,
|
|
|
|
|
robotImg: css`
|
|
|
|
|
margin: 30px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
.ant-image {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
robotSetHead: css`
|
|
|
|
|
height: 60px;
|
|
|
|
|
line-height: 60px;
|
|
|
|
@ -280,34 +198,34 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
width: 100px;
|
|
|
|
|
`,
|
|
|
|
|
tagStyle: css`
|
|
|
|
|
width: 70px;
|
|
|
|
|
height: 30px;
|
|
|
|
|
line-height: 30px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
background: #F6F6F6;
|
|
|
|
|
color: #999999;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
`,
|
|
|
|
|
tagStyleActive: css`
|
|
|
|
|
width: 70px;
|
|
|
|
|
height: 30px;
|
|
|
|
|
line-height: 30px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
background-color: #0044FF;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
searchStyle: css`
|
|
|
|
|
.ant-input-affix-wrapper {
|
|
|
|
|
border: none;
|
|
|
|
|
background-color: #F3F6FF;
|
|
|
|
|
}
|
|
|
|
|
.ant-input-search-button {
|
|
|
|
|
border: none;
|
|
|
|
|
background-color: #F3F6FF;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #0044FF !important;
|
|
|
|
|
background-color: #0044FF !important;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
background-color: #F3F6FF !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-btn-icon {
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
selectStyle: css`
|
|
|
|
|
.ant-select-selector {
|
|
|
|
|
border: none !important;
|
|
|
|
|
background-color: #F0F3FD !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-select-selection-item {
|
|
|
|
|
color: #4A73FF
|
|
|
|
|
}
|
|
|
|
|
.ant-select-arrow {
|
|
|
|
|
color: #2959FF
|
|
|
|
|
}
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
`,
|
|
|
|
|
sliderStyle: css`
|
|
|
|
|
.ant-slider-handle {
|
|
|
|
@ -389,48 +307,116 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
|
|
color: #3A61CB;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
`,
|
|
|
|
|
switchRightButton: css`
|
|
|
|
|
switchLeftButton: css`
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
width: 30px;
|
|
|
|
|
line-height: 100px;
|
|
|
|
|
box-shadow: -1px 0px 6px 0px rgba(139, 162, 229, 0.2392);
|
|
|
|
|
`,
|
|
|
|
|
switchLeftButton: css`
|
|
|
|
|
switchRightButton: css`
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
width: 30px;
|
|
|
|
|
line-height: 100px;
|
|
|
|
|
box-shadow: -1px 0px 6px 0px rgba(139, 162, 229, 0.2392);
|
|
|
|
|
`,
|
|
|
|
|
robotBg: css`
|
|
|
|
|
width: 120px !important;
|
|
|
|
|
height: 80px !important;
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
margin-botom: 5px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
tabStyle: css`
|
|
|
|
|
.ant-tabs-tab {
|
|
|
|
|
margin-right: 40px !important;
|
|
|
|
|
}
|
|
|
|
|
.ant-tabs-tab-btn {
|
|
|
|
|
color: #648EFF
|
|
|
|
|
}
|
|
|
|
|
.ant-tabs-tab.ant-tabs-tab-active {
|
|
|
|
|
.ant-tabs-tab-btn {
|
|
|
|
|
color: #0044FF
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.ant-pagination {
|
|
|
|
|
.ant-pagination-item-active {
|
|
|
|
|
border-color: #0056FF !important
|
|
|
|
|
a {
|
|
|
|
|
color: #0056FF !important
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
robotImg: css`
|
|
|
|
|
margin: 30px 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
.ant-image {
|
|
|
|
|
tableHead: css`
|
|
|
|
|
.ant-table-thead {
|
|
|
|
|
.ant-table-cell {
|
|
|
|
|
background-color: #F1F8FF !important
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
tagStyle: css`
|
|
|
|
|
width: 70px;
|
|
|
|
|
height: 30px;
|
|
|
|
|
line-height: 30px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
background: #F6F6F6;
|
|
|
|
|
color: #999999;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
`,
|
|
|
|
|
tagStyleActive: css`
|
|
|
|
|
width: 70px;
|
|
|
|
|
height: 30px;
|
|
|
|
|
line-height: 30px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
background-color: #0044FF;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #0044FF !important;
|
|
|
|
|
background-color: #0044FF !important;
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
testContent: css`
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 500px;
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-radius: 2px;
|
|
|
|
|
border: 1px solid #D9D9D9;
|
|
|
|
|
`,
|
|
|
|
|
title: css`
|
|
|
|
|
font-size: 18px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
`,
|
|
|
|
|
viewButtonStyle: css`
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #0044FF;
|
|
|
|
|
border-color: #BECFFF;
|
|
|
|
|
padding: 10px 15px !important;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: rgba(255, 255, 255, 0) !important;
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: #BECFFF !important;
|
|
|
|
|
color: #0044FF !important;
|
|
|
|
|
background-color: rgba(255, 255, 255, 0) !important;
|
|
|
|
|
}
|
|
|
|
|
`,
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
const { cx, styles, theme } = useStyles();
|
|
|
|
|
const { cx, styles } = useStyles();
|
|
|
|
|
const [value, setValue] = useState(1);
|
|
|
|
|
const [inputValue, setInputValue] = useState(1);
|
|
|
|
|
const [selectedTags, setSelectedTags] = useState(new Set());
|
|
|
|
|
const carouselRef = useRef(null);
|
|
|
|
|
const carouselBgRef = useRef(null);
|
|
|
|
|
const { t } = useTranslation('common');
|
|
|
|
|
// const { t } = useTranslation('common');
|
|
|
|
|
const tags = ['默认', '新闻', '小说', '知识'];
|
|
|
|
|
const data = [
|
|
|
|
|
{
|
|
|
|
@ -483,9 +469,9 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
setSelectedTags(newSelectedTags);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const handleChange = () => {
|
|
|
|
|
// const handleChange = () => {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
const handleSwitchNext = () => {
|
|
|
|
|
carouselRef.current.next();
|
|
|
|
@ -503,52 +489,50 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
carouselBgRef.current.prev();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const afterChange = (index) => {
|
|
|
|
|
// 当Carousel的activeIndex改变时,如果是第一次,则获取索引并存储
|
|
|
|
|
if (index === 0) {
|
|
|
|
|
// const afterChange = (index) => {
|
|
|
|
|
// // 当Carousel的activeIndex改变时,如果是第一次,则获取索引并存储
|
|
|
|
|
// if (index === 0) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const renderItem = () => {}
|
|
|
|
|
// }
|
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
<div style={{display: value == 1 ? 'block': 'none'}}>
|
|
|
|
|
<div style={{ marginLeft: '60px', fontSize: '20px', height: '70px', lineHeight: '70px'}}>
|
|
|
|
|
<div style={{display: value === 1 ? 'block': 'none',height: '100%'}}>
|
|
|
|
|
<div style={{ fontSize: '20px', height: '70px', lineHeight: '70px', marginLeft: '60px' }}>
|
|
|
|
|
我的数字形象
|
|
|
|
|
<Button className={styles.buttonStyle} style={{marginLeft: '24px'}} type="link" shape="round" size="small" variant="solid" onClick={(val)=>handleSwitch(2)}>
|
|
|
|
|
<Button className={styles.buttonStyle} onClick={()=>handleSwitch(2)} shape="round" size="small" style={{marginLeft: '24px'}} type="link" variant="solid">
|
|
|
|
|
制作数字形象
|
|
|
|
|
</Button>
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{height: '100%'}}>
|
|
|
|
|
<List
|
|
|
|
|
dataSource={data}
|
|
|
|
|
grid={{
|
|
|
|
|
gutter: 80,
|
|
|
|
|
xs: 1,
|
|
|
|
|
sm: 2,
|
|
|
|
|
md: 4,
|
|
|
|
|
lg: 5,
|
|
|
|
|
md: 4,
|
|
|
|
|
sm: 2,
|
|
|
|
|
xl: 5,
|
|
|
|
|
xs: 1,
|
|
|
|
|
xxl: 5,
|
|
|
|
|
}}
|
|
|
|
|
dataSource={data}
|
|
|
|
|
style={{padding: '0 50px',marginTop: '10px'}}
|
|
|
|
|
renderItem={(item) => (
|
|
|
|
|
renderItem={() => (
|
|
|
|
|
<List.Item className={styles.listStyle}>
|
|
|
|
|
<Card className={styles.cardStyle} style={{padding: '0 !important'}}>
|
|
|
|
|
<div style={{background: '#EFEFEF',textAlign: 'center',padding: '40px 0'}}>
|
|
|
|
|
<div style={{background: '#EFEFEF', padding: '40px 0', textAlign: 'center'}}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot.png" />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{marginTop: '30px'}}>
|
|
|
|
|
<Flex justify='space-between' style={{height: '100%'}}>
|
|
|
|
|
<div style={{lineHeight: '36px',fontWeight: '700'}}>
|
|
|
|
|
<div style={{fontWeight: '700', lineHeight: '36px'}}>
|
|
|
|
|
Oliva
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<Button type="link" style={{color: '#005EFF',paddingRight: '0'}} onClick={(val)=>handleSwitch(2)}>
|
|
|
|
|
<Button onClick={()=>handleSwitch(2)} style={{color: '#005EFF',paddingRight: '0'}} type="link">
|
|
|
|
|
<span className={styles.buttonEdit}></span>
|
|
|
|
|
</Button>
|
|
|
|
|
<Button type="link" style={{color: '#FF0C0C', paddingRight: '0'}}>
|
|
|
|
|
<Button style={{color: '#FF0C0C', paddingRight: '0'}} type="link">
|
|
|
|
|
<span className={styles.buttonDelete}></span>
|
|
|
|
|
</Button>
|
|
|
|
|
</div>
|
|
|
|
@ -557,21 +541,23 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</Card>
|
|
|
|
|
</List.Item>
|
|
|
|
|
)}
|
|
|
|
|
style={{marginTop: '10px', padding: '0 50px'}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{display: value == 2 ? 'block': 'none',height: '100%'}}>
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{display: value === 2 ? 'block': 'none',height: '100%'}}>
|
|
|
|
|
<Flex justify='space-between' style={{margin: '15px 0'}} >
|
|
|
|
|
<div style={{ marginLeft: '60px',fontSize: '20px',lineHeight: '42px' }}>
|
|
|
|
|
<div style={{ fontSize: '20px',lineHeight: '42px',marginLeft: '60px' }}>
|
|
|
|
|
我的数字形象
|
|
|
|
|
</div>
|
|
|
|
|
<Button className={styles.buttonStyle} style={{marginRight: '150px'}} type="text" onClick={(val)=>handleSwitch(1)} shape="round" size="small" variant="solid">
|
|
|
|
|
<Button className={styles.buttonStyle} onClick={()=>handleSwitch(1)} shape="round" size="small" style={{marginRight: '150px'}} type="text" variant="solid">
|
|
|
|
|
返回形象列表
|
|
|
|
|
</Button>
|
|
|
|
|
</Flex>
|
|
|
|
|
<div style={{padding: '0 150px 0 50px',height: '100%'}}>
|
|
|
|
|
<Flex justify='space-between' gap={30} style={{height: '100%'}}>
|
|
|
|
|
<div style={{width: '6%',height: '85%'}}>
|
|
|
|
|
<Card className={styles.cardStyle} style={{textAlign: 'center',padding: '0'}}>
|
|
|
|
|
<div style={{height: '100%', padding: '0 150px 0 50px'}}>
|
|
|
|
|
<Flex gap={30} justify='space-between' style={{height: '100%'}}>
|
|
|
|
|
<div style={{height: '85%', width: '6%'}}>
|
|
|
|
|
<Card className={styles.cardStyle} style={{padding: '0', textAlign: 'center'}}>
|
|
|
|
|
<div className={styles.robotAvatarLeftContainer}>
|
|
|
|
|
<div className={styles.robotAvatarLeft}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot1.png" />
|
|
|
|
@ -622,108 +608,110 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
</Card>
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{width: '52%',height: '85%'}}>
|
|
|
|
|
<Card className={styles.cardRobotStyle} style={{padding: '0 !important', height: '120px'}}>
|
|
|
|
|
<Carousel infinite={false} afterChange={afterChange} ref={carouselRef}>
|
|
|
|
|
<div style={{height: '85%', width: '52%'}}>
|
|
|
|
|
<Card className={styles.cardRobotStyle} style={{height: '120px', padding: '0 !important'}}>
|
|
|
|
|
<Carousel infinite={false}
|
|
|
|
|
// afterChange={afterChange}
|
|
|
|
|
ref={carouselRef}>
|
|
|
|
|
<div>
|
|
|
|
|
<Flex gap={50}>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Flex>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
|
|
|
|
<Flex gap={50}>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{marginTop: '12px',marginBotom: '5px'}} preview={false} src="/images/robot2.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/robot2.png" style={{marginBotom: '5px', marginTop: '12px'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{textAlign: 'center'}}>Ellen</div>
|
|
|
|
|
</div>
|
|
|
|
@ -731,17 +719,19 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
</Carousel>
|
|
|
|
|
<div className={styles.switchLeftButton} onClick={handleSwitchPrev}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{transform: 'rotate(-180deg)'}} preview={false} src="/images/next.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/next.png" style={{transform: 'rotate(-180deg)'}} />
|
|
|
|
|
</div>
|
|
|
|
|
<div className={styles.switchRightButton} onClick={handleSwitchNext}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/next.png" />
|
|
|
|
|
</div>
|
|
|
|
|
</Card>
|
|
|
|
|
<div className={styles.robotImg}>
|
|
|
|
|
<Image preview={false} style={{width: '100%',height: '600px'}} src="/images/robot_img.png" />
|
|
|
|
|
<Image preview={false} src="/images/robot_img.png" style={{height: '600px', width: '100%'}}/>
|
|
|
|
|
</div>
|
|
|
|
|
<Card className={styles.cardRobotStyle} style={{padding: '0 !important', height: '120px'}}>
|
|
|
|
|
<Carousel infinite={false} afterChange={afterChange} ref={carouselBgRef}>
|
|
|
|
|
<Card className={styles.cardRobotStyle} style={{height: '120px', padding: '0 !important'}}>
|
|
|
|
|
<Carousel infinite={false}
|
|
|
|
|
// afterChange={afterChange}
|
|
|
|
|
ref={carouselBgRef}>
|
|
|
|
|
<div>
|
|
|
|
|
<Flex gap={30}>
|
|
|
|
|
<div>
|
|
|
|
@ -794,14 +784,14 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
</Carousel>
|
|
|
|
|
<div className={styles.switchLeftButton} onClick={handleSwitchBgPrev}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} style={{transform: 'rotate(-180deg)'}} preview={false} src="/images/next.png" />
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/next.png" style={{transform: 'rotate(-180deg)'}}/>
|
|
|
|
|
</div>
|
|
|
|
|
<div className={styles.switchRightButton} onClick={handleSwitchBgNext}>
|
|
|
|
|
<Image className={cx(styles.iconImg)} preview={false} src="/images/next.png" />
|
|
|
|
|
</div>
|
|
|
|
|
</Card>
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{width: '42%',height: '85%'}}>
|
|
|
|
|
<div style={{height: '85%',width: '42%'}}>
|
|
|
|
|
<Card className={styles.cardStyle} style={{ padding: '0' }}>
|
|
|
|
|
<div className={styles.robotSetHead}>
|
|
|
|
|
声音设置
|
|
|
|
@ -813,18 +803,18 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<Select
|
|
|
|
|
defaultValue="普通话"
|
|
|
|
|
style={{
|
|
|
|
|
width: 200,
|
|
|
|
|
}}
|
|
|
|
|
onChange={handleChange}
|
|
|
|
|
className={styles.selectStyle}
|
|
|
|
|
defaultValue="普通话"
|
|
|
|
|
// onChange={handleChange}
|
|
|
|
|
options={[
|
|
|
|
|
{
|
|
|
|
|
value: '普通话',
|
|
|
|
|
label: '普通话',
|
|
|
|
|
value: '普通话',
|
|
|
|
|
},
|
|
|
|
|
]}
|
|
|
|
|
style={{
|
|
|
|
|
width: 200,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</Flex>
|
|
|
|
@ -837,7 +827,7 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
<div style={{marginTop: '25px'}}>
|
|
|
|
|
<Flex justify='space-between'>
|
|
|
|
|
{tags.map((tagText) => (
|
|
|
|
|
<div key={tagText} onClick={() => handleTagClick(tagText)} className={`${selectedTags.has(tagText) ? styles.tagStyleActive : styles.tagStyle}`}>
|
|
|
|
|
<div className={`${selectedTags.has(tagText) ? styles.tagStyleActive : styles.tagStyle}`} key={tagText} onClick={() => handleTagClick(tagText)}>
|
|
|
|
|
{tagText}
|
|
|
|
|
</div>
|
|
|
|
|
))}
|
|
|
|
@ -853,24 +843,24 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
<div style={{marginTop: '25px'}}>
|
|
|
|
|
<Flex>
|
|
|
|
|
<Slider
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
defaultValue={1}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{width: '300px'}}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
value={typeof inputValue === 'number' ? inputValue : 0}
|
|
|
|
|
/>
|
|
|
|
|
<Input
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{
|
|
|
|
|
width: '40px',
|
|
|
|
|
marginLeft: '20px',
|
|
|
|
|
textAlign: 'center'
|
|
|
|
|
textAlign: 'center',
|
|
|
|
|
width: '40px'
|
|
|
|
|
}}
|
|
|
|
|
value={inputValue}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
/>
|
|
|
|
|
</Flex>
|
|
|
|
|
</div>
|
|
|
|
@ -884,24 +874,24 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
<div style={{marginTop: '25px'}}>
|
|
|
|
|
<Flex>
|
|
|
|
|
<Slider
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
defaultValue={1}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{width: '300px'}}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
value={typeof inputValue === 'number' ? inputValue : 0}
|
|
|
|
|
/>
|
|
|
|
|
<Input
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{
|
|
|
|
|
width: '40px',
|
|
|
|
|
marginLeft: '20px',
|
|
|
|
|
textAlign: 'center'
|
|
|
|
|
textAlign: 'center',
|
|
|
|
|
width: '40px'
|
|
|
|
|
}}
|
|
|
|
|
value={inputValue}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
/>
|
|
|
|
|
</Flex>
|
|
|
|
|
</div>
|
|
|
|
@ -915,24 +905,24 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
<div style={{marginTop: '25px'}}>
|
|
|
|
|
<Flex>
|
|
|
|
|
<Slider
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
defaultValue={1}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{width: '300px'}}
|
|
|
|
|
className={styles.sliderStyle}
|
|
|
|
|
value={typeof inputValue === 'number' ? inputValue : 0}
|
|
|
|
|
/>
|
|
|
|
|
<Input
|
|
|
|
|
min={0}
|
|
|
|
|
max={2}
|
|
|
|
|
min={0}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
style={{
|
|
|
|
|
width: '40px',
|
|
|
|
|
marginLeft: '20px',
|
|
|
|
|
textAlign: 'center'
|
|
|
|
|
textAlign: 'center',
|
|
|
|
|
width: '40px'
|
|
|
|
|
}}
|
|
|
|
|
value={inputValue}
|
|
|
|
|
onChange={onChange}
|
|
|
|
|
/>
|
|
|
|
|
</Flex>
|
|
|
|
|
</div>
|
|
|
|
@ -945,18 +935,17 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
<div style={{marginTop: '25px'}}>
|
|
|
|
|
<List
|
|
|
|
|
dataSource={data}
|
|
|
|
|
grid={{
|
|
|
|
|
gutter: 80,
|
|
|
|
|
xs: 1,
|
|
|
|
|
sm: 2,
|
|
|
|
|
md: 4,
|
|
|
|
|
lg: 5,
|
|
|
|
|
md: 4,
|
|
|
|
|
sm: 2,
|
|
|
|
|
xl: 5,
|
|
|
|
|
xs: 1,
|
|
|
|
|
xxl: 5,
|
|
|
|
|
}}
|
|
|
|
|
dataSource={data}
|
|
|
|
|
style={{padding: '0 50px',marginTop: '10px'}}
|
|
|
|
|
renderItem={(item) => (
|
|
|
|
|
renderItem={() => (
|
|
|
|
|
<List.Item className={styles.listStyle}>
|
|
|
|
|
<div className={styles.soundCard}>
|
|
|
|
|
<div className={styles.soundCardAvatar}>
|
|
|
|
@ -968,6 +957,7 @@ const RobotList = memo<{ mobile?: boolean }>(() => {
|
|
|
|
|
</div>
|
|
|
|
|
</List.Item>
|
|
|
|
|
)}
|
|
|
|
|
style={{marginTop: '10px', padding: '0 50px'}}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</Flex>
|
|
|
|
|