design: New chat access settings

This commit is contained in:
krille-chan 2024-04-14 15:49:46 +02:00
commit c300220773
No known key found for this signature in database
11 changed files with 499 additions and 355 deletions

View file

@ -2,8 +2,10 @@ import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
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/url_launcher.dart';
@ -105,6 +107,57 @@ class UserBottomSheetView extends StatelessWidget {
),
body: ListView(
children: [
if (user?.membership == Membership.knock)
Padding(
padding: const EdgeInsets.all(12.0),
child: Material(
color: Theme.of(context).colorScheme.tertiaryContainer,
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
child: ListTile(
minVerticalPadding: 16,
title: Padding(
padding: const EdgeInsets.only(bottom: 12.0),
child: Text(
L10n.of(context)!
.userWouldLikeToChangeTheChat(displayname),
),
),
subtitle: Row(
children: [
TextButton.icon(
style: TextButton.styleFrom(
backgroundColor:
Theme.of(context).colorScheme.background,
foregroundColor:
Theme.of(context).colorScheme.primary,
),
onPressed: () => showFutureLoadingDialog(
context: context,
future: () => user!.room.invite(user.id),
),
icon: const Icon(Icons.check_outlined),
label: Text(L10n.of(context)!.accept),
),
const SizedBox(width: 12),
TextButton.icon(
style: TextButton.styleFrom(
backgroundColor:
Theme.of(context).colorScheme.errorContainer,
foregroundColor:
Theme.of(context).colorScheme.onErrorContainer,
),
onPressed: () => showFutureLoadingDialog(
context: context,
future: () => user!.room.kick(user.id),
),
icon: const Icon(Icons.cancel_outlined),
label: Text(L10n.of(context)!.decline),
),
],
),
),
),
),
Row(
children: [
Padding(