2a35fe5532
- Collapsible search in notes and tasks: magnifying glass in AppBar expands to a text field inline; close button resets the filter - Offline capture queue: failed quick-captures (NetworkException) are persisted to SharedPreferences and retried automatically on next successful submit or app start; badge shows pending count - App icon: book-with-sparkle logo from FabledAssistant SVG rendered at all Android densities with adaptive icon (indigo #6366f1 bg) - Dark mode subtitle fix: use colorScheme.onSurfaceVariant for note preview and conversation timestamp text - Remove swipe-to-delete (accidental deletions); long-press remains - Chat: SSE streaming reliability, polling fallback, title patching - Settings: theme toggle (system/light/dark) persisted to prefs - Notes: delete button in edit screen; body preview in list - Tasks: fix delete dialog context; description search support Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
765 B
Dart
20 lines
765 B
Dart
import '../api/chat_api.dart';
|
|
import '../models/conversation.dart';
|
|
import '../models/message.dart';
|
|
|
|
class ChatRepository {
|
|
final ChatApi _api;
|
|
const ChatRepository(this._api);
|
|
|
|
Future<List<Conversation>> getConversations() => _api.getConversations();
|
|
Future<Conversation> createConversation(String title) =>
|
|
_api.createConversation(title);
|
|
Future<void> deleteConversation(int id) => _api.deleteConversation(id);
|
|
Future<(Conversation, List<Message>)> getMessages(int conversationId) =>
|
|
_api.getMessages(conversationId);
|
|
Future<void> sendMessage(int conversationId, String content) =>
|
|
_api.sendMessage(conversationId, content);
|
|
Stream<String> streamGeneration(int conversationId) =>
|
|
_api.streamGeneration(conversationId);
|
|
}
|