Skip to content

Commit 872b7fc

Browse files
Beautiful activity cards (#48)
* change visual of activity cards * fix import and dart fix * edit screenshots
1 parent 36baffe commit 872b7fc

8 files changed

Lines changed: 24 additions & 34 deletions

File tree

lib/data/api/activity_api.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ActivityApi {
1717
int pageNumber) async {
1818
Response? response = await ApiHelper.makeRequest(
1919
'${ActivityApi.url}all', 'GET',
20-
queryParams: {'page': pageNumber, 'size': 5});
20+
queryParams: {'page': pageNumber, 'size': 20});
2121

2222
PageResponse pageResponse = PageResponse.fromMap(response?.data);
2323
final data = List<Map<String, dynamic>>.from(pageResponse.list);
@@ -33,7 +33,7 @@ class ActivityApi {
3333
int pageNumber) async {
3434
Response? response = await ApiHelper.makeRequest(
3535
'${ActivityApi.url}friends', 'GET',
36-
queryParams: {'page': pageNumber, 'size': 3}, noCache: true);
36+
queryParams: {'page': pageNumber, 'size': 10}, noCache: true);
3737
PageResponse pageResponse = PageResponse.fromMap(response?.data);
3838
final data = List<Map<String, dynamic>>.from(pageResponse.list);
3939
List<ActivityResponse> activities =
@@ -48,7 +48,7 @@ class ActivityApi {
4848
String userId, int pageNumber) async {
4949
Response? response = await ApiHelper.makeRequest(
5050
'${ActivityApi.url}user/$userId', 'GET',
51-
queryParams: {'page': pageNumber, 'size': 5}, noCache: true);
51+
queryParams: {'page': pageNumber, 'size': 20}, noCache: true);
5252
PageResponse pageResponse = PageResponse.fromMap(response?.data);
5353
final data = List<Map<String, dynamic>>.from(pageResponse.list);
5454
List<ActivityResponse> activities =

lib/presentation/common/activity/widgets/activity_comments.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ import 'package:flutter/material.dart';
55
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
66
import 'package:hooks_riverpod/hooks_riverpod.dart';
77
import 'package:quickalert/quickalert.dart';
8-
import '../../core/utils/ui_utils.dart';
98

109
import '../../../../core/utils/storage_utils.dart';
1110
import '../../../../domain/entities/activity.dart';
1211
import '../../../../domain/entities/activity_comment.dart';
1312
import '../../../../domain/entities/user.dart';
1413
import '../../core/utils/color_utils.dart';
14+
import '../../core/utils/ui_utils.dart';
1515
import '../../core/utils/user_utils.dart';
1616
import '../../user/view_model/profile_picture_view_model.dart';
1717
import '../view_model/activity_item_comments_view_model.dart';

lib/presentation/common/activity/widgets/activity_item.dart

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ class ActivityItem extends HookConsumerWidget {
3535
final List<Color> colors = ColorUtils.generateColorTupleFromIndex(index);
3636
final titleColor = colors.first;
3737

38-
final startColor = colors.first;
39-
final endColor = colors.last;
4038
const double borderRadius = 24;
4139

4240
Activity currentActivity = state.activity ?? activity;
@@ -74,35 +72,27 @@ class ActivityItem extends HookConsumerWidget {
7472
Row(
7573
children: [
7674
if (!displayUserName)
77-
Container(
75+
SizedBox(
7876
width: 120,
7977
height: 150,
80-
decoration: BoxDecoration(
81-
borderRadius: const BorderRadius.only(
82-
topLeft: Radius.circular(borderRadius),
83-
bottomLeft: Radius.circular(borderRadius),
84-
),
85-
gradient: LinearGradient(
86-
colors: [startColor, endColor],
87-
begin: Alignment.topLeft,
88-
end: Alignment.bottomRight,
89-
),
90-
boxShadow: [
91-
BoxShadow(
92-
color: endColor,
93-
blurRadius: 12,
94-
offset: const Offset(0, 6),
95-
),
96-
],
97-
),
9878
child: Center(
9979
child: Icon(
10080
ActivityUtils.getActivityTypeIcon(activity.type),
101-
color: ColorUtils.white,
102-
size: 40,
81+
color: Colors.blueGrey.shade700,
82+
size: 60,
10383
),
10484
),
10585
),
86+
if (!displayUserName)
87+
SizedBox(
88+
height: 84,
89+
child: VerticalDivider(
90+
key: Key(activity.id.toString()),
91+
color: Colors.blueGrey.shade400,
92+
thickness: 4,
93+
width: 4,
94+
),
95+
),
10696
if (!displayUserName) const SizedBox(width: 16),
10797
Expanded(
10898
child: Column(

lib/presentation/common/core/utils/activity_utils.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ class ActivityUtils {
2424
static IconData getActivityTypeIcon(ActivityType type) {
2525
switch (type) {
2626
case ActivityType.running:
27-
return Icons.run_circle_outlined;
27+
return Icons.directions_run;
2828
case ActivityType.walking:
29-
return Icons.nordic_walking;
29+
return Icons.directions_walk;
3030
case ActivityType.cycling:
31-
return Icons.pedal_bike;
31+
return Icons.directions_bike;
3232
default:
33-
return Icons.run_circle_rounded;
33+
return Icons.directions_run;
3434
}
3535
}
3636

-219 KB
Loading
21.1 KB
Loading
-221 KB
Loading

test/presentation/core/utils/activity_utils_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ void main() {
88
group('ActivityUtils', () {
99
test('getActivityTypeIcon should return correct icons', () {
1010
expect(ActivityUtils.getActivityTypeIcon(ActivityType.running),
11-
Icons.run_circle_outlined);
11+
Icons.directions_run);
1212
expect(ActivityUtils.getActivityTypeIcon(ActivityType.walking),
13-
Icons.nordic_walking);
13+
Icons.directions_walk);
1414
expect(ActivityUtils.getActivityTypeIcon(ActivityType.cycling),
15-
Icons.pedal_bike);
15+
Icons.directions_bike);
1616
});
1717
});
1818
}

0 commit comments

Comments
 (0)