getRemainingTime method

Future<Duration?> getRemainingTime()

Gets the remaining time before this conversation expires.

Implementation

Future<Duration?> getRemainingTime() async {
  final state = await _storage.get(_storageKey);
  if (state == null) return null;

  final expiresAt = state.expiresAt ?? state.lastUpdated.add(_defaultTimeout);
  final remaining = expiresAt.difference(DateTime.now());

  return remaining.isNegative ? Duration.zero : remaining;
}