switch to new bang structure

This commit is contained in:
Fabian Freund
2025-09-29 14:41:07 +02:00
parent 26c7191aa9
commit d441620580
7 changed files with 29 additions and 6 deletions
@@ -2226,6 +2226,12 @@ class BangDataView extends i0.ViewInfo<i3.BangDataView, i5.BangData>
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<String>('domain'),
trigger: row.read<String>('trigger'),
urlTemplate: row.read<String>('url_template'),
group: i3.BangTable.$convertergroup.fromSql(row.read<int>('group')),
category: row.readNullable<String>('category'),
subCategory: row.readNullable<String>('sub_category'),
format: i3.BangTable.$converterformat.fromSql(
@@ -2384,6 +2391,7 @@ class DefinitionsDrift extends i6.ModularAccessor {
domain: row.read<String>('domain'),
trigger: row.read<String>('trigger'),
urlTemplate: row.read<String>('url_template'),
group: i3.BangTable.$convertergroup.fromSql(row.read<int>('group')),
category: row.readNullable<String>('category'),
subCategory: row.readNullable<String>('sub_category'),
format: i3.BangTable.$converterformat.fromSql(
@@ -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,
@@ -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
+1 -1
View File
@@ -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) {
+1 -1
View File
@@ -48,4 +48,4 @@ final class BangDatabaseProvider
}
}
String _$bangDatabaseHash() => r'e31cf4b499300aff65174a16fb74c7dd8ec3d6f0';
String _$bangDatabaseHash() => r'35142ef6c747e7c65c3417a2b6fc1c6f41d0411b';
@@ -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,
@@ -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',
);