Merge branch 'report_user'
continuous-integration/drone/push Build is passing Details

# Conflicts:
#	Sources/dafl_project_flutter/assets/logs.txt
messagerie_lucas_test
Lucas DELANIER 2 years ago
commit 5ec32fe705

@ -1,9 +1,12 @@
import 'dart:convert';
import '../model/music.dart'; import '../model/music.dart';
import '../model/spot.dart'; import '../model/spot.dart';
import '../persistence/database_loader.dart'; import '../persistence/database_loader.dart';
import '../persistence/database_saver.dart'; import '../persistence/database_saver.dart';
import '../persistence/database_searcher.dart'; import '../persistence/database_searcher.dart';
import '../persistence/loader.dart'; import '../persistence/loader.dart';
import 'package:http/http.dart' as http;
import '../persistence/saver.dart'; import '../persistence/saver.dart';
import '../model/user.dart'; import '../model/user.dart';
@ -85,4 +88,29 @@ class Controller {
'https://cdns-images.dzcdn.net/images/cover/17a9747927ac3e5ea56f92f635d9180c/500x500.jpg')), 'https://cdns-images.dzcdn.net/images/cover/17a9747927ac3e5ea56f92f635d9180c/500x500.jpg')),
].reversed.toList(); ].reversed.toList();
} }
Future sendEmail(User reporter, User reported, String reason, String message) async{
const serviceId = 'service_dzyndyb';
const templateId = 'template_idgriw2';
const userId = 'hy7HxL5QGV6gpdqry';
final url = Uri.parse("https://api.emailjs.com/api/v1.0/email/send");
final response = await http.post(
url,
headers: {
'Content-Type': 'application/json',
},
body: json.encode({
'service_id': serviceId,
'template_id': templateId,
'user_id': userId,
'template_params': {
'from_name': reporter.usernameDafl,
'to_name': reported.usernameDafl,
'reason': reason,
'message': message,
},
}),
);
}
} }

@ -258,6 +258,8 @@ class _ConversationPageState extends State<ConversationPage> {
} }
Widget buildSheet() { Widget buildSheet() {
String? currentvalue;
final messageTextField = TextEditingController();
return SingleChildScrollView( return SingleChildScrollView(
padding: padding:
EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom), EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
@ -319,7 +321,7 @@ class _ConversationPageState extends State<ConversationPage> {
borderRadius: BorderRadius.circular(15), borderRadius: BorderRadius.circular(15),
), ),
child: Column( child: Column(
children: const [ children: [
Text( Text(
'Vous êtes sur le point de signaler cet utilisateur. Veuillez renseigner le motif du signalement.', 'Vous êtes sur le point de signaler cet utilisateur. Veuillez renseigner le motif du signalement.',
style: TextStyle(color: Colors.grey), style: TextStyle(color: Colors.grey),
@ -344,8 +346,8 @@ class _ConversationPageState extends State<ConversationPage> {
borderRadius: BorderRadius.circular(15), borderRadius: BorderRadius.circular(15),
), ),
child: TextField( child: TextField(
controller: messageTextField,
keyboardAppearance: Brightness.dark, keyboardAppearance: Brightness.dark,
onTap: () {},
style: TextStyle( style: TextStyle(
fontFamily: 'DMSans', fontFamily: 'DMSans',
color: Colors.white.withOpacity(1), color: Colors.white.withOpacity(1),
@ -367,12 +369,15 @@ class _ConversationPageState extends State<ConversationPage> {
)), )),
const Spacer(), const Spacer(),
Padding( Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 0, 50), padding: const EdgeInsets.fromLTRB(0, 0, 0, 0),
child: SizedBox( child: SizedBox(
width: double.infinity, width: double.infinity,
height: 70, height: 70,
child: ElevatedButton( child: ElevatedButton(
onPressed: () {}, onPressed: () {
MyApp.controller.sendEmail(MyApp.controller.currentUser, destinataire, currentValue, messageTextField.text);
Navigator.pop(context);
},
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: Colors.red, backgroundColor: Colors.red,
textStyle: const TextStyle( textStyle: const TextStyle(
@ -407,8 +412,6 @@ class _ConversationPageState extends State<ConversationPage> {
} }
class DropdownButtonReason extends StatefulWidget { class DropdownButtonReason extends StatefulWidget {
const DropdownButtonReason({super.key});
@override @override
State<DropdownButtonReason> createState() => _DropdownButtonReasonState(); State<DropdownButtonReason> createState() => _DropdownButtonReasonState();
} }
@ -420,6 +423,9 @@ const List<String> list = <String>[
"Usurpation d'identité" "Usurpation d'identité"
]; ];
String currentValue = list[0];
class _DropdownButtonReasonState extends State<DropdownButtonReason> { class _DropdownButtonReasonState extends State<DropdownButtonReason> {
String dropdownValue = list.first; String dropdownValue = list.first;
@ -442,6 +448,7 @@ class _DropdownButtonReasonState extends State<DropdownButtonReason> {
// This is called when the user selects an item. // This is called when the user selects an item.
setState(() { setState(() {
dropdownValue = value!; dropdownValue = value!;
currentValue = value!;
}); });
}, },
items: list.map<DropdownMenuItem<String>>((String value) { items: list.map<DropdownMenuItem<String>>((String value) {

Loading…
Cancel
Save