pizzacorn_chats 0.0.5 copy "pizzacorn_chats: ^0.0.5" to clipboard
pizzacorn_chats: ^0.0.5 copied to clipboard

Chats reutilizables de Pizzacorn para Flutter y Firebase.

Pizzacorn Chats #

Librería reutilizable de chats para aplicaciones Flutter de Pizzacorn. Incluye inbox, conversación completa, Firestore, Riverpod, slivers y paginación de pizzacorn_ui.

Instalación #

dependencies:
  pizzacorn_chats:
    git:
      url: https://github.com/Pizzacorn/pizzacorn_chats

Configuración #

Configura el usuario actual antes de runApp():

ConfigurePizzacornChats(
  currentUser: ChatUserModel(
    id: firebaseUser.uid,
    name: userModel.name,
    username: userModel.username,
    image: userModel.image,
  ),
  databaseName: 'mi-base-firestore',
  title: 'Mensajes',
  onSendNotification: (chatModel, chatMessageModel) async {
    // Envía aquí la notificación push desde tu backend.
  },
);

databaseName es opcional. Si se omite, se usa la base (default).

Abrir el listado #

goTo(context, PizzacornChatPage());

Iniciar una conversación privada #

final ChatModel chatModel = await PizzacornChatsRepository()
    .openOrCreatePrivateChat(
      otherUserModel: ChatUserModel(
        id: userModel.id,
        name: userModel.name,
        username: userModel.username,
        image: userModel.image,
      ),
    );

goTo(context, ChatDetailPage(chatModel: chatModel));

Estructura Firestore #

Chats/{chatId}
Chats/{chatId}/Messages/{messageId}

Cada chat guarda participantIds, los perfiles mínimos embebidos, el último mensaje y sus timestamps. El inbox consulta por participante y ordena por modifyAt. Los mensajes se ordenan por createdAt.

Firestore puede solicitar índices compuestos al ejecutar las consultas por primera vez. Usa el enlace generado por Firebase para crearlos.

0
likes
130
points
103
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Chats reutilizables de Pizzacorn para Flutter y Firebase.

Homepage

License

MIT (license)

Dependencies

cloud_firestore, firebase_core, flutter, flutter_riverpod, intl, pizzacorn_ui

More

Packages that depend on pizzacorn_chats