build: Update packages and flutter super.key refactoring

This commit is contained in:
krille-chan 2023-10-28 13:03:16 +02:00
parent 4605a92d17
commit eca4825c70
No known key found for this signature in database
129 changed files with 294 additions and 324 deletions

View file

@ -22,7 +22,7 @@ import 'package:fluffychat/widgets/matrix.dart';
import '../../utils/matrix_sdk_extensions/client_stories_extension.dart';
class AddStoryPage extends StatefulWidget {
const AddStoryPage({Key? key}) : super(key: key);
const AddStoryPage({super.key});
@override
AddStoryController createState() => AddStoryController();

View file

@ -8,7 +8,7 @@ import 'add_story.dart';
class AddStoryView extends StatelessWidget {
final AddStoryController controller;
const AddStoryView(this.controller, {Key? key}) : super(key: key);
const AddStoryView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -14,8 +14,8 @@ class InviteStoryPage extends StatefulWidget {
final Room? storiesRoom;
const InviteStoryPage({
required this.storiesRoom,
Key? key,
}) : super(key: key);
super.key,
});
@override
InviteStoryPageState createState() => InviteStoryPageState();

View file

@ -9,7 +9,7 @@ import 'package:fluffychat/pages/archive/archive_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
class Archive extends StatefulWidget {
const Archive({Key? key}) : super(key: key);
const Archive({super.key});
@override
ArchiveController createState() => ArchiveController();

View file

@ -10,7 +10,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
class ArchiveView extends StatelessWidget {
final ArchiveController controller;
const ArchiveView(this.controller, {Key? key}) : super(key: key);
const ArchiveView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -18,10 +18,10 @@ class BootstrapDialog extends StatefulWidget {
final bool wipe;
final Client client;
const BootstrapDialog({
Key? key,
super.key,
this.wipe = false,
required this.client,
}) : super(key: key);
});
Future<bool?> show(BuildContext context) => showAdaptiveBottomSheet(
context: context,

View file

@ -8,7 +8,7 @@ import 'package:fluffychat/pages/chat/add_widget_tile_view.dart';
class AddWidgetTile extends StatefulWidget {
final Room room;
const AddWidgetTile({Key? key, required this.room}) : super(key: key);
const AddWidgetTile({super.key, required this.room});
@override
State<AddWidgetTile> createState() => AddWidgetTileState();

View file

@ -8,8 +8,7 @@ import 'package:fluffychat/pages/chat/add_widget_tile.dart';
class AddWidgetTileView extends StatelessWidget {
final AddWidgetTileState controller;
const AddWidgetTileView({Key? key, required this.controller})
: super(key: key);
const AddWidgetTileView({super.key, required this.controller});
@override
Widget build(BuildContext context) {

View file

@ -43,9 +43,9 @@ class ChatPage extends StatelessWidget {
final String roomId;
const ChatPage({
Key? key,
super.key,
required this.roomId,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {
@ -95,9 +95,9 @@ class ChatPageWithRoom extends StatefulWidget {
final Room room;
const ChatPageWithRoom({
Key? key,
super.key,
required this.room,
}) : super(key: key);
});
@override
ChatController createState() => ChatController();

View file

@ -9,7 +9,7 @@ import 'package:fluffychat/widgets/avatar.dart';
class ChatAppBarTitle extends StatelessWidget {
final ChatController controller;
const ChatAppBarTitle(this.controller, {Key? key}) : super(key: key);
const ChatAppBarTitle(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import 'chat.dart';
class ChatEmojiPicker extends StatelessWidget {
final ChatController controller;
const ChatEmojiPicker(this.controller, {Key? key}) : super(key: key);
const ChatEmojiPicker(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -16,9 +16,9 @@ import 'package:fluffychat/utils/platform_infos.dart';
class ChatEventList extends StatelessWidget {
final ChatController controller;
const ChatEventList({
Key? key,
super.key,
required this.controller,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -17,7 +17,7 @@ import 'input_bar.dart';
class ChatInputRow extends StatelessWidget {
final ChatController controller;
const ChatInputRow(this.controller, {Key? key}) : super(key: key);
const ChatInputRow(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@ -278,7 +278,7 @@ class ChatInputRow extends StatelessWidget {
class _ChatAccountPicker extends StatelessWidget {
final ChatController controller;
const _ChatAccountPicker(this.controller, {Key? key}) : super(key: key);
const _ChatAccountPicker(this.controller);
void _popupMenuButtonSelected(String mxid, BuildContext context) {
final client = Matrix.of(context)

View file

@ -29,7 +29,7 @@ enum _EventContextAction { info, report }
class ChatView extends StatelessWidget {
final ChatController controller;
const ChatView(this.controller, {Key? key}) : super(key: key);
const ChatView(this.controller, {super.key});
List<Widget> _appBarActions(BuildContext context) {
if (controller.selectMode) {

View file

@ -8,7 +8,7 @@ import 'add_widget_tile.dart';
class EditWidgetsDialog extends StatelessWidget {
final Room room;
const EditWidgetsDialog({Key? key, required this.room}) : super(key: key);
const EditWidgetsDialog({super.key, required this.room});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import '../../widgets/matrix.dart';
class EncryptionButton extends StatelessWidget {
final Room room;
const EncryptionButton(this.room, {Key? key}) : super(key: key);
const EncryptionButton(this.room, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -24,8 +24,8 @@ class EventInfoDialog extends StatelessWidget {
const EventInfoDialog({
required this.event,
required this.l10n,
Key? key,
}) : super(key: key);
super.key,
});
String get prettyJson {
const JsonDecoder decoder = JsonDecoder();

View file

@ -20,8 +20,7 @@ class AudioPlayerWidget extends StatefulWidget {
static const int wavesCount = 40;
const AudioPlayerWidget(this.event, {this.color = Colors.black, Key? key})
: super(key: key);
const AudioPlayerWidget(this.event, {this.color = Colors.black, super.key});
@override
AudioPlayerState createState() => AudioPlayerState();

View file

@ -10,7 +10,7 @@ import 'package:fluffychat/config/app_config.dart';
class CuteContent extends StatefulWidget {
final Event event;
const CuteContent(this.event, {Key? key}) : super(key: key);
const CuteContent(this.event, {super.key});
@override
State<CuteContent> createState() => _CuteContentState();
@ -98,10 +98,10 @@ class CuteEventOverlay extends StatefulWidget {
final VoidCallback onAnimationEnd;
const CuteEventOverlay({
Key? key,
super.key,
required this.emoji,
required this.onAnimationEnd,
}) : super(key: key);
});
@override
State<CuteEventOverlay> createState() => _CuteEventOverlayState();
@ -179,7 +179,7 @@ class _CuteOverlayContent extends StatelessWidget {
static const double size = 64.0;
final String emoji;
const _CuteOverlayContent({Key? key, required this.emoji}) : super(key: key);
const _CuteOverlayContent({required this.emoji});
@override
Widget build(BuildContext context) {

View file

@ -20,11 +20,11 @@ class HtmlMessage extends StatelessWidget {
final Color textColor;
const HtmlMessage({
Key? key,
super.key,
required this.html,
required this.room,
this.textColor = Colors.black,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -29,8 +29,8 @@ class ImageBubble extends StatelessWidget {
this.height = 300,
this.animated = false,
this.onTap,
Key? key,
}) : super(key: key);
super.key,
});
Widget _buildPlaceholder(BuildContext context) {
if (event.messageType == MessageTypes.Sticker) {

View file

@ -17,8 +17,8 @@ class MapBubble extends StatelessWidget {
this.width = 400,
this.height = 400,
this.radius = 10.0,
Key? key,
}) : super(key: key);
super.key,
});
@override
Widget build(BuildContext context) {

View file

@ -41,8 +41,8 @@ class Message extends StatelessWidget {
required this.onSwipe,
this.selected = false,
required this.timeline,
Key? key,
}) : super(key: key);
super.key,
});
/// Indicates wheither the user may use a mouse instead
/// of touchscreen.

View file

@ -30,9 +30,9 @@ class MessageContent extends StatelessWidget {
const MessageContent(
this.event, {
this.onInfoTab,
Key? key,
super.key,
required this.textColor,
}) : super(key: key);
});
void _verifyOrRequestKey(BuildContext context) async {
final l10n = L10n.of(context)!;
@ -311,8 +311,7 @@ class _ButtonContent extends StatelessWidget {
required this.textColor,
required this.onPressed,
required this.fontSize,
Key? key,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -8,8 +8,7 @@ class MessageDownloadContent extends StatelessWidget {
final Event event;
final Color textColor;
const MessageDownloadContent(this.event, this.textColor, {Key? key})
: super(key: key);
const MessageDownloadContent(this.event, this.textColor, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -15,8 +15,7 @@ class MessageReactions extends StatelessWidget {
final Event event;
final Timeline timeline;
const MessageReactions(this.event, this.timeline, {Key? key})
: super(key: key);
const MessageReactions(this.event, this.timeline, {super.key});
@override
Widget build(BuildContext context) {
@ -50,36 +49,34 @@ class MessageReactions extends StatelessWidget {
spacing: 4.0,
runSpacing: 4.0,
children: [
...reactionList
.map(
(r) => _Reaction(
reactionKey: r.key,
count: r.count,
reacted: r.reacted,
onTap: () {
if (r.reacted) {
final evt = allReactionEvents.firstWhereOrNull(
(e) =>
e.senderId == e.room.client.userID &&
e.content.tryGetMap('m.relates_to')?['key'] == r.key,
);
if (evt != null) {
showFutureLoadingDialog(
context: context,
future: () => evt.redactEvent(),
);
}
} else {
event.room.sendReaction(event.eventId, r.key!);
}
},
onLongPress: () async => await _AdaptableReactorsDialog(
client: client,
reactionEntry: r,
).show(context),
),
)
.toList(),
...reactionList.map(
(r) => _Reaction(
reactionKey: r.key,
count: r.count,
reacted: r.reacted,
onTap: () {
if (r.reacted) {
final evt = allReactionEvents.firstWhereOrNull(
(e) =>
e.senderId == e.room.client.userID &&
e.content.tryGetMap('m.relates_to')?['key'] == r.key,
);
if (evt != null) {
showFutureLoadingDialog(
context: context,
future: () => evt.redactEvent(),
);
}
} else {
event.room.sendReaction(event.eventId, r.key!);
}
},
onLongPress: () async => await _AdaptableReactorsDialog(
client: client,
reactionEntry: r,
).show(context),
),
),
if (allReactionEvents.any((e) => e.status.isSending))
const SizedBox(
width: 28,
@ -190,10 +187,9 @@ class _AdaptableReactorsDialog extends StatelessWidget {
final _ReactionEntry? reactionEntry;
const _AdaptableReactorsDialog({
Key? key,
this.client,
this.reactionEntry,
}) : super(key: key);
});
Future<bool?> show(BuildContext context) => PlatformInfos.isCupertinoStyle
? showCupertinoDialog(

View file

@ -14,9 +14,9 @@ class ReplyContent extends StatelessWidget {
const ReplyContent(
this.replyEvent, {
this.ownMessage = false,
Key? key,
super.key,
this.timeline,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import '../../../config/app_config.dart';
class StateMessage extends StatelessWidget {
final Event event;
const StateMessage(this.event, {Key? key}) : super(key: key);
const StateMessage(this.event, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -10,7 +10,7 @@ import 'image_bubble.dart';
class Sticker extends StatefulWidget {
final Event event;
const Sticker(this.event, {Key? key}) : super(key: key);
const Sticker(this.event, {super.key});
@override
StickerState createState() => StickerState();

View file

@ -12,8 +12,8 @@ class VerificationRequestContent extends StatelessWidget {
const VerificationRequestContent({
required this.event,
required this.timeline,
Key? key,
}) : super(key: key);
super.key,
});
@override
Widget build(BuildContext context) {

View file

@ -18,7 +18,7 @@ import '../../../utils/error_reporter.dart';
class EventVideoPlayer extends StatefulWidget {
final Event event;
const EventVideoPlayer(this.event, {Key? key}) : super(key: key);
const EventVideoPlayer(this.event, {super.key});
@override
EventVideoPlayerState createState() => EventVideoPlayerState();

View file

@ -44,8 +44,8 @@ class InputBar extends StatelessWidget {
this.autofocus,
this.textInputAction,
this.readOnly = false,
Key? key,
}) : super(key: key);
super.key,
});
List<Map<String, String?>> getSuggestions(String text) {
if (controller!.selection.baseOffset !=

View file

@ -15,7 +15,7 @@ import 'package:fluffychat/utils/url_launcher.dart';
class PinnedEvents extends StatelessWidget {
final ChatController controller;
const PinnedEvents(this.controller, {Key? key}) : super(key: key);
const PinnedEvents(this.controller, {super.key});
Future<void> _displayPinnedEventsDialog(
BuildContext context,

View file

@ -11,7 +11,7 @@ import '../../config/themes.dart';
class ReactionsPicker extends StatelessWidget {
final ChatController controller;
const ReactionsPicker(this.controller, {Key? key}) : super(key: key);
const ReactionsPicker(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -15,8 +15,8 @@ import 'events/audio_player.dart';
class RecordingDialog extends StatefulWidget {
static const String recordingFileType = 'm4a';
const RecordingDialog({
Key? key,
}) : super(key: key);
super.key,
});
@override
RecordingDialogState createState() => RecordingDialogState();

View file

@ -10,7 +10,7 @@ import 'events/reply_content.dart';
class ReplyDisplay extends StatelessWidget {
final ChatController controller;
const ReplyDisplay(this.controller, {Key? key}) : super(key: key);
const ReplyDisplay(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class SeenByRow extends StatelessWidget {
final ChatController controller;
const SeenByRow(this.controller, {Key? key}) : super(key: key);
const SeenByRow(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@ -38,14 +38,13 @@ class SeenByRow extends StatelessWidget {
? seenByUsers.sublist(0, maxAvatars)
: seenByUsers)
.map(
(user) => Avatar(
mxContent: user.avatarUrl,
name: user.calcDisplayname(),
size: 16,
fontSize: 9,
),
)
.toList(),
(user) => Avatar(
mxContent: user.avatarUrl,
name: user.calcDisplayname(),
size: 16,
fontSize: 9,
),
),
if (seenByUsers.length > maxAvatars)
SizedBox(
width: 16,

View file

@ -15,8 +15,8 @@ class SendFileDialog extends StatefulWidget {
const SendFileDialog({
required this.room,
required this.files,
Key? key,
}) : super(key: key);
super.key,
});
@override
SendFileDialogState createState() => SendFileDialogState();

View file

@ -16,8 +16,8 @@ class SendLocationDialog extends StatefulWidget {
const SendLocationDialog({
required this.room,
Key? key,
}) : super(key: key);
super.key,
});
@override
SendLocationDialogState createState() => SendLocationDialogState();

View file

@ -9,7 +9,7 @@ import 'events/image_bubble.dart';
class StickerPickerDialog extends StatefulWidget {
final Room room;
const StickerPickerDialog({required this.room, Key? key}) : super(key: key);
const StickerPickerDialog({required this.room, super.key});
@override
StickerPickerDialogState createState() => StickerPickerDialogState();

View file

@ -7,7 +7,7 @@ import 'chat.dart';
class TombstoneDisplay extends StatelessWidget {
final ChatController controller;
const TombstoneDisplay(this.controller, {Key? key}) : super(key: key);
const TombstoneDisplay(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class TypingIndicators extends StatelessWidget {
final ChatController controller;
const TypingIndicators(this.controller, {Key? key}) : super(key: key);
const TypingIndicators(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -24,9 +24,9 @@ class ChatDetails extends StatefulWidget {
final String roomId;
const ChatDetails({
Key? key,
super.key,
required this.roomId,
}) : super(key: key);
});
@override
ChatDetailsController createState() => ChatDetailsController();
@ -109,8 +109,7 @@ class ChatDetailsController extends State<ChatDetails> {
if (adminMode)
AlertDialogAction(label: L10n.of(context)!.create, key: 'new'),
...aliases.result!
.map((alias) => AlertDialogAction(key: alias, label: alias))
.toList(),
.map((alias) => AlertDialogAction(key: alias, label: alias)),
],
);
if (select == null) return;

View file

@ -19,7 +19,7 @@ import '../../utils/url_launcher.dart';
class ChatDetailsView extends StatelessWidget {
final ChatDetailsController controller;
const ChatDetailsView(this.controller, {Key? key}) : super(key: key);
const ChatDetailsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -10,7 +10,7 @@ import '../user_bottom_sheet/user_bottom_sheet.dart';
class ParticipantListItem extends StatelessWidget {
final User user;
const ParticipantListItem(this.user, {Key? key}) : super(key: key);
const ParticipantListItem(this.user, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -12,7 +12,7 @@ import 'package:fluffychat/widgets/matrix.dart';
import '../key_verification/key_verification_dialog.dart';
class ChatEncryptionSettings extends StatefulWidget {
const ChatEncryptionSettings({Key? key}) : super(key: key);
const ChatEncryptionSettings({super.key});
@override
ChatEncryptionSettingsController createState() =>

View file

@ -14,8 +14,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
class ChatEncryptionSettingsView extends StatelessWidget {
final ChatEncryptionSettingsController controller;
const ChatEncryptionSettingsView(this.controller, {Key? key})
: super(key: key);
const ChatEncryptionSettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -61,10 +61,10 @@ class ChatList extends StatefulWidget {
final String? activeChat;
const ChatList({
Key? key,
super.key,
this.displayNavigationRail = false,
required this.activeChat,
}) : super(key: key);
});
@override
ChatListController createState() => ChatListController();

View file

@ -25,7 +25,7 @@ import 'chat_list_header.dart';
class ChatListViewBody extends StatelessWidget {
final ChatListController controller;
const ChatListViewBody(this.controller, {Key? key}) : super(key: key);
const ChatListViewBody(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@ -313,8 +313,7 @@ class _SearchItem extends StatelessWidget {
required this.title,
this.avatar,
required this.onPressed,
Key? key,
}) : super(key: key);
});
@override
Widget build(BuildContext context) => InkWell(

View file

@ -10,7 +10,7 @@ import '../../widgets/matrix.dart';
class ChatListHeader extends StatelessWidget implements PreferredSizeWidget {
final ChatListController controller;
const ChatListHeader({Key? key, required this.controller}) : super(key: key);
const ChatListHeader({super.key, required this.controller});
@override
Widget build(BuildContext context) {

View file

@ -30,8 +30,8 @@ class ChatListItem extends StatelessWidget {
this.selected = false,
this.onTap,
this.onLongPress,
Key? key,
}) : super(key: key);
super.key,
});
void clickAction(BuildContext context) async {
if (onTap != null) return onTap!();

View file

@ -20,7 +20,7 @@ import 'start_chat_fab.dart';
class ChatListView extends StatelessWidget {
final ChatListController controller;
const ChatListView(this.controller, {Key? key}) : super(key: key);
const ChatListView(this.controller, {super.key});
List<NavigationDestination> getNavigationDestinations(BuildContext context) {
final badgePosition = BadgePosition.topEnd(top: -12, end: -8);

View file

@ -15,7 +15,7 @@ import 'chat_list.dart';
class ClientChooserButton extends StatelessWidget {
final ChatListController controller;
const ClientChooserButton(this.controller, {Key? key}) : super(key: key);
const ClientChooserButton(this.controller, {super.key});
List<PopupMenuEntry<Object>> _bundleMenuItems(BuildContext context) {
final matrix = Matrix.of(context);
@ -112,48 +112,45 @@ class ClientChooserButton extends StatelessWidget {
],
),
),
...matrix.accountBundles[bundle]!
.map(
(client) => PopupMenuItem(
value: client,
child: FutureBuilder<Profile?>(
// analyzer does not understand this type cast for error
// handling
//
// ignore: unnecessary_cast
future: (client!.fetchOwnProfile() as Future<Profile?>)
.onError((e, s) => null),
builder: (context, snapshot) => Row(
children: [
Avatar(
mxContent: snapshot.data?.avatarUrl,
name: snapshot.data?.displayName ??
client.userID!.localpart,
size: 32,
fontSize: 12,
),
const SizedBox(width: 12),
Expanded(
child: Text(
snapshot.data?.displayName ??
client.userID!.localpart!,
overflow: TextOverflow.ellipsis,
),
),
const SizedBox(width: 12),
IconButton(
icon: const Icon(Icons.edit_outlined),
onPressed: () => controller.editBundlesForAccount(
client.userID,
bundle,
),
),
],
...matrix.accountBundles[bundle]!.map(
(client) => PopupMenuItem(
value: client,
child: FutureBuilder<Profile?>(
// analyzer does not understand this type cast for error
// handling
//
// ignore: unnecessary_cast
future: (client!.fetchOwnProfile() as Future<Profile?>)
.onError((e, s) => null),
builder: (context, snapshot) => Row(
children: [
Avatar(
mxContent: snapshot.data?.avatarUrl,
name:
snapshot.data?.displayName ?? client.userID!.localpart,
size: 32,
fontSize: 12,
),
),
const SizedBox(width: 12),
Expanded(
child: Text(
snapshot.data?.displayName ?? client.userID!.localpart!,
overflow: TextOverflow.ellipsis,
),
),
const SizedBox(width: 12),
IconButton(
icon: const Icon(Icons.edit_outlined),
onPressed: () => controller.editBundlesForAccount(
client.userID,
bundle,
),
),
],
),
)
.toList(),
),
),
),
],
PopupMenuItem(
value: SettingsAction.addAccount,

View file

@ -16,8 +16,8 @@ class NaviRailItem extends StatefulWidget {
required this.onTap,
required this.icon,
this.selectedIcon,
Key? key,
}) : super(key: key);
super.key,
});
@override
State<NaviRailItem> createState() => _NaviRailItemState();

View file

@ -13,8 +13,8 @@ class SearchTitle extends StatelessWidget {
this.trailing,
this.onTap,
this.color,
Key? key,
}) : super(key: key);
super.key,
});
@override
Widget build(BuildContext context) => Material(

View file

@ -21,9 +21,9 @@ class SpaceView extends StatefulWidget {
final ScrollController scrollController;
const SpaceView(
this.controller, {
Key? key,
super.key,
required this.scrollController,
}) : super(key: key);
});
@override
State<SpaceView> createState() => _SpaceViewState();

View file

@ -12,11 +12,11 @@ class StartChatFloatingActionButton extends StatelessWidget {
final bool roomsIsEmpty;
const StartChatFloatingActionButton({
Key? key,
super.key,
required this.activeFilter,
required this.scrolledToTop,
required this.roomsIsEmpty,
}) : super(key: key);
});
void _onPressed(BuildContext context) {
switch (activeFilter) {

View file

@ -23,7 +23,7 @@ enum ContextualRoomAction {
class StoriesHeader extends StatelessWidget {
final String filter;
const StoriesHeader({required this.filter, Key? key}) : super(key: key);
const StoriesHeader({required this.filter, super.key});
void _addToStoryAction(BuildContext context) =>
context.go('/rooms/stories/create');
@ -186,8 +186,7 @@ class _StoryButton extends StatefulWidget {
this.hasPosts = true,
this.unread = false,
this.onLongPressed,
Key? key,
}) : super(key: key);
});
@override
State<_StoryButton> createState() => _StoryButtonState();

View file

@ -13,7 +13,7 @@ import 'package:fluffychat/widgets/matrix.dart';
import 'package:fluffychat/widgets/permission_slider_dialog.dart';
class ChatPermissionsSettings extends StatefulWidget {
const ChatPermissionsSettings({Key? key}) : super(key: key);
const ChatPermissionsSettings({super.key});
@override
ChatPermissionsSettingsController createState() =>

View file

@ -11,8 +11,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class ChatPermissionsSettingsView extends StatelessWidget {
final ChatPermissionsSettingsController controller;
const ChatPermissionsSettingsView(this.controller, {Key? key})
: super(key: key);
const ChatPermissionsSettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -10,12 +10,12 @@ class PermissionsListTile extends StatelessWidget {
final void Function()? onTap;
const PermissionsListTile({
Key? key,
super.key,
required this.permissionKey,
required this.permission,
this.category,
this.onTap,
}) : super(key: key);
});
String getLocalizedPowerLevelString(BuildContext context) {
if (category == null) {

View file

@ -13,7 +13,7 @@ import 'package:fluffychat/utils/localized_exception_extension.dart';
import '../../widgets/matrix.dart';
class DevicesSettings extends StatefulWidget {
const DevicesSettings({Key? key}) : super(key: key);
const DevicesSettings({super.key});
@override
DevicesSettingsController createState() => DevicesSettingsController();

View file

@ -9,7 +9,7 @@ import 'user_device_list_item.dart';
class DevicesSettingsView extends StatelessWidget {
final DevicesSettingsController controller;
const DevicesSettingsView(this.controller, {Key? key}) : super(key: key);
const DevicesSettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -31,8 +31,8 @@ class UserDeviceListItem extends StatelessWidget {
required this.verify,
required this.block,
required this.unblock,
Key? key,
}) : super(key: key);
super.key,
});
@override
Widget build(BuildContext context) {

View file

@ -38,10 +38,9 @@ import 'pip/pip_view.dart';
class _StreamView extends StatelessWidget {
const _StreamView(
this.wrappedStream, {
Key? key,
this.mainView = false,
required this.matrixClient,
}) : super(key: key);
});
final WrappedMediaStream wrappedStream;
final Client matrixClient;
@ -128,8 +127,8 @@ class Calling extends StatefulWidget {
required this.client,
required this.callId,
this.onClear,
Key? key,
}) : super(key: key);
super.key,
});
@override
MyCallingPage createState() => MyCallingPage();

View file

@ -15,13 +15,13 @@ class PIPView extends StatefulWidget {
) builder;
const PIPView({
Key? key,
super.key,
required this.builder,
this.initialCorner = PIPViewCorner.topRight,
this.floatingWidth,
this.floatingHeight,
this.avoidKeyboard = true,
}) : super(key: key);
});
@override
PIPViewState createState() => PIPViewState();

View file

@ -11,8 +11,7 @@ import 'homeserver_picker.dart';
class HomeserverAppBar extends StatelessWidget {
final HomeserverPickerController controller;
const HomeserverAppBar({Key? key, required this.controller})
: super(key: key);
const HomeserverAppBar({super.key, required this.controller});
@override
Widget build(BuildContext context) {

View file

@ -5,8 +5,7 @@ import 'package:url_launcher/url_launcher_string.dart';
class HomeserverBottomSheet extends StatelessWidget {
final HomeserverBenchmarkResult homeserver;
const HomeserverBottomSheet({required this.homeserver, Key? key})
: super(key: key);
const HomeserverBottomSheet({required this.homeserver, super.key});
@override
Widget build(BuildContext context) {

View file

@ -25,7 +25,7 @@ import 'package:fluffychat/utils/tor_stub.dart'
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
class HomeserverPicker extends StatefulWidget {
const HomeserverPicker({Key? key}) : super(key: key);
const HomeserverPicker({super.key});
@override
HomeserverPickerController createState() => HomeserverPickerController();

View file

@ -13,7 +13,7 @@ import 'homeserver_picker.dart';
class HomeserverPickerView extends StatelessWidget {
final HomeserverPickerController controller;
const HomeserverPickerView(this.controller, {Key? key}) : super(key: key);
const HomeserverPickerView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@ -172,8 +172,7 @@ class _LoginButton extends StatelessWidget {
required this.icon,
required this.label,
required this.onPressed,
Key? key,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -11,7 +11,7 @@ import '../../utils/matrix_sdk_extensions/event_extension.dart';
class ImageViewer extends StatefulWidget {
final Event event;
const ImageViewer(this.event, {Key? key}) : super(key: key);
const ImageViewer(this.event, {super.key});
@override
ImageViewerController createState() => ImageViewerController();

View file

@ -9,7 +9,7 @@ import 'image_viewer.dart';
class ImageViewerView extends StatelessWidget {
final ImageViewerController controller;
const ImageViewerView(this.controller, {Key? key}) : super(key: key);
const ImageViewerView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -15,9 +15,9 @@ import '../../utils/localized_exception_extension.dart';
class InvitationSelection extends StatefulWidget {
final String roomId;
const InvitationSelection({
Key? key,
super.key,
required this.roomId,
}) : super(key: key);
});
@override
InvitationSelectionController createState() =>

View file

@ -11,7 +11,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class InvitationSelectionView extends StatelessWidget {
final InvitationSelectionController controller;
const InvitationSelectionView(this.controller, {Key? key}) : super(key: key);
const InvitationSelectionView(this.controller, {super.key});
@override
Widget build(BuildContext context) {
@ -142,13 +142,12 @@ class _InviteContactListTile extends StatelessWidget {
final void Function() onTap;
const _InviteContactListTile({
Key? key,
required this.userId,
required this.displayname,
required this.avatarUrl,
required this.isMember,
required this.onTap,
}) : super(key: key);
});
@override
Widget build(BuildContext context) {

View file

@ -23,9 +23,9 @@ class KeyVerificationDialog extends StatefulWidget {
final KeyVerification request;
const KeyVerificationDialog({
Key? key,
super.key,
required this.request,
}) : super(key: key);
});
@override
KeyVerificationPageState createState() => KeyVerificationPageState();

View file

@ -13,7 +13,7 @@ import '../../utils/platform_infos.dart';
import 'login_view.dart';
class Login extends StatefulWidget {
const Login({Key? key}) : super(key: key);
const Login({super.key});
@override
LoginController createState() => LoginController();

View file

@ -9,7 +9,7 @@ import 'login.dart';
class LoginView extends StatelessWidget {
final LoginController controller;
const LoginView(this.controller, {Key? key}) : super(key: key);
const LoginView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import 'package:fluffychat/pages/new_group/new_group_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
class NewGroup extends StatefulWidget {
const NewGroup({Key? key}) : super(key: key);
const NewGroup({super.key});
@override
NewGroupController createState() => NewGroupController();

View file

@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
class NewGroupView extends StatelessWidget {
final NewGroupController controller;
const NewGroupView(this.controller, {Key? key}) : super(key: key);
const NewGroupView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -14,7 +14,7 @@ import 'package:fluffychat/utils/url_launcher.dart';
import 'package:fluffychat/widgets/matrix.dart';
class NewPrivateChat extends StatefulWidget {
const NewPrivateChat({Key? key}) : super(key: key);
const NewPrivateChat({super.key});
@override
NewPrivateChatController createState() => NewPrivateChatController();

View file

@ -14,7 +14,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class NewPrivateChatView extends StatelessWidget {
final NewPrivateChatController controller;
const NewPrivateChatView(this.controller, {Key? key}) : super(key: key);
const NewPrivateChatView(this.controller, {super.key});
static const double _qrCodePadding = 8;

View file

@ -9,7 +9,7 @@ import 'package:qr_code_scanner/qr_code_scanner.dart';
import 'package:fluffychat/utils/url_launcher.dart';
class QrScannerModal extends StatefulWidget {
const QrScannerModal({Key? key}) : super(key: key);
const QrScannerModal({super.key});
@override
QrScannerModalState createState() => QrScannerModalState();

View file

@ -9,7 +9,7 @@ import 'package:fluffychat/pages/new_space/new_space_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
class NewSpace extends StatefulWidget {
const NewSpace({Key? key}) : super(key: key);
const NewSpace({super.key});
@override
NewSpaceController createState() => NewSpaceController();

View file

@ -8,7 +8,7 @@ import 'new_space.dart';
class NewSpaceView extends StatelessWidget {
final NewSpaceController controller;
const NewSpaceView(this.controller, {Key? key}) : super(key: key);
const NewSpaceView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -17,7 +17,7 @@ import '../bootstrap/bootstrap_dialog.dart';
import 'settings_view.dart';
class Settings extends StatefulWidget {
const Settings({Key? key}) : super(key: key);
const Settings({super.key});
@override
SettingsController createState() => SettingsController();

View file

@ -15,7 +15,7 @@ import 'settings.dart';
class SettingsView extends StatelessWidget {
final SettingsController controller;
const SettingsView(this.controller, {Key? key}) : super(key: key);
const SettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -11,7 +11,7 @@ import 'settings_3pid_view.dart';
class Settings3Pid extends StatefulWidget {
static int sendAttempt = 0;
const Settings3Pid({Key? key}) : super(key: key);
const Settings3Pid({super.key});
@override
Settings3PidController createState() => Settings3PidController();

View file

@ -10,7 +10,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class Settings3PidView extends StatelessWidget {
final Settings3PidController controller;
const Settings3PidView(this.controller, {Key? key}) : super(key: key);
const Settings3PidView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'settings_chat_view.dart';
class SettingsChat extends StatefulWidget {
const SettingsChat({Key? key}) : super(key: key);
const SettingsChat({super.key});
@override
SettingsChatController createState() => SettingsChatController();

View file

@ -14,7 +14,7 @@ import 'settings_chat.dart';
class SettingsChatView extends StatelessWidget {
final SettingsChatController controller;
const SettingsChatView(this.controller, {Key? key}) : super(key: key);
const SettingsChatView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -204,11 +204,11 @@ class _EmojiImportPreview extends StatefulWidget {
final VoidCallback onRemove;
const _EmojiImportPreview({
Key? key,
super.key,
required this.entry,
required this.onNameChanged,
required this.onRemove,
}) : super(key: key);
});
@override
State<_EmojiImportPreview> createState() => _EmojiImportPreviewState();

View file

@ -23,7 +23,7 @@ import 'package:archive/archive.dart'
if (dart.library.io) 'package:archive/archive_io.dart';
class EmotesSettings extends StatefulWidget {
const EmotesSettings({Key? key}) : super(key: key);
const EmotesSettings({super.key});
@override
EmotesSettingsController createState() => EmotesSettingsController();

View file

@ -15,7 +15,7 @@ enum PopupMenuEmojiActions { import, export }
class EmotesSettingsView extends StatelessWidget {
final EmotesSettingsController controller;
const EmotesSettingsView(this.controller, {Key? key}) : super(key: key);
const EmotesSettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -8,7 +8,7 @@ import 'settings_ignore_list_view.dart';
class SettingsIgnoreList extends StatefulWidget {
final String? initialUserId;
const SettingsIgnoreList({Key? key, this.initialUserId}) : super(key: key);
const SettingsIgnoreList({super.key, this.initialUserId});
@override
SettingsIgnoreListController createState() => SettingsIgnoreListController();

View file

@ -12,7 +12,7 @@ import 'settings_ignore_list.dart';
class SettingsIgnoreListView extends StatelessWidget {
final SettingsIgnoreListController controller;
const SettingsIgnoreListView(this.controller, {Key? key}) : super(key: key);
const SettingsIgnoreListView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -5,7 +5,7 @@ import 'package:go_router/go_router.dart';
import 'settings_multiple_emotes_view.dart';
class MultipleEmotesSettings extends StatefulWidget {
const MultipleEmotesSettings({Key? key}) : super(key: key);
const MultipleEmotesSettings({super.key});
@override
MultipleEmotesSettingsController createState() =>

View file

@ -10,8 +10,7 @@ import 'package:fluffychat/widgets/matrix.dart';
class MultipleEmotesSettingsView extends StatelessWidget {
final MultipleEmotesSettingsController controller;
const MultipleEmotesSettingsView(this.controller, {Key? key})
: super(key: key);
const MultipleEmotesSettingsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -54,7 +54,7 @@ class NotificationSettingsItem {
}
class SettingsNotifications extends StatefulWidget {
const SettingsNotifications({Key? key}) : super(key: key);
const SettingsNotifications({super.key});
@override
SettingsNotificationsController createState() =>

View file

@ -12,8 +12,7 @@ import 'settings_notifications.dart';
class SettingsNotificationsView extends StatelessWidget {
final SettingsNotificationsController controller;
const SettingsNotificationsView(this.controller, {Key? key})
: super(key: key);
const SettingsNotificationsView(this.controller, {super.key});
@override
Widget build(BuildContext context) {

View file

@ -16,7 +16,7 @@ import '../bootstrap/bootstrap_dialog.dart';
import 'settings_security_view.dart';
class SettingsSecurity extends StatefulWidget {
const SettingsSecurity({Key? key}) : super(key: key);
const SettingsSecurity({super.key});
@override
SettingsSecurityController createState() => SettingsSecurityController();

Some files were not shown because too many files have changed in this diff Show more