mirror of
https://github.com/krille-chan/fluffychat
synced 2024-09-10 01:05:17 +00:00
build: Update packages and flutter super.key refactoring
This commit is contained in:
parent
4605a92d17
commit
eca4825c70
129 changed files with 294 additions and 324 deletions
|
@ -22,7 +22,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
import '../../utils/matrix_sdk_extensions/client_stories_extension.dart';
|
import '../../utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||||
|
|
||||||
class AddStoryPage extends StatefulWidget {
|
class AddStoryPage extends StatefulWidget {
|
||||||
const AddStoryPage({Key? key}) : super(key: key);
|
const AddStoryPage({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
AddStoryController createState() => AddStoryController();
|
AddStoryController createState() => AddStoryController();
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'add_story.dart';
|
||||||
|
|
||||||
class AddStoryView extends StatelessWidget {
|
class AddStoryView extends StatelessWidget {
|
||||||
final AddStoryController controller;
|
final AddStoryController controller;
|
||||||
const AddStoryView(this.controller, {Key? key}) : super(key: key);
|
const AddStoryView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -14,8 +14,8 @@ class InviteStoryPage extends StatefulWidget {
|
||||||
final Room? storiesRoom;
|
final Room? storiesRoom;
|
||||||
const InviteStoryPage({
|
const InviteStoryPage({
|
||||||
required this.storiesRoom,
|
required this.storiesRoom,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
InviteStoryPageState createState() => InviteStoryPageState();
|
InviteStoryPageState createState() => InviteStoryPageState();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'package:fluffychat/pages/archive/archive_view.dart';
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class Archive extends StatefulWidget {
|
class Archive extends StatefulWidget {
|
||||||
const Archive({Key? key}) : super(key: key);
|
const Archive({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ArchiveController createState() => ArchiveController();
|
ArchiveController createState() => ArchiveController();
|
||||||
|
|
|
@ -10,7 +10,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
|
||||||
class ArchiveView extends StatelessWidget {
|
class ArchiveView extends StatelessWidget {
|
||||||
final ArchiveController controller;
|
final ArchiveController controller;
|
||||||
|
|
||||||
const ArchiveView(this.controller, {Key? key}) : super(key: key);
|
const ArchiveView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -18,10 +18,10 @@ class BootstrapDialog extends StatefulWidget {
|
||||||
final bool wipe;
|
final bool wipe;
|
||||||
final Client client;
|
final Client client;
|
||||||
const BootstrapDialog({
|
const BootstrapDialog({
|
||||||
Key? key,
|
super.key,
|
||||||
this.wipe = false,
|
this.wipe = false,
|
||||||
required this.client,
|
required this.client,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
Future<bool?> show(BuildContext context) => showAdaptiveBottomSheet(
|
Future<bool?> show(BuildContext context) => showAdaptiveBottomSheet(
|
||||||
context: context,
|
context: context,
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'package:fluffychat/pages/chat/add_widget_tile_view.dart';
|
||||||
class AddWidgetTile extends StatefulWidget {
|
class AddWidgetTile extends StatefulWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
||||||
const AddWidgetTile({Key? key, required this.room}) : super(key: key);
|
const AddWidgetTile({super.key, required this.room});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<AddWidgetTile> createState() => AddWidgetTileState();
|
State<AddWidgetTile> createState() => AddWidgetTileState();
|
||||||
|
|
|
@ -8,8 +8,7 @@ import 'package:fluffychat/pages/chat/add_widget_tile.dart';
|
||||||
class AddWidgetTileView extends StatelessWidget {
|
class AddWidgetTileView extends StatelessWidget {
|
||||||
final AddWidgetTileState controller;
|
final AddWidgetTileState controller;
|
||||||
|
|
||||||
const AddWidgetTileView({Key? key, required this.controller})
|
const AddWidgetTileView({super.key, required this.controller});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -43,9 +43,9 @@ class ChatPage extends StatelessWidget {
|
||||||
final String roomId;
|
final String roomId;
|
||||||
|
|
||||||
const ChatPage({
|
const ChatPage({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.roomId,
|
required this.roomId,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -95,9 +95,9 @@ class ChatPageWithRoom extends StatefulWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
||||||
const ChatPageWithRoom({
|
const ChatPageWithRoom({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.room,
|
required this.room,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatController createState() => ChatController();
|
ChatController createState() => ChatController();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'package:fluffychat/widgets/avatar.dart';
|
||||||
|
|
||||||
class ChatAppBarTitle extends StatelessWidget {
|
class ChatAppBarTitle extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const ChatAppBarTitle(this.controller, {Key? key}) : super(key: key);
|
const ChatAppBarTitle(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'chat.dart';
|
||||||
|
|
||||||
class ChatEmojiPicker extends StatelessWidget {
|
class ChatEmojiPicker extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const ChatEmojiPicker(this.controller, {Key? key}) : super(key: key);
|
const ChatEmojiPicker(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -16,9 +16,9 @@ import 'package:fluffychat/utils/platform_infos.dart';
|
||||||
class ChatEventList extends StatelessWidget {
|
class ChatEventList extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const ChatEventList({
|
const ChatEventList({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.controller,
|
required this.controller,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -17,7 +17,7 @@ import 'input_bar.dart';
|
||||||
class ChatInputRow extends StatelessWidget {
|
class ChatInputRow extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
|
|
||||||
const ChatInputRow(this.controller, {Key? key}) : super(key: key);
|
const ChatInputRow(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -278,7 +278,7 @@ class ChatInputRow extends StatelessWidget {
|
||||||
class _ChatAccountPicker extends StatelessWidget {
|
class _ChatAccountPicker extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
|
|
||||||
const _ChatAccountPicker(this.controller, {Key? key}) : super(key: key);
|
const _ChatAccountPicker(this.controller);
|
||||||
|
|
||||||
void _popupMenuButtonSelected(String mxid, BuildContext context) {
|
void _popupMenuButtonSelected(String mxid, BuildContext context) {
|
||||||
final client = Matrix.of(context)
|
final client = Matrix.of(context)
|
||||||
|
|
|
@ -29,7 +29,7 @@ enum _EventContextAction { info, report }
|
||||||
class ChatView extends StatelessWidget {
|
class ChatView extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
|
|
||||||
const ChatView(this.controller, {Key? key}) : super(key: key);
|
const ChatView(this.controller, {super.key});
|
||||||
|
|
||||||
List<Widget> _appBarActions(BuildContext context) {
|
List<Widget> _appBarActions(BuildContext context) {
|
||||||
if (controller.selectMode) {
|
if (controller.selectMode) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'add_widget_tile.dart';
|
||||||
class EditWidgetsDialog extends StatelessWidget {
|
class EditWidgetsDialog extends StatelessWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
||||||
const EditWidgetsDialog({Key? key, required this.room}) : super(key: key);
|
const EditWidgetsDialog({super.key, required this.room});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import '../../widgets/matrix.dart';
|
||||||
|
|
||||||
class EncryptionButton extends StatelessWidget {
|
class EncryptionButton extends StatelessWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
const EncryptionButton(this.room, {Key? key}) : super(key: key);
|
const EncryptionButton(this.room, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -24,8 +24,8 @@ class EventInfoDialog extends StatelessWidget {
|
||||||
const EventInfoDialog({
|
const EventInfoDialog({
|
||||||
required this.event,
|
required this.event,
|
||||||
required this.l10n,
|
required this.l10n,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
String get prettyJson {
|
String get prettyJson {
|
||||||
const JsonDecoder decoder = JsonDecoder();
|
const JsonDecoder decoder = JsonDecoder();
|
||||||
|
|
|
@ -20,8 +20,7 @@ class AudioPlayerWidget extends StatefulWidget {
|
||||||
|
|
||||||
static const int wavesCount = 40;
|
static const int wavesCount = 40;
|
||||||
|
|
||||||
const AudioPlayerWidget(this.event, {this.color = Colors.black, Key? key})
|
const AudioPlayerWidget(this.event, {this.color = Colors.black, super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
AudioPlayerState createState() => AudioPlayerState();
|
AudioPlayerState createState() => AudioPlayerState();
|
||||||
|
|
|
@ -10,7 +10,7 @@ import 'package:fluffychat/config/app_config.dart';
|
||||||
class CuteContent extends StatefulWidget {
|
class CuteContent extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
|
|
||||||
const CuteContent(this.event, {Key? key}) : super(key: key);
|
const CuteContent(this.event, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<CuteContent> createState() => _CuteContentState();
|
State<CuteContent> createState() => _CuteContentState();
|
||||||
|
@ -98,10 +98,10 @@ class CuteEventOverlay extends StatefulWidget {
|
||||||
final VoidCallback onAnimationEnd;
|
final VoidCallback onAnimationEnd;
|
||||||
|
|
||||||
const CuteEventOverlay({
|
const CuteEventOverlay({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.emoji,
|
required this.emoji,
|
||||||
required this.onAnimationEnd,
|
required this.onAnimationEnd,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<CuteEventOverlay> createState() => _CuteEventOverlayState();
|
State<CuteEventOverlay> createState() => _CuteEventOverlayState();
|
||||||
|
@ -179,7 +179,7 @@ class _CuteOverlayContent extends StatelessWidget {
|
||||||
static const double size = 64.0;
|
static const double size = 64.0;
|
||||||
final String emoji;
|
final String emoji;
|
||||||
|
|
||||||
const _CuteOverlayContent({Key? key, required this.emoji}) : super(key: key);
|
const _CuteOverlayContent({required this.emoji});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -20,11 +20,11 @@ class HtmlMessage extends StatelessWidget {
|
||||||
final Color textColor;
|
final Color textColor;
|
||||||
|
|
||||||
const HtmlMessage({
|
const HtmlMessage({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.html,
|
required this.html,
|
||||||
required this.room,
|
required this.room,
|
||||||
this.textColor = Colors.black,
|
this.textColor = Colors.black,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -29,8 +29,8 @@ class ImageBubble extends StatelessWidget {
|
||||||
this.height = 300,
|
this.height = 300,
|
||||||
this.animated = false,
|
this.animated = false,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
Widget _buildPlaceholder(BuildContext context) {
|
Widget _buildPlaceholder(BuildContext context) {
|
||||||
if (event.messageType == MessageTypes.Sticker) {
|
if (event.messageType == MessageTypes.Sticker) {
|
||||||
|
|
|
@ -17,8 +17,8 @@ class MapBubble extends StatelessWidget {
|
||||||
this.width = 400,
|
this.width = 400,
|
||||||
this.height = 400,
|
this.height = 400,
|
||||||
this.radius = 10.0,
|
this.radius = 10.0,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -41,8 +41,8 @@ class Message extends StatelessWidget {
|
||||||
required this.onSwipe,
|
required this.onSwipe,
|
||||||
this.selected = false,
|
this.selected = false,
|
||||||
required this.timeline,
|
required this.timeline,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
/// Indicates wheither the user may use a mouse instead
|
/// Indicates wheither the user may use a mouse instead
|
||||||
/// of touchscreen.
|
/// of touchscreen.
|
||||||
|
|
|
@ -30,9 +30,9 @@ class MessageContent extends StatelessWidget {
|
||||||
const MessageContent(
|
const MessageContent(
|
||||||
this.event, {
|
this.event, {
|
||||||
this.onInfoTab,
|
this.onInfoTab,
|
||||||
Key? key,
|
super.key,
|
||||||
required this.textColor,
|
required this.textColor,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
void _verifyOrRequestKey(BuildContext context) async {
|
void _verifyOrRequestKey(BuildContext context) async {
|
||||||
final l10n = L10n.of(context)!;
|
final l10n = L10n.of(context)!;
|
||||||
|
@ -311,8 +311,7 @@ class _ButtonContent extends StatelessWidget {
|
||||||
required this.textColor,
|
required this.textColor,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
required this.fontSize,
|
required this.fontSize,
|
||||||
Key? key,
|
});
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,8 +8,7 @@ class MessageDownloadContent extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
final Color textColor;
|
final Color textColor;
|
||||||
|
|
||||||
const MessageDownloadContent(this.event, this.textColor, {Key? key})
|
const MessageDownloadContent(this.event, this.textColor, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -15,8 +15,7 @@ class MessageReactions extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
final Timeline timeline;
|
final Timeline timeline;
|
||||||
|
|
||||||
const MessageReactions(this.event, this.timeline, {Key? key})
|
const MessageReactions(this.event, this.timeline, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -50,36 +49,34 @@ class MessageReactions extends StatelessWidget {
|
||||||
spacing: 4.0,
|
spacing: 4.0,
|
||||||
runSpacing: 4.0,
|
runSpacing: 4.0,
|
||||||
children: [
|
children: [
|
||||||
...reactionList
|
...reactionList.map(
|
||||||
.map(
|
(r) => _Reaction(
|
||||||
(r) => _Reaction(
|
reactionKey: r.key,
|
||||||
reactionKey: r.key,
|
count: r.count,
|
||||||
count: r.count,
|
reacted: r.reacted,
|
||||||
reacted: r.reacted,
|
onTap: () {
|
||||||
onTap: () {
|
if (r.reacted) {
|
||||||
if (r.reacted) {
|
final evt = allReactionEvents.firstWhereOrNull(
|
||||||
final evt = allReactionEvents.firstWhereOrNull(
|
(e) =>
|
||||||
(e) =>
|
e.senderId == e.room.client.userID &&
|
||||||
e.senderId == e.room.client.userID &&
|
e.content.tryGetMap('m.relates_to')?['key'] == r.key,
|
||||||
e.content.tryGetMap('m.relates_to')?['key'] == r.key,
|
);
|
||||||
);
|
if (evt != null) {
|
||||||
if (evt != null) {
|
showFutureLoadingDialog(
|
||||||
showFutureLoadingDialog(
|
context: context,
|
||||||
context: context,
|
future: () => evt.redactEvent(),
|
||||||
future: () => evt.redactEvent(),
|
);
|
||||||
);
|
}
|
||||||
}
|
} else {
|
||||||
} else {
|
event.room.sendReaction(event.eventId, r.key!);
|
||||||
event.room.sendReaction(event.eventId, r.key!);
|
}
|
||||||
}
|
},
|
||||||
},
|
onLongPress: () async => await _AdaptableReactorsDialog(
|
||||||
onLongPress: () async => await _AdaptableReactorsDialog(
|
client: client,
|
||||||
client: client,
|
reactionEntry: r,
|
||||||
reactionEntry: r,
|
).show(context),
|
||||||
).show(context),
|
),
|
||||||
),
|
),
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
if (allReactionEvents.any((e) => e.status.isSending))
|
if (allReactionEvents.any((e) => e.status.isSending))
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
width: 28,
|
width: 28,
|
||||||
|
@ -190,10 +187,9 @@ class _AdaptableReactorsDialog extends StatelessWidget {
|
||||||
final _ReactionEntry? reactionEntry;
|
final _ReactionEntry? reactionEntry;
|
||||||
|
|
||||||
const _AdaptableReactorsDialog({
|
const _AdaptableReactorsDialog({
|
||||||
Key? key,
|
|
||||||
this.client,
|
this.client,
|
||||||
this.reactionEntry,
|
this.reactionEntry,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
Future<bool?> show(BuildContext context) => PlatformInfos.isCupertinoStyle
|
Future<bool?> show(BuildContext context) => PlatformInfos.isCupertinoStyle
|
||||||
? showCupertinoDialog(
|
? showCupertinoDialog(
|
||||||
|
|
|
@ -14,9 +14,9 @@ class ReplyContent extends StatelessWidget {
|
||||||
const ReplyContent(
|
const ReplyContent(
|
||||||
this.replyEvent, {
|
this.replyEvent, {
|
||||||
this.ownMessage = false,
|
this.ownMessage = false,
|
||||||
Key? key,
|
super.key,
|
||||||
this.timeline,
|
this.timeline,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import '../../../config/app_config.dart';
|
||||||
|
|
||||||
class StateMessage extends StatelessWidget {
|
class StateMessage extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
const StateMessage(this.event, {Key? key}) : super(key: key);
|
const StateMessage(this.event, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import 'image_bubble.dart';
|
||||||
class Sticker extends StatefulWidget {
|
class Sticker extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
|
|
||||||
const Sticker(this.event, {Key? key}) : super(key: key);
|
const Sticker(this.event, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
StickerState createState() => StickerState();
|
StickerState createState() => StickerState();
|
||||||
|
|
|
@ -12,8 +12,8 @@ class VerificationRequestContent extends StatelessWidget {
|
||||||
const VerificationRequestContent({
|
const VerificationRequestContent({
|
||||||
required this.event,
|
required this.event,
|
||||||
required this.timeline,
|
required this.timeline,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ import '../../../utils/error_reporter.dart';
|
||||||
|
|
||||||
class EventVideoPlayer extends StatefulWidget {
|
class EventVideoPlayer extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
const EventVideoPlayer(this.event, {Key? key}) : super(key: key);
|
const EventVideoPlayer(this.event, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
EventVideoPlayerState createState() => EventVideoPlayerState();
|
EventVideoPlayerState createState() => EventVideoPlayerState();
|
||||||
|
|
|
@ -44,8 +44,8 @@ class InputBar extends StatelessWidget {
|
||||||
this.autofocus,
|
this.autofocus,
|
||||||
this.textInputAction,
|
this.textInputAction,
|
||||||
this.readOnly = false,
|
this.readOnly = false,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
List<Map<String, String?>> getSuggestions(String text) {
|
List<Map<String, String?>> getSuggestions(String text) {
|
||||||
if (controller!.selection.baseOffset !=
|
if (controller!.selection.baseOffset !=
|
||||||
|
|
|
@ -15,7 +15,7 @@ import 'package:fluffychat/utils/url_launcher.dart';
|
||||||
class PinnedEvents extends StatelessWidget {
|
class PinnedEvents extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
|
|
||||||
const PinnedEvents(this.controller, {Key? key}) : super(key: key);
|
const PinnedEvents(this.controller, {super.key});
|
||||||
|
|
||||||
Future<void> _displayPinnedEventsDialog(
|
Future<void> _displayPinnedEventsDialog(
|
||||||
BuildContext context,
|
BuildContext context,
|
||||||
|
|
|
@ -11,7 +11,7 @@ import '../../config/themes.dart';
|
||||||
class ReactionsPicker extends StatelessWidget {
|
class ReactionsPicker extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
|
|
||||||
const ReactionsPicker(this.controller, {Key? key}) : super(key: key);
|
const ReactionsPicker(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -15,8 +15,8 @@ import 'events/audio_player.dart';
|
||||||
class RecordingDialog extends StatefulWidget {
|
class RecordingDialog extends StatefulWidget {
|
||||||
static const String recordingFileType = 'm4a';
|
static const String recordingFileType = 'm4a';
|
||||||
const RecordingDialog({
|
const RecordingDialog({
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
RecordingDialogState createState() => RecordingDialogState();
|
RecordingDialogState createState() => RecordingDialogState();
|
||||||
|
|
|
@ -10,7 +10,7 @@ import 'events/reply_content.dart';
|
||||||
|
|
||||||
class ReplyDisplay extends StatelessWidget {
|
class ReplyDisplay extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const ReplyDisplay(this.controller, {Key? key}) : super(key: key);
|
const ReplyDisplay(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class SeenByRow extends StatelessWidget {
|
class SeenByRow extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const SeenByRow(this.controller, {Key? key}) : super(key: key);
|
const SeenByRow(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -38,14 +38,13 @@ class SeenByRow extends StatelessWidget {
|
||||||
? seenByUsers.sublist(0, maxAvatars)
|
? seenByUsers.sublist(0, maxAvatars)
|
||||||
: seenByUsers)
|
: seenByUsers)
|
||||||
.map(
|
.map(
|
||||||
(user) => Avatar(
|
(user) => Avatar(
|
||||||
mxContent: user.avatarUrl,
|
mxContent: user.avatarUrl,
|
||||||
name: user.calcDisplayname(),
|
name: user.calcDisplayname(),
|
||||||
size: 16,
|
size: 16,
|
||||||
fontSize: 9,
|
fontSize: 9,
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
.toList(),
|
|
||||||
if (seenByUsers.length > maxAvatars)
|
if (seenByUsers.length > maxAvatars)
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: 16,
|
width: 16,
|
||||||
|
|
|
@ -15,8 +15,8 @@ class SendFileDialog extends StatefulWidget {
|
||||||
const SendFileDialog({
|
const SendFileDialog({
|
||||||
required this.room,
|
required this.room,
|
||||||
required this.files,
|
required this.files,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SendFileDialogState createState() => SendFileDialogState();
|
SendFileDialogState createState() => SendFileDialogState();
|
||||||
|
|
|
@ -16,8 +16,8 @@ class SendLocationDialog extends StatefulWidget {
|
||||||
|
|
||||||
const SendLocationDialog({
|
const SendLocationDialog({
|
||||||
required this.room,
|
required this.room,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SendLocationDialogState createState() => SendLocationDialogState();
|
SendLocationDialogState createState() => SendLocationDialogState();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'events/image_bubble.dart';
|
||||||
class StickerPickerDialog extends StatefulWidget {
|
class StickerPickerDialog extends StatefulWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
||||||
const StickerPickerDialog({required this.room, Key? key}) : super(key: key);
|
const StickerPickerDialog({required this.room, super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
StickerPickerDialogState createState() => StickerPickerDialogState();
|
StickerPickerDialogState createState() => StickerPickerDialogState();
|
||||||
|
|
|
@ -7,7 +7,7 @@ import 'chat.dart';
|
||||||
|
|
||||||
class TombstoneDisplay extends StatelessWidget {
|
class TombstoneDisplay extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const TombstoneDisplay(this.controller, {Key? key}) : super(key: key);
|
const TombstoneDisplay(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class TypingIndicators extends StatelessWidget {
|
class TypingIndicators extends StatelessWidget {
|
||||||
final ChatController controller;
|
final ChatController controller;
|
||||||
const TypingIndicators(this.controller, {Key? key}) : super(key: key);
|
const TypingIndicators(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -24,9 +24,9 @@ class ChatDetails extends StatefulWidget {
|
||||||
final String roomId;
|
final String roomId;
|
||||||
|
|
||||||
const ChatDetails({
|
const ChatDetails({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.roomId,
|
required this.roomId,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatDetailsController createState() => ChatDetailsController();
|
ChatDetailsController createState() => ChatDetailsController();
|
||||||
|
@ -109,8 +109,7 @@ class ChatDetailsController extends State<ChatDetails> {
|
||||||
if (adminMode)
|
if (adminMode)
|
||||||
AlertDialogAction(label: L10n.of(context)!.create, key: 'new'),
|
AlertDialogAction(label: L10n.of(context)!.create, key: 'new'),
|
||||||
...aliases.result!
|
...aliases.result!
|
||||||
.map((alias) => AlertDialogAction(key: alias, label: alias))
|
.map((alias) => AlertDialogAction(key: alias, label: alias)),
|
||||||
.toList(),
|
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
if (select == null) return;
|
if (select == null) return;
|
||||||
|
|
|
@ -19,7 +19,7 @@ import '../../utils/url_launcher.dart';
|
||||||
class ChatDetailsView extends StatelessWidget {
|
class ChatDetailsView extends StatelessWidget {
|
||||||
final ChatDetailsController controller;
|
final ChatDetailsController controller;
|
||||||
|
|
||||||
const ChatDetailsView(this.controller, {Key? key}) : super(key: key);
|
const ChatDetailsView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import '../user_bottom_sheet/user_bottom_sheet.dart';
|
||||||
class ParticipantListItem extends StatelessWidget {
|
class ParticipantListItem extends StatelessWidget {
|
||||||
final User user;
|
final User user;
|
||||||
|
|
||||||
const ParticipantListItem(this.user, {Key? key}) : super(key: key);
|
const ParticipantListItem(this.user, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
import '../key_verification/key_verification_dialog.dart';
|
import '../key_verification/key_verification_dialog.dart';
|
||||||
|
|
||||||
class ChatEncryptionSettings extends StatefulWidget {
|
class ChatEncryptionSettings extends StatefulWidget {
|
||||||
const ChatEncryptionSettings({Key? key}) : super(key: key);
|
const ChatEncryptionSettings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatEncryptionSettingsController createState() =>
|
ChatEncryptionSettingsController createState() =>
|
||||||
|
|
|
@ -14,8 +14,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
|
||||||
class ChatEncryptionSettingsView extends StatelessWidget {
|
class ChatEncryptionSettingsView extends StatelessWidget {
|
||||||
final ChatEncryptionSettingsController controller;
|
final ChatEncryptionSettingsController controller;
|
||||||
|
|
||||||
const ChatEncryptionSettingsView(this.controller, {Key? key})
|
const ChatEncryptionSettingsView(this.controller, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -61,10 +61,10 @@ class ChatList extends StatefulWidget {
|
||||||
final String? activeChat;
|
final String? activeChat;
|
||||||
|
|
||||||
const ChatList({
|
const ChatList({
|
||||||
Key? key,
|
super.key,
|
||||||
this.displayNavigationRail = false,
|
this.displayNavigationRail = false,
|
||||||
required this.activeChat,
|
required this.activeChat,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatListController createState() => ChatListController();
|
ChatListController createState() => ChatListController();
|
||||||
|
|
|
@ -25,7 +25,7 @@ import 'chat_list_header.dart';
|
||||||
class ChatListViewBody extends StatelessWidget {
|
class ChatListViewBody extends StatelessWidget {
|
||||||
final ChatListController controller;
|
final ChatListController controller;
|
||||||
|
|
||||||
const ChatListViewBody(this.controller, {Key? key}) : super(key: key);
|
const ChatListViewBody(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -313,8 +313,7 @@ class _SearchItem extends StatelessWidget {
|
||||||
required this.title,
|
required this.title,
|
||||||
this.avatar,
|
this.avatar,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
Key? key,
|
});
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) => InkWell(
|
Widget build(BuildContext context) => InkWell(
|
||||||
|
|
|
@ -10,7 +10,7 @@ import '../../widgets/matrix.dart';
|
||||||
class ChatListHeader extends StatelessWidget implements PreferredSizeWidget {
|
class ChatListHeader extends StatelessWidget implements PreferredSizeWidget {
|
||||||
final ChatListController controller;
|
final ChatListController controller;
|
||||||
|
|
||||||
const ChatListHeader({Key? key, required this.controller}) : super(key: key);
|
const ChatListHeader({super.key, required this.controller});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -30,8 +30,8 @@ class ChatListItem extends StatelessWidget {
|
||||||
this.selected = false,
|
this.selected = false,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
this.onLongPress,
|
this.onLongPress,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
void clickAction(BuildContext context) async {
|
void clickAction(BuildContext context) async {
|
||||||
if (onTap != null) return onTap!();
|
if (onTap != null) return onTap!();
|
||||||
|
|
|
@ -20,7 +20,7 @@ import 'start_chat_fab.dart';
|
||||||
class ChatListView extends StatelessWidget {
|
class ChatListView extends StatelessWidget {
|
||||||
final ChatListController controller;
|
final ChatListController controller;
|
||||||
|
|
||||||
const ChatListView(this.controller, {Key? key}) : super(key: key);
|
const ChatListView(this.controller, {super.key});
|
||||||
|
|
||||||
List<NavigationDestination> getNavigationDestinations(BuildContext context) {
|
List<NavigationDestination> getNavigationDestinations(BuildContext context) {
|
||||||
final badgePosition = BadgePosition.topEnd(top: -12, end: -8);
|
final badgePosition = BadgePosition.topEnd(top: -12, end: -8);
|
||||||
|
|
|
@ -15,7 +15,7 @@ import 'chat_list.dart';
|
||||||
class ClientChooserButton extends StatelessWidget {
|
class ClientChooserButton extends StatelessWidget {
|
||||||
final ChatListController controller;
|
final ChatListController controller;
|
||||||
|
|
||||||
const ClientChooserButton(this.controller, {Key? key}) : super(key: key);
|
const ClientChooserButton(this.controller, {super.key});
|
||||||
|
|
||||||
List<PopupMenuEntry<Object>> _bundleMenuItems(BuildContext context) {
|
List<PopupMenuEntry<Object>> _bundleMenuItems(BuildContext context) {
|
||||||
final matrix = Matrix.of(context);
|
final matrix = Matrix.of(context);
|
||||||
|
@ -112,48 +112,45 @@ class ClientChooserButton extends StatelessWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
...matrix.accountBundles[bundle]!
|
...matrix.accountBundles[bundle]!.map(
|
||||||
.map(
|
(client) => PopupMenuItem(
|
||||||
(client) => PopupMenuItem(
|
value: client,
|
||||||
value: client,
|
child: FutureBuilder<Profile?>(
|
||||||
child: FutureBuilder<Profile?>(
|
// analyzer does not understand this type cast for error
|
||||||
// analyzer does not understand this type cast for error
|
// handling
|
||||||
// handling
|
//
|
||||||
//
|
// ignore: unnecessary_cast
|
||||||
// ignore: unnecessary_cast
|
future: (client!.fetchOwnProfile() as Future<Profile?>)
|
||||||
future: (client!.fetchOwnProfile() as Future<Profile?>)
|
.onError((e, s) => null),
|
||||||
.onError((e, s) => null),
|
builder: (context, snapshot) => Row(
|
||||||
builder: (context, snapshot) => Row(
|
children: [
|
||||||
children: [
|
Avatar(
|
||||||
Avatar(
|
mxContent: snapshot.data?.avatarUrl,
|
||||||
mxContent: snapshot.data?.avatarUrl,
|
name:
|
||||||
name: snapshot.data?.displayName ??
|
snapshot.data?.displayName ?? client.userID!.localpart,
|
||||||
client.userID!.localpart,
|
size: 32,
|
||||||
size: 32,
|
fontSize: 12,
|
||||||
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,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
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(
|
PopupMenuItem(
|
||||||
value: SettingsAction.addAccount,
|
value: SettingsAction.addAccount,
|
||||||
|
|
|
@ -16,8 +16,8 @@ class NaviRailItem extends StatefulWidget {
|
||||||
required this.onTap,
|
required this.onTap,
|
||||||
required this.icon,
|
required this.icon,
|
||||||
this.selectedIcon,
|
this.selectedIcon,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<NaviRailItem> createState() => _NaviRailItemState();
|
State<NaviRailItem> createState() => _NaviRailItemState();
|
||||||
|
|
|
@ -13,8 +13,8 @@ class SearchTitle extends StatelessWidget {
|
||||||
this.trailing,
|
this.trailing,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
this.color,
|
this.color,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) => Material(
|
Widget build(BuildContext context) => Material(
|
||||||
|
|
|
@ -21,9 +21,9 @@ class SpaceView extends StatefulWidget {
|
||||||
final ScrollController scrollController;
|
final ScrollController scrollController;
|
||||||
const SpaceView(
|
const SpaceView(
|
||||||
this.controller, {
|
this.controller, {
|
||||||
Key? key,
|
super.key,
|
||||||
required this.scrollController,
|
required this.scrollController,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<SpaceView> createState() => _SpaceViewState();
|
State<SpaceView> createState() => _SpaceViewState();
|
||||||
|
|
|
@ -12,11 +12,11 @@ class StartChatFloatingActionButton extends StatelessWidget {
|
||||||
final bool roomsIsEmpty;
|
final bool roomsIsEmpty;
|
||||||
|
|
||||||
const StartChatFloatingActionButton({
|
const StartChatFloatingActionButton({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.activeFilter,
|
required this.activeFilter,
|
||||||
required this.scrolledToTop,
|
required this.scrolledToTop,
|
||||||
required this.roomsIsEmpty,
|
required this.roomsIsEmpty,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
void _onPressed(BuildContext context) {
|
void _onPressed(BuildContext context) {
|
||||||
switch (activeFilter) {
|
switch (activeFilter) {
|
||||||
|
|
|
@ -23,7 +23,7 @@ enum ContextualRoomAction {
|
||||||
class StoriesHeader extends StatelessWidget {
|
class StoriesHeader extends StatelessWidget {
|
||||||
final String filter;
|
final String filter;
|
||||||
|
|
||||||
const StoriesHeader({required this.filter, Key? key}) : super(key: key);
|
const StoriesHeader({required this.filter, super.key});
|
||||||
|
|
||||||
void _addToStoryAction(BuildContext context) =>
|
void _addToStoryAction(BuildContext context) =>
|
||||||
context.go('/rooms/stories/create');
|
context.go('/rooms/stories/create');
|
||||||
|
@ -186,8 +186,7 @@ class _StoryButton extends StatefulWidget {
|
||||||
this.hasPosts = true,
|
this.hasPosts = true,
|
||||||
this.unread = false,
|
this.unread = false,
|
||||||
this.onLongPressed,
|
this.onLongPressed,
|
||||||
Key? key,
|
});
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<_StoryButton> createState() => _StoryButtonState();
|
State<_StoryButton> createState() => _StoryButtonState();
|
||||||
|
|
|
@ -13,7 +13,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
import 'package:fluffychat/widgets/permission_slider_dialog.dart';
|
import 'package:fluffychat/widgets/permission_slider_dialog.dart';
|
||||||
|
|
||||||
class ChatPermissionsSettings extends StatefulWidget {
|
class ChatPermissionsSettings extends StatefulWidget {
|
||||||
const ChatPermissionsSettings({Key? key}) : super(key: key);
|
const ChatPermissionsSettings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatPermissionsSettingsController createState() =>
|
ChatPermissionsSettingsController createState() =>
|
||||||
|
|
|
@ -11,8 +11,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
class ChatPermissionsSettingsView extends StatelessWidget {
|
class ChatPermissionsSettingsView extends StatelessWidget {
|
||||||
final ChatPermissionsSettingsController controller;
|
final ChatPermissionsSettingsController controller;
|
||||||
|
|
||||||
const ChatPermissionsSettingsView(this.controller, {Key? key})
|
const ChatPermissionsSettingsView(this.controller, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -10,12 +10,12 @@ class PermissionsListTile extends StatelessWidget {
|
||||||
final void Function()? onTap;
|
final void Function()? onTap;
|
||||||
|
|
||||||
const PermissionsListTile({
|
const PermissionsListTile({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.permissionKey,
|
required this.permissionKey,
|
||||||
required this.permission,
|
required this.permission,
|
||||||
this.category,
|
this.category,
|
||||||
this.onTap,
|
this.onTap,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
String getLocalizedPowerLevelString(BuildContext context) {
|
String getLocalizedPowerLevelString(BuildContext context) {
|
||||||
if (category == null) {
|
if (category == null) {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||||
import '../../widgets/matrix.dart';
|
import '../../widgets/matrix.dart';
|
||||||
|
|
||||||
class DevicesSettings extends StatefulWidget {
|
class DevicesSettings extends StatefulWidget {
|
||||||
const DevicesSettings({Key? key}) : super(key: key);
|
const DevicesSettings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
DevicesSettingsController createState() => DevicesSettingsController();
|
DevicesSettingsController createState() => DevicesSettingsController();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'user_device_list_item.dart';
|
||||||
class DevicesSettingsView extends StatelessWidget {
|
class DevicesSettingsView extends StatelessWidget {
|
||||||
final DevicesSettingsController controller;
|
final DevicesSettingsController controller;
|
||||||
|
|
||||||
const DevicesSettingsView(this.controller, {Key? key}) : super(key: key);
|
const DevicesSettingsView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -31,8 +31,8 @@ class UserDeviceListItem extends StatelessWidget {
|
||||||
required this.verify,
|
required this.verify,
|
||||||
required this.block,
|
required this.block,
|
||||||
required this.unblock,
|
required this.unblock,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -38,10 +38,9 @@ import 'pip/pip_view.dart';
|
||||||
class _StreamView extends StatelessWidget {
|
class _StreamView extends StatelessWidget {
|
||||||
const _StreamView(
|
const _StreamView(
|
||||||
this.wrappedStream, {
|
this.wrappedStream, {
|
||||||
Key? key,
|
|
||||||
this.mainView = false,
|
this.mainView = false,
|
||||||
required this.matrixClient,
|
required this.matrixClient,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
final WrappedMediaStream wrappedStream;
|
final WrappedMediaStream wrappedStream;
|
||||||
final Client matrixClient;
|
final Client matrixClient;
|
||||||
|
@ -128,8 +127,8 @@ class Calling extends StatefulWidget {
|
||||||
required this.client,
|
required this.client,
|
||||||
required this.callId,
|
required this.callId,
|
||||||
this.onClear,
|
this.onClear,
|
||||||
Key? key,
|
super.key,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
MyCallingPage createState() => MyCallingPage();
|
MyCallingPage createState() => MyCallingPage();
|
||||||
|
|
|
@ -15,13 +15,13 @@ class PIPView extends StatefulWidget {
|
||||||
) builder;
|
) builder;
|
||||||
|
|
||||||
const PIPView({
|
const PIPView({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.builder,
|
required this.builder,
|
||||||
this.initialCorner = PIPViewCorner.topRight,
|
this.initialCorner = PIPViewCorner.topRight,
|
||||||
this.floatingWidth,
|
this.floatingWidth,
|
||||||
this.floatingHeight,
|
this.floatingHeight,
|
||||||
this.avoidKeyboard = true,
|
this.avoidKeyboard = true,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
PIPViewState createState() => PIPViewState();
|
PIPViewState createState() => PIPViewState();
|
||||||
|
|
|
@ -11,8 +11,7 @@ import 'homeserver_picker.dart';
|
||||||
class HomeserverAppBar extends StatelessWidget {
|
class HomeserverAppBar extends StatelessWidget {
|
||||||
final HomeserverPickerController controller;
|
final HomeserverPickerController controller;
|
||||||
|
|
||||||
const HomeserverAppBar({Key? key, required this.controller})
|
const HomeserverAppBar({super.key, required this.controller});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -5,8 +5,7 @@ import 'package:url_launcher/url_launcher_string.dart';
|
||||||
|
|
||||||
class HomeserverBottomSheet extends StatelessWidget {
|
class HomeserverBottomSheet extends StatelessWidget {
|
||||||
final HomeserverBenchmarkResult homeserver;
|
final HomeserverBenchmarkResult homeserver;
|
||||||
const HomeserverBottomSheet({required this.homeserver, Key? key})
|
const HomeserverBottomSheet({required this.homeserver, super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ import 'package:fluffychat/utils/tor_stub.dart'
|
||||||
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart';
|
||||||
|
|
||||||
class HomeserverPicker extends StatefulWidget {
|
class HomeserverPicker extends StatefulWidget {
|
||||||
const HomeserverPicker({Key? key}) : super(key: key);
|
const HomeserverPicker({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
HomeserverPickerController createState() => HomeserverPickerController();
|
HomeserverPickerController createState() => HomeserverPickerController();
|
||||||
|
|
|
@ -13,7 +13,7 @@ import 'homeserver_picker.dart';
|
||||||
class HomeserverPickerView extends StatelessWidget {
|
class HomeserverPickerView extends StatelessWidget {
|
||||||
final HomeserverPickerController controller;
|
final HomeserverPickerController controller;
|
||||||
|
|
||||||
const HomeserverPickerView(this.controller, {Key? key}) : super(key: key);
|
const HomeserverPickerView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -172,8 +172,7 @@ class _LoginButton extends StatelessWidget {
|
||||||
required this.icon,
|
required this.icon,
|
||||||
required this.label,
|
required this.label,
|
||||||
required this.onPressed,
|
required this.onPressed,
|
||||||
Key? key,
|
});
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ import '../../utils/matrix_sdk_extensions/event_extension.dart';
|
||||||
class ImageViewer extends StatefulWidget {
|
class ImageViewer extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
|
|
||||||
const ImageViewer(this.event, {Key? key}) : super(key: key);
|
const ImageViewer(this.event, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ImageViewerController createState() => ImageViewerController();
|
ImageViewerController createState() => ImageViewerController();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'image_viewer.dart';
|
||||||
class ImageViewerView extends StatelessWidget {
|
class ImageViewerView extends StatelessWidget {
|
||||||
final ImageViewerController controller;
|
final ImageViewerController controller;
|
||||||
|
|
||||||
const ImageViewerView(this.controller, {Key? key}) : super(key: key);
|
const ImageViewerView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -15,9 +15,9 @@ import '../../utils/localized_exception_extension.dart';
|
||||||
class InvitationSelection extends StatefulWidget {
|
class InvitationSelection extends StatefulWidget {
|
||||||
final String roomId;
|
final String roomId;
|
||||||
const InvitationSelection({
|
const InvitationSelection({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.roomId,
|
required this.roomId,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
InvitationSelectionController createState() =>
|
InvitationSelectionController createState() =>
|
||||||
|
|
|
@ -11,7 +11,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
class InvitationSelectionView extends StatelessWidget {
|
class InvitationSelectionView extends StatelessWidget {
|
||||||
final InvitationSelectionController controller;
|
final InvitationSelectionController controller;
|
||||||
|
|
||||||
const InvitationSelectionView(this.controller, {Key? key}) : super(key: key);
|
const InvitationSelectionView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -142,13 +142,12 @@ class _InviteContactListTile extends StatelessWidget {
|
||||||
final void Function() onTap;
|
final void Function() onTap;
|
||||||
|
|
||||||
const _InviteContactListTile({
|
const _InviteContactListTile({
|
||||||
Key? key,
|
|
||||||
required this.userId,
|
required this.userId,
|
||||||
required this.displayname,
|
required this.displayname,
|
||||||
required this.avatarUrl,
|
required this.avatarUrl,
|
||||||
required this.isMember,
|
required this.isMember,
|
||||||
required this.onTap,
|
required this.onTap,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -23,9 +23,9 @@ class KeyVerificationDialog extends StatefulWidget {
|
||||||
final KeyVerification request;
|
final KeyVerification request;
|
||||||
|
|
||||||
const KeyVerificationDialog({
|
const KeyVerificationDialog({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.request,
|
required this.request,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
KeyVerificationPageState createState() => KeyVerificationPageState();
|
KeyVerificationPageState createState() => KeyVerificationPageState();
|
||||||
|
|
|
@ -13,7 +13,7 @@ import '../../utils/platform_infos.dart';
|
||||||
import 'login_view.dart';
|
import 'login_view.dart';
|
||||||
|
|
||||||
class Login extends StatefulWidget {
|
class Login extends StatefulWidget {
|
||||||
const Login({Key? key}) : super(key: key);
|
const Login({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
LoginController createState() => LoginController();
|
LoginController createState() => LoginController();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'login.dart';
|
||||||
class LoginView extends StatelessWidget {
|
class LoginView extends StatelessWidget {
|
||||||
final LoginController controller;
|
final LoginController controller;
|
||||||
|
|
||||||
const LoginView(this.controller, {Key? key}) : super(key: key);
|
const LoginView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'package:fluffychat/pages/new_group/new_group_view.dart';
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class NewGroup extends StatefulWidget {
|
class NewGroup extends StatefulWidget {
|
||||||
const NewGroup({Key? key}) : super(key: key);
|
const NewGroup({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
NewGroupController createState() => NewGroupController();
|
NewGroupController createState() => NewGroupController();
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'package:fluffychat/widgets/layouts/max_width_body.dart';
|
||||||
class NewGroupView extends StatelessWidget {
|
class NewGroupView extends StatelessWidget {
|
||||||
final NewGroupController controller;
|
final NewGroupController controller;
|
||||||
|
|
||||||
const NewGroupView(this.controller, {Key? key}) : super(key: key);
|
const NewGroupView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -14,7 +14,7 @@ import 'package:fluffychat/utils/url_launcher.dart';
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class NewPrivateChat extends StatefulWidget {
|
class NewPrivateChat extends StatefulWidget {
|
||||||
const NewPrivateChat({Key? key}) : super(key: key);
|
const NewPrivateChat({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
NewPrivateChatController createState() => NewPrivateChatController();
|
NewPrivateChatController createState() => NewPrivateChatController();
|
||||||
|
|
|
@ -14,7 +14,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
class NewPrivateChatView extends StatelessWidget {
|
class NewPrivateChatView extends StatelessWidget {
|
||||||
final NewPrivateChatController controller;
|
final NewPrivateChatController controller;
|
||||||
|
|
||||||
const NewPrivateChatView(this.controller, {Key? key}) : super(key: key);
|
const NewPrivateChatView(this.controller, {super.key});
|
||||||
|
|
||||||
static const double _qrCodePadding = 8;
|
static const double _qrCodePadding = 8;
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'package:qr_code_scanner/qr_code_scanner.dart';
|
||||||
import 'package:fluffychat/utils/url_launcher.dart';
|
import 'package:fluffychat/utils/url_launcher.dart';
|
||||||
|
|
||||||
class QrScannerModal extends StatefulWidget {
|
class QrScannerModal extends StatefulWidget {
|
||||||
const QrScannerModal({Key? key}) : super(key: key);
|
const QrScannerModal({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
QrScannerModalState createState() => QrScannerModalState();
|
QrScannerModalState createState() => QrScannerModalState();
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'package:fluffychat/pages/new_space/new_space_view.dart';
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
class NewSpace extends StatefulWidget {
|
class NewSpace extends StatefulWidget {
|
||||||
const NewSpace({Key? key}) : super(key: key);
|
const NewSpace({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
NewSpaceController createState() => NewSpaceController();
|
NewSpaceController createState() => NewSpaceController();
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'new_space.dart';
|
||||||
class NewSpaceView extends StatelessWidget {
|
class NewSpaceView extends StatelessWidget {
|
||||||
final NewSpaceController controller;
|
final NewSpaceController controller;
|
||||||
|
|
||||||
const NewSpaceView(this.controller, {Key? key}) : super(key: key);
|
const NewSpaceView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -17,7 +17,7 @@ import '../bootstrap/bootstrap_dialog.dart';
|
||||||
import 'settings_view.dart';
|
import 'settings_view.dart';
|
||||||
|
|
||||||
class Settings extends StatefulWidget {
|
class Settings extends StatefulWidget {
|
||||||
const Settings({Key? key}) : super(key: key);
|
const Settings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SettingsController createState() => SettingsController();
|
SettingsController createState() => SettingsController();
|
||||||
|
|
|
@ -15,7 +15,7 @@ import 'settings.dart';
|
||||||
class SettingsView extends StatelessWidget {
|
class SettingsView extends StatelessWidget {
|
||||||
final SettingsController controller;
|
final SettingsController controller;
|
||||||
|
|
||||||
const SettingsView(this.controller, {Key? key}) : super(key: key);
|
const SettingsView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -11,7 +11,7 @@ import 'settings_3pid_view.dart';
|
||||||
class Settings3Pid extends StatefulWidget {
|
class Settings3Pid extends StatefulWidget {
|
||||||
static int sendAttempt = 0;
|
static int sendAttempt = 0;
|
||||||
|
|
||||||
const Settings3Pid({Key? key}) : super(key: key);
|
const Settings3Pid({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Settings3PidController createState() => Settings3PidController();
|
Settings3PidController createState() => Settings3PidController();
|
||||||
|
|
|
@ -10,7 +10,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
class Settings3PidView extends StatelessWidget {
|
class Settings3PidView extends StatelessWidget {
|
||||||
final Settings3PidController controller;
|
final Settings3PidController controller;
|
||||||
|
|
||||||
const Settings3PidView(this.controller, {Key? key}) : super(key: key);
|
const Settings3PidView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'settings_chat_view.dart';
|
import 'settings_chat_view.dart';
|
||||||
|
|
||||||
class SettingsChat extends StatefulWidget {
|
class SettingsChat extends StatefulWidget {
|
||||||
const SettingsChat({Key? key}) : super(key: key);
|
const SettingsChat({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SettingsChatController createState() => SettingsChatController();
|
SettingsChatController createState() => SettingsChatController();
|
||||||
|
|
|
@ -14,7 +14,7 @@ import 'settings_chat.dart';
|
||||||
|
|
||||||
class SettingsChatView extends StatelessWidget {
|
class SettingsChatView extends StatelessWidget {
|
||||||
final SettingsChatController controller;
|
final SettingsChatController controller;
|
||||||
const SettingsChatView(this.controller, {Key? key}) : super(key: key);
|
const SettingsChatView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -204,11 +204,11 @@ class _EmojiImportPreview extends StatefulWidget {
|
||||||
final VoidCallback onRemove;
|
final VoidCallback onRemove;
|
||||||
|
|
||||||
const _EmojiImportPreview({
|
const _EmojiImportPreview({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.entry,
|
required this.entry,
|
||||||
required this.onNameChanged,
|
required this.onNameChanged,
|
||||||
required this.onRemove,
|
required this.onRemove,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<_EmojiImportPreview> createState() => _EmojiImportPreviewState();
|
State<_EmojiImportPreview> createState() => _EmojiImportPreviewState();
|
||||||
|
|
|
@ -23,7 +23,7 @@ import 'package:archive/archive.dart'
|
||||||
if (dart.library.io) 'package:archive/archive_io.dart';
|
if (dart.library.io) 'package:archive/archive_io.dart';
|
||||||
|
|
||||||
class EmotesSettings extends StatefulWidget {
|
class EmotesSettings extends StatefulWidget {
|
||||||
const EmotesSettings({Key? key}) : super(key: key);
|
const EmotesSettings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
EmotesSettingsController createState() => EmotesSettingsController();
|
EmotesSettingsController createState() => EmotesSettingsController();
|
||||||
|
|
|
@ -15,7 +15,7 @@ enum PopupMenuEmojiActions { import, export }
|
||||||
class EmotesSettingsView extends StatelessWidget {
|
class EmotesSettingsView extends StatelessWidget {
|
||||||
final EmotesSettingsController controller;
|
final EmotesSettingsController controller;
|
||||||
|
|
||||||
const EmotesSettingsView(this.controller, {Key? key}) : super(key: key);
|
const EmotesSettingsView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import 'settings_ignore_list_view.dart';
|
||||||
class SettingsIgnoreList extends StatefulWidget {
|
class SettingsIgnoreList extends StatefulWidget {
|
||||||
final String? initialUserId;
|
final String? initialUserId;
|
||||||
|
|
||||||
const SettingsIgnoreList({Key? key, this.initialUserId}) : super(key: key);
|
const SettingsIgnoreList({super.key, this.initialUserId});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SettingsIgnoreListController createState() => SettingsIgnoreListController();
|
SettingsIgnoreListController createState() => SettingsIgnoreListController();
|
||||||
|
|
|
@ -12,7 +12,7 @@ import 'settings_ignore_list.dart';
|
||||||
class SettingsIgnoreListView extends StatelessWidget {
|
class SettingsIgnoreListView extends StatelessWidget {
|
||||||
final SettingsIgnoreListController controller;
|
final SettingsIgnoreListController controller;
|
||||||
|
|
||||||
const SettingsIgnoreListView(this.controller, {Key? key}) : super(key: key);
|
const SettingsIgnoreListView(this.controller, {super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -5,7 +5,7 @@ import 'package:go_router/go_router.dart';
|
||||||
import 'settings_multiple_emotes_view.dart';
|
import 'settings_multiple_emotes_view.dart';
|
||||||
|
|
||||||
class MultipleEmotesSettings extends StatefulWidget {
|
class MultipleEmotesSettings extends StatefulWidget {
|
||||||
const MultipleEmotesSettings({Key? key}) : super(key: key);
|
const MultipleEmotesSettings({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
MultipleEmotesSettingsController createState() =>
|
MultipleEmotesSettingsController createState() =>
|
||||||
|
|
|
@ -10,8 +10,7 @@ import 'package:fluffychat/widgets/matrix.dart';
|
||||||
class MultipleEmotesSettingsView extends StatelessWidget {
|
class MultipleEmotesSettingsView extends StatelessWidget {
|
||||||
final MultipleEmotesSettingsController controller;
|
final MultipleEmotesSettingsController controller;
|
||||||
|
|
||||||
const MultipleEmotesSettingsView(this.controller, {Key? key})
|
const MultipleEmotesSettingsView(this.controller, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -54,7 +54,7 @@ class NotificationSettingsItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingsNotifications extends StatefulWidget {
|
class SettingsNotifications extends StatefulWidget {
|
||||||
const SettingsNotifications({Key? key}) : super(key: key);
|
const SettingsNotifications({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SettingsNotificationsController createState() =>
|
SettingsNotificationsController createState() =>
|
||||||
|
|
|
@ -12,8 +12,7 @@ import 'settings_notifications.dart';
|
||||||
class SettingsNotificationsView extends StatelessWidget {
|
class SettingsNotificationsView extends StatelessWidget {
|
||||||
final SettingsNotificationsController controller;
|
final SettingsNotificationsController controller;
|
||||||
|
|
||||||
const SettingsNotificationsView(this.controller, {Key? key})
|
const SettingsNotificationsView(this.controller, {super.key});
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -16,7 +16,7 @@ import '../bootstrap/bootstrap_dialog.dart';
|
||||||
import 'settings_security_view.dart';
|
import 'settings_security_view.dart';
|
||||||
|
|
||||||
class SettingsSecurity extends StatefulWidget {
|
class SettingsSecurity extends StatefulWidget {
|
||||||
const SettingsSecurity({Key? key}) : super(key: key);
|
const SettingsSecurity({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SettingsSecurityController createState() => SettingsSecurityController();
|
SettingsSecurityController createState() => SettingsSecurityController();
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue