ad toogle interested method
This commit is contained in:
@@ -136,6 +136,8 @@
|
|||||||
"link": "Link",
|
"link": "Link",
|
||||||
"edit_link": "Linkereignis bearbeiten",
|
"edit_link": "Linkereignis bearbeiten",
|
||||||
"ticket": "Abendkarte",
|
"ticket": "Abendkarte",
|
||||||
"edit_ticket": "Ticketlink bearbeiten"
|
"edit_ticket": "Ticketlink bearbeiten",
|
||||||
|
"toogle_interest": "Fehler beim Umschalten des Interesses",
|
||||||
|
"error_update": "Fehler beim Update"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -138,5 +138,7 @@
|
|||||||
"link": "Link",
|
"link": "Link",
|
||||||
"edit_link": "Edit link name",
|
"edit_link": "Edit link name",
|
||||||
"ticket": "Ticket",
|
"ticket": "Ticket",
|
||||||
"edit_ticket": "Edit ticket link"
|
"edit_ticket": "Edit ticket link",
|
||||||
|
"toogle_interest": "Error toggle interest",
|
||||||
|
"error_update": "Fehler beim Update"
|
||||||
}
|
}
|
@@ -137,7 +137,8 @@
|
|||||||
"item_ticket": "Billet : ",
|
"item_ticket": "Billet : ",
|
||||||
"link": "Lien",
|
"link": "Lien",
|
||||||
"edit_link": "Editer le lien",
|
"edit_link": "Editer le lien",
|
||||||
"ticket": "Ticket",
|
"ticket": "Billet",
|
||||||
"edit_ticket": "Edit ticket link"
|
"edit_ticket": "Editer le lien du billet",
|
||||||
|
"toogle_interest": "Erreur de bouton de changement",
|
||||||
|
"error_update": "Erreur lors de la mise à jour"
|
||||||
}
|
}
|
@@ -423,7 +423,7 @@ class _MyHomePageState extends State<ListItemMenu> {
|
|||||||
var url = await getUrlForEvents();
|
var url = await getUrlForEvents();
|
||||||
final response = await http.get(url, headers: {
|
final response = await http.get(url, headers: {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
HttpHeaders.cookieHeader: "acce0ss_token=$accessToken"
|
HttpHeaders.cookieHeader: "access_token=$accessToken"
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
@@ -469,6 +469,30 @@ class _MyHomePageState extends State<ListItemMenu> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<bool> toogleInterested(String eventId) async {
|
||||||
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
var accessToken = prefs.getString("access_token") ?? "";
|
||||||
|
final url = Uri.parse("${globals.api}/events/${eventId}/interest");
|
||||||
|
if (accessToken.isNotEmpty) {
|
||||||
|
final response = await http.post(
|
||||||
|
url,
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
HttpHeaders.cookieHeader: "access_token=$accessToken"
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.statusCode != 200) {
|
||||||
|
throw (AppLocalizations.of(context)?.toogle_interest ??
|
||||||
|
"Error toogle interest: ${response.statusCode}");
|
||||||
|
}
|
||||||
|
|
||||||
|
Events? event = json.decode(response.body);
|
||||||
|
return event?.interested ?? false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> fetchPostsByLocation() async {
|
Future<void> fetchPostsByLocation() async {
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
var accessToken = prefs.getString("access_token") ?? "";
|
var accessToken = prefs.getString("access_token") ?? "";
|
||||||
@@ -876,15 +900,24 @@ class _MyHomePageState extends State<ListItemMenu> {
|
|||||||
subtitle: Text('${post.place!}\n${dateLongue}'),
|
subtitle: Text('${post.place!}\n${dateLongue}'),
|
||||||
trailing: IconButton(
|
trailing: IconButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
|
try {
|
||||||
|
final result = await toogleInterested(post.id!);
|
||||||
setState(() {
|
setState(() {
|
||||||
bool checkInterested = post?.interested ?? false;
|
post.interested = result;
|
||||||
post?.interested = !checkInterested;
|
|
||||||
});
|
});
|
||||||
|
} catch (e) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(
|
||||||
|
AppLocalizations.of(context)?.error_update ??
|
||||||
|
"Error when updating")),
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
post?.interested ?? false ? Icons.star : Icons.star_border,
|
post.interested ?? false ? Icons.star : Icons.star_border,
|
||||||
color:
|
color:
|
||||||
post?.interested ?? false ? Colors.blue : Colors.grey)),
|
post.interested ?? false ? Colors.blue : Colors.grey)),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
|
Reference in New Issue
Block a user