feat(chat): догрузка сообщений

This commit is contained in:
torvalds
2026-06-22 22:03:56 +07:00
parent c945301350
commit ea5bf8cb9e
3 changed files with 211 additions and 16 deletions
+35
View File
@@ -0,0 +1,35 @@
import '../../backend/modules/messages.dart';
class CachedChatMessages {
final List<CachedMessage> messages;
final bool reachedStart;
const CachedChatMessages(this.messages, this.reachedStart);
}
class MessageSessionCache {
static final Map<String, CachedChatMessages> _store = {};
static String _key(int accountId, int chatId) => '$accountId:$chatId';
static CachedChatMessages? get(int accountId, int chatId) =>
_store[_key(accountId, chatId)];
static void save(
int accountId,
int chatId,
List<CachedMessage> messages, {
required bool reachedStart,
}) {
if (messages.isEmpty) return;
_store[_key(accountId, chatId)] = CachedChatMessages(
List<CachedMessage>.of(messages),
reachedStart,
);
}
static void remove(int accountId, int chatId) =>
_store.remove(_key(accountId, chatId));
static void clearAll() => _store.clear();
}