Skip to content

Commit 92fd46d

Browse files
committed
lint: misc
1 parent 9432f2f commit 92fd46d

File tree

8 files changed

+123
-149
lines changed

8 files changed

+123
-149
lines changed

lib/headlines-feed/bloc/categories_filter_bloc.dart

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'package:bloc_concurrency/bloc_concurrency.dart';
55
import 'package:equatable/equatable.dart';
66
import 'package:ht_categories_client/ht_categories_client.dart';
77
import 'package:ht_categories_repository/ht_categories_repository.dart';
8-
import 'package:ht_shared/ht_shared.dart'; // For PaginatedResponse
8+
// For PaginatedResponse
99

1010
part 'categories_filter_event.dart';
1111
part 'categories_filter_state.dart';
@@ -22,8 +22,8 @@ class CategoriesFilterBloc
2222
///
2323
/// Requires a [HtCategoriesRepository] to interact with the data layer.
2424
CategoriesFilterBloc({required HtCategoriesRepository categoriesRepository})
25-
: _categoriesRepository = categoriesRepository,
26-
super(const CategoriesFilterState()) {
25+
: _categoriesRepository = categoriesRepository,
26+
super(const CategoriesFilterState()) {
2727
on<CategoriesFilterRequested>(
2828
_onCategoriesFilterRequested,
2929
transformer: restartable(), // Only process the latest request
@@ -67,20 +67,10 @@ class CategoriesFilterBloc
6767
),
6868
);
6969
} on GetCategoriesFailure catch (e) {
70-
emit(
71-
state.copyWith(
72-
status: CategoriesFilterStatus.failure,
73-
error: e,
74-
),
75-
);
70+
emit(state.copyWith(status: CategoriesFilterStatus.failure, error: e));
7671
} catch (e) {
7772
// Catch unexpected errors
78-
emit(
79-
state.copyWith(
80-
status: CategoriesFilterStatus.failure,
81-
error: e,
82-
),
83-
);
73+
emit(state.copyWith(status: CategoriesFilterStatus.failure, error: e));
8474
}
8575
}
8676

@@ -114,18 +104,15 @@ class CategoriesFilterBloc
114104
// Keep existing data but indicate failure
115105
emit(
116106
state.copyWith(
117-
status: CategoriesFilterStatus.failure, // Or a specific 'loadMoreFailure' status?
107+
status:
108+
CategoriesFilterStatus
109+
.failure, // Or a specific 'loadMoreFailure' status?
118110
error: e,
119111
),
120112
);
121113
} catch (e) {
122114
// Catch unexpected errors
123-
emit(
124-
state.copyWith(
125-
status: CategoriesFilterStatus.failure,
126-
error: e,
127-
),
128-
);
115+
emit(state.copyWith(status: CategoriesFilterStatus.failure, error: e));
129116
}
130117
}
131118
}

lib/headlines-feed/bloc/countries_filter_bloc.dart

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'package:bloc_concurrency/bloc_concurrency.dart'; // For transformers
55
import 'package:equatable/equatable.dart';
66
import 'package:ht_countries_client/ht_countries_client.dart'; // For Country model and exceptions
77
import 'package:ht_countries_repository/ht_countries_repository.dart';
8-
import 'package:ht_shared/ht_shared.dart'; // For PaginatedResponse
8+
// For PaginatedResponse
99

