From 0dfc5dba0ee8ada19f3a9f6c5893cdf06b277932 Mon Sep 17 00:00:00 2001 From: Ralf Weinbrecher Date: Fri, 1 Jan 2021 21:36:18 +0100 Subject: [PATCH] API change and documentation Property ownUserName eloiminated. This is a braeking change! --- README.md | 78 ++++++++++++++++++++++++---- example/lib/main.dart | 21 ++------ img/demo_screen.png | Bin 0 -> 43944 bytes lib/flutter_basic_chat_message.dart | 4 +- 4 files changed, 73 insertions(+), 30 deletions(-) create mode 100644 img/demo_screen.png diff --git a/README.md b/README.md index 45b268d..3313827 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,74 @@ # flutter_basic_chat_bubble -A new Flutter package project. +The puropose of this package is it to show customizable chat bubbles. You can customize the bubbles in certain ways. The bubbles can just display text messages. At the moment other data types are not possible. -## Getting Started +![Screenhot](https://github.com/rwbr/flutter_basic_chat_bubble/blob/main/img/demo_screen.png) -This project is a starting point for a Dart -[package](https://flutter.dev/developing-packages/), -a library module containing code that can be shared easily across -multiple Flutter or Dart projects. +## Usage + +### Set the dependency + +``` +dependencies: + flutter_basic_chat_bubble: ^0.0.1 +``` + +### Install + +``` +flutter pub get +``` + +### Import it + +```dart +import 'package:flutter_basic_chat_bubble/flutter_basic_chat_bubble.dart'; +``` + +### Use it + +```dart +return Scaffold( + body: ListView.builder( + itemCount: messages.length, + itemBuilder: (BuildContext context, int index) { + return BasicChatBubble( + message: messages[index], + isMe: index % 2 == + 0, // Every second bubble has the isMe flag set to true + backgroundColor: index % 2 == 0 ? Colors.green[400] : Colors.blue, + textColor: Colors.white, + buttonWidget: index == messages.length - 1 + ? InkWell( + child: CircleAvatar( + backgroundColor: Colors.red, + child: Icon( + Icons.video_call, + color: Colors.white, + ), + ), + onTap: () { + print('Button tapped $index'); + }) + : null, + buttonText: 'Make a Call', + ); + }, + ), +); +``` + +For more details see the **example**. + +## Properties + +```dart +final BasicChatMessage message; +final bool isMe; +final Color backgroundColor; +final Color textColor; +final Color buttonColor; +final Widget buttonWidget; +final String buttonText; +``` -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/example/lib/main.dart b/example/lib/main.dart index ee9b8dd..d2487bf 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -6,30 +6,26 @@ void main() { } class BasicChatBubbleDemo extends StatelessWidget { + // Creating a list of sample Chat messages final List messages = [ BasicChatMessage( peerUserName: 'User1', - ownUserName: 'My name', messageText: 'Awsome message!', timeStamp: '12:00'), BasicChatMessage( peerUserName: 'User1', - ownUserName: 'My name', messageText: 'Awsome message!', timeStamp: 'Yesterday'), BasicChatMessage( peerUserName: 'User1', - ownUserName: 'My name', messageText: 'Awsome message!', timeStamp: 'Tue'), BasicChatMessage( peerUserName: 'User1', - ownUserName: 'My name', messageText: 'Awsome message!', timeStamp: 'Mon'), BasicChatMessage( peerUserName: 'User1', - ownUserName: 'My name', messageText: 'Awsome message!', timeStamp: 'Sun', ), @@ -40,19 +36,7 @@ class BasicChatBubbleDemo extends StatelessWidget { return MaterialApp( title: 'Basic Chat Bubble Demo', theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. primarySwatch: Colors.blue, - // This makes the visual density adapt to the platform that you run - // the app on. For desktop platforms, the controls will be smaller and - // closer together (more dense) than on mobile platforms. visualDensity: VisualDensity.adaptivePlatformDensity, ), home: Scaffold( @@ -61,7 +45,8 @@ class BasicChatBubbleDemo extends StatelessWidget { itemBuilder: (BuildContext context, int index) { return BasicChatBubble( message: messages[index], - isMe: index % 2 == 0, + isMe: index % 2 == + 0, // Every second bubble has the isMe flag set to true backgroundColor: index % 2 == 0 ? Colors.green[400] : Colors.blue, textColor: Colors.white, buttonWidget: index == messages.length - 1 diff --git a/img/demo_screen.png b/img/demo_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..d85c9a11b7cfcfec259c3d23f1083aa4edbe8fa9 GIT binary patch literal 43944 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 b$@!20tvs(H5b%5x2glRLhL6w>Ui|rgtUfZ< literal 0 HcmV?d00001 diff --git a/lib/flutter_basic_chat_message.dart b/lib/flutter_basic_chat_message.dart index c48de5c..0035f95 100644 --- a/lib/flutter_basic_chat_message.dart +++ b/lib/flutter_basic_chat_message.dart @@ -6,10 +6,8 @@ /// DateTime [timeStamp] is the date/time of the message was sent class BasicChatMessage { String peerUserName; - String ownUserName; String messageText; String timeStamp; - BasicChatMessage( - {this.peerUserName, this.ownUserName, this.messageText, this.timeStamp}); + BasicChatMessage({this.peerUserName, this.messageText, this.timeStamp}); }