Move to Flutter 3.47, use the improvements that come with this (#64)

Reviewed-on: #64
This commit is contained in:
Henry Hiles 2026-08-22 13:04:33 -04:00 committed by Henry Hiles
commit 077044ec19
157 changed files with 1366 additions and 1457 deletions

View file

@ -1,5 +1,5 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:flutter_hooks/flutter_hooks.dart";
import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:nexus/helpers/extensions/show_context_menu.dart";
@ -25,23 +25,15 @@ import "package:nexus/widgets/reaction_row.dart";
import "package:nexus/widgets/renderers/membership.dart";
import "package:nexus/widgets/renderers/generic_event.dart";
class EventRenderer extends HookConsumerWidget {
final Event event;
final bool textOnly;
final bool isGrouped;
final int? maxLines;
final VoidCallback? onTapReply;
final IList<PopupMenuEntry> Function(Event event)? getEventOptions;
const EventRenderer(
this.event, {
this.onTapReply,
this.textOnly = false,
this.isGrouped = false,
this.maxLines,
this.getEventOptions,
super.key,
});
class const EventRenderer(
final Event event, {
final bool textOnly = false,
final bool isGrouped = false,
final int? maxLines,
final VoidCallback? onTapReply,
final IList<PopupMenuEntry> Function(Event event)? getEventOptions,
super.key,
}) extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);
@ -202,9 +194,8 @@ class EventRenderer extends HookConsumerWidget {
onSecondaryTapUp: contextMenuCallback,
onLongPressStart: contextMenuCallback,
child: Padding(
padding: EdgeInsets.symmetric(
horizontal: 8,
).copyWith(top: isGrouped ? 0 : 8),
padding: EdgeInsets.symmetric(horizontal: 8)
.copyWith(top: isGrouped ? 0 : 8),
child: child,
),
),

View file

@ -1,10 +1,10 @@
import "package:flutter/material.dart";
class GenericEventRenderer extends StatelessWidget {
final IconData icon;
final List<Widget> children;
const GenericEventRenderer(this.icon, this.children, {super.key});
import "package:material_ui/material_ui.dart";
class const GenericEventRenderer(
final IconData icon,
final List<Widget> children, {
super.key,
}) extends StatelessWidget {
@override
Widget build(BuildContext context) => Padding(
padding: .symmetric(vertical: 4),

View file

@ -1,4 +1,4 @@
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:nexus/helpers/extensions/get_localpart.dart";
import "package:nexus/helpers/extensions/show_user_popover.dart";
import "package:nexus/helpers/extensions/string_to_color.dart";
@ -7,10 +7,8 @@ import "package:nexus/models/event.dart";
import "package:nexus/widgets/lazy_loading/message_displayname.dart";
import "package:nexus/widgets/renderers/generic_event.dart";
class MembershipRenderer extends StatelessWidget {
final Event event;
const MembershipRenderer(this.event, {super.key});
class const MembershipRenderer(final Event event, {super.key})
extends StatelessWidget {
@override
Widget build(BuildContext context) {
assert(

View file

@ -1,5 +1,5 @@
import "package:collection/collection.dart";
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:linkify/linkify.dart";
import "package:nexus/controllers/client_state.dart";
@ -21,21 +21,14 @@ import "package:nexus/widgets/event_preview.dart";
import "package:nexus/widgets/players/video.dart";
import "package:nexus/widgets/players/audio.dart";
class MessageRenderer extends ConsumerWidget {
final Event event;
final bool textOnly;
final bool isGrouped;
final int? maxLines;
final VoidCallback? onTapReply;
const MessageRenderer(
this.event, {
this.onTapReply,
this.textOnly = false,
this.isGrouped = false,
this.maxLines,
super.key,
});
class const MessageRenderer(
final Event event, {
final VoidCallback? onTapReply,
final bool textOnly = false,
final bool isGrouped = false,
final int? maxLines,
super.key,
}) extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);