Skip to content

Commit 5b47749

Browse files
committed
Design changes and lockscreen update
1 parent 424c781 commit 5b47749

File tree

14 files changed

+233
-74
lines changed

14 files changed

+233
-74
lines changed

assets/images/commu.jpeg

89.6 KB
Loading

assets/images/commu.png

356 KB
Loading

assets/images/digitalsec.png

29.3 KB
Loading

assets/images/idea.png

25 KB
Loading

assets/images/mental.png

82.3 KB
Loading

assets/images/opport.png

22.4 KB
Loading

lib/core/common/post_card.dart

+9
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@ class PostCard extends ConsumerWidget {
6363
blurRadius: 4,
6464
),
6565
],
66+
gradient: LinearGradient(
67+
colors: [
68+
Colors.black,
69+
Colors.grey[900]!,
70+
Colors.blueGrey[900]!,
71+
],
72+
begin: Alignment.topLeft,
73+
end: Alignment.bottomRight,
74+
),
6675
),
6776
child: Column(
6877
children: [

lib/features/auth/screens/login_screen.dart

+110-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:animated_text_kit/animated_text_kit.dart';
2+
import 'package:carousel_slider/carousel_slider.dart';
23
import 'package:femunity/core/common/loader.dart';
34
import 'package:femunity/features/auth/controller/auth_controller.dart';
45
import 'package:flutter/material.dart';
@@ -16,19 +17,20 @@ class LoginScreen extends ConsumerWidget {
1617
@override
1718
Widget build(BuildContext context, WidgetRef ref) {
1819
final isLoading = ref.watch(authControllerProvider);
20+
1921
return Scaffold(
2022
body: isLoading
2123
? const Loader()
2224
: SafeArea(
2325
child: Stack(
2426
children: [
2527
Container(
26-
decoration: BoxDecoration(
28+
decoration: const BoxDecoration(
2729
gradient: LinearGradient(
2830
colors: [
29-
Colors.black,
30-
Colors.grey[800]!,
31-
Colors.grey[400]!,
31+
Colors.pink,
32+
Colors.orange,
33+
Colors.yellow,
3234
],
3335
begin: Alignment.topLeft,
3436
end: Alignment.bottomRight,
@@ -92,12 +94,55 @@ class LoginScreen extends ConsumerWidget {
9294
textAlign: TextAlign.center,
9395
),
9496
),
95-
const SizedBox(height: 320),
97+
const SizedBox(height: 40),
98+
CarouselSlider(
99+
options: CarouselOptions(
100+
height: 200,
101+
autoPlay: true,
102+
autoPlayInterval: const Duration(seconds: 3),
103+
autoPlayCurve: Curves.fastOutSlowIn,
104+
enlargeCenterPage: true,
105+
scrollDirection: Axis.horizontal,
106+
),
107+
items: const [
108+
SliderCard(
109+
image: 'assets/images/commu.png',
110+
title: 'Discover new communities',
111+
description:
112+
'Find communities of like-minded women to connect with and support each other.',
113+
),
114+
SliderCard(
115+
image: 'assets/images/idea.png',
116+
title: 'Share your thoughts and ideas',
117+
description:
118+
'Post links, text, and image-based posts to start discussions and share your thoughts and ideas with others.',
119+
),
120+
SliderCard(
121+
image: 'assets/images/mental.png',
122+
title: 'Care for physical & mental health',
123+
description:
124+
'Learn more about physical & mental health.',
125+
),
126+
SliderCard(
127+
image: 'assets/images/opport.png',
128+
title: 'Get opportunities to grow',
129+
description:
130+
'Explore opportunities for personal and professional growth.',
131+
),
132+
SliderCard(
133+
image: 'assets/images/digitalsec.png',
134+
title: 'Stay Digitally Secure',
135+
description:
136+
'Learn how to stay safe and secure in the digital world.',
137+
),
138+
],
139+
),
140+
const SizedBox(height: 100),
96141
Padding(
97142
padding: const EdgeInsets.symmetric(horizontal: 20),
98143
child: Column(
99-
children: [
100-
const SignInButton(),
144+
children: const [
145+
SignInButton(),
101146
],
102147
),
103148
),
@@ -109,3 +154,61 @@ class LoginScreen extends ConsumerWidget {
109154
);
110155
}
111156
}
157+
158+
class SliderCard extends StatelessWidget {
159+
final String image;
160+
final String title;
161+
final String description;
162+
163+
const SliderCard({
164+
required this.image,
165+
required this.title,
166+
required this.description,
167+
Key? key,
168+
}) : super(key: key);
169+
170+
@override
171+
Widget build(BuildContext context) {
172+
return Container(
173+
width: 270,
174+
margin: const EdgeInsets.symmetric(horizontal: 10),
175+
child: Card(
176+
elevation: 10,
177+
shape: RoundedRectangleBorder(
178+
borderRadius: BorderRadius.circular(10),
179+
),
180+
color: Colors.white.withOpacity(0.7),
181+
child: SingleChildScrollView(
182+
child: Column(
183+
children: [
184+
Image.asset(
185+
image,
186+
height: 110,
187+
width: 110,
188+
),
189+
// const SizedBox(height: 10),
190+
Text(
191+
title,
192+
style: const TextStyle(
193+
fontWeight: FontWeight.bold,
194+
fontSize: 16,
195+
color: Colors.black,
196+
decoration: TextDecoration.underline,
197+
),
198+
),
199+
const SizedBox(height: 5),
200+
Text(
201+
description,
202+
style: TextStyle(
203+
fontSize: 12,
204+
color: Colors.grey[900],
205+
),
206+
textAlign: TextAlign.center,
207+
),
208+
],
209+
),
210+
),
211+
),
212+
);
213+
}
214+
}

lib/features/home/drawer/list_of_communities.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class CommunityListDrawer extends ConsumerWidget {
2525
final user = ref.watch(userProvider)!;
2626
final isGuest = !user.isAuthenticated;
2727
return Drawer(
28-
backgroundColor: Colors.black,
28+
backgroundColor: Colors.grey[980],
2929
child: SafeArea(
3030
child: Column(
3131
crossAxisAlignment: CrossAxisAlignment.stretch,

lib/features/home/drawer/profile_drawer.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class ProfileDrawer extends ConsumerWidget {
3232
Widget build(BuildContext context, WidgetRef ref) {
3333
final user = ref.watch(userProvider)!;
3434
return Drawer(
35-
backgroundColor: Colors.black,
35+
backgroundColor: Colors.grey[980],
3636
child: SafeArea(
3737
child: Column(
3838
crossAxisAlignment: CrossAxisAlignment.start,
@@ -127,7 +127,7 @@ class ProfileDrawer extends ConsumerWidget {
127127
Padding(
128128
padding: const EdgeInsets.all(20),
129129
child: Text(
130-
'Version 1.9.7',
130+
'Version 1.9.8',
131131
style: TextStyle(
132132
fontFamily: 'Montserrat',
133133
fontSize: 16,

lib/features/posts/screens/add_posts_screen.dart

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'package:femunity/theme/pallate.dart';
21
import 'package:flutter/material.dart';
32
import 'package:flutter_riverpod/flutter_riverpod.dart';
43
import 'package:routemaster/routemaster.dart';
@@ -12,7 +11,7 @@ class AddPostsScreen extends ConsumerWidget {
1211

1312
@override
1413
Widget build(BuildContext context, WidgetRef ref) {
15-
final currentTheme = ref.watch(themeNotifierProvider);
14+
// final currentTheme = ref.watch(themeNotifierProvider);
1615
return Column(
1716
mainAxisAlignment: MainAxisAlignment.center,
1817
crossAxisAlignment: CrossAxisAlignment.stretch,
@@ -30,7 +29,11 @@ class AddPostsScreen extends ConsumerWidget {
3029
elevation: 16,
3130
child: const SizedBox(
3231
height: 120,
33-
child: Icon(Icons.image_outlined, size: 40),
32+
child: Icon(
33+
Icons.image_outlined,
34+
size: 40,
35+
color: Colors.pink,
36+
),
3437
),
3538
),
3639
),
@@ -51,7 +54,7 @@ class AddPostsScreen extends ConsumerWidget {
5154
Icons.text_fields_outlined,
5255
size: 40,
5356
color: Theme.of(context).brightness == Brightness.dark
54-
? null // keep the default color for dark mode
57+
? Colors.green // keep the default color for dark mode
5558
: Colors.blue, // set color to blue in light mode
5659
),
5760
),
@@ -70,7 +73,11 @@ class AddPostsScreen extends ConsumerWidget {
7073
elevation: 16,
7174
child: const SizedBox(
7275
height: 120,
73-
child: Icon(Icons.link_outlined, size: 40),
76+
child: Icon(
77+
Icons.link_outlined,
78+
size: 40,
79+
color: Colors.lightBlue,
80+
),
7481
),
7582
),
7683
)

lib/features/settings/privacy.dart

+39-23
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,62 @@ class PrivacyPolicyScreen extends StatelessWidget {
66
return Scaffold(
77
appBar: AppBar(
88
title: const Text('Privacy & Security Policy'),
9+
backgroundColor:
10+
Colors.deepPurple, // Radically changing the app bar color
911
),
1012
body: Container(
13+
decoration: BoxDecoration(),
1114
padding: const EdgeInsets.all(20.0),
1215
child: Column(
1316
crossAxisAlignment: CrossAxisAlignment.start,
1417
children: [
15-
const Text(
18+
_buildCard(
1619
'Introduction',
17-
style: TextStyle(
18-
fontSize: 24.0,
19-
fontWeight: FontWeight.bold,
20-
color: Colors.orange),
21-
),
22-
const SizedBox(height: 10.0),
23-
const Text(
2420
'Welcome to Femunity, an app designed to empower women around the world. At Femunity, we take your privacy and security seriously. This privacy policy outlines how we collect, use, and protect your personal information.',
25-
style: TextStyle(fontSize: 18.0),
21+
Colors.orange,
2622
),
2723
const SizedBox(height: 20.0),
28-
const Text(
24+
_buildCard(
2925
'Data Collection',
30-
style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),
31-
),
32-
const SizedBox(height: 10.0),
33-
const Text(
34-
'We collect your email id, username, and profile picture when you create an account on Femunity. This information is stored securely on Firebase servers provided by Google. We do not share, sell or disclose your personal information to any third party.',
35-
style: TextStyle(fontSize: 18.0),
26+
'We collect your email id, username, and profile picture when you create an account on Femunity. This information is stored securely on Firebase servers provided by Google. We do not share, sell, or disclose your personal information to any third party.',
27+
Colors.white,
3628
),
3729
const SizedBox(height: 20.0),
38-
const Text(
30+
_buildCard(
3931
'Data Protection',
32+
'At Femunity, we take the security of your personal information seriously. We use industry-standard security measures to protect your data. All data is protected, and access to our servers is restricted to authorized personnel only.',
33+
Colors.green,
34+
),
35+
],
36+
),
37+
),
38+
);
39+
}
40+
41+
Widget _buildCard(String title, String content, Color color) {
42+
return Card(
43+
elevation: 4,
44+
shape: RoundedRectangleBorder(
45+
borderRadius: BorderRadius.circular(12.0),
46+
),
47+
margin: const EdgeInsets.symmetric(vertical: 8.0),
48+
child: Padding(
49+
padding: const EdgeInsets.all(16.0),
50+
child: Column(
51+
crossAxisAlignment: CrossAxisAlignment.start,
52+
children: [
53+
Text(
54+
title,
4055
style: TextStyle(
41-
fontSize: 24.0,
42-
fontWeight: FontWeight.bold,
43-
color: Colors.green),
56+
fontSize: 24.0,
57+
fontWeight: FontWeight.bold,
58+
color: color,
59+
),
4460
),
4561
const SizedBox(height: 10.0),
46-
const Text(
47-
'At Femunity, we take the security of your personal information seriously. We use industry-standard security measures to protect your data. All data is protected, and access to our servers is restricted to authorized personnel only.',
48-
style: TextStyle(fontSize: 18.0),
62+
Text(
63+
content,
64+
style: const TextStyle(fontSize: 18.0),
4965
),
5066
],
5167
),

0 commit comments

Comments
 (0)