Skip to content

Commit 7799e66

Browse files
committed
rfac: add default picture url
1 parent f936983 commit 7799e66

5 files changed

Lines changed: 15 additions & 6 deletions

File tree

lib/presentation/home/bloc/home_bloc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class HomeBloc extends Bloc<HomeEvent, HomeState> {
2222
screens = <Widget>[
2323
const FeedScreen(),
2424
const ContestsScreen(),
25-
SearchScreen(),
25+
const SearchScreen(),
2626
const ProfileScreen(),
2727
];
2828
}

lib/presentation/search/bloc/search_bloc.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:equatable/equatable.dart';
2+
import 'package:flutter/widgets.dart';
23
import 'package:flutter_bloc/flutter_bloc.dart';
34
import 'package:freezed_annotation/freezed_annotation.dart';
45

@@ -87,4 +88,5 @@ class SearchBloc extends Bloc<SearchEvent, SearchState> {
8788
String updatedFilter = '';
8889
List<User> searchedResult = [];
8990
List<User> filteredSearchResult = [];
91+
final TextEditingController controller = TextEditingController();
9092
}

lib/presentation/search/search_screen.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import 'widgets/recent_searches.dart';
1010
import 'widgets/searched_result.dart';
1111

1212
class SearchScreen extends StatelessWidget {
13-
SearchScreen({Key? key}) : super(key: key);
14-
final TextEditingController _controller = TextEditingController();
13+
const SearchScreen({Key? key}) : super(key: key);
1514

1615
@override
1716
Widget build(BuildContext context) {
@@ -33,7 +32,7 @@ class SearchScreen extends StatelessWidget {
3332
context.read<SearchBloc>().add(const Reset());
3433
}
3534
},
36-
controller: _controller,
35+
controller: context.read<SearchBloc>().controller,
3736
onSubmitted: (val) {
3837
final res = val.trim();
3938
if (res.isEmpty) return;
@@ -70,7 +69,7 @@ class SearchScreen extends StatelessWidget {
7069
color: AppColors.grey6,
7170
),
7271
onPressed: () {
73-
_controller.clear();
72+
context.read<SearchBloc>().controller.clear();
7473
if (state.showSearches) {
7574
context.read<SearchBloc>().add(const Reset());
7675
}

lib/presentation/search/widgets/searched_result.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
55

66
import '../../../data/constants/colors.dart';
77
import '../../../data/constants/styles.dart';
8+
import '../../../utils/user_util.dart';
89
import '../bloc/search_bloc.dart';
910

1011
class SearchedResult extends StatelessWidget {
@@ -37,7 +38,9 @@ class SearchedResult extends StatelessWidget {
3738
width: 35.r,
3839
child: CachedNetworkImage(
3940
cacheKey: result.id,
40-
imageUrl: result.picture!,
41+
imageUrl: (result.picture ?? '').isEmpty
42+
? UserUtil.picture
43+
: result.picture!,
4144
errorWidget: (context, url, error) =>
4245
const CircularProgressIndicator(),
4346
),

lib/utils/user_util.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class UserUtil {
2+
static const picture =
3+
'https://storage.googleapis.com/codephile-a71b6.appspot.com'
4+
'/profile/5fbbcb0d-3d3d-40cf-ae52-5c857fdaa6b2.png';
5+
}

0 commit comments

Comments
 (0)