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

Loading…
Cancel
Save