mirror of https://github.com/msgbyte/tailchat
feat: 创建话题
parent
21f6442634
commit
0f58129c74
@ -1,7 +1,7 @@
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
externalDeps: ['react'],
|
externalDeps: ['react', 'styled-components'],
|
||||||
pluginRoot: path.resolve(__dirname, './web'),
|
pluginRoot: path.resolve(__dirname, './web'),
|
||||||
outDir: path.resolve(__dirname, '../../public'),
|
outDir: path.resolve(__dirname, '../../public'),
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
import { useAsyncRequest } from '@capital/common';
|
||||||
|
import { Button, ModalWrapper, TextArea } from '@capital/component';
|
||||||
|
import React, { useState } from 'react';
|
||||||
|
import styled from 'styled-components';
|
||||||
|
import { Translate } from '../../translate';
|
||||||
|
|
||||||
|
const Footer = styled.div({
|
||||||
|
textAlign: 'right',
|
||||||
|
paddingTop: 10,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const TopicCreate: React.FC<{
|
||||||
|
onCreate: (text: string) => Promise<void>;
|
||||||
|
}> = React.memo((props) => {
|
||||||
|
const [text, setText] = useState('');
|
||||||
|
|
||||||
|
const [{ loading }, handleCreate] = useAsyncRequest(async () => {
|
||||||
|
await props.onCreate(text);
|
||||||
|
}, [text]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ModalWrapper title={Translate.createBtn}>
|
||||||
|
<TextArea value={text} onChange={(e) => setText(e.target.value)} />
|
||||||
|
|
||||||
|
<Footer>
|
||||||
|
<Button type="primary" loading={loading} onClick={handleCreate}>
|
||||||
|
{Translate.createBtn}
|
||||||
|
</Button>
|
||||||
|
</Footer>
|
||||||
|
</ModalWrapper>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
TopicCreate.displayName = 'TopicCreate';
|
Loading…
Reference in New Issue