chat_text_package 0.0.3
chat_text_package: ^0.0.3 copied to clipboard
A Flutter package for sending text messages, featuring a "scroll to bottom" button and real-time unread message count display.
import 'package:flutter/material.dart';
import 'package:chat_text_package/chat_text_package.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: ChatScreenExample(),
);
}
}
class ChatScreenExample extends StatefulWidget {
const ChatScreenExample({super.key});
@override
State<ChatScreenExample> createState() => _ChatScreenExampleState();
}
class _ChatScreenExampleState extends State<ChatScreenExample> {
List<Message> messages = [
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
Message(
id: 1,
body: 'messsage',
fromLoggedUser: false,
createdAt: '2024-12-11 03:45 PM'),
];
late ScrollController scrollController;
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Center(
child: InkWell(
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
scrollController = ScrollController();
return ChatScreen(
messages: messages,
scrollController: scrollController,
otherUserName: 'Mohamed Abd El.Gwad',
unreadMsgRealTime: 2,
textHint: 'Enter your message',
otherUserImage:
'https://i1.sndcdn.com/artworks-WLuQqAGQXmbnwKVO-SG8o2Q-t500x500.jpg',
onSubmitMessage: (msg) {
messages.insert(
0,
Message(
id: 1,
body: msg,
fromLoggedUser: true,
createdAt: '2024-12-11 03:45 PM'));
setState(() {});
});
}));
},
child: const Text('navigate to chat screen'),
),
)),
);
}
}