| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| import React, { useEffect, useState } from 'react';
|
| import { Card, Spin } from '@douyinfe/semi-ui';
|
| import SettingsChats from '../../pages/Setting/Chat/SettingsChats';
|
| import { API, showError, toBoolean } from '../../helpers';
|
|
|
| const ChatsSetting = () => {
|
| let [inputs, setInputs] = useState({
|
|
|
| Chats: '[]',
|
| });
|
|
|
| let [loading, setLoading] = useState(false);
|
|
|
| const getOptions = async () => {
|
| const res = await API.get('/api/option/');
|
| const { success, message, data } = res.data;
|
| if (success) {
|
| let newInputs = {};
|
| data.forEach((item) => {
|
| if (
|
| item.key.endsWith('Enabled') ||
|
| ['DefaultCollapseSidebar'].includes(item.key)
|
| ) {
|
| newInputs[item.key] = toBoolean(item.value);
|
| } else {
|
| newInputs[item.key] = item.value;
|
| }
|
| });
|
|
|
| setInputs(newInputs);
|
| } else {
|
| showError(message);
|
| }
|
| };
|
|
|
| async function onRefresh() {
|
| try {
|
| setLoading(true);
|
| await getOptions();
|
| } catch (error) {
|
| showError('刷新失败');
|
| } finally {
|
| setLoading(false);
|
| }
|
| }
|
|
|
| useEffect(() => {
|
| onRefresh();
|
| }, []);
|
|
|
| return (
|
| <>
|
| <Spin spinning={loading} size='large'>
|
| {/* 聊天设置 */}
|
| <Card style={{ marginTop: '10px' }}>
|
| <SettingsChats options={inputs} refresh={onRefresh} />
|
| </Card>
|
| </Spin>
|
| </>
|
| );
|
| };
|
|
|
| export default ChatsSetting;
|
|
|