1010
part 'countries_filter_event.dart';
1111
part 'countries_filter_state.dart';
@@ -16,13 +16,14 @@ part 'countries_filter_state.dart';
1616
/// Handles initial fetching and pagination of countries using the
1717
/// provided [HtCountriesRepository].
1818
/// {@endtemplate}
19-
class CountriesFilterBloc extends Bloc<CountriesFilterEvent, CountriesFilterState> {
19+
class CountriesFilterBloc
20+
extends Bloc<CountriesFilterEvent, CountriesFilterState> {
2021
/// {@macro countries_filter_bloc}
2122
///
2223
/// Requires a [HtCountriesRepository] to interact with the data layer.
2324
CountriesFilterBloc({required HtCountriesRepository countriesRepository})
24-
: _countriesRepository = countriesRepository,
25-
super(const CountriesFilterState()) {
25+
: _countriesRepository = countriesRepository,
26+
super(const CountriesFilterState()) {
2627
on<CountriesFilterRequested>(
2728
_onCountriesFilterRequested,
2829
transformer: restartable(), // Only process the latest request
@@ -55,7 +56,6 @@ class CountriesFilterBloc extends Bloc<CountriesFilterEvent, CountriesFilterStat
5556
// Note: Repository uses 'cursor' parameter name here
5657
final response = await _countriesRepository.fetchCountries(
5758
limit: _countriesLimit,
58-
cursor: null, // Explicitly null for initial fetch
5959
);
6060
emit(
6161
state.copyWith(
@@ -67,20 +67,10 @@ class CountriesFilterBloc extends Bloc<CountriesFilterEvent, CountriesFilterStat
6767
),
6868
);
6969
} on CountryFetchFailure catch (e) {
70-
emit(
71-
state.copyWith(
72-
status: CountriesFilterStatus.failure,
73-
error: e,
74-
),
75-
);
70+
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
7671
} catch (e) {
7772
// Catch unexpected errors
78-
emit(
79-
state.copyWith(
80-
status: CountriesFilterStatus.failure,
81-
error: e,
82-
),
83-
);
73+
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
8474
}
8575
}
8676

@@ -113,20 +103,10 @@ class CountriesFilterBloc extends Bloc<CountriesFilterEvent, CountriesFilterStat
113103
);
114104
} on CountryFetchFailure catch (e) {
115105
// Keep existing data but indicate failure
116-
emit(
117-
state.copyWith(
118-
status: CountriesFilterStatus.failure,
119-
error: e,
120-
),
121-
);
106+
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
122107
} catch (e) {
123108
// Catch unexpected errors
124-
emit(
125-
state.copyWith(
126-
status: CountriesFilterStatus.failure,
127-
error: e,
128-
),
129-
);
109+
emit(state.copyWith(status: CountriesFilterStatus.failure, error: e));
130110
}
131111
}
132112
}

lib/headlines-feed/bloc/sources_filter_bloc.dart

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'dart:async';
33
import 'package:bloc/bloc.dart';
44
import 'package:bloc_concurrency/bloc_concurrency.dart'; // For transformers
55
import 'package:equatable/equatable.dart';
6-
import 'package:ht_shared/ht_shared.dart'; // For PaginatedResponse
6+
// For PaginatedResponse
77
import 'package:ht_sources_client/ht_sources_client.dart'; // Keep existing, also for Source model
88
import 'package:ht_sources_repository/ht_sources_repository.dart';
99

@@ -21,8 +21,8 @@ class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
2121
///
2222
/// Requires a [HtSourcesRepository] to interact with the data layer.
2323
SourcesFilterBloc({required HtSourcesRepository sourcesRepository})
24-
: _sourcesRepository = sourcesRepository,
25-
super(const SourcesFilterState()) {
24+
: _sourcesRepository = sourcesRepository,
25+
super(const SourcesFilterState()) {
2626
on<SourcesFilterRequested>(
2727
_onSourcesFilterRequested,
2828
transformer: restartable(), // Only process the latest request
@@ -65,20 +65,10 @@ class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
6565
),
6666
);
6767
} on SourceFetchFailure catch (e) {
68-
emit(
69-
state.copyWith(
70-
status: SourcesFilterStatus.failure,
71-
error: e,
72-
),
73-
);
68+
emit(state.copyWith(status: SourcesFilterStatus.failure, error: e));
7469
} catch (e) {
7570
// Catch unexpected errors
76-
emit(
77-
state.copyWith(
78-
status: SourcesFilterStatus.failure,
79-
error: e,
80-
),
81-
);
71+
emit(state.copyWith(status: SourcesFilterStatus.failure, error: e));
8272
}
8373
}
8474

