diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index b8ed782..279019c 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -5,438 +5,590 @@
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/dafl_project_flutter/ios/Podfile.lock b/Sources/dafl_project_flutter/ios/Podfile.lock
index 6d41903..fb54b7d 100644
--- a/Sources/dafl_project_flutter/ios/Podfile.lock
+++ b/Sources/dafl_project_flutter/ios/Podfile.lock
@@ -5,6 +5,8 @@ PODS:
- fluttertoast (0.0.2):
- Flutter
- Toast
+ - home_indicator (0.0.1):
+ - Flutter
- path_provider_ios (0.0.1):
- Flutter
- Toast (4.0.0)
@@ -15,6 +17,7 @@ DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
+ - home_indicator (from `.symlinks/plugins/home_indicator/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- vibration (from `.symlinks/plugins/vibration/ios`)
@@ -29,6 +32,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_native_splash/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
+ home_indicator:
+ :path: ".symlinks/plugins/home_indicator/ios"
path_provider_ios:
:path: ".symlinks/plugins/path_provider_ios/ios"
vibration:
@@ -38,6 +43,7 @@ SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
fluttertoast: 74526702fea2c060ea55dde75895b7e1bde1c86b
+ home_indicator: 60c6a4b60d17173cd164c112eb9be37055b23af8
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
vibration: 7d883d141656a1c1a6d8d238616b2042a51a1241
diff --git a/Sources/dafl_project_flutter/lib/controller/controller.dart b/Sources/dafl_project_flutter/lib/controller/controller.dart
index 6ae37c9..d327d1d 100644
--- a/Sources/dafl_project_flutter/lib/controller/controller.dart
+++ b/Sources/dafl_project_flutter/lib/controller/controller.dart
@@ -30,15 +30,14 @@ class Controller {
currentUser = user;
}
- void changeUsernameCourant(String newName) {
- currentUser.usernameDafl = newName;
+ void changeUsernameCourant(String newName){
+ if(newName !=null){
+ this.currentUser.usernameDafl = newName;
+ }
}
-
- void changePasswordCourant(String newPass) {
- currentUser.passwDafl = newPass;
- }
-
- Future searchByUsername(String username) async {
- return await _searcher.searchByUsername(username);
+ void changePasswordCourant(String newPass){
+ if(newPass !=null){
+ this.currentUser.passwDafl = newPass;
+ }
}
}
diff --git a/Sources/dafl_project_flutter/lib/main.dart b/Sources/dafl_project_flutter/lib/main.dart
index 0b54269..0a99a88 100644
--- a/Sources/dafl_project_flutter/lib/main.dart
+++ b/Sources/dafl_project_flutter/lib/main.dart
@@ -1,4 +1,5 @@
import 'dart:async';
+import 'dart:io';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:vibration/vibration.dart';
import 'dart:math';
@@ -9,6 +10,9 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:rive/rive.dart' as riv;
import '../controller/controller.dart';
+import 'package:home_indicator/home_indicator.dart';
+import '../model/music.dart';
+import 'model/music.dart';
import 'model/spot.dart';
import 'model/user.dart';
import 'api/api.dart';
@@ -29,7 +33,7 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Paint.enableDithering = true;
- SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
+ SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
return ChangeNotifierProvider(
create: (context) => CardProvider(),
child: const MaterialApp(
@@ -147,7 +151,6 @@ class CardProvider extends ChangeNotifier {
}
void dislike() {
- Vibration.vibrate(duration: 20, amplitude: 60);
dev.log("dislike");
_angle = -20;
_position -= Offset(2 * _screenSize.width, 0);
@@ -157,39 +160,40 @@ class CardProvider extends ChangeNotifier {
}
void discovery() {
- Vibration.vibrate(duration: 20, amplitude: 60);
dev.log("discovery");
_angle = 0;
_position -= Offset(0, -_screenSize.height);
- _discoveryCard();
+ _discovery_card();
dev.log("discovery");
- if (MyApp.controller.currentUser.discovery
- .contains(MyApp.controller.currentUser.spots.last.music)) {
- MyApp.controller.currentUser.discovery
- .remove(MyApp.controller.currentUser.spots.last.music);
+ if(MyApp.controller.currentUser.Discovery.contains(MyApp().controller.currentUser.Spots2.last.music)){
+ MyApp.controller.currentUser.Discovery.remove(MyApp().controller.currentUser.Spots2.last.music);
Fluttertoast.showToast(
- msg: 'Supprimer',
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.TOP,
- timeInSecForIosWeb: 2,
- backgroundColor: Colors.red,
- textColor: Colors.white);
- } else {
- MyApp.controller.currentUser
- .addDiscovery(MyApp.controller.currentUser.spots.last.music);
- Fluttertoast.showToast(
- msg: 'Ajouté',
- toastLength: Toast.LENGTH_SHORT,
- gravity: ToastGravity.TOP,
- timeInSecForIosWeb: 2,
- backgroundColor: Colors.deepPurple,
- textColor: Colors.white);
- notifyListeners();
+ msg: 'Supprimer',
+ toastLength: Toast.LENGTH_SHORT,
+ gravity: ToastGravity.TOP,
+ timeInSecForIosWeb: 2,
+ backgroundColor: Colors.red,
+ textColor: Colors.white
+ );
+ }
+ else{
+ if(MyApp.controller.currentUser.Spots2.last != null){
+ MyApp.controller.currentUser.addDiscovery(MyApp().controller.currentUser.Spots2.last.music);
+ Fluttertoast.showToast(
+ msg: 'Ajouté',
+ toastLength: Toast.LENGTH_SHORT,
+ gravity: ToastGravity.TOP,
+ timeInSecForIosWeb: 2,
+ backgroundColor: Colors.deepPurple,
+ textColor: Colors.white
+ );
+ notifyListeners();
+ }
+
}
}
void message(context) {
- Vibration.vibrate(duration: 20, amplitude: 60);
dev.log("message");
_angle = 0;
_position -= Offset(0, _screenSize.height);
@@ -204,119 +208,113 @@ class CardProvider extends ChangeNotifier {
maxWidth: 600,
maxHeight: double.infinity,
),
- builder: (context) => buildSheet(),
- );
+ builder: (context) => buildSheet(context),);
notifyListeners();
}
-
- Widget buildSheet() {
+ Widget buildSheet(context){
final messageTextField = TextEditingController();
- return Container(
- height: 550,
- width: 350,
- decoration: BoxDecoration(
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.4),
- offset: const Offset(
- 0,
- 0,
+ return SingleChildScrollView(
+ padding:
+ EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
+ child: Container(
+ height: 500,
+ width: 380,
+ decoration: BoxDecoration(
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.4),
+ offset: const Offset(
+ 0,
+ 0,
+ ),
+ blurRadius: 10.0,
+ spreadRadius: 2.0,
),
- blurRadius: 10.0,
- spreadRadius: 2.0,
+ BoxShadow(
+ color: Colors.white.withOpacity(0.3),
+ offset: const Offset(0.0, 0.0),
+ blurRadius: 0.0,
+ spreadRadius: 0.0,
+ ),//BoxShadow//BoxShadow
+ ],
+ color: Color(0xFF232123),
+ borderRadius: BorderRadius.only(
+ topRight: Radius.circular(30),
+ topLeft: Radius.circular(30),
),
- BoxShadow(
- color: Colors.white.withOpacity(0.3),
- offset: const Offset(0.0, 0.0),
- blurRadius: 0.0,
- spreadRadius: 0.0,
- ), //BoxShadow//BoxShadow
- ],
- color: const Color(0xFF232123),
- borderRadius: const BorderRadius.only(
- topRight: Radius.circular(30),
- topLeft: Radius.circular(30),
),
- ),
- child: Padding(
- padding: const EdgeInsets.fromLTRB(20, 10, 20, 10),
- child: Column(
- children: [
- Container(
- height: 5,
- width: 130,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(20),
- color: const Color(0xFF8A8A8A),
- ),
- ),
- const SizedBox(
- height: 30,
- ),
- Container(
- width: double.infinity,
- height: 300,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(20),
- color: const Color(0xFF302C30),
- ),
- child: Padding(
- padding: const EdgeInsets.all(20),
- child: TextField(
- controller: messageTextField,
- maxLength: 300,
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(1),
- fontSize: 17,
- fontWeight: FontWeight.w200),
- expands: true,
- maxLines: null,
- keyboardType: TextInputType.multiline,
- decoration: const InputDecoration(
- hintStyle: TextStyle(
- color: Colors.white,
- ),
- border: InputBorder.none,
- hintText: "Mon message",
- ),
+ child: Padding(
+ padding: EdgeInsets.fromLTRB(20, 10, 20, 10),
+ child: Column(
+ children: [
+
+ Container(
+ height: 5,
+ width: 130,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Color(0xFF8A8A8A),
),
),
- ),
- const SizedBox(
- height: 20,
- ),
- SizedBox(
- width: double.infinity,
- height: 70,
- child: ElevatedButton(
- onPressed: () {
- sendMessage(messageTextField.text,
- MyApp.controller.currentUser.spots.last.user);
- },
- style: ElevatedButton.styleFrom(
- backgroundColor: const Color(0xFF3F1DC3),
- textStyle: const TextStyle(
- fontSize: 20, fontWeight: FontWeight.bold),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(17)),
+ SizedBox(height: 30,),
+ Container(
+ width: double.infinity,
+ height: 300,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Color(0xFF302C30),
),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- const Text("Envoyer"),
- Opacity(
- opacity: 0.2,
- child: Image.asset(
- "assets/images/send_logo.png",
+ child: Padding(
+ padding: EdgeInsets.all(20),
+ child: TextField(
+ keyboardAppearance: Brightness.dark,
+ controller: messageTextField,
+ maxLength: 300,
+ style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 17, fontWeight: FontWeight.w200),
+ expands: true,
+ maxLines: null,
+ textInputAction: TextInputAction.send,
+ decoration: InputDecoration(
+ hintStyle: TextStyle(
+ color: Colors.white,
),
- )
- ],
+ border: InputBorder.none,
+ hintText: "Mon message",
+ ),
+ ),
),
),
- )
- ],
+ SizedBox(height: 20,),
+ SizedBox(
+ width: double.infinity,
+ height: 70,
+ child: ElevatedButton(
+ onPressed: () {
+ sendMessage(messageTextField.text, MyApp().controller.currentUser.Spots2.last.user);
+ },
+ style: ElevatedButton.styleFrom(
+ primary: Color(0xFF3F1DC3),
+ textStyle: TextStyle(
+ fontSize: 20,
+ fontWeight: FontWeight.bold),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(17)
+ ),
+ ),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ Text("Envoyer"),
+ Opacity(opacity: 0.2,
+ child: Image.asset("assets/images/send_logo.png",),)
+ ],
+ ),
+ ),
+ )
+ ],
+ ),
),
+
),
);
}
@@ -326,7 +324,6 @@ class CardProvider extends ChangeNotifier {
}
void like(context) {
- Vibration.vibrate(duration: 20, amplitude: 60);
dev.log("like");
_angle = 20;
_position += Offset(2 * _screenSize.width, 0);
@@ -397,8 +394,9 @@ class _SplashState extends State {
);
}
}
-
-Object notify(int index, context, {bool isError = true}) {
+Object Notify(int index, context, {bool isError = true}){
+ double height = MediaQuery.of(context).size.height;
+ double width = MediaQuery.of(context).size.width;
String message;
if (isError == true) {
switch (index) {
@@ -442,47 +440,41 @@ Object notify(int index, context, {bool isError = true}) {
clipBehavior: Clip.none,
children: [
Container(
- padding: const EdgeInsets.all(16),
- height: 90,
- decoration: BoxDecoration(
- image: const DecorationImage(
- image: AssetImage("assets/images/backgroundNotify.png"),
- fit: BoxFit.cover),
- gradient: const LinearGradient(
- colors: [Color(0xFF81052a), Color(0xFF810548)],
- begin: Alignment.topLeft,
- end: Alignment.bottomRight),
- borderRadius: const BorderRadius.all(Radius.circular(20)),
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.3),
- blurRadius: 10,
- offset: const Offset(4, 8), // Shadow position
- ),
- ],
- ),
- child: Row(children: [
- const SizedBox(
+ padding: EdgeInsets.fromLTRB(20,height/110,20,0),
+ height: 90,
+ child: Row(
+ children: [
+ Container(
height: 48,
width: 48,
),
- Expanded(
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- const Text(
- "Oh oh !",
- style: TextStyle(
- fontSize: 20, fontWeight: FontWeight.bold),
- ),
- Text(
- message,
- style: const TextStyle(),
- overflow: TextOverflow.ellipsis,
- maxLines: 2,
- )
- ]))
- ])),
+ Expanded(child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text("Ho ho !", style: TextStyle( fontWeight: FontWeight.bold),),
+ Text(message,style: TextStyle(
+ ),
+ overflow: TextOverflow.ellipsis,
+ maxLines: 2,),
+ ],
+ ),),
+ ],
+ ),
+ decoration: BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage("assets/images/backgroundNotify.png"),
+ fit: BoxFit.cover),
+ gradient: LinearGradient(colors: [Color(0xFF81052a),Color(0xFF810548)],begin: Alignment.topLeft, end: Alignment.bottomRight),
+ borderRadius: BorderRadius.all(Radius.circular(20)),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.3),
+ blurRadius: 10,
+ offset: Offset(4, 8), // Shadow position
+ ),
+ ],
+ ),
+ ),
Positioned(
top: -50,
left: -20,
@@ -520,7 +512,7 @@ Object notify(int index, context, {bool isError = true}) {
clipBehavior: Clip.none,
children: [
Container(
- padding: const EdgeInsets.all(16),
+ padding: EdgeInsets.fromLTRB(20,height/110,20,0),
height: 90,
decoration: BoxDecoration(
image: const DecorationImage(
diff --git a/Sources/dafl_project_flutter/lib/model/message.dart b/Sources/dafl_project_flutter/lib/model/message.dart
index 2fe88a8..5fcd074 100644
--- a/Sources/dafl_project_flutter/lib/model/message.dart
+++ b/Sources/dafl_project_flutter/lib/model/message.dart
@@ -4,8 +4,9 @@ class Message{
User sender;
String content;
- Message(this.sender,this.content);
@override
String toString() => "$sender : $content";
+
+ Message(this.sender, this.content);
}
\ No newline at end of file
diff --git a/Sources/dafl_project_flutter/lib/views/pages/home/p_home.dart b/Sources/dafl_project_flutter/lib/views/pages/home/p_home.dart
index 6c2afc0..bf51259 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/home/p_home.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/home/p_home.dart
@@ -58,88 +58,50 @@ class _HomePageState extends State {
textAlign: TextAlign.center,
),
),
- ),
- SizedBox(
- height: height * 0.015,
- ),
- SizedBox(
- height: height * 0.08,
- ),
- SizedBox(
- height: 55,
- width: width * 0.75,
- child: ElevatedButton(
- style: ElevatedButton.styleFrom(
- backgroundColor: const Color(0xFF5C1DC3),
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(15.0),
- ), // background// foreground
- ),
- onPressed: () {
- Navigator.of(context).push(
- PageTransition(
- duration: const Duration(milliseconds: 300),
- reverseDuration: const Duration(milliseconds: 300),
- type: PageTransitionType.rightToLeftJoined,
- childCurrent: widget,
- child: const SignUpPage()),
- );
- },
- child: const Text(
- "S’INSCRIRE MAINTENANT",
- style: TextStyle(
- color: Colors.white,
- fontSize: 17,
- fontWeight: FontWeight.bold),
+ onPressed: () {
+ Navigator.of(context).push(PageTransition(
+ duration: Duration(milliseconds: 300),
+ reverseDuration: Duration(milliseconds: 300),
+ type: PageTransitionType.rightToLeftJoined,
+ childCurrent: widget,
+ child: SignUpPage()),
+ );
+ },
+ child: Text("S’INSCRIRE MAINTENANT",
+ style: TextStyle(color: Colors.white ,fontSize: 17, fontWeight: FontWeight.bold,fontFamily: "DMSans"),
+ textAlign: TextAlign.center,
+ ),
+ ),),
+ Spacer(),
+ GestureDetector(
+ onTap: (){
+ Navigator.of(context).push(
+ PageTransition(
+ duration: Duration(milliseconds: 300),
+ reverseDuration: Duration(milliseconds: 300),
+ type: PageTransitionType.rightToLeftJoined,
+ childCurrent: widget,
+ child: SignInPage()),
+ );
+ },
+ child: Container(
+ child: Align(
+ alignment: Alignment.center,
+ child: Text("SE CONNECTER",
+ style: TextStyle(color: Colors.white ,fontFamily: "DMSans",fontSize: 17, fontWeight: FontWeight.bold),
textAlign: TextAlign.center,
),
),
- ),
- const Spacer(),
- GestureDetector(
- onTap: () {
- Navigator.of(context).push(
- PageTransition(
- duration: const Duration(milliseconds: 300),
- reverseDuration: const Duration(milliseconds: 300),
- type: PageTransitionType.rightToLeftJoined,
- childCurrent: widget,
- child: const SignInPage()),
- );
- },
- child: Container(
- margin: const EdgeInsets.fromLTRB(0, 0, 0, 0),
- width: double.infinity,
- height: 80,
- decoration: const BoxDecoration(
- color: Color(0xFF232123),
- border: Border(
- top: BorderSide(
- width: 1.5, color: Color(0xFF3C3C3C)),
- ), // Set rounded corner radius
- ),
- child: const Align(
- alignment: Alignment.center,
- child: Text(
- "SE CONNECTER",
- style: TextStyle(
- color: Colors.white,
- fontSize: 17,
- fontWeight: FontWeight.bold),
- textAlign: TextAlign.center,
- ))))
- ]),
- Align(
- alignment: Alignment.topRight,
- child: Container(
- padding: const EdgeInsets.fromLTRB(0, 20, 20, 0),
- child: Text(
- "v1.0",
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(0.5),
- fontSize: 17,
- fontWeight: FontWeight.w700),
+ margin: EdgeInsets.fromLTRB(0, 0, 0, 0),
+ width: double.infinity,
+ height: 80,
+ decoration: BoxDecoration(
+ color: Color(0xFF232123),
+ border: Border(
+ top: BorderSide(width: 1.5, color: Color(0xFF3C3C3C)),
+ ),// Set rounded corner radius
+
+ ),
),
)),
],
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/p_conversation.dart b/Sources/dafl_project_flutter/lib/views/pages/main/p_conversation.dart
index 5dc18af..4f8efc0 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/p_conversation.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/p_conversation.dart
@@ -1,4 +1,11 @@
import 'package:flutter/material.dart';
+import 'package:dafl_project_flutter/main.dart';
+import 'package:dafl_project_flutter/model/user.dart';
+import 'package:dafl_project_flutter/views/pages/main/w_messages.dart';
+import 'package:flutter/cupertino.dart';
+
+import 'package:dafl_project_flutter/model/message.dart';
+
class ConversationPage extends StatefulWidget {
const ConversationPage({Key? key}) : super(key: key);
@@ -8,94 +15,194 @@ class ConversationPage extends StatefulWidget {
}
class _ConversationPageState extends State {
+
+
+ User destinataire = new User("test1", '1234');
+ List messages= [];
+ bool isNull = true;
+
+ final messageTextField = TextEditingController();
+
+
+ void SendMessage(String content){
+ setState(() {
+ messages.add(MessageWidget(Message(MyApp().controller.currentUser,content)));
+ });
+ }
+ Widget MessageWidget(Message message) {
+ if(message.sender != MyApp().controller.currentUser){
+ return Align(
+ alignment: Alignment.centerLeft,
+ child: Container(
+ margin: EdgeInsets.fromLTRB(40, 7, 80, 7),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ bottomRight: Radius.circular(20),
+ topLeft: Radius.circular(20),
+ topRight: Radius.circular(20),
+ bottomLeft: Radius.circular(20),
+ ),
+ border: Border.all(width: 1.5,
+ color: Color(0xFF9C9C9C).withOpacity(0.3)),
+ color: Color(0xFF191919),
+ ),
+ child: Padding(
+ padding: EdgeInsets.fromLTRB(15, 15, 15, 15),
+ child: Text(message.content,style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 15, fontWeight: FontWeight.w400),
+ )),
+ ),
+ );
+ }
+ else{
+ return Align(
+ alignment: Alignment.centerRight,
+ child: Container(
+ margin: EdgeInsets.fromLTRB(80, 7, 40, 7),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.only(
+ bottomRight: Radius.circular(20),
+ bottomLeft: Radius.circular(20),
+ topLeft: Radius.circular(20),
+ topRight: Radius.circular(20),
+ ),
+ color: Color(0xFF2F2F2F),
+ ),
+ child: Padding(
+ padding: EdgeInsets.all(15),
+ child: Text(message.content,style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 15, fontWeight: FontWeight.w400),),
+ ),),
+ );
+ }
+
+
+ }
+
+ @override
+ void initState() {
+
+ super.initState();
+ messageTextField.addListener(_checkIfNull);
+ print("INITSATE");
+ }
+
+ @override
+ void dispose() {
+ messageTextField.dispose();
+ super.dispose();
+ }
+
+ void _checkIfNull(){
+ if(messageTextField.text.length > 0){
+ setState(() {
+ isNull = false;
+ });
+ }
+ else{
+ setState(() {
+ isNull = true;
+ });
+ }
+ }
+
@override
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
+ ScrollController listScrollController = ScrollController();
+
+
return Scaffold(
extendBodyBehindAppBar: true,
resizeToAvoidBottomInset: true,
appBar: AppBar(
- backgroundColor: const Color(0xFF141414),
+ elevation: 20,
+ backgroundColor: Color(0xFF141414),
toolbarHeight: 70,
- title: Row(
- children: [
- Container(
- padding: const EdgeInsets.fromLTRB(0, 10, 0, 0),
- height: 40,
- width: 40,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(40),
- color: Colors.blue,
- ),
- ),
- const SizedBox(
- width: 20,
- ),
- const Text("Max"),
- ],
- ),
- elevation: 0,
- ),
- body: SingleChildScrollView(
- child: Container(
- color: const Color(0xFF141414),
- height: height * 0.92,
- width: double.infinity,
- child: ListView(
- reverse: true,
- scrollDirection: Axis.vertical,
+ title: Container(
+ child: Row(
children: [
- message(
- 'Adolescebat autem obstinatum propositum erga haec et similia multa scrutanda, stimulos admovente regina, quae abrupte mariti fortunas trudebat in exitium praeceps, cum eum potius lenitate feminea ad veritatis humanitatisque viam reducere utilia suadendo deberet, ut in Gordianorum actibus factitasse Maximini truculenti illius imperatoris rettulimus coniugem.',
- 0),
- message(
- 'Claudiopolis olim Seleucia Caesar potens quidem olim interneciva enim et.',
- 1),
- message(
- 'Quae quae praeceps feminea quae truculenti humanitatisque cum humanitatisque in truculenti abrupte imperatoris mariti regina regina ad lenitate veritatis veritatis.',
- 1),
- message(
- 'Quae quae praeceps feminea quae truculenti humanitatisque cum humanitatisque in truculenti abrupte imperatoris mariti regina regina ad lenitate veritatis veritatis.',
- 0),
- message(
- 'Quae quae praeceps feminea quae truculenti humanitatisque cum humanitatisque in truculenti abrupte imperatoris mariti regina regina ad lenitate veritatis veritatis.',
- 0),
- message(
- 'Quae quae praeceps feminea quae truculenti humanitatisque cum humanitatisque in truculenti abrupte imperatoris mariti regina regina ad lenitate veritatis veritatis.',
- 1),
+ Container(
+ padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
+ height: 40,
+ width: 40,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(40),
+ color: Colors.blue,
+ ),
+ ),
+ SizedBox(width: 20,),
+ Text("Max"),
+ Spacer(),
+ IconButton(
+ splashColor: Colors.grey.withOpacity(0.2),
+ splashRadius: 30,
+ onPressed: () {
+ showModalBottomSheet(
+ isDismissible: true,
+ useRootNavigator: true,
+ isScrollControlled: true,
+ backgroundColor: Colors.transparent,
+ context: context,
+ constraints: BoxConstraints(
+ maxWidth: 600,
+ maxHeight: double.infinity,
+ ),
+ builder: (context) => buildSheet(),);
+
+ },
+ icon: Icon(Icons.report_problem, color: Colors.grey.withOpacity(0.3),size: 25,),
+ ),
+
],
),
),
),
+ body: SingleChildScrollView(
+ child:
+ Container(
+ color: Color(0xFF141414),
+ height: height*0.92,
+ width: double.infinity,
+ child: ListView.builder(
+ controller: listScrollController,
+ physics: BouncingScrollPhysics(),
+ itemCount: messages.length,
+ itemBuilder: (context, index) {
+ return messages[index];
+ })
+
+ ),
+ ),
bottomSheet: BottomAppBar(
- color: const Color(0xFF141414),
+ color: Color(0xFF141414),
child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
- height: height * 0.08,
+ height: height*0.08,
color: Colors.transparent,
- width: width * 0.8,
+ width: width*0.9,
child: Container(
- margin: const EdgeInsets.fromLTRB(20, 10, 0, 10),
+ margin: EdgeInsets.fromLTRB(10, 10, 10, 10),
decoration: BoxDecoration(
border: Border.all(
width: 1,
- color: const Color(0xFF2F2F2F),
+ color: Color(0xFF2F2F2F),
),
borderRadius: BorderRadius.circular(100),
- color: const Color(0xFF141414),
+ color: Color(0xFF141414),
+
),
- child: const Padding(
- padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
+ child: Padding(
+ padding: EdgeInsets.fromLTRB(15, 0, 15, 0),
child: TextField(
+ controller: messageTextField,
style: TextStyle(color: Colors.white),
decoration: InputDecoration(
- hintStyle: TextStyle(color: Colors.white),
- border: InputBorder.none,
- hintText: "Envoyer un message...",
+ hintStyle: TextStyle(color: Colors.white.withOpacity(0.7)),
+ border: InputBorder.none,
+ hintText: "Votre message...",
),
cursorColor: Colors.purple,
textAlign: TextAlign.left,
@@ -103,75 +210,216 @@ class _ConversationPageState extends State {
),
),
),
- Container(
- width: 40,
- height: 40,
- margin: const EdgeInsets.fromLTRB(0, 0, 0, 0),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(100),
- color: Colors.blue,
- ),
- child: const Icon(
- Icons.send,
- size: 20,
- color: Colors.white,
+ GestureDetector(
+ onTap: isNull?
+ null:
+ () {
+
+ SendMessage(messageTextField.text);
+ if (listScrollController.hasClients) {
+ final position = listScrollController.position.maxScrollExtent;
+ listScrollController.jumpTo(position);
+ }
+ messageTextField.clear();
+
+ },
+ child: isNull == true?
+ Container(
+ height: 1,
+ width: 1,
+ ):
+ Container(
+ width: 40,
+ height: 40,
+ margin: EdgeInsets.fromLTRB(0, 0, 0, 0),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(100),
+ gradient: LinearGradient(
+ colors: [Color(0xff8e24a1), Color(0xff8163ff)],
+ begin: Alignment.topLeft,
+ end: Alignment.bottomRight,
+ )
+
+
+ ),
+ child: Transform.rotate(angle: -300,
+ child: Icon(Icons.arrow_back, size: 26, color: Colors.white,),)
),
)
],
),
),
);
+
+
+
+
}
- Widget message(String message, int user) {
- if (user == 0) {
- return Container(
- margin: const EdgeInsets.fromLTRB(40, 7, 80, 7),
+ Widget buildSheet(){
+ String dropdownValue = list.first;
+ final messageTextField = TextEditingController();
+ return SingleChildScrollView(
+ padding:
+ EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
+ child:Container(
+ height: 500,
+ width: double.infinity,
decoration: BoxDecoration(
- borderRadius: const BorderRadius.only(
- bottomRight: Radius.circular(20),
- topLeft: Radius.circular(20),
- topRight: Radius.circular(20),
- bottomLeft: Radius.circular(20),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.4),
+ offset: const Offset(
+ 0,
+ 0,
+ ),
+ blurRadius: 10.0,
+ spreadRadius: 2.0,
+ ),
+ BoxShadow(
+ color: Colors.white.withOpacity(0.3),
+ offset: const Offset(0.0, 0.0),
+ blurRadius: 0.0,
+ spreadRadius: 0.0,
+ ),//BoxShadow//BoxShadow
+ ],
+ color: Color(0xFF232123),
+ borderRadius: BorderRadius.only(
+ topRight: Radius.circular(30),
+ topLeft: Radius.circular(30),
),
- border: Border.all(
- width: 1.5, color: const Color(0xFF9C9C9C).withOpacity(0.3)),
- color: const Color(0xFF191919),
),
child: Padding(
- padding: const EdgeInsets.fromLTRB(15, 15, 15, 15),
- child: Text(
- message,
- style: const TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white,
- fontSize: 15,
- fontWeight: FontWeight.w400),
- )),
- );
- } else {
- return Container(
- margin: const EdgeInsets.fromLTRB(80, 7, 40, 7),
- decoration: const BoxDecoration(
- borderRadius: BorderRadius.only(
- bottomRight: Radius.circular(20),
- bottomLeft: Radius.circular(20),
- topLeft: Radius.circular(20),
- topRight: Radius.circular(20),
+ padding: EdgeInsets.fromLTRB(20, 10, 20, 10),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+
+ Container(
+ height: 5,
+ width: 130,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(20),
+ color: Color(0xFF8A8A8A),
+ ),
+ ),
+ Padding(padding: EdgeInsets.fromLTRB(0, 20, 0, 20),
+ child: Text('Signaler', style: TextStyle(color: Colors.white, fontSize: 20, fontWeight: FontWeight.w500),),),
+ Container(
+ padding: EdgeInsets.fromLTRB(20, 10, 20, 10),
+ width: double.infinity,
+ decoration: BoxDecoration(
+ color: Colors.grey.shade900,
+ borderRadius: BorderRadius.circular(15),
+ ),
+ child: Column(
+ children: [
+ Text('Vous êtes sur le point de signaler cet utilisateur. Veuillez renseigner le motif du signalement.', style: TextStyle(color: Colors.grey), textAlign: TextAlign.center,),
+ Padding(padding: EdgeInsets.fromLTRB(0, 20, 0, 10),
+ child: DropdownButtonReason(),),
+ ],
+ ),),
+ Padding(padding: EdgeInsets.fromLTRB(0, 20, 0, 20),
+ child: Column(
+ children: [
+ Container(
+ padding: EdgeInsets.fromLTRB(20, 10, 20, 10),
+ width: double.infinity,
+ decoration: BoxDecoration(
+ color: Colors.grey.withOpacity(0.07),
+ borderRadius: BorderRadius.circular(15),
+ ),
+ child: TextField(
+ keyboardAppearance: Brightness.dark,
+ onTap: (){
+ },
+ style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 17, fontWeight: FontWeight.w200),
+ maxLines: 3,
+ textInputAction: TextInputAction.done,
+ decoration: InputDecoration(
+ hintText: '* Commentaires',
+ hintStyle: TextStyle(
+ fontSize: 15,
+ color: Colors.white,
+ ),
+ border: InputBorder.none,
+ ),
+ ),),
+ ],
+ )),
+ Spacer(),
+ Padding(padding: EdgeInsets.fromLTRB(0, 0, 0, 50),
+ child: SizedBox(
+ width: double.infinity,
+ height: 70,
+ child: ElevatedButton(
+ onPressed: () {
+ },
+ style: ElevatedButton.styleFrom(
+ primary: Colors.red,
+ textStyle: TextStyle(
+ fontSize: 20,
+ fontWeight: FontWeight.bold),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(17)
+ ),
+ ),
+ child: Stack(
+ children: [
+ Positioned(
+ top: -10,
+ right: 0,
+ child: Icon(Icons.report,size: 100,color: Colors.white.withOpacity(0.2),)),
+ Center(child: Text("Envoyer le signalement"),),
+ ],
+ ),
+ ),
+ ),),
+ ],
),
- color: Color(0xFF2F2F2F),
),
- child: Padding(
- padding: const EdgeInsets.fromLTRB(15, 15, 15, 15),
- child: Text(
- message,
- style: const TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white,
- fontSize: 15,
- fontWeight: FontWeight.w400),
- )),
- );
+
+ ) ,);
+
}
+}
+
+class DropdownButtonReason extends StatefulWidget {
+ const DropdownButtonReason({super.key});
+
+ @override
+ State createState() => _DropdownButtonReasonState();
+}
+
+const List list = ['Insulte', 'Racisme', 'Messages inappropriés', "Usurpation d'identité"];
+
+class _DropdownButtonReasonState extends State {
+ String dropdownValue = list.first;
+
+ @override
+ Widget build(BuildContext context) {
+ return DropdownButton(
+ dropdownColor: Colors.grey.shade900.withOpacity(1),
+ value: dropdownValue,
+ icon: const Icon(Icons.arrow_downward, color: Colors.grey,),
+ elevation: 16,
+ style: const TextStyle(color: Colors.white),
+ underline: Container(
+ height: 2,
+ color: Colors.grey.withOpacity(0.6),
+ ),
+ onChanged: (String? value) {
+ // This is called when the user selects an item.
+ setState(() {
+ dropdownValue = value!;
+ });
+ },
+ items: list.map>((String value) {
+ return DropdownMenuItem(
+ value: value,
+ child: Text(value),
+ );
+ }).toList(),
+ );
}
}
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/p_main.dart b/Sources/dafl_project_flutter/lib/views/pages/main/p_main.dart
index f474e8e..a7bf5cb 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/p_main.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/p_main.dart
@@ -47,11 +47,11 @@ class _MainPageState extends State {
),
child: ConstrainedBox(
constraints: BoxConstraints(
- minHeight: height * 0.1,
+ minHeight: 100,
maxHeight: 100,
),
child: NavigationBar(
- animationDuration: const Duration(seconds: 1),
+ animationDuration: Duration(microseconds: 800),
selectedIndex: index,
height: height * 0.1,
onDestinationSelected: (index) => setState(() => _index = index),
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart
index a97d26b..891f090 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_discovery.dart
@@ -90,92 +90,64 @@ class _DiscoveryListState extends State {
@override
Widget build(BuildContext context) {
- return RefreshIndicator(
- onRefresh: () async {
- refreshList();
- },
- key: refreshKey,
- child: ListView.builder(
- itemCount: MyApp.controller.currentUser.discovery.length,
- itemBuilder: (context, index) {
- int itemCount = MyApp.controller.currentUser.discovery.length;
- int reversedIndex = itemCount - 1 - index;
- return Dismissible(
- key: Key(
- MyApp.controller.currentUser.discovery[reversedIndex].name),
- direction: DismissDirection.startToEnd,
- onDismissed: (direction) {
- if (direction == DismissDirection.startToEnd) {
- MyApp.controller.currentUser.discovery
- .removeAt(reversedIndex);
- }
- },
- background: Container(
- decoration: const BoxDecoration(
- image: DecorationImage(
- image: AssetImage("assets/images/delete_background.png"),
- fit: BoxFit.cover),
- )),
- child: Container(
- margin: const EdgeInsets.fromLTRB(0, 10, 0, 0),
- padding: const EdgeInsets.fromLTRB(30, 0, 30, 0),
- child: Column(
- children: [
- Container(
- margin: const EdgeInsets.fromLTRB(0, 5, 0, 0),
- width: double.infinity,
- child: Row(
- children: [
- Container(
- height: 60,
- width: 60,
- decoration: BoxDecoration(
- border: Border.all(
- width: 0,
- color: Colors.grey.withOpacity(0)),
- borderRadius:
- const BorderRadius.all(Radius.circular(10)),
- ),
- child: FadeInImage.assetNetwork(
- placeholder:
- "assets/images/loadingPlaceholder.gif",
- image: MyApp.controller.currentUser
- .discovery[reversedIndex].linkCover),
- ),
- Container(
- margin: const EdgeInsets.fromLTRB(20, 0, 0, 0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- MyApp.controller.currentUser
- .discovery[reversedIndex].name,
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(1),
- fontSize: 20,
- fontWeight: FontWeight.w800),
- ),
- Text(
- MyApp.controller.currentUser
- .discovery[reversedIndex].artist,
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(0.6),
- fontSize: 16,
- fontWeight: FontWeight.w400),
- ),
- ],
- ),
- ),
- ],
- ),
- ),
- ],
- )),
- );
- }),
- );
+ return RefreshIndicator(child: ListView.builder(
+ itemCount: MyApp().controller.currentUser.Discovery.length,
+ itemBuilder: (context, index){
+ int itemCount = MyApp().controller.currentUser.Discovery.length;
+ int reversedIndex = itemCount - 1 - index;
+ return Dismissible(
+ key: Key(MyApp().controller.currentUser.Discovery[reversedIndex].name),
+ direction: DismissDirection.startToEnd,
+ child: Container(
+ margin: EdgeInsets.fromLTRB(0, 10, 0, 0),
+ padding: EdgeInsets.fromLTRB(30, 0, 30, 0),
+ child: Column(
+ children: [
+
+ Container(
+ margin: EdgeInsets.fromLTRB(0, 5, 0, 0),
+ width: double.infinity,
+ child: Row(
+ children: [
+ Container(
+ height: 60,
+ width: 60,
+ decoration: BoxDecoration(
+ border: Border.all(width: 0, color: Colors.grey.withOpacity(0)),
+ borderRadius: BorderRadius.all(Radius.circular(10)),
+ ),
+ child: Container(
+ child: FadeInImage.assetNetwork(placeholder: "assets/images/loadingPlaceholder.gif", image: MyApp().controller.currentUser.Discovery[reversedIndex].linkCover),
+ ),),
+ Container(
+ margin: EdgeInsets.fromLTRB(20, 0, 0, 0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Text(MyApp().controller.currentUser.Discovery[reversedIndex].name,style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 20, fontWeight: FontWeight.w800),),
+ Text(MyApp().controller.currentUser.Discovery[reversedIndex].artist,style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(0.6) ,fontSize: 16, fontWeight: FontWeight.w400),),
+
+ ],
+ ),),
+ ],
+ ),
+ ),
+
+
+ ],
+ )
+
+ ), onDismissed: (direction) {
+ if(direction == DismissDirection.startToEnd)
+ MyApp().controller.currentUser.Discovery.removeAt(reversedIndex);
+ },
+ background: Container(decoration: BoxDecoration(
+ image: DecorationImage(image: AssetImage("assets/images/delete_background.png"), fit: BoxFit.cover),
+ )),);
+ }
+ ), onRefresh: () async {
+ refreshList();
+ }, key: refreshKey,);
}
}
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_messages.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_messages.dart
index 5eeb371..86975a4 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/w_messages.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_messages.dart
@@ -14,25 +14,29 @@ class _MessagesWidgetState extends State {
int indexSectedButton = 0;
Widget currentList = const ListConfirmedWidget();
- var colorConfirm = const Color(0xFFFFFFFF);
- var colorWaiting = const Color(0xFFA8A8A8);
- void changeSelected(int num) {
- if (indexSectedButton == num) {
+ var colorConfirm = Color(0xFFFFFFFF);
+ var colorWaiting = Color(0xFFA8A8A8);
+ void changeSelected(int num){
+ if(indexSectedButton == num){
return;
- } else {
- if (num == 0) {
- setState(() {
- colorConfirm = const Color(0xFFFFFFFF);
- colorWaiting = const Color(0xFFA8A8A8);
- currentList = const ListConfirmedWidget();
+ }
+ else{
+ if(num == 0){
+ setState((){
+ colorConfirm = Color(0xFFFFFFFF);
+ colorWaiting = Color(0xFFA8A8A8);
+ listeActuelle = ListConfirmedWidget();
indexSectedButton = num;
});
- } else {
- setState(() {
- colorConfirm = const Color(0xFFA8A8A8);
- colorWaiting = const Color(0xFFFFFFFF);
- currentList = const ListWaitingWidget();
+
+
+ }
+ else{
+ setState((){
+ colorConfirm = Color(0xFFA8A8A8);
+ colorWaiting = Color(0xFFFFFFFF);
+ listeActuelle = ListWaitingWidget();
indexSectedButton = num;
});
}
@@ -44,124 +48,105 @@ class _MessagesWidgetState extends State {
double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
return Container(
- color: const Color(0xFF141414),
- child: Padding(
- padding: const EdgeInsets.fromLTRB(30, 50, 30, 0),
+ color: Color(0xFF141414),
+
+ child: Padding(padding: EdgeInsets.fromLTRB(30, 50, 30, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- const Text('Messages',
- style: TextStyle(
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontSize: 25)),
- const Padding(padding: EdgeInsets.fromLTRB(0, 5, 0, 0)),
- Text(
- 'Retrouvez ici vos discussions.',
- style: TextStyle(
- color: Colors.grey.withOpacity(0.4), fontSize: 15),
- ),
- Padding(
- padding: EdgeInsets.fromLTRB(0, height * 0.01, 0, 0),
+ Container(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text('Messages', style: TextStyle(color: Colors.white, fontWeight: FontWeight.w500, fontSize: 25)),
+ Padding(padding: EdgeInsets.fromLTRB(0, 5, 0, 0)),
+ Text('Retrouvez ici vos discussions.', style: TextStyle(color: Colors.grey.withOpacity(0.4), fontSize: 15),),
+ Padding(
+ padding: EdgeInsets.fromLTRB(0, height*0.01, 0, 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
SizedBox(
height: 35,
- width: width * 0.35,
+ width: width*0.35,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: colorConfirm,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
- ), // background// foreground
+ ),// background// foreground
),
onPressed: () {
changeSelected(0);
},
- child: const Text(
- "Validées",
- style: TextStyle(
- color: Colors.black,
- fontSize: 17,
- fontWeight: FontWeight.bold),
+ child: Text("Validées",
+ style: TextStyle(color: Colors.black ,fontSize: 17, fontWeight: FontWeight.bold),
textAlign: TextAlign.center,
),
- ),
- ),
+ ),),
SizedBox(
height: 35,
- width: width * 0.35,
+ width: width*0.35,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: colorWaiting,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
- ), // background// foreground
+ ),// background// foreground
),
onPressed: () {
changeSelected(1);
},
- child: const Text(
- "En attente",
- style: TextStyle(
- color: Colors.black,
- fontSize: 17,
- fontWeight: FontWeight.bold),
+ child: Text("En attente",
+ style: TextStyle(color: Colors.black ,fontSize: 17, fontWeight: FontWeight.bold),
textAlign: TextAlign.center,
),
- ),
- ),
+ ),),
],
- ),
- ),
- ],
+ ),),
+ ],
+ ),
),
Expanded(
- child: currentList,
+ child:
+ listeActuelle,
+
+
),
],
- ),
- ),
+ ),),
);
}
}
-class MessagesButtonWidget extends StatelessWidget {
- const MessagesButtonWidget({super.key});
-
+class MessagesButtonWidget extends StatelessWidget{
@override
Widget build(BuildContext context) {
+ double height = MediaQuery.of(context).size.height;
double width = MediaQuery.of(context).size.width;
return Container(
- margin: const EdgeInsets.fromLTRB(0, 0, 0, 10),
+ margin: EdgeInsets.fromLTRB(0, 0, 0, 10),
child: Column(
children: [
Container(
color: Colors.transparent,
- margin: const EdgeInsets.fromLTRB(0, 0, 0, 0),
+ margin: EdgeInsets.fromLTRB(0, 0, 0, 0),
child: Row(
children: [
Container(
height: 60,
width: 60,
decoration: BoxDecoration(
- image: const DecorationImage(
- image: NetworkImage(
- 'https://www.goutemesdisques.com/uploads/tx_gmdchron/pi1/L_Etrange_Histoire_de_Mr_Anderson.jpg'),
+ image: DecorationImage(
+ image: NetworkImage('https://www.goutemesdisques.com/uploads/tx_gmdchron/pi1/L_Etrange_Histoire_de_Mr_Anderson.jpg'),
fit: BoxFit.cover,
),
- border: Border.all(
- width: 0, color: Colors.grey.withOpacity(0)),
- borderRadius: const BorderRadius.all(Radius.circular(30)),
- ),
- ),
+ border: Border.all(width: 0, color: Colors.grey.withOpacity(0)),
+ borderRadius: BorderRadius.all(Radius.circular(30)),
+ ),),
Container(
- width: width - 160,
- margin: const EdgeInsets.fromLTRB(20, 0, 20, 0),
+ width: width-160,
+ margin: EdgeInsets.fromLTRB(20, 0, 20, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
@@ -170,53 +155,34 @@ class MessagesButtonWidget extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Text(
- 'Max',
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(1),
- fontSize: 20,
- fontWeight: FontWeight.w800),
- ),
- Text(
- '1 jour(s)',
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(0.8),
- fontSize: 15,
- fontWeight: FontWeight.w400),
- ),
+ Text('Max',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 20, fontWeight: FontWeight.w800),),
+ Text('1 jour(s)',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(0.8) ,fontSize: 15, fontWeight: FontWeight.w400),),
],
),
- Text(
- 'A envoyé un musique.',
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white.withOpacity(0.6),
- fontSize: 16,
- fontWeight: FontWeight.w400),
- ),
+ Text('A envoyé une musique.',style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(0.6) ,fontSize: 16, fontWeight: FontWeight.w400),),
+
],
- ),
- ),
+ ),),
],
),
),
+
+
],
- ));
+ )
+ );
+
}
}
-class ListConfirmedWidget extends StatelessWidget {
- const ListConfirmedWidget({super.key});
-
+class ListConfirmedWidget extends StatelessWidget{
@override
Widget build(BuildContext context) {
+ double height = MediaQuery.of(context).size.height;
+ double width = MediaQuery.of(context).size.width;
return ListView(
- children: const [
- SizedBox(
- height: 40,
- ),
+
+ children: [
MessagesButtonWidget(),
MessagesButtonWidget(),
MessagesButtonWidget(),
@@ -226,25 +192,28 @@ class ListConfirmedWidget extends StatelessWidget {
}
}
-class ListWaitingWidget extends StatelessWidget {
- const ListWaitingWidget({super.key});
-
+class ListWaitingWidget extends StatelessWidget{
@override
Widget build(BuildContext context) {
- return ListView(children: [
- const SizedBox(
- height: 40,
- ),
- GestureDetector(
+ double height = MediaQuery.of(context).size.height;
+ double width = MediaQuery.of(context).size.width;
+ return ListView(
+
+ children: [
+ GestureDetector(
onTap: () {
Navigator.of(context).push(PageTransition(
- duration: const Duration(milliseconds: 200),
- reverseDuration: const Duration(milliseconds: 200),
+ duration: Duration(milliseconds: 200),
+ reverseDuration: Duration(milliseconds: 200),
type: PageTransitionType.rightToLeftWithFade,
childCurrent: context.widget,
- child: const ConversationPage()));
+ child: ConversationPage()));
},
- child: const MessagesButtonWidget())
- ]);
+ child: MessagesButtonWidget(),
+ ),
+
+ ],
+ );
+
}
}
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_profile.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_profile.dart
index 7d782bc..668622d 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/w_profile.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_profile.dart
@@ -17,12 +17,26 @@ class _ProfileWidgetState extends State {
}
}
-class MainPageProfil extends StatelessWidget {
- const MainPageProfil({super.key});
+class MainPageProfil extends StatefulWidget {
+ const MainPageProfil({Key? key}) : super(key: key);
+
+ @override
+ State createState() => _MainPageProfilState();
+}
+
+class _MainPageProfilState extends State {
+
+ String? username = MyApp().controller.currentUser.usernameDafl;
+ @override
+ void initState() {
+ super.initState();
+ String username = MyApp().controller.currentUser.usernameDafl ?? "default";
+ }
@override
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
+ double width = MediaQuery.of(context).size.width;
return Container(
color: const Color(0xFF141414),
child: SizedBox(
@@ -39,7 +53,7 @@ class MainPageProfil extends StatelessWidget {
style: TextStyle(
fontSize: 25,
fontWeight: FontWeight.w600,
- color: Colors.white),
+ color: Colors.white), fontFamily: "DMSans")
),
),
Container(
@@ -60,22 +74,14 @@ class MainPageProfil extends StatelessWidget {
],
),
child: Center(
- child: Text(
- MyApp.controller.currentUser.usernameDafl[0],
- style: const TextStyle(
- color: Colors.white,
- fontSize: 60,
- fontWeight: FontWeight.w500),
+ child: Text(username![0],
+ style: TextStyle(color: Colors.white ,fontSize: 60, fontWeight: FontWeight.w500),
textAlign: TextAlign.center,
),
),
),
- Text(
- MyApp.controller.currentUser.usernameDafl,
- style: const TextStyle(
- color: Colors.white,
- fontSize: 17,
- fontWeight: FontWeight.w400),
+ Text(username!,
+ style: TextStyle(color: Colors.white ,fontSize: 17, fontWeight: FontWeight.w400),
textAlign: TextAlign.center,
),
Container(
@@ -278,10 +284,9 @@ class MainPageProfil extends StatelessWidget {
), // background// foreground
),
onPressed: () {
- Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => const SettingsWidget()));
+ Navigator.push(context,MaterialPageRoute(builder: (context)=> SettingsWidget())).then((value) => setState(() {
+ username = MyApp.controller.currentUser.usernameDafl!;
+ }));
},
child: Row(
children: [
@@ -317,3 +322,4 @@ class MainPageProfil extends StatelessWidget {
);
}
}
+
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_settings.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_settings.dart
index 27b3452..7f4d9d9 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/w_settings.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_settings.dart
@@ -10,11 +10,8 @@ class SettingsWidget extends StatefulWidget {
}
class _SettingsWidgetState extends State {
- final userNameTextField =
- TextEditingController(text: MyApp.controller.currentUser.usernameDafl);
- final passwordTextField =
- TextEditingController(text: MyApp.controller.currentUser.passwDafl);
-
+ final userNameTextField = TextEditingController(text: MyApp().controller.currentUser.usernameDafl);
+ final passwordTextField = TextEditingController(text: MyApp().controller.currentUser.passwDafl);
@override
Widget build(BuildContext context) {
double height = MediaQuery.of(context).size.height;
@@ -65,6 +62,7 @@ class _SettingsWidgetState extends State {
SizedBox(
width: 230,
child: TextField(
+ keyboardAppearance: Brightness.dark,
controller: userNameTextField,
style: const TextStyle(color: Colors.white),
decoration: InputDecoration(
@@ -123,6 +121,7 @@ class _SettingsWidgetState extends State {
SizedBox(
width: 230,
child: TextField(
+ keyboardAppearance: Brightness.dark,
controller: passwordTextField,
obscureText: true,
style: const TextStyle(color: Colors.white),
diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_top.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_top.dart
index a863920..9f5f56b 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/main/w_top.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_top.dart
@@ -65,6 +65,8 @@ class TopWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
+ double height = MediaQuery.of(context).size.height;
+ double width = MediaQuery.of(context).size.width;
return Container(
padding: const EdgeInsets.fromLTRB(30, 0, 30, 0),
width: double.infinity,
@@ -126,10 +128,12 @@ class TopWidget extends StatelessWidget {
'https://images.genius.com/ef4849be3da5fdb22ea9e656679be3a3.600x600x1.jpg'),
),
),
- Stack(
+ Column(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
- margin: const EdgeInsets.fromLTRB(12, 5, 80, 60),
+ margin: EdgeInsets.fromLTRB(12, 5, 0, 0),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.start,
@@ -151,30 +155,21 @@ class TopWidget extends StatelessWidget {
],
),
),
- Positioned(
- bottom: 0,
- right: 0,
- child: Row(
- children: const [
- GradientText(
+ GradientText(
'7,2%',
- style: TextStyle(
- fontSize: 60, fontWeight: FontWeight.bold),
+ style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 40),
gradient: LinearGradient(colors: [
Colors.orange,
Colors.red,
Colors.purple,
]),
),
- ],
- ),
- ),
+ ],
+ ),
],
),
],
),
- ],
- ),
);
}
}
diff --git a/Sources/dafl_project_flutter/lib/views/pages/sign_in/p_sign_in.dart b/Sources/dafl_project_flutter/lib/views/pages/sign_in/p_sign_in.dart
index d917c72..fff3d33 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/sign_in/p_sign_in.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/sign_in/p_sign_in.dart
@@ -57,49 +57,49 @@ class _SignInPageState extends State {
height: 10,
),
Container(
- width: 500,
- padding: const EdgeInsets.fromLTRB(45, 0, 45, 0),
- child: Stack(
- children: [
- Container(
- height: 43,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- const BorderRadius.all(Radius.circular(50)),
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.3),
- spreadRadius: 5,
- blurRadius: 7,
- offset: const Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
- ),
- Padding(
- padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
- child: TextField(
- controller: userNameTextField,
- decoration: const InputDecoration(
- border: InputBorder.none,
+ width: 500,
+ padding: EdgeInsets.fromLTRB(45, 0, 45, 0),
+ child: Stack(
+ children: [
+ Container(
+ height: 43,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.all(
+ Radius.circular(50)),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.3),
+ spreadRadius: 5,
+ blurRadius: 7,
+ offset: Offset(0, 3), // changes position of shadow
),
- cursorColor: Colors.purple,
- textAlign: TextAlign.left,
- ),
+ ],
),
- Container(
- margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
- child: Image.asset(
- 'assets/images/profil_logo.png',
- height: 16,
- width: 16,
- fit: BoxFit.cover,
+ ),
+ Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0),
+ child: TextField(
+ keyboardAppearance: Brightness.dark,
+ controller: userNameTextField,
+ decoration: InputDecoration(
+ border: InputBorder.none,
),
+ cursorColor: Colors.purple,
+ textAlign: TextAlign.left,
),
- ],
- )),
+ ),
+ Container(
+ margin: EdgeInsets.fromLTRB(15, 12, 0, 0),
+ child: Image.asset(
+ 'assets/images/profil_logo.png',
+ height: 16,
+ width: 16,
+ fit: BoxFit.cover,
+ ),
+ ),
+ ],
+ )
+ ),
Container(
width: 500,
padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
@@ -125,6 +125,7 @@ class _SignInPageState extends State {
Padding(
padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
child: TextField(
+ keyboardAppearance: Brightness.dark,
controller: passwordTextField,
obscureText: true,
decoration: const InputDecoration(
diff --git a/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart b/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart
index 24b4d29..59dfa48 100644
--- a/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart
+++ b/Sources/dafl_project_flutter/lib/views/pages/sign_up/p_sign_up.dart
@@ -36,138 +36,131 @@ class _SignUpPageState extends State {
fit: BoxFit.cover,
),
Column(
- crossAxisAlignment: CrossAxisAlignment.center,
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Image.asset(
- 'assets/images/Logo.png',
- width: 250,
- ),
- const SizedBox(
- height: 45,
- ),
- const Text(
- "S'INSCRIRE",
- style: TextStyle(
- fontFamily: 'DMSans',
- color: Colors.white,
- fontSize: 23,
- fontWeight: FontWeight.w700),
- textAlign: TextAlign.center,
- ),
- const SizedBox(
- height: 10,
- ),
- Container(
- width: 500,
- padding: const EdgeInsets.fromLTRB(45, 0, 45, 0),
- child: Stack(
- children: [
- Container(
- height: 43,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- const BorderRadius.all(Radius.circular(50)),
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.3),
- spreadRadius: 5,
- blurRadius: 7,
- offset: const Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
- ),
- Padding(
- padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
- child: TextField(
- controller: userNameTextField,
- decoration: const InputDecoration(
- border: InputBorder.none,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+
+ Image.asset(
+ 'assets/images/Logo.png',
+ width: 250,
+ ),
+ SizedBox(height: 45,),
+ Text(
+ "S'INSCRIRE",
+ style: TextStyle(fontFamily: 'DMSans', color: Colors.white ,fontSize: 23, fontWeight: FontWeight.w700),
+ textAlign: TextAlign.center,
+ ),
+ SizedBox(height: 10,),
+ Container(
+ width: 500,
+ padding: EdgeInsets.fromLTRB(45, 0, 45, 0),
+ child: Stack(
+ children: [
+ Container(
+ height: 43,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.all(
+ Radius.circular(50)),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.3),
+ spreadRadius: 5,
+ blurRadius: 7,
+ offset: Offset(0, 3), // changes position of shadow
),
- cursorColor: Colors.purple,
- textAlign: TextAlign.left,
- ),
+ ],
),
- Container(
- margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
- child: Image.asset(
- 'assets/images/profil_logo.png',
- height: 16,
- width: 16,
- fit: BoxFit.cover,
+ ),
+ Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0),
+ child: TextField(
+ keyboardAppearance: Brightness.dark,
+ controller: userNameTextField,
+ decoration: InputDecoration(
+ border: InputBorder.none,
),
+ cursorColor: Colors.purple,
+ textAlign: TextAlign.left,
),
- ],
- )),
- Container(
- width: 500,
- padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
- child: Stack(
- children: [
- Container(
- height: 43,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- const BorderRadius.all(Radius.circular(50)),
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.3),
- spreadRadius: 5,
- blurRadius: 7,
- offset: const Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
+ ),
+ Container(
+ margin: EdgeInsets.fromLTRB(15, 12, 0, 0),
+ child: Image.asset(
+ 'assets/images/profil_logo.png',
+ height: 16,
+ width: 16,
+ fit: BoxFit.cover,
),
- Padding(
- padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
- child: TextField(
- controller: passwordTextField,
- obscureText: true,
- decoration: const InputDecoration(
- border: InputBorder.none,
+ ),
+ ],
+ )
+ ),
+ Container(
+ width: 500,
+ padding: EdgeInsets.fromLTRB(45, 10, 45, 0),
+ child: Stack(
+ children: [
+ Container(
+ height: 43,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.all(
+ Radius.circular(50)),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.3),
+ spreadRadius: 5,
+ blurRadius: 7,
+ offset: Offset(0, 3), // changes position of shadow
),
- cursorColor: Colors.purple,
- textAlign: TextAlign.left,
- ),
+ ],
+
),
- Container(
- margin: const EdgeInsets.fromLTRB(15, 12, 0, 0),
- child: Image.asset(
- 'assets/images/password_logo.png',
- height: 16,
- width: 16,
- fit: BoxFit.cover,
+
+ ),Padding(padding: EdgeInsets.fromLTRB(50, 0, 20, 0),
+ child: TextField(
+ keyboardAppearance: Brightness.dark,
+ controller: passwordTextField,
+ obscureText: true,
+ decoration: InputDecoration(
+ border: InputBorder.none,
),
+ cursorColor: Colors.purple,
+ textAlign: TextAlign.left,
),
- ],
- )),
- Container(
- width: 500,
- padding: const EdgeInsets.fromLTRB(45, 10, 45, 0),
- child: Stack(
- children: [
- Container(
- height: 43,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius:
- const BorderRadius.all(Radius.circular(50)),
- boxShadow: [
- BoxShadow(
- color: Colors.black.withOpacity(0.3),
- spreadRadius: 5,
- blurRadius: 7,
- offset: const Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
+ ),
+ Container(
+ margin: EdgeInsets.fromLTRB(15, 12, 0, 0),
+ child: Image.asset(
+ 'assets/images/password_logo.png',
+ height: 16,
+ width: 16,
+ fit: BoxFit.cover,
+ ),
+ ),
+ ],
+ )
+ ),
+ Container(
+ width: 500,
+ padding: EdgeInsets.fromLTRB(45, 10, 45, 0),
+ child: Stack(
+ children: [
+ Container(
+ height: 43,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.all(
+ Radius.circular(50)),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.black.withOpacity(0.3),
+ spreadRadius: 5,
+ blurRadius: 7,
+ offset: Offset(0, 3), // changes position of shadow
+ ),
+ ],
+
),
Padding(
padding: const EdgeInsets.fromLTRB(50, 0, 20, 0),
diff --git a/Sources/dafl_project_flutter/pubspec.lock b/Sources/dafl_project_flutter/pubspec.lock
index ff5cc49..ea31ae6 100644
--- a/Sources/dafl_project_flutter/pubspec.lock
+++ b/Sources/dafl_project_flutter/pubspec.lock
@@ -240,6 +240,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
+ home_indicator:
+ dependency: "direct main"
+ description:
+ name: home_indicator
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "2.0.2"
html:
dependency: transitive
description:
diff --git a/Sources/dafl_project_flutter/pubspec.yaml b/Sources/dafl_project_flutter/pubspec.yaml
index 6849976..95db087 100644
--- a/Sources/dafl_project_flutter/pubspec.yaml
+++ b/Sources/dafl_project_flutter/pubspec.yaml
@@ -26,6 +26,7 @@ dependencies:
postgresql2: ^1.0.3
path_provider: ^2.0.11
font_awesome_flutter: ^10.2.1
+ home_indicator: ^2.0.2
geolocator: ^9.0.2
dev_dependencies: