Skip to content

Commit cb735b0

Browse files
committed
payment page type screens added
1 parent 153e39a commit cb735b0

14 files changed

+778
-59
lines changed

assets/icons/add.svg

Lines changed: 4 additions & 0 deletions
Loading

lib/custom_widgets/button_plain_with_shadow.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class ButtonPlainWithShadow extends StatelessWidget {
66
final Color borderColor;
77
final Color shadowColor;
88
final Color color;
9+
final Color textColor;
910
final String text;
1011
final VoidCallback callback;
1112
final double size;
@@ -15,6 +16,7 @@ class ButtonPlainWithShadow extends StatelessWidget {
1516
{this.borderColor,
1617
this.shadowColor,
1718
this.color,
19+
this.textColor,
1820
this.text,
1921
this.size,
2022
this.height,
@@ -33,7 +35,9 @@ class ButtonPlainWithShadow extends StatelessWidget {
3335
text,
3436
textAlign: TextAlign.center,
3537
style: TextStyle(
36-
color: wood_smoke, fontSize: 21, fontWeight: FontWeight.w800),
38+
color: textColor != null ? textColor : wood_smoke,
39+
fontSize: 21,
40+
fontWeight: FontWeight.w800),
3741
),
3842
),
3943
decoration: ShapeDecoration(
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import 'package:contraflutterkit/login/login_text.dart';
2+
import 'package:flutter/cupertino.dart';
3+
import 'package:flutter/material.dart';
4+
5+
class CustomHeader extends StatelessWidget {
6+
@override
7+
Widget build(BuildContext context) {
8+
return Container(
9+
padding: EdgeInsets.all(24),
10+
child: Column(
11+
mainAxisSize: MainAxisSize.min,
12+
children: <Widget>[
13+
LoginText(
14+
text: "Saved",
15+
alignment: Alignment.centerLeft,
16+
size: 44,
17+
),
18+
LoginText(
19+
text: "Payments",
20+
alignment: Alignment.centerLeft,
21+
size: 44,
22+
)
23+
],
24+
),
25+
);
26+
}
27+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import 'package:flutter/cupertino.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class CustomListItem extends StatelessWidget {
5+
final List<String> list;
6+
7+
const CustomListItem({this.list});
8+
9+
@override
10+
Widget build(BuildContext context) {
11+
return ListView.builder(
12+
padding: EdgeInsets.symmetric(vertical: 16),
13+
shrinkWrap: true,
14+
physics: NeverScrollableScrollPhysics(),
15+
reverse: false,
16+
itemCount: list.length,
17+
itemBuilder: (context, index) {
18+
return Container(
19+
padding: EdgeInsets.symmetric(vertical: 8),
20+
child: Row(
21+
children: <Widget>[
22+
Icon(
23+
Icons.check,
24+
color: Colors.white,
25+
),
26+
Text(
27+
list[index],
28+
style: TextStyle(color: Colors.white, fontSize: 21),
29+
)
30+
],
31+
),
32+
);
33+
});
34+
}
35+
}

lib/main.dart

Lines changed: 78 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ import 'package:contraflutterkit/login/signup_form_one.dart';
1313
import 'package:contraflutterkit/onboarding/onboard_main.dart';
1414
import 'package:contraflutterkit/onboarding/type3/pager.dart';
1515
import 'package:contraflutterkit/onboarding/welcome_screen.dart';
16+
import 'package:contraflutterkit/payment/payment_main_page.dart';
17+
import 'package:contraflutterkit/payment/payment_page_one.dart';
18+
import 'package:contraflutterkit/payment/payment_page_three.dart';
19+
import 'package:contraflutterkit/payment/payment_page_two.dart';
1620
import 'package:contraflutterkit/shopping/shopping_detail_page_one.dart';
1721
import 'package:contraflutterkit/shopping/shopping_detail_page_two.dart';
1822
import 'package:contraflutterkit/shopping/shopping_home_page.dart';
@@ -86,6 +90,10 @@ class MyApp extends StatelessWidget {
8690
'/blog_staggered_page_four': (context) => BlogStaggeredGridPage(),
8791
'/blog_detail_page': (context) => BlogDetailPage(),
8892
'/blog_featured_page': (context) => ShoppingDetailPageTwo(),
93+
'/payment_main_page': (context) => PaymentMainPage(),
94+
'/payment_page_type_one': (context) => PaymentPageOne(),
95+
'/payment_page_type_two': (context) => PaymentPageTwo(),
96+
'/payment_page_type_three': (context) => PaymentPageThree(),
8997
},
9098
);
9199
}
@@ -107,69 +115,81 @@ class _MyHomePageState extends State<MyHomePage> {
107115
appBar: AppBar(
108116
title: Text(widget.title),
109117
),
110-
body: Container(
111-
padding: EdgeInsets.all(10),
112-
child: Column(
113-
children: <Widget>[
114-
ListTile(
115-
contentPadding: EdgeInsets.all(20),
116-
trailing: Icon(Icons.navigate_next),
117-
title: Text("Onboarding and Splash"),
118-
onTap: () {
119-
Navigator.pushNamed(context, "/onboard_all");
120-
},
121-
),
122-
ListTile(
123-
contentPadding: EdgeInsets.all(20),
124-
trailing: Icon(Icons.navigate_next),
125-
title: Text("Forms, Login, Signup"),
126-
onTap: () {
127-
Navigator.pushNamed(context, "/login_all");
128-
},
129-
),
130-
ListTile(
131-
contentPadding: EdgeInsets.all(20),
132-
trailing: Icon(Icons.navigate_next),
133-
title: Text("Chatting Screens"),
134-
onTap: () {
135-
Navigator.pushNamed(context, "/chat_home");
136-
},
137-
),
138-
ListTile(
139-
contentPadding: EdgeInsets.all(20),
140-
trailing: Icon(Icons.navigate_next),
141-
title: Text("Shopping Screens"),
142-
onTap: () {
143-
Navigator.pushNamed(context, "/shopping_main_page");
144-
},
145-
),
146-
ListTile(
147-
contentPadding: EdgeInsets.all(20),
148-
trailing: Icon(Icons.navigate_next),
149-
title: Text("Blog Screens"),
150-
onTap: () {
151-
Navigator.pushNamed(context, "/blog_main_page");
152-
},
153-
),
154-
Container(
155-
child: ListTile(
118+
body: SingleChildScrollView(
119+
child: Container(
120+
padding: EdgeInsets.all(10),
121+
child: Column(
122+
children: <Widget>[
123+
ListTile(
156124
contentPadding: EdgeInsets.all(20),
157125
trailing: Icon(Icons.navigate_next),
158-
title: Text("Onboarding"),
126+
title: Text("Onboarding and Splash"),
159127
onTap: () {
160-
Navigator.pushNamed(context, "/empty_state");
128+
Navigator.pushNamed(context, "/onboard_all");
129+
},
130+
),
131+
ListTile(
132+
contentPadding: EdgeInsets.all(20),
133+
trailing: Icon(Icons.navigate_next),
134+
title: Text("Forms, Login, Signup"),
135+
onTap: () {
136+
Navigator.pushNamed(context, "/login_all");
137+
},
138+
),
139+
ListTile(
140+
contentPadding: EdgeInsets.all(20),
141+
trailing: Icon(Icons.navigate_next),
142+
title: Text("Chatting Screens"),
143+
onTap: () {
144+
Navigator.pushNamed(context, "/chat_home");
145+
},
146+
),
147+
ListTile(
148+
contentPadding: EdgeInsets.all(20),
149+
trailing: Icon(Icons.navigate_next),
150+
title: Text("Shopping Screens"),
151+
onTap: () {
152+
Navigator.pushNamed(context, "/shopping_main_page");
153+
},
154+
),
155+
ListTile(
156+
contentPadding: EdgeInsets.all(20),
157+
trailing: Icon(Icons.navigate_next),
158+
title: Text("Blog Screens"),
159+
onTap: () {
160+
Navigator.pushNamed(context, "/blog_main_page");
161161
},
162162
),
163-
),
164-
ListTile(
165-
contentPadding: EdgeInsets.all(20),
166-
trailing: Icon(Icons.navigate_next),
167-
title: Text("Profile"),
168-
onTap: () {
169-
Navigator.pushNamed(context, "/empty_state");
170-
},
171-
)
172-
],
163+
Container(
164+
child: ListTile(
165+
contentPadding: EdgeInsets.all(20),
166+
trailing: Icon(Icons.navigate_next),
167+
title: Text("Payment"),
168+
onTap: () {
169+
Navigator.pushNamed(context, "/payment_main_page");
170+
},
171+
),
172+
),
173+
Container(
174+
child: ListTile(
175+
contentPadding: EdgeInsets.all(20),
176+
trailing: Icon(Icons.navigate_next),
177+
title: Text("Onboarding"),
178+
onTap: () {
179+
Navigator.pushNamed(context, "/empty_state");
180+
},
181+
),
182+
),
183+
ListTile(
184+
contentPadding: EdgeInsets.all(20),
185+
trailing: Icon(Icons.navigate_next),
186+
title: Text("Profile"),
187+
onTap: () {
188+
Navigator.pushNamed(context, "/empty_state");
189+
},
190+
)
191+
],
192+
),
173193
),
174194
),
175195
);

lib/payment/payment_card.dart

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import 'package:contraflutterkit/payment/payment_type.dart';
2+
import 'package:contraflutterkit/utils/colors.dart';
3+
import 'package:flutter/cupertino.dart';
4+
import 'package:flutter/material.dart';
5+
6+
class PaymentCard extends StatelessWidget {
7+
final CardDetail card;
8+
9+
const PaymentCard({this.card});
10+
11+
@override
12+
Widget build(BuildContext context) {
13+
return Container(
14+
padding: EdgeInsets.all(16),
15+
margin: EdgeInsets.only(left: 24, right: 24, bottom: 16),
16+
decoration: ShapeDecoration(
17+
color: card.color,
18+
shadows: [
19+
BoxShadow(
20+
color: wood_smoke,
21+
offset: Offset(
22+
0.0, // Move to right 10 horizontally
23+
2.0, // Move to bottom 5 Vertically
24+
),
25+
)
26+
],
27+
shape: RoundedRectangleBorder(
28+
borderRadius: BorderRadius.all(Radius.circular(16)),
29+
side: BorderSide(color: wood_smoke, width: 2))),
30+
child: Column(
31+
crossAxisAlignment: CrossAxisAlignment.start,
32+
children: <Widget>[
33+
Text(
34+
card.type,
35+
style: TextStyle(color: white, fontSize: 21),
36+
),
37+
Padding(
38+
padding: const EdgeInsets.symmetric(vertical: 16.0),
39+
child: Text(
40+
card.number,
41+
style: TextStyle(
42+
color: white, fontWeight: FontWeight.w800, fontSize: 21),
43+
),
44+
),
45+
Text(
46+
"CARD HOLDER",
47+
style: TextStyle(color: white, fontSize: 12),
48+
),
49+
Text(
50+
card.user_name,
51+
style: TextStyle(
52+
color: white, fontWeight: FontWeight.w800, fontSize: 21),
53+
)
54+
],
55+
),
56+
);
57+
}
58+
}

lib/payment/payment_card_item.dart

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import 'package:contraflutterkit/login/login_text.dart';
2+
import 'package:contraflutterkit/utils/colors.dart';
3+
import 'package:flutter/cupertino.dart';
4+
import 'package:flutter/material.dart';
5+
6+
class PaymentCartItem extends StatelessWidget {
7+
final Color bgColor;
8+
final String price;
9+
final String type;
10+
11+
const PaymentCartItem({this.bgColor, this.price, this.type});
12+
13+
@override
14+
Widget build(BuildContext context) {
15+
return Container(
16+
margin: EdgeInsets.all(16),
17+
padding: EdgeInsets.all(16),
18+
decoration: ShapeDecoration(
19+
color: bgColor,
20+
shadows: [
21+
BoxShadow(
22+
color: wood_smoke,
23+
offset: Offset(
24+
0.0, // Move to right 10 horizontally
25+
4.0, // Move to bottom 5 Vertically
26+
),
27+
)
28+
],
29+
shape: RoundedRectangleBorder(
30+
borderRadius: BorderRadius.all(Radius.circular(16)),
31+
side: BorderSide(color: wood_smoke, width: 2))),
32+
child: Center(
33+
child: Column(
34+
mainAxisSize: MainAxisSize.min,
35+
children: <Widget>[
36+
LoginText(
37+
alignment: Alignment.center,
38+
text: price,
39+
size: 44,
40+
),
41+
Text(
42+
type,
43+
style: TextStyle(
44+
color: wood_smoke, fontSize: 21, fontWeight: FontWeight.w500),
45+
)
46+
],
47+
),
48+
),
49+
);
50+
}
51+
}

0 commit comments

Comments
 (0)