From b6b596f4fbb52b04c139e1ade9c807e4829bdf42 Mon Sep 17 00:00:00 2001 From: Ali Date: Thu, 21 Nov 2024 16:10:22 +0100 Subject: [PATCH] Puuush Puuush it! PUUUUUSH IT --- lib/main.dart | 10 +++++ lib/pages/pageSpezielleErnaehrung.dart | 45 ++++++++++++++++++- .../spezielleErnaehrungProvider.dart | 23 ++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 lib/providers/spezielleErnaehrungProvider.dart diff --git a/lib/main.dart b/lib/main.dart index ab8ec95..667e4d0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_nav_bar/google_nav_bar.dart'; import 'package:mensaapp/providers/pageProvider.dart'; +import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart'; import 'package:provider/provider.dart'; void main() { @@ -17,6 +18,15 @@ class MyApp extends StatelessWidget { providers: [ ChangeNotifierProvider( create: (context) => PageProvider(), +<<<<<<< Updated upstream +======= + ), + ChangeNotifierProvider( + create: (context) => EssenProvider(), + ), + ChangeNotifierProvider( + create: (context) => SpezielleErnaehrungProvider(), +>>>>>>> Stashed changes ) ], child: MaterialApp( diff --git a/lib/pages/pageSpezielleErnaehrung.dart b/lib/pages/pageSpezielleErnaehrung.dart index 3de177b..416596e 100644 --- a/lib/pages/pageSpezielleErnaehrung.dart +++ b/lib/pages/pageSpezielleErnaehrung.dart @@ -2,6 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_rating_bar/flutter_rating_bar.dart'; import 'package:mensaapp/modules/ratingEmote.dart'; import 'package:mensaapp/modules/ratingStars.dart'; +import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart'; + +import 'package:provider/provider.dart'; class PageSpezielleErnaehrung extends StatelessWidget { const PageSpezielleErnaehrung({super.key}); @@ -13,6 +16,7 @@ class PageSpezielleErnaehrung extends StatelessWidget { width: 800, child: Column( crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, children: [ const SizedBox( height: 50, @@ -24,7 +28,13 @@ class PageSpezielleErnaehrung extends StatelessWidget { "Sitzmöglichkeit*", style: TextStyle(fontSize: 35), ), - RatingStars(onRate: () {}) + Consumer( + builder: (context, spezielleErnaehrungProvider, child) { + return RatingStars(onRate: (value) { + spezielleErnaehrungProvider.setRatingSitzmoeglichkeit(value); + }, initRating: spezielleErnaehrungProvider.ratingSitzmoeglichkeit,); + }, + ) ], ), Row( @@ -34,8 +44,39 @@ class PageSpezielleErnaehrung extends StatelessWidget { "Keine Ahnung*", style: TextStyle(fontSize: 35), ), - RatingStars(onRate: () {}) + Consumer( + builder: (context, spezielleErnaehrungProvider, child) { + return RatingStars(onRate: (value) { + spezielleErnaehrungProvider.setRatingKeineAhnung(value); + }, initRating: spezielleErnaehrungProvider.ratingKeineAhnung,); + }, + ), + ], + ), + const SizedBox( + height: 50, + ), + Consumer( + builder: (context, spezielleErnaehrungProvider, child) { + return TextFormField( + initialValue: spezielleErnaehrungProvider.freiText, + onChanged: (value) { + spezielleErnaehrungProvider.setFreiText(value); + }, + autofocus: false, + maxLength: 500, + maxLines: 5, + decoration: InputDecoration( + labelText: "Dein Feedback (optional)", + labelStyle: const TextStyle(fontSize: 20), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(15) + ), + ), + style: TextStyle(fontSize: 20), + ); + }, ) ], ), diff --git a/lib/providers/spezielleErnaehrungProvider.dart b/lib/providers/spezielleErnaehrungProvider.dart new file mode 100644 index 0000000..8ef98a1 --- /dev/null +++ b/lib/providers/spezielleErnaehrungProvider.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; + + +class SpezielleErnaehrungProvider extends ChangeNotifier { + double ratingSitzmoeglichkeit = 0; + double ratingKeineAhnung = 0; + String freiText = ""; + + void setRatingSitzmoeglichkeit(double rating) { + ratingSitzmoeglichkeit = rating; + notifyListeners(); + } + + void setRatingKeineAhnung(double rating) { + ratingKeineAhnung = rating; + notifyListeners(); + } + + void setFreiText(String text) { + freiText = text; + notifyListeners(); + } +} \ No newline at end of file