diff --git a/lib/pages/chat_permissions_settings/permission_list_tile.dart b/lib/pages/chat_permissions_settings/permission_list_tile.dart index e26fe0ea4..af447cbec 100644 --- a/lib/pages/chat_permissions_settings/permission_list_tile.dart +++ b/lib/pages/chat_permissions_settings/permission_list_tile.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; +import 'package:fluffychat/config/app_config.dart'; + class PermissionsListTile extends StatelessWidget { final String permissionKey; final int permission; @@ -72,27 +74,34 @@ class PermissionsListTile extends StatelessWidget { subtitle: Text( L10n.of(context)!.minimumPowerLevel(permission.toString()), ), - trailing: DropdownButton( - onChanged: canEdit ? onChanged : null, - value: {0, 50, 100}.contains(permission) ? permission : null, - items: [ - DropdownMenuItem( - value: 0, - child: Text(L10n.of(context)!.user), - ), - DropdownMenuItem( - value: 50, - child: Text(L10n.of(context)!.moderator), - ), - DropdownMenuItem( - value: 100, - child: Text(L10n.of(context)!.admin), - ), - DropdownMenuItem( - value: null, - child: Text(L10n.of(context)!.custom), - ), - ], + trailing: Material( + borderRadius: BorderRadius.circular(AppConfig.borderRadius / 2), + color: Theme.of(context).colorScheme.onInverseSurface, + child: DropdownButton( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + borderRadius: BorderRadius.circular(AppConfig.borderRadius / 2), + underline: const SizedBox.shrink(), + onChanged: canEdit ? onChanged : null, + value: {0, 50, 100}.contains(permission) ? permission : null, + items: [ + DropdownMenuItem( + value: 0, + child: Text(L10n.of(context)!.user), + ), + DropdownMenuItem( + value: 50, + child: Text(L10n.of(context)!.moderator), + ), + DropdownMenuItem( + value: 100, + child: Text(L10n.of(context)!.admin), + ), + DropdownMenuItem( + value: null, + child: Text(L10n.of(context)!.custom), + ), + ], + ), ), ); } diff --git a/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart b/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart index 5735b8142..c820dcf71 100644 --- a/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart +++ b/lib/pages/user_bottom_sheet/user_bottom_sheet_view.dart @@ -288,40 +288,49 @@ class UserBottomSheetView extends StatelessWidget { .participantAction(UserBottomSheetAction.mention), ), if (user != null) ...[ - Divider(height: 1, color: Theme.of(context).dividerColor), + Divider(color: Theme.of(context).dividerColor), ListTile( title: Text( '${L10n.of(context)!.userRole} (${user.powerLevel})', ), leading: const Icon(Icons.person_outlined), - trailing: DropdownButton( - onChanged: user.canChangePowerLevel - ? controller.setPowerLevel - : null, - value: {0, 50, 100}.contains(user.powerLevel) - ? user.powerLevel - : null, - items: [ - DropdownMenuItem( - value: 0, - child: Text(L10n.of(context)!.user), - ), - DropdownMenuItem( - value: 50, - child: Text(L10n.of(context)!.moderator), - ), - DropdownMenuItem( - value: 100, - child: Text(L10n.of(context)!.admin), - ), - DropdownMenuItem( - value: null, - child: Text(L10n.of(context)!.custom), - ), - ], + trailing: Material( + borderRadius: + BorderRadius.circular(AppConfig.borderRadius / 2), + color: Theme.of(context).colorScheme.onInverseSurface, + child: DropdownButton( + onChanged: user.canChangePowerLevel + ? controller.setPowerLevel + : null, + value: {0, 50, 100}.contains(user.powerLevel) + ? user.powerLevel + : null, + padding: const EdgeInsets.symmetric(horizontal: 8.0), + borderRadius: + BorderRadius.circular(AppConfig.borderRadius / 2), + underline: const SizedBox.shrink(), + items: [ + DropdownMenuItem( + value: 0, + child: Text(L10n.of(context)!.user), + ), + DropdownMenuItem( + value: 50, + child: Text(L10n.of(context)!.moderator), + ), + DropdownMenuItem( + value: 100, + child: Text(L10n.of(context)!.admin), + ), + DropdownMenuItem( + value: null, + child: Text(L10n.of(context)!.custom), + ), + ], + ), ), ), - Divider(height: 1, color: Theme.of(context).dividerColor), + Divider(color: Theme.of(context).dividerColor), ], if (user != null && user.canKick) ListTile(