filter shown recent emoji to valid emoji
This commit is contained in:
parent
294723fdfb
commit
a46d93dfc5
3 changed files with 21 additions and 5 deletions
|
|
@ -1,17 +1,30 @@
|
|||
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() => ref.watch(
|
||||
AccountDataController.provider.select(
|
||||
(value) => value.recentEmoji.recentEmoji,
|
||||
),
|
||||
);
|
||||
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)));
|
||||
}
|
||||
|
||||
Future<void> add(String emoji) => ref
|
||||
.watch(ClientController.provider.notifier)
|
||||
|
|
|
|||
Loading…
Reference in a new issue