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,7 +1,8 @@
import "dart:io";
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:file_selector/file_selector.dart";
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:flutter/services.dart";
import "package:flutter_hooks/flutter_hooks.dart";
import "package:fluttertagger/fluttertagger.dart";
@ -17,28 +18,20 @@ import "package:nexus/widgets/composer/relation_preview.dart";
import "package:nexus/widgets/emoji_picker_button.dart";
import "package:nexus/main.dart";
class Composer extends HookConsumerWidget {
final String roomId;
final Event? relatedEvent;
final RelationType relationType;
final VoidCallback onDismiss;
final FocusNode? node;
final Future<void> Function(
class const Composer(
final String roomId, {
required final Event? relatedEvent,
required final RelationType relationType,
required final VoidCallback onDismiss,
required final Future<void> Function(
String text, {
required bool shouldMention,
required IList<Tag> tags,
})
onSend;
const Composer(
this.roomId, {
required this.relatedEvent,
required this.relationType,
required this.onDismiss,
required this.onSend,
this.node,
super.key,
});
onSend,
final FocusNode? node,
super.key,
}) extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final theme = Theme.of(context);
@ -143,9 +136,8 @@ class Composer extends HookConsumerWidget {
),
onTap: () async => ref
.watch(
AttachmentController.provider(
roomId,
).notifier,
AttachmentController.provider(roomId)
.notifier,
)
.add(
(await ref
@ -163,9 +155,8 @@ class Composer extends HookConsumerWidget {
),
onTap: () async => ref
.watch(
AttachmentController.provider(
roomId,
).notifier,
AttachmentController.provider(roomId)
.notifier,
)
.add(
(await ref
@ -179,9 +170,8 @@ class Composer extends HookConsumerWidget {
PopupMenuItem(
onTap: () async => ref
.watch(
AttachmentController.provider(
roomId,
).notifier,
AttachmentController.provider(roomId)
.notifier,
)
.add((await openFile())!)
.onError(showError),

View file

@ -1,4 +1,4 @@
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:nexus/controllers/members_by_status.dart";
import "package:nexus/controllers/rooms.dart";
@ -9,19 +9,14 @@ import "package:nexus/models/content/membership.dart";
import "package:nexus/widgets/avatar_or_hash.dart";
import "package:nexus/widgets/loading.dart";
class MentionOverlay extends ConsumerWidget {
final String? triggerCharacter;
final String query;
final String roomId;
final void Function({required String id, required String name}) addTag;
const MentionOverlay(
this.roomId, {
required this.query,
required this.addTag,
required this.triggerCharacter,
super.key,
});
class const MentionOverlay(
final String roomId, {
required final String query,
required final void Function({required String id, required String name})
addTag,
required final String? triggerCharacter,
super.key,
}) extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final rooms = ref.watch(RoomsController.provider);

View file

@ -1,25 +1,17 @@
import "package:flutter/material.dart";
import "package:material_ui/material_ui.dart";
import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:nexus/models/event.dart";
import "package:nexus/models/relation_type.dart";
import "package:nexus/widgets/event_preview.dart";
class RelationPreview extends ConsumerWidget {
final Event? relatedEvent;
final RelationType relationType;
final VoidCallback onDismiss;
final bool shouldMention;
final VoidCallback toggleShouldMention;
const RelationPreview(
this.relatedEvent, {
required this.relationType,
required this.onDismiss,
required this.shouldMention,
required this.toggleShouldMention,
super.key,
});
class const RelationPreview(
final Event? relatedEvent, {
required final RelationType relationType,
required final VoidCallback onDismiss,
required final bool shouldMention,
required final VoidCallback toggleShouldMention,
super.key,
}) extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
if (relatedEvent == null) return SizedBox.shrink();