Chat
import { Combine, Avatar, Button, Chat, Content, Header, Initials, Message, MessageSeparator, MessageThread, Text, TextArea, } from "@mittwald/flow-react-components"; <Chat height={400}> <MessageThread> <MessageSeparator>Ticket geöffnet</MessageSeparator> <Message> <Header> <Combine> <Avatar> <Initials>Max Mustermann</Initials> </Avatar> <Text> <strong>Max Mustermann</strong> </Text> </Combine> </Header> <Content> <Text> Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque eius quam quas vel voluptas, ullam aliquid fugit. Voluptate harum accusantium rerum ullam modi blanditiis vitae, laborum ea tempore, dolore voluptas. Earum pariatur, similique corrupti id officia perferendis. Labore, similique. Earum, quas in. At dolorem corrupti blanditiis nulla deserunt laborum! Corrupti delectus aspernatur nihil nulla obcaecati ipsam porro sequi rem? Quam. </Text> </Content> </Message> <Message type="sender"> <Header> <Combine> <Avatar> <Initials>John Doe</Initials> </Avatar> <Text> <strong>John Doe</strong> </Text> </Combine> </Header> <Content> <Text> Lorem ipsum dolor sit amet consectetur adipisicing elit. Cumque eius quam quas vel voluptas, ullam aliquid fugit. Voluptate harum accusantium rerum ullam modi blanditiis vitae, laborum ea tempore, dolore voluptas. Earum pariatur, similique corrupti id officia perferendis. Labore, similique. Earum, quas in. </Text> </Content> </Message> </MessageThread> <TextArea aria-label="Nachricht" rows={3} autoResizeMaxRows={10} /> <Button color="success">Senden</Button> </Chat>
Best Practices
- Setze immer ein
aria-labelan der Texteingabe, da sie in der Regel kein sichtbares Label hat. - Wähle die
heightProperty so, dass genug Platz zum Lesen bleibt.
Kombiniere mit ...
FileField
Erweitere einen Chat um eine Uploadfunktion: Über ein FileField wählen User Dateien aus, die dann in einer FileCardList dargestellt werden.
- Hochgeladene Datei 1
- Hochgeladene Datei 2
Markdown Editor
Statt einer TextArea kann auch der MarkdownEditor als Texteingabe verwendet werden.
React Hook Form
Weitere Details zur Formularlogik und -validierung findest du in der Component Form (React Hook Form).
Properties
| Property | Type | Description |
|---|---|---|
children | ReactNode | |
className | string | The elements class name. |
height | Height<string | number> | The height of the chat. |