diff --git a/covas_mobile/lib/l10n/app_de.arb b/covas_mobile/lib/l10n/app_de.arb index 5a08de1..c6c07b1 100644 --- a/covas_mobile/lib/l10n/app_de.arb +++ b/covas_mobile/lib/l10n/app_de.arb @@ -138,6 +138,6 @@ "ticket": "Abendkarte", "edit_ticket": "Ticketlink bearbeiten", "toogle_interest": "Fehler beim Umschalten des Interesses", -"error_update": "Fehler beim Update" - +"error_update": "Fehler beim Update", +"count_interested": "Anzahl der Interessenten" } diff --git a/covas_mobile/lib/l10n/app_en.arb b/covas_mobile/lib/l10n/app_en.arb index de034b1..3a1fd28 100644 --- a/covas_mobile/lib/l10n/app_en.arb +++ b/covas_mobile/lib/l10n/app_en.arb @@ -140,5 +140,6 @@ "ticket": "Ticket", "edit_ticket": "Edit ticket link", "toogle_interest": "Error toggle interest", -"error_update": "Fehler beim Update" +"error_update": "Error when updating", +"count_interested": "Interested people number" } \ No newline at end of file diff --git a/covas_mobile/lib/l10n/app_fr.arb b/covas_mobile/lib/l10n/app_fr.arb index 1555228..c8003a3 100644 --- a/covas_mobile/lib/l10n/app_fr.arb +++ b/covas_mobile/lib/l10n/app_fr.arb @@ -140,5 +140,7 @@ "ticket": "Billet", "edit_ticket": "Editer le lien du billet", "toogle_interest": "Erreur de bouton de changement", -"error_update": "Erreur lors de la mise à jour" +"error_update": "Erreur lors de la mise à jour", +"count_interested": "Nombre de personne interessé" + } \ No newline at end of file diff --git a/covas_mobile/lib/pages/ListItemMenu.dart b/covas_mobile/lib/pages/ListItemMenu.dart index 7d1764e..21c411d 100644 --- a/covas_mobile/lib/pages/ListItemMenu.dart +++ b/covas_mobile/lib/pages/ListItemMenu.dart @@ -469,7 +469,7 @@ class _MyHomePageState extends State { } } - Future toggleInterested(String eventId) async { + Future> toggleInterested(String eventId) async { SharedPreferences prefs = await SharedPreferences.getInstance(); var accessToken = prefs.getString("access_token") ?? ""; final url = Uri.parse("${globals.api}/events/${eventId}/interest"); @@ -488,9 +488,9 @@ class _MyHomePageState extends State { } var event = json.decode(response.body); - return event["interested"]; + return event; } - return false; + return {"interested": false, "interested_count": 0}; } Future fetchPostsByLocation() async { @@ -895,15 +895,21 @@ class _MyHomePageState extends State { 'en_US'; final dateLongue = DateFormat('EEEE d MMMM y', locale).format(startDate); + final countInterestedString = + AppLocalizations.of(context)?.count_interested ?? + "Interested people number"; + final countInterested = + "${countInterestedString} : ${post.interestedCount}"; return ListTile( title: Text('${post.name!}'), - subtitle: Text('${post.place!}\n${dateLongue}'), + subtitle: Text('${post.place!}\n${dateLongue}\n${countInterested}'), trailing: IconButton( onPressed: () async { try { final result = await toggleInterested(post.id!); setState(() { - post.interested = result; + post.interested = result["interested"]; + post.interestedCount = result["interested_count"]; }); } catch (e) { ScaffoldMessenger.of(context).showSnackBar( @@ -915,9 +921,11 @@ class _MyHomePageState extends State { } }, icon: Icon( - post.interested ?? false ? Icons.star : Icons.star_border, + post.interested ?? false + ? Icons.favorite + : Icons.favorite_border, color: - post.interested ?? false ? Colors.blue : Colors.grey)), + post.interested ?? false ? Colors.red : Colors.grey)), onTap: () { Navigator.push( context,