Skip to content

Commit

Permalink
Gad 5 to main (#162)
Browse files Browse the repository at this point in the history
* Ui Changes and Added functionality of designation

* Updated kserverLink,kAuthUrl and gradle ver (7.4.2)

---------

Co-authored-by: TusharGupta03 <[email protected]>
  • Loading branch information
PraneGIT and TusharGupta03 authored Apr 17, 2024
1 parent 838008a commit d329bf3
Show file tree
Hide file tree
Showing 17 changed files with 1,543 additions and 270 deletions.
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ subprojects {
project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
106 changes: 106 additions & 0 deletions lib/Components/appBar2.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
import 'package:flutter/material.dart';
import 'package:fusion/constants.dart';
import 'package:fusion/services/service_locator.dart';
import 'package:fusion/services/storage_service.dart';

class CustomAppBar extends StatefulWidget implements PreferredSizeWidget {
final String curr_desig;
final String headerTitle;

final ValueChanged<String> onDesignationChanged;

const CustomAppBar({
Key? key,
required this.curr_desig,
required this.headerTitle,

required this.onDesignationChanged,
}) : super(key: key);

@override
_CustomAppBarState createState() => _CustomAppBarState();

@override
Size get preferredSize => Size.fromHeight(kToolbarHeight);
}

class _CustomAppBarState extends State<CustomAppBar> {
late List<String> designations;
late String current;
var service = locator<StorageService>();

@override
void initState() {
super.initState();
designations = (service!.getFromDisk('designations') as List<dynamic>)
.map((dynamic item) => item.toString())
.toList();

current = service!.getFromDisk(
'Current_designation'); // Ensure designations is not null before accessing index 0
}

@override
Widget build(BuildContext context) {
return AppBar(
iconTheme: IconThemeData(color: Colors.white),
backgroundColor: kPrimaryColor,
title: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(
child: Padding(
padding: EdgeInsets.only(right: 20.0), // Add some right padding to ensure space for the dropdown
child: Text(
widget.headerTitle, // Example of a long title
overflow: TextOverflow.ellipsis, // Prevents overflow by adding ellipsis
style: TextStyle(
color: Colors.white,
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
),
),
DropdownButtonHideUnderline(
child: DropdownButton<String>(
padding: const EdgeInsets.all(15),
borderRadius: BorderRadius.circular(5),
value: current,
icon: Icon(Icons.arrow_drop_down, color: Colors.white),
iconSize: 24,
style: TextStyle(color: Colors.white, fontSize: 18),
dropdownColor:
kPrimaryColor, // Set the dropdown background color to orange
onChanged: (String? newValue) {
widget.onDesignationChanged(newValue!);
setState(() {
current = newValue!;
service!.saveToDisk('Current_designation', current);
});
},
items: designations.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(
value,
style: TextStyle(
color: Colors.white), // Set the text color to white
),
);
}).toList(),
onTap: () {
// Find the index of the selected value
int index = designations.indexOf(current);
// Scroll the dropdown to the selected value
Scrollable.ensureVisible(context,
alignment: 0.5, duration: Duration(milliseconds: 300));
},
),
),
],
),
actions: <Widget>[],
);
}
}
148 changes: 148 additions & 0 deletions lib/Components/bottom_navigation_bar.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
import 'package:flutter/material.dart';

class MyBottomNavigationBar extends StatefulWidget {
@override
_MyBottomNavigationBarState createState() => _MyBottomNavigationBarState();
}

class _MyBottomNavigationBarState extends State<MyBottomNavigationBar> {
bool _notificationsBool = false;
bool _announcementsBool = false;
bool _newsBool = false;
bool _homeBool = false;

@override
Widget build(BuildContext context) {
return SizedBox(
height: 100.0,
child: Padding(
padding: EdgeInsets.only(bottom: 40),
child: Card(
color: Colors.deepOrangeAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(17.0),
),
child: Padding(
padding: const EdgeInsets.only(
left: 13.0, right: 10.0, top: 5.0, bottom: 5.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
GestureDetector(
onTap: () {
_notificationsBool = false;
_announcementsBool = false;
_newsBool = false;
_homeBool = true;
setState(() {
_notificationsBool = false;
_announcementsBool = false;
_newsBool = false;
_homeBool = true;
});
Navigator.pushReplacementNamed(context, "/dashboard");

},
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.home_rounded,
color: Colors.white,
size: _homeBool ? 30.0 : 25.0,
),
],
),
),
GestureDetector(
onTap: () {
_newsBool = true;
_announcementsBool = false;
_notificationsBool = false;
_homeBool = false;

setState(() {
_newsBool = true;
_announcementsBool = false;
_notificationsBool = false;
_homeBool = false;
});
Navigator.pushReplacementNamed(context, "/news");
},
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.newspaper_rounded,
color: Colors.white,
size: _newsBool ? 30.0 : 25.0,
),
],
),
),
GestureDetector(
onTap: () {
_announcementsBool = false;
_newsBool = false;
_notificationsBool = true;
_homeBool = false;

setState(() {
_announcementsBool = false;
_newsBool = false;
_notificationsBool = true;
_homeBool = false;
});
Navigator.pushReplacementNamed(context, "/notification");
},
child: Padding(
padding: const EdgeInsets.only(right: 16.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.notifications_active_rounded,
color: Colors.white,
size: _notificationsBool ? 30.0 : 25.0,
),
],
),
),
),
GestureDetector(
onTap: () {
_announcementsBool = true;
_newsBool = false;
_notificationsBool = false;
_homeBool = false;

setState(() {
_announcementsBool = true;
_newsBool = false;
_notificationsBool = false;
_homeBool = false;
});
Navigator.pushReplacementNamed(context, "/announcement");
},
child: Padding(
padding: const EdgeInsets.only(right: 16.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.campaign_rounded,
color: Colors.white,
size: _announcementsBool ? 30.0 : 25.0,
),
],
),
),
),
],
),
),
),
),
);
}
}
Loading

0 comments on commit d329bf3

Please sign in to comment.