Compare commits
4 changed files with 8 additions and 28 deletions
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
|
|
@ -10,7 +10,6 @@
|
|||
"msgtype",
|
||||
"muks",
|
||||
"prefs",
|
||||
"recents",
|
||||
"unban",
|
||||
"unifiedpush",
|
||||
"unredact",
|
||||
|
|
|
|||
|
|
@ -1,30 +1,17 @@
|
|||
import "package:collection/collection.dart";
|
||||
import "package:fast_immutable_collections/fast_immutable_collections.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:material_emoji_picker/material_emoji_picker.dart";
|
||||
import "package:nexus/controllers/account_data.dart";
|
||||
import "package:nexus/controllers/client.dart";
|
||||
import "package:nexus/models/account_data.dart";
|
||||
|
||||
class RecentEmojiController extends Notifier<IList<RecentEmoji>> {
|
||||
@override
|
||||
IList<RecentEmoji> build() {
|
||||
final Set<String> emoji = ref
|
||||
.watch(EmojiController.provider)
|
||||
.requireValue
|
||||
.map((element) => element.emojis)
|
||||
.flattened
|
||||
.map((e) => e.value)
|
||||
.toSet();
|
||||
|
||||
final IList<RecentEmoji> recents = ref.watch(
|
||||
AccountDataController.provider.select(
|
||||
(value) => value.recentEmoji.recentEmoji,
|
||||
),
|
||||
);
|
||||
|
||||
return .new(recents.where((recent) => emoji.contains(recent.emoji)));
|
||||
}
|
||||
IList<RecentEmoji> build() => ref.watch(
|
||||
AccountDataController.provider.select(
|
||||
(value) => value.recentEmoji.recentEmoji,
|
||||
),
|
||||
);
|
||||
|
||||
Future<void> add(String emoji) => ref
|
||||
.watch(ClientController.provider.notifier)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import "package:dynamic_color/dynamic_color.dart";
|
|||
import "package:flutter/foundation.dart";
|
||||
import "package:flutter/services.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:material_emoji_picker/material_emoji_picker.dart";
|
||||
import "package:media_kit/media_kit.dart";
|
||||
import "package:nexus/controllers/client_state.dart";
|
||||
import "package:nexus/controllers/gomuks_listener.dart";
|
||||
|
|
@ -155,7 +154,6 @@ class const App({super.key}) extends StatelessWidget {
|
|||
MemberListOpenedController.provider,
|
||||
KeyController.provider(KeyController.roomKey),
|
||||
KeyController.provider(KeyController.spaceKey),
|
||||
EmojiController.provider,
|
||||
]),
|
||||
),
|
||||
)) {
|
||||
|
|
|
|||
|
|
@ -13,20 +13,16 @@ class const EventPreview(final Event event, {super.key})
|
|||
padding: .symmetric(vertical: 4),
|
||||
child: Row(
|
||||
mainAxisSize: .min,
|
||||
spacing: 8,
|
||||
spacing: 10,
|
||||
children: [
|
||||
if (event.content is MessageContent) MessageAvatar(event, height: 36),
|
||||
if (event.content is MessageContent) MessageAvatar(event, height: 40),
|
||||
|
||||
Flexible(
|
||||
child: Column(
|
||||
mainAxisAlignment: .center,
|
||||
crossAxisAlignment: .start,
|
||||
children: [
|
||||
if (event.content is MessageContent)
|
||||
DefaultTextHeightBehavior(
|
||||
textHeightBehavior: .new(),
|
||||
child: MessageDisplayname(event),
|
||||
),
|
||||
if (event.content is MessageContent) MessageDisplayname(event),
|
||||
EventRenderer(
|
||||
event.rowId,
|
||||
roomId: event.roomId,
|
||||
|
|
|
|||
Loading…
Reference in a new issue