Aller au contenu

Chat

Bulles de message de chat pour afficher les conversations avec avatars et métadonnées.

import { Chat } from 'asterui'

Chat de base

Bulles de chat simples avec différentes positions.

Hey! How are you?
I'm doing great, thanks for asking!
import { Chat } from 'asterui'

function App() {
  return (
      <div>
        <Chat position="start" message="Hey! How are you?" />
        <Chat position="end" message="I'm doing great, thanks for asking!" />
      </div>
    )
}

export default App

Avec avatars

Bulles de chat avec avatars d'utilisateur.

User
Hey! Did you see the new updates?
Me
Yes! They look amazing!
import { Chat } from 'asterui'

function App() {
  return (
      <div>
        <Chat
          position="start"
          avatar="/avatar-1.webp"
          avatarAlt="User"
          message="Hey! Did you see the new updates?"
        />
        <Chat
          position="end"
          avatar="/avatar-2.webp"
          avatarAlt="Me"
          message="Yes! They look amazing!"
        />
      </div>
    )
}

export default App

Avec en-têtes

Bulles de chat avec en-têtes de nom et d'horodatage.

Alice
Good morning! Ready for the meeting?
Bob
Yes, joining now!
import { Chat } from 'asterui'

function App() {
  return (
      <div>
        <Chat
          position="start"
          avatar="/avatar-1.webp"
          header={<span>Alice <time className="text-xs opacity-50">12:45</time></span>}
          message="Good morning! Ready for the meeting?"
        />
        <Chat
          position="end"
          avatar="/avatar-2.webp"
          header={<span>Bob <time className="text-xs opacity-50">12:46</time></span>}
          message="Yes, joining now!"
        />
      </div>
    )
}

export default App

Bulles colorées

Bulles de chat avec différentes variantes de couleur.

Primary color message
Secondary color message
Success color message
Error color message
import { Chat } from 'asterui'

function App() {
  return (
      <div>
        <Chat position="start" color="primary" message="Primary color message" />
        <Chat position="end" color="secondary" message="Secondary color message" />
        <Chat position="start" color="success" message="Success color message" />
        <Chat position="end" color="error" message="Error color message" />
      </div>
    )
}

export default App

Avec pied de page

Bulles de chat avec pied de page d'état de livraison.

Did you get my message?
Hello?
import { Chat } from 'asterui'

function App() {
  return (
      <div>
        <Chat
          position="end"
          avatar="/avatar-1.webp"
          footer={<span className="text-xs opacity-50">Delivered</span>}
          message="Did you get my message?"
        />
        <Chat
          position="end"
          avatar="/avatar-2.webp"
          footer={<span className="text-xs opacity-50">Seen at 12:46</span>}
          message="Hello?"
        />
      </div>
    )
}

export default App
PropriétéDescriptionTypeDéfaut
messageContenu du messageReact.ReactNode-
positionPosition de la bulle'start' | 'end''start'
avatarURL de l’image de l’avatarstring-
avatarAltTexte alternatif de l’avatarstring-
headerContenu de l’en-tête (nom, heure)React.ReactNode-
footerContenu du pied de page (statut)React.ReactNode-
colorVariante de couleur de la bulle'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error'-
classNameClasses CSS supplémentairesstring-
data-testidID de test pour les testsstring-
  • Utilisez un texte alternatif significatif pour les images d’avatar
  • Le contenu du message est lisible par les lecteurs d’écran
  • Les classes de position aident à transmettre le flux de conversation