Neeraj Gupta 2 年之前
父节点
当前提交
5e4aee84dd
共有 2 个文件被更改,包括 14 次插入10 次删除
  1. 6 0
      lib/models/collection.dart
  2. 8 10
      lib/ui/sharing/manage_links_widget.dart

+ 6 - 0
lib/models/collection.dart

@@ -265,6 +265,12 @@ class PublicURL {
     };
   }
 
+  bool get hasExpiry => validTill != 0;
+
+  // isExpired indicates whether the link has expired or not
+  bool get isExpired =>
+      hasExpiry && validTill < DateTime.now().microsecondsSinceEpoch;
+
   static fromMap(Map<String, dynamic>? map) {
     if (map == null) return null;
 

+ 8 - 10
lib/ui/sharing/manage_links_widget.dart

@@ -59,9 +59,7 @@ class _ManageSharedLinkWidgetState extends State<ManageSharedLinkWidget> {
   @override
   Widget build(BuildContext context) {
     final enteColorScheme = getEnteColorScheme(context);
-    final int validTill = widget.collection?.publicURLs?.first?.validTill ?? 0;
-    final bool hasLinkExpired =
-        validTill != 0 && validTill < DateTime.now().microsecondsSinceEpoch;
+    final PublicURL url = widget.collection?.publicURLs?.first;
     return Scaffold(
       backgroundColor: Theme.of(context).backgroundColor,
       appBar: AppBar(
@@ -82,10 +80,10 @@ class _ManageSharedLinkWidgetState extends State<ManageSharedLinkWidget> {
                     alignCaptionedTextToLeft: true,
                     captionedTextWidget: CaptionedTextWidget(
                       title: "Link expiry",
-                      subTitle: (validTill == 0
-                          ? "Never"
-                          : (hasLinkExpired ? "Expired" : "Enabled")),
-                      subTitleColor: hasLinkExpired ? warning500 : null,
+                      subTitle: (url.hasExpiry
+                          ? (url.isExpired ? "Expired" : "Enabled")
+                          : "Never"),
+                      subTitleColor: url.isExpired ? warning500 : null,
                     ),
                     trailingIcon: Icons.chevron_right,
                     menuItemColor: enteColorScheme.fillFaint,
@@ -93,12 +91,12 @@ class _ManageSharedLinkWidgetState extends State<ManageSharedLinkWidget> {
                       await showPicker();
                     },
                   ),
-                  validTill != 0
+                  url.hasExpiry
                       ? MenuSectionDescriptionWidget(
-                          content: hasLinkExpired
+                          content: url.isExpired
                               ? "This link has expired. Please select a new expiry time or disable link expiry."
                               : 'Link will expire on '
-                                  '${getFormattedTime(DateTime.fromMicrosecondsSinceEpoch(validTill))}',
+                                  '${getFormattedTime(DateTime.fromMicrosecondsSinceEpoch(url.validTill))}',
                         )
                       : const SizedBox.shrink(),
                   const Padding(padding: EdgeInsets.only(top: 24)),