Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
hillelcoren committed Jul 12, 2024
2 parents 861b182 + b03faea commit c4218ee
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 21 deletions.
77 changes: 56 additions & 21 deletions lib/ui/app/portal_links.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,24 @@ import 'package:invoiceninja_flutter/ui/app/icon_text.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
import 'package:url_launcher/url_launcher.dart';

enum PortalLinkStyle {
buttons,
dropdown,
}

class PortalLinks extends StatelessWidget {
const PortalLinks({
Key? key,
required this.viewLink,
required this.copyLink,
required this.client,
this.style,
}) : super(key: key);

final String viewLink;
final String copyLink;
final ClientEntity? client;
final PortalLinkStyle? style;

@override
Widget build(BuildContext context) {
Expand All @@ -39,25 +46,53 @@ class PortalLinks extends StatelessWidget {
showToast(localization!.copiedToClipboard.replaceFirst(':value ', ''));
};

return PopupMenuButton<String>(
itemBuilder: (BuildContext context) => [
PopupMenuItem(
child:
IconText(text: localization!.viewPortal, icon: Icons.open_in_new),
value: localization.viewPortal,
),
PopupMenuItem(
child: IconText(text: localization.copyLink, icon: Icons.copy),
value: localization.copyLink,
),
],
onSelected: (value) {
if (value == localization!.viewPortal) {
viewLinkPressed();
} else {
copyLinkPressed();
}
},
);
if (style == PortalLinkStyle.dropdown) {
return PopupMenuButton<String>(
itemBuilder: (BuildContext context) => [
PopupMenuItem(
child: IconText(
text: localization!.viewPortal, icon: Icons.open_in_new),
value: localization.viewPortal,
),
PopupMenuItem(
child: IconText(text: localization.copyLink, icon: Icons.copy),
value: localization.copyLink,
),
],
onSelected: (value) {
if (value == localization!.viewPortal) {
viewLinkPressed();
} else {
copyLinkPressed();
}
},
);
} else {
return Row(
children: [
Expanded(
child: OutlinedButton(
onPressed: viewLinkPressed,
child: Text(
localization!.viewPortal,
maxLines: 2,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
)),
),
SizedBox(width: 8),
Expanded(
child: OutlinedButton(
onPressed: copyLinkPressed,
child: Text(
localization.copyLink,
maxLines: 2,
overflow: TextOverflow.ellipsis,
textAlign: TextAlign.center,
)),
),
],
);
}
}
}
}
1 change: 1 addition & 0 deletions lib/ui/client/view/client_view_fullwidth.dart
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,7 @@ class _ClientViewFullwidthState extends State<ClientViewFullwidth>
client: client,
viewLink: contact.silentLink,
copyLink: contact.link,
style: PortalLinkStyle.dropdown,
)
],
);
Expand Down
1 change: 1 addition & 0 deletions lib/ui/vendor/view/vendor_view_fullwidth.dart
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ class _VendorViewFullwidthState extends State<VendorViewFullwidth>
client: null,
viewLink: contact.silentLink,
copyLink: contact.link,
style: PortalLinkStyle.dropdown,
)
],
);
Expand Down

0 comments on commit c4218ee

Please sign in to comment.