Skip to content

Commit

Permalink
feat: update no activity screen (#1644)
Browse files Browse the repository at this point in the history
  • Loading branch information
Merculiar authored Dec 13, 2024
1 parent f09d636 commit 1c7af7d
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,9 @@ import '../widgets/pending_activities_list.dart';
import '../widgets/transaction_list.dart';

class ActivitiesScreen extends StatefulWidget {
const ActivitiesScreen({
super.key,
required this.initialTab,
required this.onSendMoneyPressed,
});
const ActivitiesScreen({super.key, required this.initialTab});

final ActivitiesTab initialTab;
final VoidCallback onSendMoneyPressed;

@override
State<ActivitiesScreen> createState() => _ActivitiesScreenState();
Expand Down Expand Up @@ -58,17 +53,11 @@ class _ActivitiesScreenState extends State<ActivitiesScreen>
);

Widget mapWrapper(ActivitiesTab tab) => switch (tab) {
ActivitiesTab.pending => _Wrapper(
child: PendingActivitiesList(
padding: insets,
onSendMoneyPressed: widget.onSendMoneyPressed,
),
ActivitiesTab.pending => const _Wrapper(
child: PendingActivitiesList(padding: insets),
),
ActivitiesTab.transactions => _Wrapper(
child: TransactionList(
padding: insets,
onSendMoneyPressed: widget.onSendMoneyPressed,
),
ActivitiesTab.transactions => const _Wrapper(
child: TransactionList(padding: insets),
),
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,41 +1,48 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

import '../../../../gen/assets.gen.dart';
import '../../../../l10n/l10n.dart';
import '../../../../ui/button.dart';
import '../../../../ui/navigation_bar/navigation_bar.dart';
import '../../../ui/colors.dart';

class NoActivity extends StatelessWidget {
const NoActivity({super.key, required this.onSendMoneyPressed});

final VoidCallback onSendMoneyPressed;
const NoActivity({super.key});

@override
Widget build(BuildContext context) => Padding(
padding: const EdgeInsets.symmetric(horizontal: 44),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Spacer(),
Assets.images.logoIcon.image(height: 101),
const SizedBox(height: 21),
Text(
context.l10n.noActivity,
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: CpColors.secondaryTextColor,
),
Widget build(BuildContext context) => Column(
children: [
SizedBox(height: 60.h),
Assets.icons.money.svg(height: 78.h),
SizedBox(height: 30.h),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 44),
child: Text(
context.l10n.noActivityTitle.toUpperCase(),
textAlign: TextAlign.center,
style: TextStyle(
fontStyle: FontStyle.normal,
fontSize: 32.sp,
fontWeight: FontWeight.w900,
letterSpacing: 0.25,
height: 1,
),
),
const Spacer(),
CpButton(
text: context.l10n.requestOrSendPayment,
width: double.infinity,
size: CpButtonSize.big,
onPressed: onSendMoneyPressed,
),
SizedBox(height: 12.h),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 44),
child: Text(
context.l10n.noActivityDescription,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 16.sp,
fontWeight: FontWeight.w400,
letterSpacing: 0.19,
height: 1.3,
),
),
const Spacer(),
const SizedBox(height: cpNavigationBarheight),
],
),
),
const SizedBox(height: cpNavigationBarheight),
],
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,9 @@ import 'payment_request_tile.dart';
import 'tr_tile.dart';

class PendingActivitiesList extends StatefulWidget {
const PendingActivitiesList({
super.key,
this.padding,
required this.onSendMoneyPressed,
});
const PendingActivitiesList({super.key, this.padding});

final EdgeInsetsGeometry? padding;
final VoidCallback onSendMoneyPressed;

@override
State<PendingActivitiesList> createState() => _PendingActivitiesListState();
Expand All @@ -47,9 +42,7 @@ class _PendingActivitiesListState extends State<PendingActivitiesList> {
final data = snapshot.data;

if (data == null || data.isEmpty) {
return Center(
child: NoActivity(onSendMoneyPressed: widget.onSendMoneyPressed),
);
return const Center(child: NoActivity());
}

final hasKyc = data.first is KycActivity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,9 @@ import 'no_activity.dart';
import 'transaction_item.dart';

class TransactionList extends StatefulWidget {
const TransactionList({
super.key,
this.padding,
required this.onSendMoneyPressed,
});
const TransactionList({super.key, this.padding});

final EdgeInsetsGeometry? padding;
final VoidCallback onSendMoneyPressed;

@override
State<TransactionList> createState() => _TransactionListState();
Expand Down Expand Up @@ -45,11 +40,7 @@ class _TransactionListState extends State<TransactionList> {
if (data == null) return const SizedBox.shrink();

return data.isEmpty
? Center(
child: NoActivity(
onSendMoneyPressed: widget.onSendMoneyPressed,
),
)
? const Center(child: NoActivity())
: CustomScrollView(
physics: const BouncingScrollPhysics(
parent: AlwaysScrollableScrollPhysics(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ final List<({SvgGenImage icon, WidgetBuilder builder})> _pages = [
icon: Assets.icons.notifications,
builder: (context) => ActivitiesScreen(
initialTab: sl<HomeNavigationService>().activitiesTabNotifier.value,
onSendMoneyPressed: () => HomeScreen.openWalletTab(context),
),
),
];
6 changes: 4 additions & 2 deletions packages/espressocash_app/lib/l10n/intl_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,10 @@
"@next": {},
"no": "No",
"@no": {},
"noActivity": "No activity yet!",
"@noActivity": {},
"noActivityTitle": "No activity yet.",
"@noActivityTitle": {},
"noActivityDescription": "Whenever you send, receive, deposit, or withdraw money, it will be displayed here.",
"@noActivityDescription": {},
"noResultsFound": "No results found",
"@noResultsFound": {},
"ok": "OK",
Expand Down

0 comments on commit 1c7af7d

Please sign in to comment.