improved tab & topic handling

This commit is contained in:
Fabian Freund
2024-08-28 16:00:39 +02:00
parent 95dd254484
commit 0a7e84236f
43 changed files with 2035 additions and 847 deletions
@@ -1,6 +1,7 @@
import 'dart:ui';
import 'package:lensai/features/topics/data/database/database.dart';
import 'package:lensai/features/topics/data/models/topic_data.dart';
import 'package:lensai/features/topics/data/providers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@@ -11,8 +12,9 @@ class TopicRepository extends _$TopicRepository {
late TabDatabase _db;
@override
void build() {
Stream<List<TopicDataWithCount>> build() {
_db = ref.watch(tabDatabaseProvider);
return _db.topicsWithCount().watch();
}
Future<void> addTopic({required String? name, required Color color}) {
@@ -31,18 +33,6 @@ class TopicRepository extends _$TopicRepository {
return _db.topicDao.deleteTopic(id);
}
Stream<List<TopicData>> watchTopics() {
return _db.topics().watch();
}
Stream<TopicData?> watchTopic(String? id) {
if (id != null) {
return _db.topicDao.getTopicData(id).watchSingleOrNull();
} else {
return Stream.value(null);
}
}
Future<Set<Color>> getDistinctColors() {
return _db.topicDao
.getDistinctColors()