diff --git a/docs/specs/phase-2.md b/docs/specs/phase-2.md index 60f8b6b..9bb4c74 100644 --- a/docs/specs/phase-2.md +++ b/docs/specs/phase-2.md @@ -33,7 +33,7 @@ AppLogger ``` **Console output** — enabled only in debug builds via `DevelopmentFilter`. -Uses `PrettyPrinter` with method counts, colors, and emojis for readability +Uses `PrettyPrinter` with method counts and colors for readability in the terminal. **File output** — enabled in all builds. Uses `AdvancedFileOutput` which diff --git a/lib/core/database/app_database.g.dart b/lib/core/database/app_database.g.dart index f911bc3..6fb0c23 100644 --- a/lib/core/database/app_database.g.dart +++ b/lib/core/database/app_database.g.dart @@ -26,9 +26,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _displayNameMeta = const VerificationMeta( - 'displayName', - ); + static const VerificationMeta _displayNameMeta = const VerificationMeta('displayName'); @override late final GeneratedColumn displayName = GeneratedColumn( 'display_name', @@ -37,9 +35,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _serviceMeta = const VerificationMeta( - 'service', - ); + static const VerificationMeta _serviceMeta = const VerificationMeta('service'); @override late final GeneratedColumn service = GeneratedColumn( 'service', @@ -48,9 +44,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _accessTokenMeta = const VerificationMeta( - 'accessToken', - ); + static const VerificationMeta _accessTokenMeta = const VerificationMeta('accessToken'); @override late final GeneratedColumn accessToken = GeneratedColumn( 'access_token', @@ -59,9 +53,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _refreshTokenMeta = const VerificationMeta( - 'refreshToken', - ); + static const VerificationMeta _refreshTokenMeta = const VerificationMeta('refreshToken'); @override late final GeneratedColumn refreshToken = GeneratedColumn( 'refresh_token', @@ -70,9 +62,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _dpopPublicKeyMeta = const VerificationMeta( - 'dpopPublicKey', - ); + static const VerificationMeta _dpopPublicKeyMeta = const VerificationMeta('dpopPublicKey'); @override late final GeneratedColumn dpopPublicKey = GeneratedColumn( 'dpop_public_key', @@ -81,9 +71,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _dpopPrivateKeyMeta = const VerificationMeta( - 'dpopPrivateKey', - ); + static const VerificationMeta _dpopPrivateKeyMeta = const VerificationMeta('dpopPrivateKey'); @override late final GeneratedColumn dpopPrivateKey = GeneratedColumn( 'dpop_private_key', @@ -92,9 +80,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _dpopNonceMeta = const VerificationMeta( - 'dpopNonce', - ); + static const VerificationMeta _dpopNonceMeta = const VerificationMeta('dpopNonce'); @override late final GeneratedColumn dpopNonce = GeneratedColumn( 'dpop_nonce', @@ -103,9 +89,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.string, requiredDuringInsert: false, ); - static const VerificationMeta _expiresAtMeta = const VerificationMeta( - 'expiresAt', - ); + static const VerificationMeta _expiresAtMeta = const VerificationMeta('expiresAt'); @override late final GeneratedColumn expiresAt = GeneratedColumn( 'expires_at', @@ -114,9 +98,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { type: DriftSqlType.dateTime, requiredDuringInsert: false, ); - static const VerificationMeta _createdAtMeta = const VerificationMeta( - 'createdAt', - ); + static const VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); @override late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', @@ -126,9 +108,7 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { requiredDuringInsert: false, defaultValue: currentDateAndTime, ); - static const VerificationMeta _updatedAtMeta = const VerificationMeta( - 'updatedAt', - ); + static const VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); @override late final GeneratedColumn updatedAt = GeneratedColumn( 'updated_at', @@ -159,104 +139,56 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { String get actualTableName => $name; static const String $name = 'accounts'; @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('did')) { - context.handle( - _didMeta, - did.isAcceptableOrUnknown(data['did']!, _didMeta), - ); + context.handle(_didMeta, did.isAcceptableOrUnknown(data['did']!, _didMeta)); } else if (isInserting) { context.missing(_didMeta); } if (data.containsKey('handle')) { - context.handle( - _handleMeta, - handle.isAcceptableOrUnknown(data['handle']!, _handleMeta), - ); + context.handle(_handleMeta, handle.isAcceptableOrUnknown(data['handle']!, _handleMeta)); } else if (isInserting) { context.missing(_handleMeta); } if (data.containsKey('display_name')) { - context.handle( - _displayNameMeta, - displayName.isAcceptableOrUnknown( - data['display_name']!, - _displayNameMeta, - ), - ); + context.handle(_displayNameMeta, displayName.isAcceptableOrUnknown(data['display_name']!, _displayNameMeta)); } if (data.containsKey('service')) { - context.handle( - _serviceMeta, - service.isAcceptableOrUnknown(data['service']!, _serviceMeta), - ); + context.handle(_serviceMeta, service.isAcceptableOrUnknown(data['service']!, _serviceMeta)); } if (data.containsKey('access_token')) { - context.handle( - _accessTokenMeta, - accessToken.isAcceptableOrUnknown( - data['access_token']!, - _accessTokenMeta, - ), - ); + context.handle(_accessTokenMeta, accessToken.isAcceptableOrUnknown(data['access_token']!, _accessTokenMeta)); } else if (isInserting) { context.missing(_accessTokenMeta); } if (data.containsKey('refresh_token')) { - context.handle( - _refreshTokenMeta, - refreshToken.isAcceptableOrUnknown( - data['refresh_token']!, - _refreshTokenMeta, - ), - ); + context.handle(_refreshTokenMeta, refreshToken.isAcceptableOrUnknown(data['refresh_token']!, _refreshTokenMeta)); } if (data.containsKey('dpop_public_key')) { context.handle( _dpopPublicKeyMeta, - dpopPublicKey.isAcceptableOrUnknown( - data['dpop_public_key']!, - _dpopPublicKeyMeta, - ), + dpopPublicKey.isAcceptableOrUnknown(data['dpop_public_key']!, _dpopPublicKeyMeta), ); } if (data.containsKey('dpop_private_key')) { context.handle( _dpopPrivateKeyMeta, - dpopPrivateKey.isAcceptableOrUnknown( - data['dpop_private_key']!, - _dpopPrivateKeyMeta, - ), + dpopPrivateKey.isAcceptableOrUnknown(data['dpop_private_key']!, _dpopPrivateKeyMeta), ); } if (data.containsKey('dpop_nonce')) { - context.handle( - _dpopNonceMeta, - dpopNonce.isAcceptableOrUnknown(data['dpop_nonce']!, _dpopNonceMeta), - ); + context.handle(_dpopNonceMeta, dpopNonce.isAcceptableOrUnknown(data['dpop_nonce']!, _dpopNonceMeta)); } if (data.containsKey('expires_at')) { - context.handle( - _expiresAtMeta, - expiresAt.isAcceptableOrUnknown(data['expires_at']!, _expiresAtMeta), - ); + context.handle(_expiresAtMeta, expiresAt.isAcceptableOrUnknown(data['expires_at']!, _expiresAtMeta)); } if (data.containsKey('created_at')) { - context.handle( - _createdAtMeta, - createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), - ); + context.handle(_createdAtMeta, createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta)); } if (data.containsKey('updated_at')) { - context.handle( - _updatedAtMeta, - updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta), - ); + context.handle(_updatedAtMeta, updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta)); } return context; } @@ -267,54 +199,21 @@ class $AccountsTable extends Accounts with TableInfo<$AccountsTable, Account> { Account map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return Account( - did: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}did'], - )!, - handle: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}handle'], - )!, - displayName: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}display_name'], - ), - service: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}service'], - ), - accessToken: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}access_token'], - )!, - refreshToken: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}refresh_token'], - ), - dpopPublicKey: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}dpop_public_key'], - ), + did: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}did'])!, + handle: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}handle'])!, + displayName: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}display_name']), + service: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}service']), + accessToken: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}access_token'])!, + refreshToken: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}refresh_token']), + dpopPublicKey: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}dpop_public_key']), dpopPrivateKey: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}dpop_private_key'], ), - dpopNonce: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}dpop_nonce'], - ), - expiresAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}expires_at'], - ), - createdAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}created_at'], - )!, - updatedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}updated_at'], - )!, + dpopNonce: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}dpop_nonce']), + expiresAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}expires_at']), + createdAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at'])!, + updatedAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}updated_at'])!, ); } @@ -387,37 +286,20 @@ class Account extends DataClass implements Insertable { return AccountsCompanion( did: Value(did), handle: Value(handle), - displayName: displayName == null && nullToAbsent - ? const Value.absent() - : Value(displayName), - service: service == null && nullToAbsent - ? const Value.absent() - : Value(service), + displayName: displayName == null && nullToAbsent ? const Value.absent() : Value(displayName), + service: service == null && nullToAbsent ? const Value.absent() : Value(service), accessToken: Value(accessToken), - refreshToken: refreshToken == null && nullToAbsent - ? const Value.absent() - : Value(refreshToken), - dpopPublicKey: dpopPublicKey == null && nullToAbsent - ? const Value.absent() - : Value(dpopPublicKey), - dpopPrivateKey: dpopPrivateKey == null && nullToAbsent - ? const Value.absent() - : Value(dpopPrivateKey), - dpopNonce: dpopNonce == null && nullToAbsent - ? const Value.absent() - : Value(dpopNonce), - expiresAt: expiresAt == null && nullToAbsent - ? const Value.absent() - : Value(expiresAt), + refreshToken: refreshToken == null && nullToAbsent ? const Value.absent() : Value(refreshToken), + dpopPublicKey: dpopPublicKey == null && nullToAbsent ? const Value.absent() : Value(dpopPublicKey), + dpopPrivateKey: dpopPrivateKey == null && nullToAbsent ? const Value.absent() : Value(dpopPrivateKey), + dpopNonce: dpopNonce == null && nullToAbsent ? const Value.absent() : Value(dpopNonce), + expiresAt: expiresAt == null && nullToAbsent ? const Value.absent() : Value(expiresAt), createdAt: Value(createdAt), updatedAt: Value(updatedAt), ); } - factory Account.fromJson( - Map json, { - ValueSerializer? serializer, - }) { + factory Account.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return Account( did: serializer.fromJson(json['did']), @@ -473,12 +355,8 @@ class Account extends DataClass implements Insertable { service: service.present ? service.value : this.service, accessToken: accessToken ?? this.accessToken, refreshToken: refreshToken.present ? refreshToken.value : this.refreshToken, - dpopPublicKey: dpopPublicKey.present - ? dpopPublicKey.value - : this.dpopPublicKey, - dpopPrivateKey: dpopPrivateKey.present - ? dpopPrivateKey.value - : this.dpopPrivateKey, + dpopPublicKey: dpopPublicKey.present ? dpopPublicKey.value : this.dpopPublicKey, + dpopPrivateKey: dpopPrivateKey.present ? dpopPrivateKey.value : this.dpopPrivateKey, dpopNonce: dpopNonce.present ? dpopNonce.value : this.dpopNonce, expiresAt: expiresAt.present ? expiresAt.value : this.expiresAt, createdAt: createdAt ?? this.createdAt, @@ -488,22 +366,12 @@ class Account extends DataClass implements Insertable { return Account( did: data.did.present ? data.did.value : this.did, handle: data.handle.present ? data.handle.value : this.handle, - displayName: data.displayName.present - ? data.displayName.value - : this.displayName, + displayName: data.displayName.present ? data.displayName.value : this.displayName, service: data.service.present ? data.service.value : this.service, - accessToken: data.accessToken.present - ? data.accessToken.value - : this.accessToken, - refreshToken: data.refreshToken.present - ? data.refreshToken.value - : this.refreshToken, - dpopPublicKey: data.dpopPublicKey.present - ? data.dpopPublicKey.value - : this.dpopPublicKey, - dpopPrivateKey: data.dpopPrivateKey.present - ? data.dpopPrivateKey.value - : this.dpopPrivateKey, + accessToken: data.accessToken.present ? data.accessToken.value : this.accessToken, + refreshToken: data.refreshToken.present ? data.refreshToken.value : this.refreshToken, + dpopPublicKey: data.dpopPublicKey.present ? data.dpopPublicKey.value : this.dpopPublicKey, + dpopPrivateKey: data.dpopPrivateKey.present ? data.dpopPrivateKey.value : this.dpopPrivateKey, dpopNonce: data.dpopNonce.present ? data.dpopNonce.value : this.dpopNonce, expiresAt: data.expiresAt.present ? data.expiresAt.value : this.expiresAt, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, @@ -739,8 +607,7 @@ class AccountsCompanion extends UpdateCompanion { } } -class $CachedProfilesTable extends CachedProfiles - with TableInfo<$CachedProfilesTable, CachedProfile> { +class $CachedProfilesTable extends CachedProfiles with TableInfo<$CachedProfilesTable, CachedProfile> { @override final GeneratedDatabase attachedDatabase; final String? _alias; @@ -763,9 +630,7 @@ class $CachedProfilesTable extends CachedProfiles type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _payloadMeta = const VerificationMeta( - 'payload', - ); + static const VerificationMeta _payloadMeta = const VerificationMeta('payload'); @override late final GeneratedColumn payload = GeneratedColumn( 'payload', @@ -774,9 +639,7 @@ class $CachedProfilesTable extends CachedProfiles type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _fetchedAtMeta = const VerificationMeta( - 'fetchedAt', - ); + static const VerificationMeta _fetchedAtMeta = const VerificationMeta('fetchedAt'); @override late final GeneratedColumn fetchedAt = GeneratedColumn( 'fetched_at', @@ -794,41 +657,26 @@ class $CachedProfilesTable extends CachedProfiles String get actualTableName => $name; static const String $name = 'cached_profiles'; @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('did')) { - context.handle( - _didMeta, - did.isAcceptableOrUnknown(data['did']!, _didMeta), - ); + context.handle(_didMeta, did.isAcceptableOrUnknown(data['did']!, _didMeta)); } else if (isInserting) { context.missing(_didMeta); } if (data.containsKey('handle')) { - context.handle( - _handleMeta, - handle.isAcceptableOrUnknown(data['handle']!, _handleMeta), - ); + context.handle(_handleMeta, handle.isAcceptableOrUnknown(data['handle']!, _handleMeta)); } else if (isInserting) { context.missing(_handleMeta); } if (data.containsKey('payload')) { - context.handle( - _payloadMeta, - payload.isAcceptableOrUnknown(data['payload']!, _payloadMeta), - ); + context.handle(_payloadMeta, payload.isAcceptableOrUnknown(data['payload']!, _payloadMeta)); } else if (isInserting) { context.missing(_payloadMeta); } if (data.containsKey('fetched_at')) { - context.handle( - _fetchedAtMeta, - fetchedAt.isAcceptableOrUnknown(data['fetched_at']!, _fetchedAtMeta), - ); + context.handle(_fetchedAtMeta, fetchedAt.isAcceptableOrUnknown(data['fetched_at']!, _fetchedAtMeta)); } return context; } @@ -839,22 +687,10 @@ class $CachedProfilesTable extends CachedProfiles CachedProfile map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return CachedProfile( - did: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}did'], - )!, - handle: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}handle'], - )!, - payload: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}payload'], - )!, - fetchedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}fetched_at'], - )!, + did: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}did'])!, + handle: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}handle'])!, + payload: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}payload'])!, + fetchedAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}fetched_at'])!, ); } @@ -869,12 +705,7 @@ class CachedProfile extends DataClass implements Insertable { final String handle; final String payload; final DateTime fetchedAt; - const CachedProfile({ - required this.did, - required this.handle, - required this.payload, - required this.fetchedAt, - }); + const CachedProfile({required this.did, required this.handle, required this.payload, required this.fetchedAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; @@ -894,10 +725,7 @@ class CachedProfile extends DataClass implements Insertable { ); } - factory CachedProfile.fromJson( - Map json, { - ValueSerializer? serializer, - }) { + factory CachedProfile.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return CachedProfile( did: serializer.fromJson(json['did']), @@ -917,12 +745,7 @@ class CachedProfile extends DataClass implements Insertable { }; } - CachedProfile copyWith({ - String? did, - String? handle, - String? payload, - DateTime? fetchedAt, - }) => CachedProfile( + CachedProfile copyWith({String? did, String? handle, String? payload, DateTime? fetchedAt}) => CachedProfile( did: did ?? this.did, handle: handle ?? this.handle, payload: payload ?? this.payload, @@ -1048,8 +871,7 @@ class CachedProfilesCompanion extends UpdateCompanion { } } -class $CachedPostsTable extends CachedPosts - with TableInfo<$CachedPostsTable, CachedPost> { +class $CachedPostsTable extends CachedPosts with TableInfo<$CachedPostsTable, CachedPost> { @override final GeneratedDatabase attachedDatabase; final String? _alias; @@ -1063,9 +885,7 @@ class $CachedPostsTable extends CachedPosts type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _authorDidMeta = const VerificationMeta( - 'authorDid', - ); + static const VerificationMeta _authorDidMeta = const VerificationMeta('authorDid'); @override late final GeneratedColumn authorDid = GeneratedColumn( 'author_did', @@ -1074,9 +894,7 @@ class $CachedPostsTable extends CachedPosts type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _payloadMeta = const VerificationMeta( - 'payload', - ); + static const VerificationMeta _payloadMeta = const VerificationMeta('payload'); @override late final GeneratedColumn payload = GeneratedColumn( 'payload', @@ -1085,9 +903,7 @@ class $CachedPostsTable extends CachedPosts type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _createdAtMeta = const VerificationMeta( - 'createdAt', - ); + static const VerificationMeta _createdAtMeta = const VerificationMeta('createdAt'); @override late final GeneratedColumn createdAt = GeneratedColumn( 'created_at', @@ -1096,9 +912,7 @@ class $CachedPostsTable extends CachedPosts type: DriftSqlType.dateTime, requiredDuringInsert: false, ); - static const VerificationMeta _fetchedAtMeta = const VerificationMeta( - 'fetchedAt', - ); + static const VerificationMeta _fetchedAtMeta = const VerificationMeta('fetchedAt'); @override late final GeneratedColumn fetchedAt = GeneratedColumn( 'fetched_at', @@ -1109,60 +923,36 @@ class $CachedPostsTable extends CachedPosts defaultValue: currentDateAndTime, ); @override - List get $columns => [ - uri, - authorDid, - payload, - createdAt, - fetchedAt, - ]; + List get $columns => [uri, authorDid, payload, createdAt, fetchedAt]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'cached_posts'; @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('uri')) { - context.handle( - _uriMeta, - uri.isAcceptableOrUnknown(data['uri']!, _uriMeta), - ); + context.handle(_uriMeta, uri.isAcceptableOrUnknown(data['uri']!, _uriMeta)); } else if (isInserting) { context.missing(_uriMeta); } if (data.containsKey('author_did')) { - context.handle( - _authorDidMeta, - authorDid.isAcceptableOrUnknown(data['author_did']!, _authorDidMeta), - ); + context.handle(_authorDidMeta, authorDid.isAcceptableOrUnknown(data['author_did']!, _authorDidMeta)); } else if (isInserting) { context.missing(_authorDidMeta); } if (data.containsKey('payload')) { - context.handle( - _payloadMeta, - payload.isAcceptableOrUnknown(data['payload']!, _payloadMeta), - ); + context.handle(_payloadMeta, payload.isAcceptableOrUnknown(data['payload']!, _payloadMeta)); } else if (isInserting) { context.missing(_payloadMeta); } if (data.containsKey('created_at')) { - context.handle( - _createdAtMeta, - createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), - ); + context.handle(_createdAtMeta, createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta)); } if (data.containsKey('fetched_at')) { - context.handle( - _fetchedAtMeta, - fetchedAt.isAcceptableOrUnknown(data['fetched_at']!, _fetchedAtMeta), - ); + context.handle(_fetchedAtMeta, fetchedAt.isAcceptableOrUnknown(data['fetched_at']!, _fetchedAtMeta)); } return context; } @@ -1173,26 +963,11 @@ class $CachedPostsTable extends CachedPosts CachedPost map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return CachedPost( - uri: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}uri'], - )!, - authorDid: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}author_did'], - )!, - payload: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}payload'], - )!, - createdAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}created_at'], - ), - fetchedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}fetched_at'], - )!, + uri: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}uri'])!, + authorDid: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}author_did'])!, + payload: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}payload'])!, + createdAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}created_at']), + fetchedAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}fetched_at'])!, ); } @@ -1233,17 +1008,12 @@ class CachedPost extends DataClass implements Insertable { uri: Value(uri), authorDid: Value(authorDid), payload: Value(payload), - createdAt: createdAt == null && nullToAbsent - ? const Value.absent() - : Value(createdAt), + createdAt: createdAt == null && nullToAbsent ? const Value.absent() : Value(createdAt), fetchedAt: Value(fetchedAt), ); } - factory CachedPost.fromJson( - Map json, { - ValueSerializer? serializer, - }) { + factory CachedPost.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return CachedPost( uri: serializer.fromJson(json['uri']), @@ -1301,8 +1071,7 @@ class CachedPost extends DataClass implements Insertable { } @override - int get hashCode => - Object.hash(uri, authorDid, payload, createdAt, fetchedAt); + int get hashCode => Object.hash(uri, authorDid, payload, createdAt, fetchedAt); @override bool operator ==(Object other) => identical(this, other) || @@ -1413,8 +1182,7 @@ class CachedPostsCompanion extends UpdateCompanion { } } -class $SettingsTable extends Settings - with TableInfo<$SettingsTable, SettingsEntry> { +class $SettingsTable extends Settings with TableInfo<$SettingsTable, SettingsEntry> { @override final GeneratedDatabase attachedDatabase; final String? _alias; @@ -1437,9 +1205,7 @@ class $SettingsTable extends Settings type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _updatedAtMeta = const VerificationMeta( - 'updatedAt', - ); + static const VerificationMeta _updatedAtMeta = const VerificationMeta('updatedAt'); @override late final GeneratedColumn updatedAt = GeneratedColumn( 'updated_at', @@ -1457,33 +1223,21 @@ class $SettingsTable extends Settings String get actualTableName => $name; static const String $name = 'settings'; @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { + VerificationContext validateIntegrity(Insertable instance, {bool isInserting = false}) { final context = VerificationContext(); final data = instance.toColumns(true); if (data.containsKey('key')) { - context.handle( - _keyMeta, - key.isAcceptableOrUnknown(data['key']!, _keyMeta), - ); + context.handle(_keyMeta, key.isAcceptableOrUnknown(data['key']!, _keyMeta)); } else if (isInserting) { context.missing(_keyMeta); } if (data.containsKey('value')) { - context.handle( - _valueMeta, - value.isAcceptableOrUnknown(data['value']!, _valueMeta), - ); + context.handle(_valueMeta, value.isAcceptableOrUnknown(data['value']!, _valueMeta)); } else if (isInserting) { context.missing(_valueMeta); } if (data.containsKey('updated_at')) { - context.handle( - _updatedAtMeta, - updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta), - ); + context.handle(_updatedAtMeta, updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta)); } return context; } @@ -1494,18 +1248,9 @@ class $SettingsTable extends Settings SettingsEntry map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return SettingsEntry( - key: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}key'], - )!, - value: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}value'], - )!, - updatedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}updated_at'], - )!, + key: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}key'])!, + value: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}value'])!, + updatedAt: attachedDatabase.typeMapping.read(DriftSqlType.dateTime, data['${effectivePrefix}updated_at'])!, ); } @@ -1519,11 +1264,7 @@ class SettingsEntry extends DataClass implements Insertable { final String key; final String value; final DateTime updatedAt; - const SettingsEntry({ - required this.key, - required this.value, - required this.updatedAt, - }); + const SettingsEntry({required this.key, required this.value, required this.updatedAt}); @override Map toColumns(bool nullToAbsent) { final map = {}; @@ -1534,17 +1275,10 @@ class SettingsEntry extends DataClass implements Insertable { } SettingsCompanion toCompanion(bool nullToAbsent) { - return SettingsCompanion( - key: Value(key), - value: Value(value), - updatedAt: Value(updatedAt), - ); + return SettingsCompanion(key: Value(key), value: Value(value), updatedAt: Value(updatedAt)); } - factory SettingsEntry.fromJson( - Map json, { - ValueSerializer? serializer, - }) { + factory SettingsEntry.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return SettingsEntry( key: serializer.fromJson(json['key']), @@ -1563,11 +1297,7 @@ class SettingsEntry extends DataClass implements Insertable { } SettingsEntry copyWith({String? key, String? value, DateTime? updatedAt}) => - SettingsEntry( - key: key ?? this.key, - value: value ?? this.value, - updatedAt: updatedAt ?? this.updatedAt, - ); + SettingsEntry(key: key ?? this.key, value: value ?? this.value, updatedAt: updatedAt ?? this.updatedAt); SettingsEntry copyWithCompanion(SettingsCompanion data) { return SettingsEntry( key: data.key.present ? data.key.value : this.key, @@ -1681,15 +1411,9 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final $CachedPostsTable cachedPosts = $CachedPostsTable(this); late final $SettingsTable settings = $SettingsTable(this); @override - Iterable> get allTables => - allSchemaEntities.whereType>(); + Iterable> get allTables => allSchemaEntities.whereType>(); @override - List get allSchemaEntities => [ - accounts, - cachedProfiles, - cachedPosts, - settings, - ]; + List get allSchemaEntities => [accounts, cachedProfiles, cachedPosts, settings]; } typedef $$AccountsTableCreateCompanionBuilder = @@ -1725,8 +1449,7 @@ typedef $$AccountsTableUpdateCompanionBuilder = Value rowid, }); -class $$AccountsTableFilterComposer - extends Composer<_$AppDatabase, $AccountsTable> { +class $$AccountsTableFilterComposer extends Composer<_$AppDatabase, $AccountsTable> { $$AccountsTableFilterComposer({ required super.$db, required super.$table, @@ -1734,69 +1457,43 @@ class $$AccountsTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get did => $composableBuilder( - column: $table.did, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get did => $composableBuilder(column: $table.did, builder: (column) => ColumnFilters(column)); - ColumnFilters get handle => $composableBuilder( - column: $table.handle, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get handle => + $composableBuilder(column: $table.handle, builder: (column) => ColumnFilters(column)); - ColumnFilters get displayName => $composableBuilder( - column: $table.displayName, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get displayName => + $composableBuilder(column: $table.displayName, builder: (column) => ColumnFilters(column)); - ColumnFilters get service => $composableBuilder( - column: $table.service, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get service => + $composableBuilder(column: $table.service, builder: (column) => ColumnFilters(column)); - ColumnFilters get accessToken => $composableBuilder( - column: $table.accessToken, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get accessToken => + $composableBuilder(column: $table.accessToken, builder: (column) => ColumnFilters(column)); - ColumnFilters get refreshToken => $composableBuilder( - column: $table.refreshToken, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get refreshToken => + $composableBuilder(column: $table.refreshToken, builder: (column) => ColumnFilters(column)); - ColumnFilters get dpopPublicKey => $composableBuilder( - column: $table.dpopPublicKey, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get dpopPublicKey => + $composableBuilder(column: $table.dpopPublicKey, builder: (column) => ColumnFilters(column)); - ColumnFilters get dpopPrivateKey => $composableBuilder( - column: $table.dpopPrivateKey, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get dpopPrivateKey => + $composableBuilder(column: $table.dpopPrivateKey, builder: (column) => ColumnFilters(column)); - ColumnFilters get dpopNonce => $composableBuilder( - column: $table.dpopNonce, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get dpopNonce => + $composableBuilder(column: $table.dpopNonce, builder: (column) => ColumnFilters(column)); - ColumnFilters get expiresAt => $composableBuilder( - column: $table.expiresAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get expiresAt => + $composableBuilder(column: $table.expiresAt, builder: (column) => ColumnFilters(column)); - ColumnFilters get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => ColumnFilters(column)); - ColumnFilters get updatedAt => $composableBuilder( - column: $table.updatedAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get updatedAt => + $composableBuilder(column: $table.updatedAt, builder: (column) => ColumnFilters(column)); } -class $$AccountsTableOrderingComposer - extends Composer<_$AppDatabase, $AccountsTable> { +class $$AccountsTableOrderingComposer extends Composer<_$AppDatabase, $AccountsTable> { $$AccountsTableOrderingComposer({ required super.$db, required super.$table, @@ -1804,69 +1501,44 @@ class $$AccountsTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get did => $composableBuilder( - column: $table.did, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get did => + $composableBuilder(column: $table.did, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get handle => $composableBuilder( - column: $table.handle, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get handle => + $composableBuilder(column: $table.handle, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get displayName => $composableBuilder( - column: $table.displayName, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get displayName => + $composableBuilder(column: $table.displayName, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get service => $composableBuilder( - column: $table.service, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get service => + $composableBuilder(column: $table.service, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get accessToken => $composableBuilder( - column: $table.accessToken, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get accessToken => + $composableBuilder(column: $table.accessToken, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get refreshToken => $composableBuilder( - column: $table.refreshToken, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get refreshToken => + $composableBuilder(column: $table.refreshToken, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get dpopPublicKey => $composableBuilder( - column: $table.dpopPublicKey, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get dpopPublicKey => + $composableBuilder(column: $table.dpopPublicKey, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get dpopPrivateKey => $composableBuilder( - column: $table.dpopPrivateKey, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get dpopPrivateKey => + $composableBuilder(column: $table.dpopPrivateKey, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get dpopNonce => $composableBuilder( - column: $table.dpopNonce, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get dpopNonce => + $composableBuilder(column: $table.dpopNonce, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get expiresAt => $composableBuilder( - column: $table.expiresAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get expiresAt => + $composableBuilder(column: $table.expiresAt, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get updatedAt => $composableBuilder( - column: $table.updatedAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get updatedAt => + $composableBuilder(column: $table.updatedAt, builder: (column) => ColumnOrderings(column)); } -class $$AccountsTableAnnotationComposer - extends Composer<_$AppDatabase, $AccountsTable> { +class $$AccountsTableAnnotationComposer extends Composer<_$AppDatabase, $AccountsTable> { $$AccountsTableAnnotationComposer({ required super.$db, required super.$table, @@ -1874,51 +1546,34 @@ class $$AccountsTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get did => - $composableBuilder(column: $table.did, builder: (column) => column); + GeneratedColumn get did => $composableBuilder(column: $table.did, builder: (column) => column); - GeneratedColumn get handle => - $composableBuilder(column: $table.handle, builder: (column) => column); + GeneratedColumn get handle => $composableBuilder(column: $table.handle, builder: (column) => column); - GeneratedColumn get displayName => $composableBuilder( - column: $table.displayName, - builder: (column) => column, - ); + GeneratedColumn get displayName => + $composableBuilder(column: $table.displayName, builder: (column) => column); - GeneratedColumn get service => - $composableBuilder(column: $table.service, builder: (column) => column); + GeneratedColumn get service => $composableBuilder(column: $table.service, builder: (column) => column); - GeneratedColumn get accessToken => $composableBuilder( - column: $table.accessToken, - builder: (column) => column, - ); + GeneratedColumn get accessToken => + $composableBuilder(column: $table.accessToken, builder: (column) => column); - GeneratedColumn get refreshToken => $composableBuilder( - column: $table.refreshToken, - builder: (column) => column, - ); + GeneratedColumn get refreshToken => + $composableBuilder(column: $table.refreshToken, builder: (column) => column); - GeneratedColumn get dpopPublicKey => $composableBuilder( - column: $table.dpopPublicKey, - builder: (column) => column, - ); + GeneratedColumn get dpopPublicKey => + $composableBuilder(column: $table.dpopPublicKey, builder: (column) => column); - GeneratedColumn get dpopPrivateKey => $composableBuilder( - column: $table.dpopPrivateKey, - builder: (column) => column, - ); + GeneratedColumn get dpopPrivateKey => + $composableBuilder(column: $table.dpopPrivateKey, builder: (column) => column); - GeneratedColumn get dpopNonce => - $composableBuilder(column: $table.dpopNonce, builder: (column) => column); + GeneratedColumn get dpopNonce => $composableBuilder(column: $table.dpopNonce, builder: (column) => column); - GeneratedColumn get expiresAt => - $composableBuilder(column: $table.expiresAt, builder: (column) => column); + GeneratedColumn get expiresAt => $composableBuilder(column: $table.expiresAt, builder: (column) => column); - GeneratedColumn get createdAt => - $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); - GeneratedColumn get updatedAt => - $composableBuilder(column: $table.updatedAt, builder: (column) => column); + GeneratedColumn get updatedAt => $composableBuilder(column: $table.updatedAt, builder: (column) => column); } class $$AccountsTableTableManager @@ -1941,12 +1596,9 @@ class $$AccountsTableTableManager TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$AccountsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$AccountsTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$AccountsTableAnnotationComposer($db: db, $table: table), + createFilteringComposer: () => $$AccountsTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$AccountsTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => $$AccountsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value did = const Value.absent(), @@ -2007,9 +1659,7 @@ class $$AccountsTableTableManager updatedAt: updatedAt, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, ), ); @@ -2046,8 +1696,7 @@ typedef $$CachedProfilesTableUpdateCompanionBuilder = Value rowid, }); -class $$CachedProfilesTableFilterComposer - extends Composer<_$AppDatabase, $CachedProfilesTable> { +class $$CachedProfilesTableFilterComposer extends Composer<_$AppDatabase, $CachedProfilesTable> { $$CachedProfilesTableFilterComposer({ required super.$db, required super.$table, @@ -2055,29 +1704,19 @@ class $$CachedProfilesTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get did => $composableBuilder( - column: $table.did, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get did => $composableBuilder(column: $table.did, builder: (column) => ColumnFilters(column)); - ColumnFilters get handle => $composableBuilder( - column: $table.handle, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get handle => + $composableBuilder(column: $table.handle, builder: (column) => ColumnFilters(column)); - ColumnFilters get payload => $composableBuilder( - column: $table.payload, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get payload => + $composableBuilder(column: $table.payload, builder: (column) => ColumnFilters(column)); - ColumnFilters get fetchedAt => $composableBuilder( - column: $table.fetchedAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get fetchedAt => + $composableBuilder(column: $table.fetchedAt, builder: (column) => ColumnFilters(column)); } -class $$CachedProfilesTableOrderingComposer - extends Composer<_$AppDatabase, $CachedProfilesTable> { +class $$CachedProfilesTableOrderingComposer extends Composer<_$AppDatabase, $CachedProfilesTable> { $$CachedProfilesTableOrderingComposer({ required super.$db, required super.$table, @@ -2085,29 +1724,20 @@ class $$CachedProfilesTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get did => $composableBuilder( - column: $table.did, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get did => + $composableBuilder(column: $table.did, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get handle => $composableBuilder( - column: $table.handle, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get handle => + $composableBuilder(column: $table.handle, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get payload => $composableBuilder( - column: $table.payload, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get payload => + $composableBuilder(column: $table.payload, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get fetchedAt => $composableBuilder( - column: $table.fetchedAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get fetchedAt => + $composableBuilder(column: $table.fetchedAt, builder: (column) => ColumnOrderings(column)); } -class $$CachedProfilesTableAnnotationComposer - extends Composer<_$AppDatabase, $CachedProfilesTable> { +class $$CachedProfilesTableAnnotationComposer extends Composer<_$AppDatabase, $CachedProfilesTable> { $$CachedProfilesTableAnnotationComposer({ required super.$db, required super.$table, @@ -2115,17 +1745,13 @@ class $$CachedProfilesTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get did => - $composableBuilder(column: $table.did, builder: (column) => column); + GeneratedColumn get did => $composableBuilder(column: $table.did, builder: (column) => column); - GeneratedColumn get handle => - $composableBuilder(column: $table.handle, builder: (column) => column); + GeneratedColumn get handle => $composableBuilder(column: $table.handle, builder: (column) => column); - GeneratedColumn get payload => - $composableBuilder(column: $table.payload, builder: (column) => column); + GeneratedColumn get payload => $composableBuilder(column: $table.payload, builder: (column) => column); - GeneratedColumn get fetchedAt => - $composableBuilder(column: $table.fetchedAt, builder: (column) => column); + GeneratedColumn get fetchedAt => $composableBuilder(column: $table.fetchedAt, builder: (column) => column); } class $$CachedProfilesTableTableManager @@ -2139,26 +1765,18 @@ class $$CachedProfilesTableTableManager $$CachedProfilesTableAnnotationComposer, $$CachedProfilesTableCreateCompanionBuilder, $$CachedProfilesTableUpdateCompanionBuilder, - ( - CachedProfile, - BaseReferences<_$AppDatabase, $CachedProfilesTable, CachedProfile>, - ), + (CachedProfile, BaseReferences<_$AppDatabase, $CachedProfilesTable, CachedProfile>), CachedProfile, PrefetchHooks Function() > { - $$CachedProfilesTableTableManager( - _$AppDatabase db, - $CachedProfilesTable table, - ) : super( + $$CachedProfilesTableTableManager(_$AppDatabase db, $CachedProfilesTable table) + : super( TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$CachedProfilesTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$CachedProfilesTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$CachedProfilesTableAnnotationComposer($db: db, $table: table), + createFilteringComposer: () => $$CachedProfilesTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$CachedProfilesTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => $$CachedProfilesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value did = const Value.absent(), @@ -2187,9 +1805,7 @@ class $$CachedProfilesTableTableManager fetchedAt: fetchedAt, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, ), ); @@ -2205,10 +1821,7 @@ typedef $$CachedProfilesTableProcessedTableManager = $$CachedProfilesTableAnnotationComposer, $$CachedProfilesTableCreateCompanionBuilder, $$CachedProfilesTableUpdateCompanionBuilder, - ( - CachedProfile, - BaseReferences<_$AppDatabase, $CachedProfilesTable, CachedProfile>, - ), + (CachedProfile, BaseReferences<_$AppDatabase, $CachedProfilesTable, CachedProfile>), CachedProfile, PrefetchHooks Function() >; @@ -2231,8 +1844,7 @@ typedef $$CachedPostsTableUpdateCompanionBuilder = Value rowid, }); -class $$CachedPostsTableFilterComposer - extends Composer<_$AppDatabase, $CachedPostsTable> { +class $$CachedPostsTableFilterComposer extends Composer<_$AppDatabase, $CachedPostsTable> { $$CachedPostsTableFilterComposer({ required super.$db, required super.$table, @@ -2240,34 +1852,22 @@ class $$CachedPostsTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get uri => $composableBuilder( - column: $table.uri, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get uri => $composableBuilder(column: $table.uri, builder: (column) => ColumnFilters(column)); - ColumnFilters get authorDid => $composableBuilder( - column: $table.authorDid, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get authorDid => + $composableBuilder(column: $table.authorDid, builder: (column) => ColumnFilters(column)); - ColumnFilters get payload => $composableBuilder( - column: $table.payload, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get payload => + $composableBuilder(column: $table.payload, builder: (column) => ColumnFilters(column)); - ColumnFilters get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => ColumnFilters(column)); - ColumnFilters get fetchedAt => $composableBuilder( - column: $table.fetchedAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get fetchedAt => + $composableBuilder(column: $table.fetchedAt, builder: (column) => ColumnFilters(column)); } -class $$CachedPostsTableOrderingComposer - extends Composer<_$AppDatabase, $CachedPostsTable> { +class $$CachedPostsTableOrderingComposer extends Composer<_$AppDatabase, $CachedPostsTable> { $$CachedPostsTableOrderingComposer({ required super.$db, required super.$table, @@ -2275,34 +1875,23 @@ class $$CachedPostsTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get uri => $composableBuilder( - column: $table.uri, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get uri => + $composableBuilder(column: $table.uri, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get authorDid => $composableBuilder( - column: $table.authorDid, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get authorDid => + $composableBuilder(column: $table.authorDid, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get payload => $composableBuilder( - column: $table.payload, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get payload => + $composableBuilder(column: $table.payload, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get fetchedAt => $composableBuilder( - column: $table.fetchedAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get fetchedAt => + $composableBuilder(column: $table.fetchedAt, builder: (column) => ColumnOrderings(column)); } -class $$CachedPostsTableAnnotationComposer - extends Composer<_$AppDatabase, $CachedPostsTable> { +class $$CachedPostsTableAnnotationComposer extends Composer<_$AppDatabase, $CachedPostsTable> { $$CachedPostsTableAnnotationComposer({ required super.$db, required super.$table, @@ -2310,20 +1899,15 @@ class $$CachedPostsTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get uri => - $composableBuilder(column: $table.uri, builder: (column) => column); + GeneratedColumn get uri => $composableBuilder(column: $table.uri, builder: (column) => column); - GeneratedColumn get authorDid => - $composableBuilder(column: $table.authorDid, builder: (column) => column); + GeneratedColumn get authorDid => $composableBuilder(column: $table.authorDid, builder: (column) => column); - GeneratedColumn get payload => - $composableBuilder(column: $table.payload, builder: (column) => column); + GeneratedColumn get payload => $composableBuilder(column: $table.payload, builder: (column) => column); - GeneratedColumn get createdAt => - $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); - GeneratedColumn get fetchedAt => - $composableBuilder(column: $table.fetchedAt, builder: (column) => column); + GeneratedColumn get fetchedAt => $composableBuilder(column: $table.fetchedAt, builder: (column) => column); } class $$CachedPostsTableTableManager @@ -2337,10 +1921,7 @@ class $$CachedPostsTableTableManager $$CachedPostsTableAnnotationComposer, $$CachedPostsTableCreateCompanionBuilder, $$CachedPostsTableUpdateCompanionBuilder, - ( - CachedPost, - BaseReferences<_$AppDatabase, $CachedPostsTable, CachedPost>, - ), + (CachedPost, BaseReferences<_$AppDatabase, $CachedPostsTable, CachedPost>), CachedPost, PrefetchHooks Function() > { @@ -2349,12 +1930,9 @@ class $$CachedPostsTableTableManager TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$CachedPostsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$CachedPostsTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$CachedPostsTableAnnotationComposer($db: db, $table: table), + createFilteringComposer: () => $$CachedPostsTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$CachedPostsTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => $$CachedPostsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value uri = const Value.absent(), @@ -2387,9 +1965,7 @@ class $$CachedPostsTableTableManager fetchedAt: fetchedAt, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, ), ); @@ -2405,10 +1981,7 @@ typedef $$CachedPostsTableProcessedTableManager = $$CachedPostsTableAnnotationComposer, $$CachedPostsTableCreateCompanionBuilder, $$CachedPostsTableUpdateCompanionBuilder, - ( - CachedPost, - BaseReferences<_$AppDatabase, $CachedPostsTable, CachedPost>, - ), + (CachedPost, BaseReferences<_$AppDatabase, $CachedPostsTable, CachedPost>), CachedPost, PrefetchHooks Function() >; @@ -2420,15 +1993,9 @@ typedef $$SettingsTableCreateCompanionBuilder = Value rowid, }); typedef $$SettingsTableUpdateCompanionBuilder = - SettingsCompanion Function({ - Value key, - Value value, - Value updatedAt, - Value rowid, - }); + SettingsCompanion Function({Value key, Value value, Value updatedAt, Value rowid}); -class $$SettingsTableFilterComposer - extends Composer<_$AppDatabase, $SettingsTable> { +class $$SettingsTableFilterComposer extends Composer<_$AppDatabase, $SettingsTable> { $$SettingsTableFilterComposer({ required super.$db, required super.$table, @@ -2436,24 +2003,16 @@ class $$SettingsTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get key => $composableBuilder( - column: $table.key, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get key => $composableBuilder(column: $table.key, builder: (column) => ColumnFilters(column)); - ColumnFilters get value => $composableBuilder( - column: $table.value, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get value => + $composableBuilder(column: $table.value, builder: (column) => ColumnFilters(column)); - ColumnFilters get updatedAt => $composableBuilder( - column: $table.updatedAt, - builder: (column) => ColumnFilters(column), - ); + ColumnFilters get updatedAt => + $composableBuilder(column: $table.updatedAt, builder: (column) => ColumnFilters(column)); } -class $$SettingsTableOrderingComposer - extends Composer<_$AppDatabase, $SettingsTable> { +class $$SettingsTableOrderingComposer extends Composer<_$AppDatabase, $SettingsTable> { $$SettingsTableOrderingComposer({ required super.$db, required super.$table, @@ -2461,24 +2020,17 @@ class $$SettingsTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get key => $composableBuilder( - column: $table.key, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get key => + $composableBuilder(column: $table.key, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get value => $composableBuilder( - column: $table.value, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get value => + $composableBuilder(column: $table.value, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get updatedAt => $composableBuilder( - column: $table.updatedAt, - builder: (column) => ColumnOrderings(column), - ); + ColumnOrderings get updatedAt => + $composableBuilder(column: $table.updatedAt, builder: (column) => ColumnOrderings(column)); } -class $$SettingsTableAnnotationComposer - extends Composer<_$AppDatabase, $SettingsTable> { +class $$SettingsTableAnnotationComposer extends Composer<_$AppDatabase, $SettingsTable> { $$SettingsTableAnnotationComposer({ required super.$db, required super.$table, @@ -2486,14 +2038,11 @@ class $$SettingsTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get key => - $composableBuilder(column: $table.key, builder: (column) => column); + GeneratedColumn get key => $composableBuilder(column: $table.key, builder: (column) => column); - GeneratedColumn get value => - $composableBuilder(column: $table.value, builder: (column) => column); + GeneratedColumn get value => $composableBuilder(column: $table.value, builder: (column) => column); - GeneratedColumn get updatedAt => - $composableBuilder(column: $table.updatedAt, builder: (column) => column); + GeneratedColumn get updatedAt => $composableBuilder(column: $table.updatedAt, builder: (column) => column); } class $$SettingsTableTableManager @@ -2507,10 +2056,7 @@ class $$SettingsTableTableManager $$SettingsTableAnnotationComposer, $$SettingsTableCreateCompanionBuilder, $$SettingsTableUpdateCompanionBuilder, - ( - SettingsEntry, - BaseReferences<_$AppDatabase, $SettingsTable, SettingsEntry>, - ), + (SettingsEntry, BaseReferences<_$AppDatabase, $SettingsTable, SettingsEntry>), SettingsEntry, PrefetchHooks Function() > { @@ -2519,39 +2065,24 @@ class $$SettingsTableTableManager TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$SettingsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$SettingsTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$SettingsTableAnnotationComposer($db: db, $table: table), + createFilteringComposer: () => $$SettingsTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$SettingsTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => $$SettingsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value key = const Value.absent(), Value value = const Value.absent(), Value updatedAt = const Value.absent(), Value rowid = const Value.absent(), - }) => SettingsCompanion( - key: key, - value: value, - updatedAt: updatedAt, - rowid: rowid, - ), + }) => SettingsCompanion(key: key, value: value, updatedAt: updatedAt, rowid: rowid), createCompanionCallback: ({ required String key, required String value, Value updatedAt = const Value.absent(), Value rowid = const Value.absent(), - }) => SettingsCompanion.insert( - key: key, - value: value, - updatedAt: updatedAt, - rowid: rowid, - ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + }) => SettingsCompanion.insert(key: key, value: value, updatedAt: updatedAt, rowid: rowid), + withReferenceMapper: (p0) => p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, ), ); @@ -2567,10 +2098,7 @@ typedef $$SettingsTableProcessedTableManager = $$SettingsTableAnnotationComposer, $$SettingsTableCreateCompanionBuilder, $$SettingsTableUpdateCompanionBuilder, - ( - SettingsEntry, - BaseReferences<_$AppDatabase, $SettingsTable, SettingsEntry>, - ), + (SettingsEntry, BaseReferences<_$AppDatabase, $SettingsTable, SettingsEntry>), SettingsEntry, PrefetchHooks Function() >; @@ -2578,12 +2106,8 @@ typedef $$SettingsTableProcessedTableManager = class $AppDatabaseManager { final _$AppDatabase _db; $AppDatabaseManager(this._db); - $$AccountsTableTableManager get accounts => - $$AccountsTableTableManager(_db, _db.accounts); - $$CachedProfilesTableTableManager get cachedProfiles => - $$CachedProfilesTableTableManager(_db, _db.cachedProfiles); - $$CachedPostsTableTableManager get cachedPosts => - $$CachedPostsTableTableManager(_db, _db.cachedPosts); - $$SettingsTableTableManager get settings => - $$SettingsTableTableManager(_db, _db.settings); + $$AccountsTableTableManager get accounts => $$AccountsTableTableManager(_db, _db.accounts); + $$CachedProfilesTableTableManager get cachedProfiles => $$CachedProfilesTableTableManager(_db, _db.cachedProfiles); + $$CachedPostsTableTableManager get cachedPosts => $$CachedPostsTableTableManager(_db, _db.cachedPosts); + $$SettingsTableTableManager get settings => $$SettingsTableTableManager(_db, _db.settings); } diff --git a/lib/core/theme/catppuccin_theme.dart b/lib/core/theme/catppuccin_theme.dart index 0bd1872..7cac884 100644 --- a/lib/core/theme/catppuccin_theme.dart +++ b/lib/core/theme/catppuccin_theme.dart @@ -40,7 +40,7 @@ class CatppuccinTheme { return ThemeData( useMaterial3: true, brightness: Brightness.dark, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.dark, primary: mochaLavender, onPrimary: mochaBase, @@ -99,9 +99,9 @@ class CatppuccinTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: mochaMantle, - border: OutlineInputBorder(borderSide: const BorderSide(color: mochaSurface0)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: mochaSurface0)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: mochaLavender)), + border: const OutlineInputBorder(borderSide: BorderSide(color: mochaSurface0)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: mochaSurface0)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: mochaLavender)), labelStyle: AppTypography.dmSans(color: mochaSurface1), hintStyle: AppTypography.dmSans(color: mochaSurface1), ), @@ -116,7 +116,7 @@ class CatppuccinTheme { return ThemeData( useMaterial3: true, brightness: Brightness.light, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.light, primary: latteLavender, onPrimary: latteBase, @@ -175,9 +175,9 @@ class CatppuccinTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: latteMantle, - border: OutlineInputBorder(borderSide: const BorderSide(color: latteSurface0)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: latteSurface0)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: latteLavender)), + border: const OutlineInputBorder(borderSide: BorderSide(color: latteSurface0)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: latteSurface0)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: latteLavender)), labelStyle: AppTypography.dmSans(color: latteSurface1), hintStyle: AppTypography.dmSans(color: latteSurface1), ), diff --git a/lib/core/theme/nord_theme.dart b/lib/core/theme/nord_theme.dart index 11f7471..ec4b967 100644 --- a/lib/core/theme/nord_theme.dart +++ b/lib/core/theme/nord_theme.dart @@ -25,7 +25,7 @@ class NordTheme { return ThemeData( useMaterial3: true, brightness: Brightness.dark, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.dark, primary: nord8, onPrimary: nord0, @@ -81,9 +81,9 @@ class NordTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: nord1, - border: OutlineInputBorder(borderSide: const BorderSide(color: nord2)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: nord2)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: nord8)), + border: const OutlineInputBorder(borderSide: BorderSide(color: nord2)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: nord2)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: nord8)), labelStyle: AppTypography.dmSans(color: nord3), hintStyle: AppTypography.dmSans(color: nord3), ), @@ -98,7 +98,7 @@ class NordTheme { return ThemeData( useMaterial3: true, brightness: Brightness.light, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.light, primary: nord8, onPrimary: nord0, @@ -154,9 +154,9 @@ class NordTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: nord5, - border: OutlineInputBorder(borderSide: const BorderSide(color: nord2)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: nord2)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: nord8)), + border: const OutlineInputBorder(borderSide: BorderSide(color: nord2)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: nord2)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: nord8)), labelStyle: AppTypography.dmSans(color: nord3), hintStyle: AppTypography.dmSans(color: nord3), ), diff --git a/lib/core/theme/oxocarbon_theme.dart b/lib/core/theme/oxocarbon_theme.dart index 6f80138..540f7dc 100644 --- a/lib/core/theme/oxocarbon_theme.dart +++ b/lib/core/theme/oxocarbon_theme.dart @@ -42,7 +42,7 @@ class OxocarbonTheme { return ThemeData( useMaterial3: true, brightness: Brightness.dark, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.dark, primary: darkBase09, onPrimary: darkBase00, @@ -101,9 +101,9 @@ class OxocarbonTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: darkBase01, - border: OutlineInputBorder(borderSide: const BorderSide(color: darkBase02)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: darkBase02)), - focusedBorder: OutlineInputBorder(borderSide: BorderSide(color: darkBase09)), + border: const OutlineInputBorder(borderSide: BorderSide(color: darkBase02)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: darkBase02)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: darkBase09)), labelStyle: AppTypography.dmSans(color: darkBase03), hintStyle: AppTypography.dmSans(color: darkBase03), ), @@ -118,7 +118,7 @@ class OxocarbonTheme { return ThemeData( useMaterial3: true, brightness: Brightness.light, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.light, primary: lightBase0B, onPrimary: lightBase00, @@ -177,9 +177,9 @@ class OxocarbonTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: lightBase01, - border: OutlineInputBorder(borderSide: const BorderSide(color: lightBase02)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: lightBase02)), - focusedBorder: OutlineInputBorder(borderSide: BorderSide(color: lightBase0B)), + border: const OutlineInputBorder(borderSide: BorderSide(color: lightBase02)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: lightBase02)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: lightBase0B)), labelStyle: AppTypography.dmSans(color: lightBase05), hintStyle: AppTypography.dmSans(color: lightBase05), ), diff --git a/lib/core/theme/rose_pine_theme.dart b/lib/core/theme/rose_pine_theme.dart index 167cd40..3031939 100644 --- a/lib/core/theme/rose_pine_theme.dart +++ b/lib/core/theme/rose_pine_theme.dart @@ -34,7 +34,7 @@ class RosePineTheme { return ThemeData( useMaterial3: true, brightness: Brightness.dark, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.dark, primary: mainRose, onPrimary: mainBase, @@ -93,9 +93,9 @@ class RosePineTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: mainSurface, - border: OutlineInputBorder(borderSide: const BorderSide(color: mainOverlay)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: mainOverlay)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: mainRose)), + border: const OutlineInputBorder(borderSide: BorderSide(color: mainOverlay)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: mainOverlay)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: mainRose)), labelStyle: AppTypography.dmSans(color: mainMuted), hintStyle: AppTypography.dmSans(color: mainMuted), ), @@ -110,7 +110,7 @@ class RosePineTheme { return ThemeData( useMaterial3: true, brightness: Brightness.light, - colorScheme: ColorScheme( + colorScheme: const ColorScheme( brightness: Brightness.light, primary: dawnRose, onPrimary: dawnBase, @@ -169,9 +169,9 @@ class RosePineTheme { inputDecorationTheme: InputDecorationTheme( filled: true, fillColor: dawnSurface, - border: OutlineInputBorder(borderSide: const BorderSide(color: dawnOverlay)), - enabledBorder: OutlineInputBorder(borderSide: const BorderSide(color: dawnOverlay)), - focusedBorder: OutlineInputBorder(borderSide: const BorderSide(color: dawnRose)), + border: const OutlineInputBorder(borderSide: BorderSide(color: dawnOverlay)), + enabledBorder: const OutlineInputBorder(borderSide: BorderSide(color: dawnOverlay)), + focusedBorder: const OutlineInputBorder(borderSide: BorderSide(color: dawnRose)), labelStyle: AppTypography.dmSans(color: dawnMuted), hintStyle: AppTypography.dmSans(color: dawnMuted), ), diff --git a/lib/main.dart b/lib/main.dart index 29f3e4d..c5329e0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -104,16 +104,18 @@ class LazuriteApp extends StatelessWidget { ], child: BlocBuilder( builder: (context, settingsState) { - final themeData = settingsState.themeData; final themeMode = settingsState.useSystemTheme ? ThemeMode.system : (settingsState.themeVariant == AppThemeVariant.light ? ThemeMode.light : ThemeMode.dark); + final lightTheme = AppTheme.getTheme(settingsState.themePalette, AppThemeVariant.light); + final darkTheme = AppTheme.getTheme(settingsState.themePalette, AppThemeVariant.dark); + return MaterialApp.router( title: 'Lazurite', debugShowCheckedModeBanner: false, - theme: themeData, - darkTheme: themeData, + theme: lightTheme, + darkTheme: darkTheme, themeMode: themeMode, routerConfig: router, ); diff --git a/test/core/theme/app_theme_test.dart b/test/core/theme/app_theme_test.dart new file mode 100644 index 0000000..a918a2f --- /dev/null +++ b/test/core/theme/app_theme_test.dart @@ -0,0 +1,124 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/app_theme.dart'; + +void main() { + group('AppTheme', () { + group('getPaletteName', () { + test('returns correct name for oxocarbon', () { + expect(AppTheme.getPaletteName(AppThemePalette.oxocarbon), 'Oxocarbon'); + }); + + test('returns correct name for catppuccin', () { + expect(AppTheme.getPaletteName(AppThemePalette.catppuccin), 'Catppuccin'); + }); + + test('returns correct name for nord', () { + expect(AppTheme.getPaletteName(AppThemePalette.nord), 'Nord'); + }); + + test('returns correct name for rosePine', () { + expect(AppTheme.getPaletteName(AppThemePalette.rosePine), 'Rosé Pine'); + }); + }); + + group('getVariantName', () { + test('returns correct name for light', () { + expect(AppTheme.getVariantName(AppThemeVariant.light), 'Light'); + }); + + test('returns correct name for dark', () { + expect(AppTheme.getVariantName(AppThemeVariant.dark), 'Dark'); + }); + }); + + group('parsePalette', () { + test('parses oxocarbon', () { + expect(AppTheme.parsePalette('oxocarbon'), AppThemePalette.oxocarbon); + }); + + test('parses catppuccin', () { + expect(AppTheme.parsePalette('catppuccin'), AppThemePalette.catppuccin); + }); + + test('parses nord', () { + expect(AppTheme.parsePalette('nord'), AppThemePalette.nord); + }); + + test('parses rosePine', () { + expect(AppTheme.parsePalette('rosePine'), AppThemePalette.rosePine); + }); + + test('returns oxocarbon for null', () { + expect(AppTheme.parsePalette(null), AppThemePalette.oxocarbon); + }); + + test('returns oxocarbon for unknown value', () { + expect(AppTheme.parsePalette('unknown'), AppThemePalette.oxocarbon); + }); + }); + + group('paletteToString', () { + test('converts oxocarbon to string', () { + expect(AppTheme.paletteToString(AppThemePalette.oxocarbon), 'oxocarbon'); + }); + + test('converts catppuccin to string', () { + expect(AppTheme.paletteToString(AppThemePalette.catppuccin), 'catppuccin'); + }); + + test('converts nord to string', () { + expect(AppTheme.paletteToString(AppThemePalette.nord), 'nord'); + }); + + test('converts rosePine to string', () { + expect(AppTheme.paletteToString(AppThemePalette.rosePine), 'rosePine'); + }); + }); + + group('parseVariant', () { + test('parses light', () { + expect(AppTheme.parseVariant('light'), AppThemeVariant.light); + }); + + test('parses dark', () { + expect(AppTheme.parseVariant('dark'), AppThemeVariant.dark); + }); + + test('returns dark for null', () { + expect(AppTheme.parseVariant(null), AppThemeVariant.dark); + }); + + test('returns dark for unknown value', () { + expect(AppTheme.parseVariant('unknown'), AppThemeVariant.dark); + }); + }); + + group('variantToString', () { + test('converts light to string', () { + expect(AppTheme.variantToString(AppThemeVariant.light), 'light'); + }); + + test('converts dark to string', () { + expect(AppTheme.variantToString(AppThemeVariant.dark), 'dark'); + }); + }); + + group('round-trip conversion', () { + test('palette string conversion is reversible', () { + for (final palette in AppThemePalette.values) { + final string = AppTheme.paletteToString(palette); + final parsed = AppTheme.parsePalette(string); + expect(parsed, palette, reason: 'Failed for $palette -> $string'); + } + }); + + test('variant string conversion is reversible', () { + for (final variant in AppThemeVariant.values) { + final string = AppTheme.variantToString(variant); + final parsed = AppTheme.parseVariant(string); + expect(parsed, variant, reason: 'Failed for $variant -> $string'); + } + }); + }); + }); +} diff --git a/test/core/theme/catppuccin_theme_test.dart b/test/core/theme/catppuccin_theme_test.dart new file mode 100644 index 0000000..c8ee0cb --- /dev/null +++ b/test/core/theme/catppuccin_theme_test.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/catppuccin_theme.dart'; + +void main() { + group('CatppuccinTheme', () { + group('Mocha (Dark) color values', () { + test('base is #1e1e2e', () { + expect(CatppuccinTheme.mochaBase, const Color(0xFF1e1e2e)); + }); + + test('mantle is #181825', () { + expect(CatppuccinTheme.mochaMantle, const Color(0xFF181825)); + }); + + test('surface0 is #313244', () { + expect(CatppuccinTheme.mochaSurface0, const Color(0xFF313244)); + }); + + test('surface1 is #45475a', () { + expect(CatppuccinTheme.mochaSurface1, const Color(0xFF45475a)); + }); + + test('subtext0 is #a6adc8', () { + expect(CatppuccinTheme.mochaSubtext0, const Color(0xFFa6adc8)); + }); + + test('text is #cdd6f4', () { + expect(CatppuccinTheme.mochaText, const Color(0xFFcdd6f4)); + }); + + test('lavender is #b4befe', () { + expect(CatppuccinTheme.mochaLavender, const Color(0xFFb4befe)); + }); + + test('blue is #89b4fa', () { + expect(CatppuccinTheme.mochaBlue, const Color(0xFF89b4fa)); + }); + + test('sapphire is #74c7ec', () { + expect(CatppuccinTheme.mochaSapphire, const Color(0xFF74c7ec)); + }); + + test('green is #a6e3a1', () { + expect(CatppuccinTheme.mochaGreen, const Color(0xFFa6e3a1)); + }); + + test('red is #f38ba8', () { + expect(CatppuccinTheme.mochaRed, const Color(0xFFf38ba8)); + }); + + test('peach is #fab387', () { + expect(CatppuccinTheme.mochaPeach, const Color(0xFFfab387)); + }); + + test('mauve is #cba6f7', () { + expect(CatppuccinTheme.mochaMauve, const Color(0xFFcba6f7)); + }); + + test('pink is #f5c2e7', () { + expect(CatppuccinTheme.mochaPink, const Color(0xFFf5c2e7)); + }); + + test('rosewater is #f5e0dc', () { + expect(CatppuccinTheme.mochaRosewater, const Color(0xFFf5e0dc)); + }); + }); + + group('Latte (Light) color values', () { + test('base is #eff1f5', () { + expect(CatppuccinTheme.latteBase, const Color(0xFFeff1f5)); + }); + + test('mantle is #e6e9ef', () { + expect(CatppuccinTheme.latteMantle, const Color(0xFFe6e9ef)); + }); + + test('surface0 is #ccd0da', () { + expect(CatppuccinTheme.latteSurface0, const Color(0xFFccd0da)); + }); + + test('surface1 is #bcc0cc', () { + expect(CatppuccinTheme.latteSurface1, const Color(0xFFbcc0cc)); + }); + + test('subtext0 is #6c6f85', () { + expect(CatppuccinTheme.latteSubtext0, const Color(0xFF6c6f85)); + }); + + test('text is #4c4f69', () { + expect(CatppuccinTheme.latteText, const Color(0xFF4c4f69)); + }); + + test('lavender is #7287fd', () { + expect(CatppuccinTheme.latteLavender, const Color(0xFF7287fd)); + }); + + test('blue is #1e66f5', () { + expect(CatppuccinTheme.latteBlue, const Color(0xFF1e66f5)); + }); + + test('sapphire is #209fb5', () { + expect(CatppuccinTheme.latteSapphire, const Color(0xFF209fb5)); + }); + + test('green is #40a02b', () { + expect(CatppuccinTheme.latteGreen, const Color(0xFF40a02b)); + }); + + test('red is #d20f39', () { + expect(CatppuccinTheme.latteRed, const Color(0xFFd20f39)); + }); + + test('peach is #fe640b', () { + expect(CatppuccinTheme.lattePeach, const Color(0xFFfe640b)); + }); + + test('mauve is #8839ef', () { + expect(CatppuccinTheme.latteMauve, const Color(0xFF8839ef)); + }); + + test('pink is #ea76cb', () { + expect(CatppuccinTheme.lattePink, const Color(0xFFea76cb)); + }); + + test('rosewater is #dc8a78', () { + expect(CatppuccinTheme.latteRosewater, const Color(0xFFdc8a78)); + }); + }); + }); +} diff --git a/test/core/theme/nord_theme_test.dart b/test/core/theme/nord_theme_test.dart new file mode 100644 index 0000000..abdc54a --- /dev/null +++ b/test/core/theme/nord_theme_test.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/nord_theme.dart'; + +void main() { + group('NordTheme', () { + group('Color values', () { + test('nord0 is #2e3440', () { + expect(NordTheme.nord0, const Color(0xFF2e3440)); + }); + + test('nord1 is #3b4252', () { + expect(NordTheme.nord1, const Color(0xFF3b4252)); + }); + + test('nord2 is #434c5e', () { + expect(NordTheme.nord2, const Color(0xFF434c5e)); + }); + + test('nord3 is #4c566a', () { + expect(NordTheme.nord3, const Color(0xFF4c566a)); + }); + + test('nord4 is #d8dee9', () { + expect(NordTheme.nord4, const Color(0xFFd8dee9)); + }); + + test('nord5 is #e5e9f0', () { + expect(NordTheme.nord5, const Color(0xFFe5e9f0)); + }); + + test('nord6 is #eceff4', () { + expect(NordTheme.nord6, const Color(0xFFeceff4)); + }); + + test('nord7 is #8fbcbb', () { + expect(NordTheme.nord7, const Color(0xFF8fbcbb)); + }); + + test('nord8 is #88c0d0', () { + expect(NordTheme.nord8, const Color(0xFF88c0d0)); + }); + + test('nord9 is #81a1c1', () { + expect(NordTheme.nord9, const Color(0xFF81a1c1)); + }); + + test('nord10 is #5e81ac', () { + expect(NordTheme.nord10, const Color(0xFF5e81ac)); + }); + + test('nord11 is #bf616a', () { + expect(NordTheme.nord11, const Color(0xFFbf616a)); + }); + + test('nord12 is #d08770', () { + expect(NordTheme.nord12, const Color(0xFFd08770)); + }); + + test('nord13 is #ebcb8b', () { + expect(NordTheme.nord13, const Color(0xFFebcb8b)); + }); + + test('nord14 is #a3be8c', () { + expect(NordTheme.nord14, const Color(0xFFa3be8c)); + }); + + test('nord15 is #b48ead', () { + expect(NordTheme.nord15, const Color(0xFFb48ead)); + }); + }); + }); +} diff --git a/test/core/theme/oxocarbon_theme_test.dart b/test/core/theme/oxocarbon_theme_test.dart new file mode 100644 index 0000000..9121770 --- /dev/null +++ b/test/core/theme/oxocarbon_theme_test.dart @@ -0,0 +1,139 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/oxocarbon_theme.dart'; + +void main() { + group('OxocarbonTheme', () { + group('Dark color values', () { + test('base00 is #161616', () { + expect(OxocarbonTheme.darkBase00, const Color(0xFF161616)); + }); + + test('base01 is #262626', () { + expect(OxocarbonTheme.darkBase01, const Color(0xFF262626)); + }); + + test('base02 is #393939', () { + expect(OxocarbonTheme.darkBase02, const Color(0xFF393939)); + }); + + test('base03 is #525252', () { + expect(OxocarbonTheme.darkBase03, const Color(0xFF525252)); + }); + + test('base04 is #dde1e6', () { + expect(OxocarbonTheme.darkBase04, const Color(0xFFdde1e6)); + }); + + test('base05 is #f2f4f8', () { + expect(OxocarbonTheme.darkBase05, const Color(0xFFf2f4f8)); + }); + + test('base06 is #ffffff', () { + expect(OxocarbonTheme.darkBase06, const Color(0xFFffffff)); + }); + + test('base07 is #08bdba', () { + expect(OxocarbonTheme.darkBase07, const Color(0xFF08bdba)); + }); + + test('base08 is #3ddbd9', () { + expect(OxocarbonTheme.darkBase08, const Color(0xFF3ddbd9)); + }); + + test('base09 is #78a9ff', () { + expect(OxocarbonTheme.darkBase09, const Color(0xFF78a9ff)); + }); + + test('base0A is #ee5396', () { + expect(OxocarbonTheme.darkBase0A, const Color(0xFFee5396)); + }); + + test('base0B is #33b1ff', () { + expect(OxocarbonTheme.darkBase0B, const Color(0xFF33b1ff)); + }); + + test('base0C is #ff7eb6', () { + expect(OxocarbonTheme.darkBase0C, const Color(0xFFff7eb6)); + }); + + test('base0D is #42be65', () { + expect(OxocarbonTheme.darkBase0D, const Color(0xFF42be65)); + }); + + test('base0E is #be95ff', () { + expect(OxocarbonTheme.darkBase0E, const Color(0xFFbe95ff)); + }); + + test('base0F is #82cfff', () { + expect(OxocarbonTheme.darkBase0F, const Color(0xFF82cfff)); + }); + }); + + group('Light color values', () { + test('base00 is #ffffff', () { + expect(OxocarbonTheme.lightBase00, const Color(0xFFffffff)); + }); + + test('base01 is #f2f2f2', () { + expect(OxocarbonTheme.lightBase01, const Color(0xFFf2f2f2)); + }); + + test('base02 is #d0d0d0', () { + expect(OxocarbonTheme.lightBase02, const Color(0xFFd0d0d0)); + }); + + test('base03 is #161616', () { + expect(OxocarbonTheme.lightBase03, const Color(0xFF161616)); + }); + + test('base04 is #37474F', () { + expect(OxocarbonTheme.lightBase04, const Color(0xFF37474F)); + }); + + test('base05 is #90A4AE', () { + expect(OxocarbonTheme.lightBase05, const Color(0xFF90A4AE)); + }); + + test('base06 is #525252', () { + expect(OxocarbonTheme.lightBase06, const Color(0xFF525252)); + }); + + test('base07 is #08bdba', () { + expect(OxocarbonTheme.lightBase07, const Color(0xFF08bdba)); + }); + + test('base08 is #ff7eb6', () { + expect(OxocarbonTheme.lightBase08, const Color(0xFFff7eb6)); + }); + + test('base09 is #ee5396', () { + expect(OxocarbonTheme.lightBase09, const Color(0xFFee5396)); + }); + + test('base0A is #FF6F00', () { + expect(OxocarbonTheme.lightBase0A, const Color(0xFFFF6F00)); + }); + + test('base0B is #0f62fe', () { + expect(OxocarbonTheme.lightBase0B, const Color(0xFF0f62fe)); + }); + + test('base0C is #673AB7', () { + expect(OxocarbonTheme.lightBase0C, const Color(0xFF673AB7)); + }); + + test('base0D is #42be65', () { + expect(OxocarbonTheme.lightBase0D, const Color(0xFF42be65)); + }); + + test('base0E is #be95ff', () { + expect(OxocarbonTheme.lightBase0E, const Color(0xFFbe95ff)); + }); + + test('base0F is #FFAB91', () { + expect(OxocarbonTheme.lightBase0F, const Color(0xFFFFAB91)); + }); + }); + }); +} diff --git a/test/core/theme/rose_pine_theme_test.dart b/test/core/theme/rose_pine_theme_test.dart new file mode 100644 index 0000000..7833886 --- /dev/null +++ b/test/core/theme/rose_pine_theme_test.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/rose_pine_theme.dart'; + +void main() { + group('RosePineTheme', () { + group('Main (Dark) color values', () { + test('base is #191724', () { + expect(RosePineTheme.mainBase, const Color(0xFF191724)); + }); + + test('surface is #1f1d2e', () { + expect(RosePineTheme.mainSurface, const Color(0xFF1f1d2e)); + }); + + test('overlay is #26233a', () { + expect(RosePineTheme.mainOverlay, const Color(0xFF26233a)); + }); + + test('muted is #6e6a86', () { + expect(RosePineTheme.mainMuted, const Color(0xFF6e6a86)); + }); + + test('subtle is #908caa', () { + expect(RosePineTheme.mainSubtle, const Color(0xFF908caa)); + }); + + test('text is #e0def4', () { + expect(RosePineTheme.mainText, const Color(0xFFe0def4)); + }); + + test('love is #eb6f92', () { + expect(RosePineTheme.mainLove, const Color(0xFFeb6f92)); + }); + + test('gold is #f6c177', () { + expect(RosePineTheme.mainGold, const Color(0xFFf6c177)); + }); + + test('rose is #ebbcba', () { + expect(RosePineTheme.mainRose, const Color(0xFFebbcba)); + }); + + test('pine is #31748f', () { + expect(RosePineTheme.mainPine, const Color(0xFF31748f)); + }); + + test('foam is #9ccfd8', () { + expect(RosePineTheme.mainFoam, const Color(0xFF9ccfd8)); + }); + + test('iris is #c4a7e7', () { + expect(RosePineTheme.mainIris, const Color(0xFFc4a7e7)); + }); + }); + + group('Dawn (Light) color values', () { + test('base is #faf4ed', () { + expect(RosePineTheme.dawnBase, const Color(0xFFfaf4ed)); + }); + + test('surface is #fffaf3', () { + expect(RosePineTheme.dawnSurface, const Color(0xFFfffaf3)); + }); + + test('overlay is #f2e9e1', () { + expect(RosePineTheme.dawnOverlay, const Color(0xFFf2e9e1)); + }); + + test('muted is #9893a5', () { + expect(RosePineTheme.dawnMuted, const Color(0xFF9893a5)); + }); + + test('subtle is #797593', () { + expect(RosePineTheme.dawnSubtle, const Color(0xFF797593)); + }); + + test('text is #575279', () { + expect(RosePineTheme.dawnText, const Color(0xFF575279)); + }); + + test('love is #b4637a', () { + expect(RosePineTheme.dawnLove, const Color(0xFFb4637a)); + }); + + test('gold is #ea9d34', () { + expect(RosePineTheme.dawnGold, const Color(0xFFea9d34)); + }); + + test('rose is #d7827e', () { + expect(RosePineTheme.dawnRose, const Color(0xFFd7827e)); + }); + + test('pine is #286983', () { + expect(RosePineTheme.dawnPine, const Color(0xFF286983)); + }); + + test('foam is #56949f', () { + expect(RosePineTheme.dawnFoam, const Color(0xFF56949f)); + }); + + test('iris is #907aa9', () { + expect(RosePineTheme.dawnIris, const Color(0xFF907aa9)); + }); + }); + }); +} diff --git a/test/features/settings/bloc/settings_cubit_test.dart b/test/features/settings/bloc/settings_cubit_test.dart new file mode 100644 index 0000000..29e7de8 --- /dev/null +++ b/test/features/settings/bloc/settings_cubit_test.dart @@ -0,0 +1,117 @@ +import 'package:bloc_test/bloc_test.dart'; +import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/database/app_database.dart'; +import 'package:lazurite/core/theme/app_theme.dart'; +import 'package:lazurite/features/settings/bloc/settings_cubit.dart'; +import 'package:lazurite/features/settings/bloc/settings_state.dart'; + +void main() { + late AppDatabase database; + + setUp(() async { + database = AppDatabase(executor: NativeDatabase.memory()); + }); + + tearDown(() async { + await database.close(); + }); + + group('SettingsCubit', () { + test('initial state has default values', () { + final cubit = SettingsCubit(database: database); + expect(cubit.state.themePalette, AppThemePalette.oxocarbon); + expect(cubit.state.themeVariant, AppThemeVariant.dark); + expect(cubit.state.useSystemTheme, false); + }); + + test('accepts initial values via constructor', () { + final cubit = SettingsCubit( + database: database, + initialPalette: AppThemePalette.catppuccin, + initialVariant: AppThemeVariant.light, + initialUseSystemTheme: true, + ); + expect(cubit.state.themePalette, AppThemePalette.catppuccin); + expect(cubit.state.themeVariant, AppThemeVariant.light); + expect(cubit.state.useSystemTheme, true); + }); + + blocTest( + 'loadSettings loads persisted settings from database', + build: () => SettingsCubit(database: database), + setUp: () async { + await database.setSetting('theme_palette', 'nord'); + await database.setSetting('theme_variant', 'light'); + await database.setSetting('use_system_theme', 'true'); + }, + act: (cubit) => cubit.loadSettings(), + expect: () => [ + isA() + .having((s) => s.themePalette, 'themePalette', AppThemePalette.nord) + .having((s) => s.themeVariant, 'themeVariant', AppThemeVariant.light) + .having((s) => s.useSystemTheme, 'useSystemTheme', true), + ], + ); + + blocTest( + 'loadSettings uses defaults when no settings persisted', + build: () => SettingsCubit(database: database), + act: (cubit) => cubit.loadSettings(), + expect: () => [ + isA() + .having((s) => s.themePalette, 'themePalette', AppThemePalette.oxocarbon) + .having((s) => s.themeVariant, 'themeVariant', AppThemeVariant.dark) + .having((s) => s.useSystemTheme, 'useSystemTheme', false), + ], + ); + + blocTest( + 'setThemePalette updates state and persists to database', + build: () => SettingsCubit(database: database), + act: (cubit) => cubit.setThemePalette(AppThemePalette.rosePine), + expect: () => [isA().having((s) => s.themePalette, 'themePalette', AppThemePalette.rosePine)], + verify: (cubit) async { + final value = await database.getSetting('theme_palette'); + expect(value, 'rosePine'); + }, + ); + + blocTest( + 'setThemeVariant updates state and persists to database', + build: () => SettingsCubit(database: database), + act: (cubit) => cubit.setThemeVariant(AppThemeVariant.light), + expect: () => [isA().having((s) => s.themeVariant, 'themeVariant', AppThemeVariant.light)], + verify: (cubit) async { + final value = await database.getSetting('theme_variant'); + expect(value, 'light'); + }, + ); + + blocTest( + 'setTheme updates both palette and variant', + build: () => SettingsCubit(database: database), + act: (cubit) => cubit.setTheme(AppThemePalette.nord, AppThemeVariant.light), + expect: () => [ + isA() + .having((s) => s.themePalette, 'themePalette', AppThemePalette.nord) + .having((s) => s.themeVariant, 'themeVariant', AppThemeVariant.light), + ], + verify: (cubit) async { + expect(await database.getSetting('theme_palette'), 'nord'); + expect(await database.getSetting('theme_variant'), 'light'); + }, + ); + + blocTest( + 'setUseSystemTheme updates state and persists to database', + build: () => SettingsCubit(database: database), + act: (cubit) => cubit.setUseSystemTheme(true), + expect: () => [isA().having((s) => s.useSystemTheme, 'useSystemTheme', true)], + verify: (cubit) async { + final value = await database.getSetting('use_system_theme'); + expect(value, 'true'); + }, + ); + }); +} diff --git a/test/features/settings/bloc/settings_state_test.dart b/test/features/settings/bloc/settings_state_test.dart new file mode 100644 index 0000000..bcee424 --- /dev/null +++ b/test/features/settings/bloc/settings_state_test.dart @@ -0,0 +1,112 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:lazurite/core/theme/app_theme.dart'; +import 'package:lazurite/features/settings/bloc/settings_state.dart'; + +void main() { + group('SettingsState', () { + test('supports equality', () { + const state1 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + const state2 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + + expect(state1, equals(state2)); + }); + + test('inequality when palette differs', () { + const state1 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + const state2 = SettingsState( + themePalette: AppThemePalette.catppuccin, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + + expect(state1, isNot(equals(state2))); + }); + + test('inequality when variant differs', () { + const state1 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + const state2 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.light, + useSystemTheme: false, + ); + + expect(state1, isNot(equals(state2))); + }); + + test('inequality when useSystemTheme differs', () { + const state1 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + const state2 = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: true, + ); + + expect(state1, isNot(equals(state2))); + }); + + test('copyWith returns new instance with updated values', () { + const original = SettingsState( + themePalette: AppThemePalette.oxocarbon, + themeVariant: AppThemeVariant.dark, + useSystemTheme: false, + ); + + final updated = original.copyWith( + themePalette: AppThemePalette.nord, + themeVariant: AppThemeVariant.light, + useSystemTheme: true, + ); + + expect(updated.themePalette, AppThemePalette.nord); + expect(updated.themeVariant, AppThemeVariant.light); + expect(updated.useSystemTheme, true); + expect(original.themePalette, AppThemePalette.oxocarbon); + }); + + test('copyWith preserves original values when not provided', () { + const original = SettingsState( + themePalette: AppThemePalette.catppuccin, + themeVariant: AppThemeVariant.light, + useSystemTheme: true, + ); + + final updated = original.copyWith(); + + expect(updated.themePalette, AppThemePalette.catppuccin); + expect(updated.themeVariant, AppThemeVariant.light); + expect(updated.useSystemTheme, true); + }); + + test('props includes all fields', () { + const state = SettingsState( + themePalette: AppThemePalette.rosePine, + themeVariant: AppThemeVariant.light, + useSystemTheme: true, + ); + + expect(state.props, contains(AppThemePalette.rosePine)); + expect(state.props, contains(AppThemeVariant.light)); + expect(state.props, contains(true)); + }); + }); +}