diff --git a/frontend/lib/notifications/notification_list.dart b/frontend/lib/notifications/notification_list.dart index e38055f..f893490 100644 --- a/frontend/lib/notifications/notification_list.dart +++ b/frontend/lib/notifications/notification_list.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:infinite_scroll_pagination/infinite_scroll_pagination.dart'; @@ -14,6 +16,16 @@ class NotificationList extends StatefulWidget { class _NotificationListState extends State { int _filterChoice = 1; // 1 => Only new, 2=> Only old, 3=> All + Timer? _refreshTimer; + + @override + void initState() { + super.initState(); + _refreshTimer = Timer.periodic( + const Duration(minutes: 1), + (_) => _pagingController.refresh(), + ); + } late final _pagingController = PagingController( getNextPageKey: (state) => state.lastPageIsEmpty @@ -262,6 +274,7 @@ class _NotificationListState extends State { @override void dispose() { + _refreshTimer?.cancel(); _pagingController.dispose(); super.dispose(); } diff --git a/frontend/lib/utils/friendly_date_formatter.dart b/frontend/lib/utils/friendly_date_formatter.dart index 8a9ba01..ed826ba 100644 --- a/frontend/lib/utils/friendly_date_formatter.dart +++ b/frontend/lib/utils/friendly_date_formatter.dart @@ -14,6 +14,7 @@ class FriendlyDateFormatter { dateTime.day, ); + if (timeSince.inMinutes <= 2) return 'Just now'; if (timeSince.inMinutes < 60) return '${timeSince.inMinutes} minutes ago'; if (dateTimeWithoutTime == today) { return 'Today at ${DateFormat.Hm().format(dateTime)}';