@@ -110,20 +100,10 @@ class SourcesFilterBloc extends Bloc<SourcesFilterEvent, SourcesFilterState> {
110100
);
111101
} on SourceFetchFailure catch (e) {
112102
// Keep existing data but indicate failure
113-
emit(
114-
state.copyWith(
115-
status: SourcesFilterStatus.failure,
116-
error: e,
117-
),
118-
);
103+
emit(state.copyWith(status: SourcesFilterStatus.failure, error: e));
119104
} catch (e) {
120105
// Catch unexpected errors
121-
emit(
122-
state.copyWith(
123-
status: SourcesFilterStatus.failure,
124-
error: e,
125-
),
126-
);
106+
emit(state.copyWith(status: SourcesFilterStatus.failure, error: e));
127107
}
128108
}
129109
}

lib/headlines-feed/view/category_filter_page.dart

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
//
12
// ignore_for_file: lines_longer_than_80_chars
23

34
import 'package:flutter/material.dart';
@@ -120,9 +121,7 @@ class _CategoryFilterPageState extends State<CategoryFilterPage> {
120121
),
121122
// Use BlocBuilder to react to state changes from CategoriesFilterBloc
122123
body: BlocBuilder<CategoriesFilterBloc, CategoriesFilterState>(
123-
builder: (context, state) {
124-
return _buildBody(context, state);
125-
},
124+
builder: _buildBody,
126125
),
127126
);
128127
}
@@ -146,9 +145,10 @@ class _CategoryFilterPageState extends State<CategoryFilterPage> {
146145
state.categories.isEmpty) {
147146
return FailureStateWidget(
148147
message: state.error?.toString() ?? l10n.unknownError,
149-
onRetry: () => context
150-
.read<CategoriesFilterBloc>()
151-
.add(CategoriesFilterRequested()),
148+
onRetry:
149+
() => context.read<CategoriesFilterBloc>().add(
150+
CategoriesFilterRequested(),
151+
),
152152
);
153153
}
154154

