Added draft system for unsent messages

This commit is contained in:
2023-09-09 17:48:02 +02:00
parent 7a411a34c9
commit 68bfe92849
6 changed files with 42 additions and 9 deletions

View File

@ -23,17 +23,16 @@ class ChatList extends StatefulWidget {
}
class _ChatListState extends State<ChatList> {
late SettingsProvider settings;
@override
void initState() {
super.initState();
settings = Provider.of<SettingsProvider>(context, listen: false);
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_query();
SettingsProvider settings = Provider.of<SettingsProvider>(context, listen: false);
if(!settings.val().notificationSettings.enabled && !settings.val().notificationSettings.askUsageDismissed) {
settings.val(write: true).notificationSettings.askUsageDismissed = true;
@ -116,9 +115,7 @@ class _ChatListState extends State<ChatList> {
builder: (context, data, child) {
if(data.primaryLoading()) return const LoadingSpinner();
latestData = data;
List<ChatTile> chats = [];
for (var chatRoom in data.getRoomsResponse.sortBy(
lastActivity: true,
@ -126,7 +123,8 @@ class _ChatListState extends State<ChatList> {
unreadToTop: Provider.of<SettingsProvider>(context).val().talkSettings.sortUnreadToTop,
)
) {
chats.add(ChatTile(data: chatRoom, query: _query));
bool hasDraft = settings.val().talkSettings.drafts.containsKey(chatRoom.token);
chats.add(ChatTile(data: chatRoom, query: _query, hasDraft: hasDraft));
}
return RefreshIndicator(