From 5dfa4c132dc8514df735d9ea4fc4f654b30343d5 Mon Sep 17 00:00:00 2001 From: krille-chan Date: Sat, 28 Oct 2023 10:20:37 +0200 Subject: [PATCH] design: Make key verification an adaptive dialog --- .../key_verification_dialog.dart | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/lib/pages/key_verification/key_verification_dialog.dart b/lib/pages/key_verification/key_verification_dialog.dart index 7d9633cc..bfed12be 100644 --- a/lib/pages/key_verification/key_verification_dialog.dart +++ b/lib/pages/key_verification/key_verification_dialog.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:ui'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -10,14 +11,13 @@ import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:matrix/encryption.dart'; import 'package:matrix/matrix.dart'; -import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; import 'package:fluffychat/widgets/avatar.dart'; class KeyVerificationDialog extends StatefulWidget { - Future show(BuildContext context) => showAdaptiveBottomSheet( + Future show(BuildContext context) => showDialog( context: context, builder: (context) => this, - isDismissible: false, + barrierDismissible: false, ); final KeyVerification request; @@ -342,24 +342,32 @@ class KeyVerificationPageState extends State { ); break; } - return Scaffold( - appBar: AppBar( - leading: const Center(child: CloseButton()), + if ({TargetPlatform.iOS, TargetPlatform.macOS} + .contains(Theme.of(context).platform)) { + return CupertinoAlertDialog( title: title, - ), - body: ListView( - padding: const EdgeInsets.all(12.0), - children: [body], - ), - bottomNavigationBar: SafeArea( - child: Padding( - padding: const EdgeInsets.all(12.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: buttons, + content: SizedBox( + height: 256, + width: 256, + child: ListView( + padding: const EdgeInsets.only(top: 16), + children: [body], ), ), + actions: buttons, + ); + } + + return AlertDialog( + title: title, + content: SizedBox( + height: 256, + width: 256, + child: ListView( + children: [body], + ), ), + actions: buttons, ); } }