feat: 输入框addon增加打开动画,并移除表情面板的内边距

pull/64/head
moonrailgun 3 years ago
parent d9acf3b679
commit c6ac1a800d

@ -5,12 +5,14 @@ import {
} from '@/plugin/common';
import { Icon } from 'tailchat-design';
import { Dropdown, Menu } from 'antd';
import React from 'react';
import React, { useState } from 'react';
import { t } from 'tailchat-shared';
import { useChatInputActionContext } from './context';
import { uploadMessageImage } from './utils';
import clsx from 'clsx';
export const ChatInputAddon: React.FC = React.memo(() => {
const [open, setOpen] = useState(false);
const actionContext = useChatInputActionContext();
if (actionContext === null) {
return null;
@ -50,11 +52,21 @@ export const ChatInputAddon: React.FC = React.memo(() => {
);
return (
<Dropdown overlay={menu} placement="topRight" trigger={['click']}>
<Icon
className="text-2xl cursor-pointer"
icon="mdi:plus-circle-outline"
/>
<Dropdown
overlay={menu}
open={open}
onOpenChange={setOpen}
placement="topRight"
trigger={['click']}
>
<div>
<Icon
className={clsx('text-2xl cursor-pointer transition transform', {
'rotate-45': open,
})}
icon="mdi:plus-circle-outline"
/>
</div>
</Dropdown>
);
});

@ -0,0 +1,9 @@
.chat-message-input_action-popover {
.ant-popover-inner {
background-color: transparent;
.ant-popover-inner-content {
padding: 0;
}
}
}

@ -1,8 +1,9 @@
import { Icon } from 'tailchat-design';
import { Dropdown, Popover } from 'antd';
import { Popover } from 'antd';
import React, { useCallback, useState } from 'react';
import { useChatInputActionContext } from './context';
import { EmojiPanel } from '@/components/Emoji';
import './Emotion.less';
export const ChatInputEmotion: React.FC = React.memo(() => {
const actionContext = useChatInputActionContext();
@ -18,13 +19,15 @@ export const ChatInputEmotion: React.FC = React.memo(() => {
[appendMsg]
);
const menu = <EmojiPanel onSelect={handleSelect} />;
const content = <EmojiPanel onSelect={handleSelect} />;
return (
<Popover
open={visible}
onOpenChange={setVisible}
content={menu}
content={content}
overlayClassName="chat-message-input_action-popover"
showArrow={false}
placement="topRight"
trigger={['click']}
>

Loading…
Cancel
Save