Skip to content

Commit f269bc3

Browse files
committed
feat: implement ui of update details
Signed-off-by: Aman <aman2@me.iitr.ac.in>
1 parent be6df1e commit f269bc3

21 files changed

Lines changed: 640 additions & 186 deletions

lib/data/config/config.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ class Environment {
22
/// URL that is common to most outgoing requests.
33
static const String baseUrl = String.fromEnvironment(
44
'BASE_URL',
5-
defaultValue: 'https://codephile-test.herokuapp.com/v1/',
5+
// defaultValue: 'https://codephile-test.herokuapp.com/v1/',
6+
defaultValue: 'https://codephile.mdg.iitr.ac.in/v1/',
67
);
78

89
/// Project identifier for Sentry error logging.

lib/data/constants/routes.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ class AppRoutes {
1111

1212
// Post-Auth
1313
static const String home = '/home';
14+
static const String updateProfile = '/updatePofile';
1415
}

lib/presentation/contests/widgets/contest_card.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import '../../../data/constants/colors.dart';
1010
import '../../../data/constants/styles.dart';
1111
import '../../../data/services/remote/notification_service.dart';
1212
import '../../../domain/models/contest.dart';
13-
import '../../../utils/contest_util.dart';
13+
import '../../../utils/platform_util.dart';
1414
import '../bloc/contests_bloc.dart';
1515

1616
class ContestCard extends StatelessWidget {
@@ -287,15 +287,15 @@ class ContestCard extends StatelessWidget {
287287
}
288288

289289
extension on Ongoing {
290-
String get platformName => ContestUtil.getPlatformName(platform);
291-
String get icon => ContestUtil.getPlatformIcon(platform);
290+
String get platformName => PlatformUtil.getName(platform);
291+
String get icon => PlatformUtil.getIcon(platform);
292292
String get time =>
293293
'Ends on ${DateFormat('dd, MMMM yyyy hh:mm a').format(endTime)}';
294294
}
295295

296296
extension on Upcoming {
297-
String get platformName => ContestUtil.getPlatformName(platform);
298-
String get icon => ContestUtil.getPlatformIcon(platform);
297+
String get platformName => PlatformUtil.getName(platform);
298+
String get icon => PlatformUtil.getIcon(platform);
299299
String get time =>
300300
'Starts on ${DateFormat('dd, MMMM yyyy hh:mm a').format(startTime)}';
301301
}

lib/presentation/contests/widgets/filter_sheet.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import 'package:intl/intl.dart';
88
import '../../../data/constants/assets.dart';
99
import '../../../data/constants/colors.dart';
1010
import '../../../data/constants/styles.dart';
11-
import '../../../utils/contest_util.dart';
11+
import '../../../utils/platform_util.dart';
1212
import '../bloc/contests_bloc.dart';
1313

1414
class FilterSheet extends StatelessWidget {
@@ -137,7 +137,7 @@ class FilterSheet extends StatelessWidget {
137137
max: 6,
138138
divisions: 6,
139139
value: state.duration!.toDouble(),
140-
label: ContestUtil.getLabel(state.duration),
140+
label: PlatformUtil.getLabel(state.duration),
141141
onChanged: (_value) {
142142
context
143143
.read<ContestsBloc>()

lib/presentation/core/main_app.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ class Codephile extends StatelessWidget {
2828
);
2929
},
3030
debugShowCheckedModeBanner: false,
31-
initialRoute: AppRoutes.signUp,
31+
// TODO(developers): Update this with the screen you're testing.
32+
initialRoute: AppRoutes.home,
3233
navigatorObservers: <NavigatorObserver>[
3334
SentryNavigatorObserver(),
3435
AppNavigationObserver(),

lib/presentation/core/router.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import '../login/login_screen.dart';
77
import '../onboarding/onboarding_screen.dart';
88
import '../signup/signup_screen.dart';
99
import '../signup/verify_screen.dart';
10+
import '../update_profile/update_profile.dart';
1011

1112
/// Wrapper for a single method to be passed to [GetMaterialApp.onGenerateRoute].
1213
class AppRouter {
@@ -42,6 +43,12 @@ class AppRouter {
4243
routeName: settings.name,
4344
settings: settings,
4445
);
46+
case AppRoutes.updateProfile:
47+
return GetPageRoute(
48+
page: () => const UpdateProfile(),
49+
routeName: settings.name,
50+
settings: settings,
51+
);
4552
default:
4653
return GetPageRoute(
4754
page: () => Scaffold(

lib/presentation/feed/widgets/feed_card.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import 'package:intl/intl.dart';
99
import '../../../data/constants/assets.dart';
1010
import '../../../data/constants/colors.dart';
1111
import '../../../domain/models/grouped_feed.dart';
12-
import '../../../utils/contest_util.dart';
1312
import '../../../utils/feed_util.dart';
13+
import '../../../utils/platform_util.dart';
1414

1515
class FeedCard extends StatelessWidget {
1616
FeedCard({
@@ -105,8 +105,8 @@ class FeedCard extends StatelessWidget {
105105
CircleAvatar(
106106
backgroundColor: Colors.transparent,
107107
backgroundImage: AssetImage(
108-
ContestUtil.getPlatformIcon(
109-
ContestUtil.getPlatformNamefromUrl(
108+
PlatformUtil.getIcon(
109+
PlatformUtil.getNamefromUrl(
110110
feed.url,
111111
),
112112
),
@@ -117,7 +117,7 @@ class FeedCard extends StatelessWidget {
117117
width: 150.w,
118118
child: Text(
119119
_makeNonBreaking(
120-
' ${ContestUtil.getPlatformName(ContestUtil.getPlatformNamefromUrl(feed.url))} |'
120+
' ${PlatformUtil.getName(PlatformUtil.getNamefromUrl(feed.url))} |'
121121
' ${feed.language}',
122122
),
123123
style: Theme.of(context)

lib/presentation/profile/widgets/accuracy_display.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
44

55
import '../../../data/constants/colors.dart';
66
import '../../../data/constants/styles.dart';
7-
import '../../../utils/contest_util.dart';
7+
import '../../../utils/platform_util.dart';
88
import '../bloc/profile_bloc.dart';
99

1010
class AccuracyDisplay extends StatelessWidget {
@@ -63,7 +63,7 @@ class AccuracyDisplay extends StatelessWidget {
6363
child: Padding(
6464
padding: EdgeInsets.all(5.r),
6565
child: Image.asset(
66-
ContestUtil.getPlatformIcon(platform),
66+
PlatformUtil.getIcon(platform),
6767
width: 25.r,
6868
height: 25.r,
6969
),

lib/presentation/profile/widgets/following_view.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class FollowingView extends StatelessWidget {
4040
icon: Icon(
4141
Icons.clear,
4242
size: 24.r,
43-
color: AppColors.primaryBlack,
43+
color: AppColors.grey3,
4444
),
4545
),
4646
],

lib/presentation/profile/widgets/profile_header.dart

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ProfileHeader extends StatelessWidget {
5353
const Spacer(flex: 2),
5454
IconButton(
5555
onPressed: () async {
56-
await showMenu<String?>(
56+
showMenu(
5757
context: context,
5858
position: RelativeRect.fromLTRB(100.w, 70.h, 0, 0),
5959
items: [
@@ -64,12 +64,17 @@ class ProfileHeader extends StatelessWidget {
6464
vertical: 4.h,
6565
),
6666
onTap: () {
67-
Get.back(result: AppRoutes.updateProfile);
67+
Future.delayed(
68+
const Duration(seconds: 1),
69+
() {
70+
Get.toNamed(AppRoutes.updateProfile);
71+
},
72+
);
6873
},
6974
child: Text(
7075
'Update Details',
7176
style: AppStyles.h6.copyWith(
72-
color: AppColors.primaryBlack,
77+
color: AppColors.grey3,
7378
),
7479
textAlign: TextAlign.center,
7580
),
@@ -84,18 +89,14 @@ class ProfileHeader extends StatelessWidget {
8489
child: Text(
8590
'Logout',
8691
style: AppStyles.h6.copyWith(
87-
color: AppColors.primaryBlack,
92+
color: AppColors.grey3,
8893
),
8994
textAlign: TextAlign.center,
9095
),
9196
)
9297
],
9398
elevation: 8,
94-
).then((route) {
95-
if (route == null) return;
96-
97-
Get.toNamed(route);
98-
});
99+
);
99100
},
100101
icon: state.personalProfile
101102
? const Icon(

0 commit comments

Comments
 (0)