@@ -170,7 +170,8 @@ class _CategoryFilterPageState extends State<CategoryFilterPage> {
170170
bottom: AppSpacing.xxl, // Padding at the bottom for loader/content
171171
),
172172
// Add 1 to item count if loading more or if failed during load more
173-
itemCount: state.categories.length +
173+
itemCount:
174+
state.categories.length +
174175
((state.status == CategoriesFilterStatus.loadingMore ||
175176
(state.status == CategoriesFilterStatus.failure &&
176177
state.categories.isNotEmpty))
@@ -195,8 +196,8 @@ class _CategoryFilterPageState extends State<CategoryFilterPage> {
195196
child: Text(
196197
l10n.loadMoreError,
197198
style: Theme.of(context).textTheme.bodySmall?.copyWith(
198-
color: Theme.of(context).colorScheme.error,
199-
),
199+
color: Theme.of(context).colorScheme.error,
200+
),
200201
),
201202
),
202203
);
@@ -211,18 +212,20 @@ class _CategoryFilterPageState extends State<CategoryFilterPage> {
211212

212213
return CheckboxListTile(
213214
title: Text(category.name),
214-
secondary: category.iconUrl != null
215-
? SizedBox(
216-
width: 40,
217-
height: 40,
218-
child: Image.network(
219-
category.iconUrl!,
220-
fit: BoxFit.contain,
221-
errorBuilder: (context, error, stackTrace) =>
222-
const Icon(Icons.category), // Placeholder icon
223-
),
224-
)
225-
: null,
215+
secondary:
216+
category.iconUrl != null
217+
? SizedBox(
218+
width: 40,
219+
height: 40,
220+
child: Image.network(
221+
category.iconUrl!,
222+
fit: BoxFit.contain,
223+
errorBuilder:
224+
(context, error, stackTrace) =>
225+
const Icon(Icons.category), // Placeholder icon
226+
),
227+
)
228+
: null,
226229
value: isSelected,
227230
onChanged: (bool? value) {
228231
// When a checkbox state changes, update the local selection set

lib/headlines-feed/view/country_filter_page.dart

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
//
12
// ignore_for_file: lines_longer_than_80_chars
23

34
import 'package:flutter/material.dart';
@@ -118,9 +119,7 @@ class _CountryFilterPageState extends State<CountryFilterPage> {
118119
),
119120
// Use BlocBuilder to react to state changes from CountriesFilterBloc
120121
body: BlocBuilder<CountriesFilterBloc, CountriesFilterState>(
121-
builder: (context, state) {
122-
return _buildBody(context, state);
123-
},
122+
builder: _buildBody,
124123
),
125124
);
126125
}
@@ -134,17 +133,21 @@ class _CountryFilterPageState extends State<CountryFilterPage> {
134133
return LoadingStateWidget(
135134
icon: Icons.public_outlined, // Changed icon
136135
headline: l10n.countryFilterLoadingHeadline, // Assumes this exists
137-
subheadline: l10n.countryFilterLoadingSubheadline, // Assumes this exists
136+
subheadline:
137+
l10n.countryFilterLoadingSubheadline, // Assumes this exists
138138
);
139139
}
140140

141141
// Handle failure state (show error and retry button)
142142
if (state.status == CountriesFilterStatus.failure &&
143143
state.countries.isEmpty) {
144144
return FailureStateWidget(
145-
message: state.error?.toString() ?? l10n.unknownError, // Assumes this exists
146-
onRetry: () =>
147-
context.read<CountriesFilterBloc>().add(CountriesFilterRequested()),
145+
message:
146+
state.error?.toString() ?? l10n.unknownError, // Assumes this exists
147+
onRetry:
148+
() => context.read<CountriesFilterBloc>().add(
149+
CountriesFilterRequested(),
150+
),
148151
);
149152
}
150153

@@ -162,7 +165,8 @@ class _CountryFilterPageState extends State<CountryFilterPage> {
162165
return ListView.builder(
163166
controller: _scrollController,
164167
padding: const EdgeInsets.only(bottom: AppSpacing.xxl),
165-
itemCount: state.countries.length +
168+
itemCount:
169+
state.countries.length +
166170
((state.status == CountriesFilterStatus.loadingMore ||
167171
(state.status == CountriesFilterStatus.failure &&
168172
state.countries.isNotEmpty))
@@ -185,8 +189,8 @@ class _CountryFilterPageState extends State<CountryFilterPage> {
185189
child: Text(
186190
l10n.loadMoreError, // Assumes this exists
187191
style: Theme.of(context).textTheme.bodySmall?.copyWith(
188-
color: Theme.of(context).colorScheme.error,
189-
),
192+
color: Theme.of(context).colorScheme.error,
193+
),
190194
),
191195
),
192196
);
@@ -200,14 +204,16 @@ class _CountryFilterPageState extends State<CountryFilterPage> {
200204

201205
return CheckboxListTile(
202206
title: Text(country.name),
203-
secondary: SizedBox( // Use SizedBox for consistent flag size
207+
secondary: SizedBox(
208+
// Use SizedBox for consistent flag size
204209
width: 40,
205210
height: 30, // Adjust height for flag aspect ratio if needed
206211
child: Image.network(
207212
country.flagUrl,
208213
fit: BoxFit.contain,
209-
errorBuilder: (context, error, stackTrace) =>
210-
const Icon(Icons.flag_outlined), // Placeholder icon
214+
errorBuilder:
215+
(context, error, stackTrace) =>
216+
const Icon(Icons.flag_outlined), // Placeholder icon
211217
),
212218
),
213219
value: isSelected,

0 commit comments

Comments
 (0)