chore: Follow up qr code buttons

pull/1521/head
Krille 3 months ago
parent 11817e6eb3
commit 21196a108f
No known key found for this signature in database
GPG Key ID: E067ECD60F1A0652

@ -9,10 +9,12 @@ import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/pages/chat_details/participant_list_item.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import 'package:fluffychat/utils/show_scaffold_dialog.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/chat_settings_popup_menu.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/share_scaffold_dialog.dart';
import '../../utils/url_launcher.dart';
import '../../widgets/qr_code_viewer.dart';
@ -57,7 +59,18 @@ class ChatDetailsView extends StatelessWidget {
const Center(child: BackButton()),
elevation: theme.appBarTheme.elevation,
actions: <Widget>[
if (room.canonicalAlias.isNotEmpty)
if (room.canonicalAlias.isNotEmpty) ...[
IconButton(
onPressed: () {
showScaffoldDialog(
context: context,
builder: (context) => ShareScaffoldDialog(
items: [TextShareItem(room.canonicalAlias)],
),
);
},
icon: const Icon(Icons.forward_outlined),
),
IconButton(
tooltip: L10n.of(context).share,
icon: const Icon(Icons.qr_code_rounded),
@ -66,6 +79,7 @@ class ChatDetailsView extends StatelessWidget {
room.canonicalAlias,
),
),
],
if (controller.widget.embeddedCloseButton == null)
ChatSettingsPopupMenu(room, false),
],

@ -7,10 +7,12 @@ import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/date_time_extension.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/utils/show_scaffold_dialog.dart';
import 'package:fluffychat/utils/url_launcher.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/presence_builder.dart';
import 'package:fluffychat/widgets/qr_code_viewer.dart';
import 'package:fluffychat/widgets/share_scaffold_dialog.dart';
import '../../widgets/matrix.dart';
import 'user_bottom_sheet.dart';
@ -41,6 +43,21 @@ class UserBottomSheetView extends StatelessWidget {
centerTitle: false,
title: Text(displayname),
actions: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: IconButton(
onPressed: () {
Navigator.of(context).pop();
showScaffoldDialog(
context: context,
builder: (context) => ShareScaffoldDialog(
items: [TextShareItem(userId)],
),
);
},
icon: const Icon(Icons.forward_outlined),
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: IconButton(

@ -6,11 +6,13 @@ import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/utils/show_scaffold_dialog.dart';
import 'package:fluffychat/utils/url_launcher.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/future_loading_dialog.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/qr_code_viewer.dart';
import 'package:fluffychat/widgets/share_scaffold_dialog.dart';
class PublicRoomBottomSheet extends StatelessWidget {
final String? roomAlias;
@ -98,19 +100,35 @@ class PublicRoomBottomSheet extends StatelessWidget {
onPressed: Navigator.of(context, rootNavigator: false).pop,
),
),
actions: [
if (roomAlias != null)
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: IconButton(
icon: Icon(Icons.adaptive.share_outlined),
onPressed: () => showQrCodeViewer(
context,
roomAlias,
actions: roomAlias == null
? null
: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: IconButton(
onPressed: () {
Navigator.of(context).pop();
showScaffoldDialog(
context: context,
builder: (context) => ShareScaffoldDialog(
items: [TextShareItem(roomAlias)],
),
);
},
icon: const Icon(Icons.forward_outlined),
),
),
),
),
],
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: IconButton(
icon: Icon(Icons.adaptive.share_outlined),
onPressed: () => showQrCodeViewer(
context,
roomAlias,
),
),
),
],
),
body: FutureBuilder<PublicRoomsChunk>(
future: _search(),

Loading…
Cancel
Save