diff --git a/app/lib/features/bangs/data/database/definitions.drift.dart b/app/lib/features/bangs/data/database/definitions.drift.dart index 058e200c..9dd043bc 100644 --- a/app/lib/features/bangs/data/database/definitions.drift.dart +++ b/app/lib/features/bangs/data/database/definitions.drift.dart @@ -2226,6 +2226,12 @@ class BangDataView extends i0.ViewInfo i0.DriftSqlType.string, data['${effectivePrefix}url_template'], )!, + group: i3.BangTable.$convertergroup.fromSql( + attachedDatabase.typeMapping.read( + i0.DriftSqlType.int, + data['${effectivePrefix}group'], + )!, + ), category: attachedDatabase.typeMapping.read( i0.DriftSqlType.string, data['${effectivePrefix}category'], @@ -2362,6 +2368,7 @@ class DefinitionsDrift extends i6.ModularAccessor { domain: row.read('domain'), trigger: row.read('trigger'), urlTemplate: row.read('url_template'), + group: i3.BangTable.$convertergroup.fromSql(row.read('group')), category: row.readNullable('category'), subCategory: row.readNullable('sub_category'), format: i3.BangTable.$converterformat.fromSql( @@ -2384,6 +2391,7 @@ class DefinitionsDrift extends i6.ModularAccessor { domain: row.read('domain'), trigger: row.read('trigger'), urlTemplate: row.read('url_template'), + group: i3.BangTable.$convertergroup.fromSql(row.read('group')), category: row.readNullable('category'), subCategory: row.readNullable('sub_category'), format: i3.BangTable.$converterformat.fromSql( diff --git a/app/lib/features/bangs/data/models/bang_data.dart b/app/lib/features/bangs/data/models/bang_data.dart index 3fc64536..3829781c 100644 --- a/app/lib/features/bangs/data/models/bang_data.dart +++ b/app/lib/features/bangs/data/models/bang_data.dart @@ -25,7 +25,7 @@ import 'package:weblibre/features/geckoview/domain/entities/browser_icon.dart'; part 'bang_data.g.dart'; -@CopyWith() +@CopyWith(constructor: '_copyWith') class BangData extends Bang { final int frequency; final DateTime? lastUsed; @@ -36,6 +36,21 @@ class BangData extends Bang { BangGroup get group => super.group!; BangData({ + required super.websiteName, + required super.domain, + required super.trigger, + required super.urlTemplate, + required super.group, + super.category, + super.subCategory, + super.format, + int? frequency, + this.lastUsed, + this.icon, + }) : frequency = frequency ?? 0; + + //For some reasons including super.group breaks generation of copywith, so we have this one for now + BangData._copyWith({ required super.websiteName, required super.domain, required super.trigger, diff --git a/app/lib/features/bangs/data/models/bang_data.g.dart b/app/lib/features/bangs/data/models/bang_data.g.dart index 79c80a42..300dd29b 100644 --- a/app/lib/features/bangs/data/models/bang_data.g.dart +++ b/app/lib/features/bangs/data/models/bang_data.g.dart @@ -105,7 +105,7 @@ class _$BangDataCWProxyImpl implements _$BangDataCWProxy { Object? lastUsed = const $CopyWithPlaceholder(), Object? icon = const $CopyWithPlaceholder(), }) { - return BangData( + return BangData._copyWith( websiteName: websiteName == const $CopyWithPlaceholder() || websiteName == null ? _value.websiteName diff --git a/app/lib/features/bangs/data/providers.dart b/app/lib/features/bangs/data/providers.dart index 76b10c1f..7fafc82d 100644 --- a/app/lib/features/bangs/data/providers.dart +++ b/app/lib/features/bangs/data/providers.dart @@ -36,7 +36,7 @@ BangDatabase bangDatabase(Ref ref) { // put the database file, called db.sqlite here, into the documents folder // for your app. final dbFolder = await path_provider.getApplicationDocumentsDirectory(); - final file = File(p.join(dbFolder.path, 'bang.db')); + final file = File(p.join(dbFolder.path, 'bang2.db')); // Also work around limitations on old Android versions if (Platform.isAndroid) { diff --git a/app/lib/features/bangs/data/providers.g.dart b/app/lib/features/bangs/data/providers.g.dart index 2977021d..f7f9d761 100644 --- a/app/lib/features/bangs/data/providers.g.dart +++ b/app/lib/features/bangs/data/providers.g.dart @@ -48,4 +48,4 @@ final class BangDatabaseProvider } } -String _$bangDatabaseHash() => r'e31cf4b499300aff65174a16fb74c7dd8ec3d6f0'; +String _$bangDatabaseHash() => r'35142ef6c747e7c65c3417a2b6fc1c6f41d0411b'; diff --git a/app/lib/features/bangs/presentation/widgets/site_search.dart b/app/lib/features/bangs/presentation/widgets/site_search.dart index 82a4f067..6e30e0f9 100644 --- a/app/lib/features/bangs/presentation/widgets/site_search.dart +++ b/app/lib/features/bangs/presentation/widgets/site_search.dart @@ -152,7 +152,7 @@ class SiteSearch extends HookConsumerWidget { }, onDeleted: (bang) { if (ref.read(selectedBangTriggerProvider(domain: domain)) == - bang.trigger) { + bang.toKey()) { ref .read( selectedBangTriggerProvider(domain: domain).notifier, diff --git a/app/lib/features/user/data/models/general_settings.dart b/app/lib/features/user/data/models/general_settings.dart index 0cac201c..7e4ae9b3 100644 --- a/app/lib/features/user/data/models/general_settings.dart +++ b/app/lib/features/user/data/models/general_settings.dart @@ -28,7 +28,7 @@ import 'package:weblibre/features/search/domain/entities/abstract/i_search_sugge part 'general_settings.g.dart'; -final _fallbackSearchProvider = BangKey( +const _fallbackSearchProvider = BangKey( group: BangGroup.general, trigger: 'wikipedia', );