Remove flutter chat #26

Manually merged
Henry-Hiles merged 108 commits from remove-flutter-chat into main 2026-05-22 15:26:28 -04:00
2 changed files with 18 additions and 11 deletions
Showing only changes of commit 8010c3467e - Show all commits

add video player, might need tweaking to get perfect

Henry Hiles 2026-05-19 16:37:18 -04:00
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -238,6 +238,11 @@ class RenderEvent extends ConsumerWidget {
:final info, :final info,
) => ) =>
VideoPlayer(url, info), VideoPlayer(url, info),
// TODO: Support audio
// FileMessageContent(
// :final info,
// ) =>
// VideoPlayer(url, info),
ImageMessageContent(:final info) => ExpandableImage( ImageMessageContent(:final info) => ExpandableImage(
url.toString(), url.toString(),
child: ClipRRect( child: ClipRRect(

View file

@ -1,10 +1,10 @@
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import "package:hooks_riverpod/hooks_riverpod.dart"; import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:nexus/models/info/video.dart"; import "package:nexus/models/info/video.dart";
// import "package:flutter_hooks/flutter_hooks.dart"; import "package:flutter_hooks/flutter_hooks.dart";
// import "package:media_kit/media_kit.dart"; import "package:media_kit/media_kit.dart";
// import "package:media_kit_video/media_kit_video.dart"; import "package:media_kit_video/media_kit_video.dart";
// import "package:nexus/helpers/extensions/get_headers.dart"; import "package:nexus/helpers/extensions/get_headers.dart";
class VideoPlayer extends HookConsumerWidget { class VideoPlayer extends HookConsumerWidget {
final VideoInfo? info; final VideoInfo? info;
@ -13,15 +13,17 @@ class VideoPlayer extends HookConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
// final player = useMemoized(Player.new); late final player = useMemoized(Player.new);
// final controller = useMemoized(() => VideoController(player), [player]); late final controller = useMemoized(() => VideoController(player), [
player,
]);
// useEffect(() { useEffect(() {
// player.open(Media(url.toString(), httpHeaders: ref.headers), play: false); player.open(Media(url.toString(), httpHeaders: ref.headers), play: false);
// return player.dispose; return player.dispose;
// }, []); }, []);
return Placeholder(); return SizedBox(height: 300, child: Video(controller: controller));
} }
} }