10 changed files with 95 additions and 41 deletions
@ -0,0 +1,4 @@ |
|||||||
|
.root { |
||||||
|
height: 2rem; |
||||||
|
color: var(--black); |
||||||
|
} |
||||||
@ -0,0 +1,38 @@ |
|||||||
|
import { MoreOutlined } from '@ant-design/icons'; |
||||||
|
import { Input, Button } from 'antd'; |
||||||
|
import { useEffect, useState } from 'react'; |
||||||
|
import s from './ChatTextField.module.scss'; |
||||||
|
|
||||||
|
interface Props {} |
||||||
|
|
||||||
|
export default function ChatTextField(props: Props) { |
||||||
|
const [value, setValue] = useState(''); |
||||||
|
const [showEmojis, setShowEmojis] = useState(false); |
||||||
|
// large is 40px
|
||||||
|
const size = 'large'; |
||||||
|
|
||||||
|
useEffect(() => { |
||||||
|
console.log({ value }); |
||||||
|
}, [value]); |
||||||
|
|
||||||
|
return ( |
||||||
|
<div> |
||||||
|
<Input.Group compact style={{ display: 'flex' }}> |
||||||
|
<Input |
||||||
|
onChange={e => setValue(e.target.value)} |
||||||
|
size={size} |
||||||
|
placeholder="Enter text and hit enter!" |
||||||
|
/> |
||||||
|
<Button |
||||||
|
size={size} |
||||||
|
icon={<MoreOutlined />} |
||||||
|
type="default" |
||||||
|
onClick={() => setShowEmojis(!showEmojis)} |
||||||
|
/> |
||||||
|
<Button size={size} type="primary"> |
||||||
|
Submit |
||||||
|
</Button> |
||||||
|
</Input.Group> |
||||||
|
</div> |
||||||
|
); |
||||||
|
} |
||||||
@ -0,0 +1,14 @@ |
|||||||
|
.root { |
||||||
|
display: grid; |
||||||
|
grid-template-columns: 8fr 4fr; |
||||||
|
} |
||||||
|
|
||||||
|
.leftCol { |
||||||
|
display: grid; |
||||||
|
// -64px, which is the header |
||||||
|
grid-template-rows: 50vh calc(50vh - 64px); |
||||||
|
} |
||||||
|
.lowerRow { |
||||||
|
display: grid; |
||||||
|
grid-template-rows: 1fr 64px; |
||||||
|
} |
||||||
Loading…
Reference in new issue