From b3e0411b4a2a424e3b1b06db034ec2b2ce73116f Mon Sep 17 00:00:00 2001 From: Udhay-Adithya Date: Thu, 7 Aug 2025 13:04:22 +0530 Subject: [PATCH] feat: depreciate timeago --- lib/screens/common_widgets/auth/consts.dart | 17 +++++++ .../common_widgets/auth/oauth2_field.dart | 49 +------------------ lib/screens/common_widgets/auth/utils.dart | 22 +++++++++ pubspec.lock | 8 --- pubspec.yaml | 1 - 5 files changed, 41 insertions(+), 56 deletions(-) create mode 100644 lib/screens/common_widgets/auth/utils.dart diff --git a/lib/screens/common_widgets/auth/consts.dart b/lib/screens/common_widgets/auth/consts.dart index 63f0959e..9a585020 100644 --- a/lib/screens/common_widgets/auth/consts.dart +++ b/lib/screens/common_widgets/auth/consts.dart @@ -1,5 +1,22 @@ const kEmpty = ''; +enum OAuth2Field { + authorizationUrl, + accessTokenUrl, + clientId, + clientSecret, + redirectUrl, + scope, + state, + codeChallengeMethod, + username, + password, + refreshToken, + identityToken, + accessToken, + clearSession, +} + // API Key Auth const kApiKeyHeaderName = 'x-api-key'; const kAddToLocations = [ diff --git a/lib/screens/common_widgets/auth/oauth2_field.dart b/lib/screens/common_widgets/auth/oauth2_field.dart index 4931c283..76b008b3 100644 --- a/lib/screens/common_widgets/auth/oauth2_field.dart +++ b/lib/screens/common_widgets/auth/oauth2_field.dart @@ -8,9 +8,9 @@ import 'package:apidash_core/apidash_core.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:timeago/timeago.dart' as timeago; import '../common_widgets.dart'; import 'consts.dart'; +import 'utils.dart'; class OAuth2Fields extends ConsumerStatefulWidget { final AuthModel? authData; @@ -375,7 +375,7 @@ class _OAuth2FieldsState extends ConsumerState { if (_tokenExpiration != null) ...[ const SizedBox(height: 4), Text( - _getExpirationText(), + getExpirationText(_tokenExpiration), style: Theme.of(context).textTheme.bodySmall?.copyWith( color: _tokenExpiration!.isBefore(DateTime.now()) ? Theme.of(context).colorScheme.error @@ -482,49 +482,4 @@ class _OAuth2FieldsState extends ConsumerState { _tokenExpiration = null; }); } - - String _getExpirationText() { - if (_tokenExpiration == null) { - return ""; - } - - final now = DateTime.now(); - if (_tokenExpiration!.isBefore(now)) { - return "Token expired ${timeago.format(_tokenExpiration!, clock: now)}"; - } else { - // For future times, we want to show "in X hours" instead of "X hours from now" - final duration = _tokenExpiration!.difference(now); - if (duration.inDays > 0) { - return "Token expires in ${duration.inDays} day${duration.inDays > 1 ? 's' : ''}"; - } else if (duration.inHours > 0) { - return "Token expires in ${duration.inHours} hour${duration.inHours > 1 ? 's' : ''}"; - } else if (duration.inMinutes > 0) { - return "Token expires in ${duration.inMinutes} minute${duration.inMinutes > 1 ? 's' : ''}"; - } else { - return "Token expires in less than a minute"; - } - } - } - - @override - void dispose() { - super.dispose(); - } -} - -enum OAuth2Field { - authorizationUrl, - accessTokenUrl, - clientId, - clientSecret, - redirectUrl, - scope, - state, - codeChallengeMethod, - username, - password, - refreshToken, - identityToken, - accessToken, - clearSession, } diff --git a/lib/screens/common_widgets/auth/utils.dart b/lib/screens/common_widgets/auth/utils.dart new file mode 100644 index 00000000..ddd650aa --- /dev/null +++ b/lib/screens/common_widgets/auth/utils.dart @@ -0,0 +1,22 @@ +String getExpirationText(DateTime? tokenExpiration) { + if (tokenExpiration == null) { + return ""; + } + + final now = DateTime.now(); + if (tokenExpiration.isBefore(now)) { + return "Token expired"; + } else { + // For future times, we want to show "in X hours" instead of "X hours from now" + final duration = tokenExpiration.difference(now); + if (duration.inDays > 0) { + return "Token expires in ${duration.inDays} day${duration.inDays > 1 ? 's' : ''}"; + } else if (duration.inHours > 0) { + return "Token expires in ${duration.inHours} hour${duration.inHours > 1 ? 's' : ''}"; + } else if (duration.inMinutes > 0) { + return "Token expires in ${duration.inMinutes} minute${duration.inMinutes > 1 ? 's' : ''}"; + } else { + return "Token expires in less than a minute"; + } + } +} diff --git a/pubspec.lock b/pubspec.lock index c397d4f6..3b1ea421 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1770,14 +1770,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.5" - timeago: - dependency: "direct main" - description: - name: timeago - sha256: b05159406a97e1cbb2b9ee4faa9fb096fe0e2dfcd8b08fcd2a00553450d3422e - url: "https://pub.dev" - source: hosted - version: "3.7.1" timing: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 75658116..0ef4fae7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,6 @@ dependencies: scrollable_positioned_list: ^0.3.8 share_plus: ^10.1.4 shared_preferences: ^2.5.2 - timeago: ^3.7.0 url_launcher: ^6.2.5 uuid: ^4.5.0 vector_graphics_compiler: ^1.1.9+1