From 8e87374d077735c46bfc0e83f9d7a4cb58c4aea9 Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Fri, 21 Oct 2022 21:48:22 +0200 Subject: [PATCH] message pop up --- .../assets/images/send_logo.png | Bin 0 -> 3306 bytes Sources/dafl_project_flutter/lib/main.dart | 8 +- .../lib/views/pages/main/p_main.dart | 1 + .../lib/views/pages/main/w_bottomsheet.dart | 3 + .../lib/views/pages/main/w_card.dart | 2 +- .../lib/views/pages/main/w_spot.dart | 93 +++++++++++++++++- 6 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 Sources/dafl_project_flutter/assets/images/send_logo.png create mode 100644 Sources/dafl_project_flutter/lib/views/pages/main/w_bottomsheet.dart diff --git a/Sources/dafl_project_flutter/assets/images/send_logo.png b/Sources/dafl_project_flutter/assets/images/send_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..582ed647f6db23d4aa5cedc55fe24c4e31f80ab2 GIT binary patch literal 3306 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 literal 0 HcmV?d00001 diff --git a/Sources/dafl_project_flutter/lib/main.dart b/Sources/dafl_project_flutter/lib/main.dart index 8b4cab8..d04dbe5 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 'package:dafl_project_flutter/views/pages/main/w_bottomsheet.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'dart:math'; import './views/pages/home/p_home.dart'; @@ -80,7 +81,7 @@ class CardProvider extends ChangeNotifier{ notifyListeners(); } - void endPosition() { + void endPosition(context) { _isDragging = false; notifyListeners(); @@ -89,7 +90,7 @@ class CardProvider extends ChangeNotifier{ switch (status) { case CardStatus.like: - like(); + like(context); break; case CardStatus.disLike: dislike(); @@ -170,7 +171,7 @@ class CardProvider extends ChangeNotifier{ notifyListeners(); } - void like() { + void like(context) { print("like"); _angle = 20; _position += Offset(2 * _screenSize.width, 0); @@ -191,6 +192,7 @@ class CardProvider extends ChangeNotifier{ await Future.delayed(Duration(milliseconds: 200)); resetPosition(); } + } 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 2944a0c..616f9b8 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 @@ -29,6 +29,7 @@ class _MainPageState extends State { Widget build(BuildContext context) { double height = MediaQuery.of(context).size.height; return Scaffold( + resizeToAvoidBottomInset: false, body: screens[_index], bottomNavigationBar: NavigationBarTheme( data: NavigationBarThemeData( diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_bottomsheet.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_bottomsheet.dart new file mode 100644 index 0000000..27ec3c4 --- /dev/null +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_bottomsheet.dart @@ -0,0 +1,3 @@ +import 'package:flutter/cupertino.dart'; + + diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart index 56e7f84..6a095b5 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_card.dart @@ -149,7 +149,7 @@ class _CardWidgetState extends State{ onPanEnd: (details) { final provider = Provider.of(context, listen: false); - provider.endPosition(); + provider.endPosition(this.context); }, diff --git a/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart b/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart index 9196b43..25923ec 100644 --- a/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart +++ b/Sources/dafl_project_flutter/lib/views/pages/main/w_spot.dart @@ -109,9 +109,21 @@ class _SpotsWidgetState extends State { width: width*0.1, ), GestureDetector( + onLongPress: (){ + showModalBottomSheet( + useRootNavigator: true, + isScrollControlled: true, + backgroundColor: Colors.transparent, + context: context, + constraints: BoxConstraints( + maxWidth: 600, + maxHeight: double.infinity, + ), + builder: (context) => buildSheet(),); + }, onTap: () { final provider = Provider.of(context, listen: false); - provider.like(); + provider.like(this.context); }, child: Image.asset( 'assets/images/bouton_like.png', @@ -171,6 +183,85 @@ class _SpotsWidgetState extends State { ); } + Widget buildSheet() => Container( + height: 550, + width: 330, + decoration: BoxDecoration( + color: Color(0xFF232123), + borderRadius: BorderRadius.only( + topRight: Radius.circular(30), + topLeft: Radius.circular(30), + ), + ), + 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), + ), + ), + SizedBox(height: 30,), + Container( + width: double.infinity, + height: 300, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: Color(0xFF302C30), + ), + child: Padding( + padding: EdgeInsets.all(20), + child: TextField( + maxLength: 200, + style: TextStyle(fontFamily: 'DMSans', color: Colors.white.withOpacity(1) ,fontSize: 17, fontWeight: FontWeight.w200), + expands: true, + maxLines: null, + keyboardType: TextInputType.multiline, + 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: () {}, + 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",),) + ], + ), + ), + ) + ], + ), + ), + + ); + }