mirror of
				https://gitlab.com/famedly/fluffychat.git
				synced 2025-10-31 03:57:27 +01:00 
			
		
		
		
	 b6d2ddaf7d
			
		
	
	
		b6d2ddaf7d
		
	
	
	
	
		
			
			BREAKING CHANGE: This introduces that it might require up to 2 compiles for locals to work. Also only arb files shall be checked into git. Took 19 minutes
		
			
				
	
	
		
			32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:famedlysdk/famedlysdk.dart';
 | |
| import 'package:flutter/widgets.dart';
 | |
| import 'package:flutter_gen/gen_l10n/l10n.dart';
 | |
| 
 | |
| import 'date_time_extension.dart';
 | |
| 
 | |
| extension RoomStatusExtension on Room {
 | |
|   Presence get directChatPresence => client.presences[directChatMatrixID];
 | |
| 
 | |
|   String getLocalizedStatus(BuildContext context) {
 | |
|     if (isDirectChat) {
 | |
|       if (directChatPresence != null &&
 | |
|           directChatPresence.presence != null &&
 | |
|           (directChatPresence.presence.lastActiveAgo != null ||
 | |
|               directChatPresence.presence.currentlyActive != null)) {
 | |
|         if (directChatPresence.presence.currentlyActive == true) {
 | |
|           return L10n.of(context).currentlyActive;
 | |
|         }
 | |
|         if (directChatPresence.presence.lastActiveAgo == null) {
 | |
|           return L10n.of(context).lastSeenLongTimeAgo;
 | |
|         }
 | |
|         final time = DateTime.fromMillisecondsSinceEpoch(
 | |
|             DateTime.now().millisecondsSinceEpoch -
 | |
|                 directChatPresence.presence.lastActiveAgo);
 | |
|         return L10n.of(context).lastActiveAgo(time.localizedTimeShort(context));
 | |
|       }
 | |
|       return L10n.of(context).lastSeenLongTimeAgo;
 | |
|     }
 | |
|     return L10n.of(context).countParticipants(mJoinedMemberCount.toString());
 | |
|   }
 | |
| }
 |