Skip to content

Commit

Permalink
lightbox [nfc]: Store src as Uri object, not string
Browse files Browse the repository at this point in the history
The most interesting consequence of this is that _LightboxHeroTag
now compares `src` using Uri's == operator override, instead of
string equality on the result of Uri.toString(). Discussion:
  zulip#247 (review)
  • Loading branch information
chrisbobbe committed Aug 3, 2023
1 parent 59e41f5 commit a58a1b4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
4 changes: 2 additions & 2 deletions lib/widgets/content.dart
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ class MessageImage extends StatelessWidget {
return GestureDetector(
onTap: () {
Navigator.of(context).push(getLightboxRoute(
context: context, message: message, src: resolvedSrc.toString()));
context: context, message: message, src: resolvedSrc));
},
child: Align(
alignment: Alignment.centerLeft,
Expand All @@ -241,7 +241,7 @@ class MessageImage extends StatelessWidget {
color: const Color.fromRGBO(0, 0, 0, 0.03),
child: LightboxHero(
message: message,
src: resolvedSrc.toString(),
src: resolvedSrc,
child: RealmContentNetworkImage(
resolvedSrc.toString(),
filterQuality: FilterQuality.medium))))));
Expand Down
14 changes: 7 additions & 7 deletions lib/widgets/lightbox.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class _LightboxHeroTag {
_LightboxHeroTag({required this.messageId, required this.src});

final int messageId;
final String src;
final Uri src;

@override
bool operator ==(Object other) {
Expand All @@ -40,7 +40,7 @@ class LightboxHero extends StatelessWidget {
});

final Message message;
final String src;
final Uri src;
final Widget child;

@override
Expand All @@ -66,7 +66,7 @@ class LightboxHero extends StatelessWidget {
class _CopyLinkButton extends StatelessWidget {
const _CopyLinkButton({required this.url});

final String url;
final Uri url;

@override
Widget build(BuildContext context) {
Expand All @@ -76,7 +76,7 @@ class _CopyLinkButton extends StatelessWidget {
onPressed: () async {
// TODO(i18n)
copyWithPopup(context: context, successContent: const Text('Link copied'),
data: ClipboardData(text: url));
data: ClipboardData(text: url.toString()));
});
}
}
Expand All @@ -90,7 +90,7 @@ class _LightboxPage extends StatefulWidget {

final Animation routeEntranceAnimation;
final Message message;
final String src;
final Uri src;

@override
State<_LightboxPage> createState() => _LightboxPageState();
Expand Down Expand Up @@ -197,15 +197,15 @@ class _LightboxPageState extends State<_LightboxPage> {
child: LightboxHero(
message: widget.message,
src: widget.src,
child: RealmContentNetworkImage(widget.src, filterQuality: FilterQuality.medium))))))),
child: RealmContentNetworkImage(widget.src.toString(), filterQuality: FilterQuality.medium))))))),
bottomNavigationBar: bottomAppBar));
}
}

Route getLightboxRoute({
required BuildContext context,
required Message message,
required String src
required Uri src,
}) {
return AccountPageRouteBuilder(
context: context,
Expand Down

0 comments on commit a58a1b4

Please sign in to comment.