Puuush it! PUUUUUSH IT
This commit is contained in:
Ali
2024-11-21 16:17:59 +01:00
parent 5dd69624b2
commit f4b58dcec2
3 changed files with 70 additions and 2 deletions
+4
View File
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:google_nav_bar/google_nav_bar.dart'; import 'package:google_nav_bar/google_nav_bar.dart';
import 'package:mensaapp/providers/essenProvider.dart'; import 'package:mensaapp/providers/essenProvider.dart';
import 'package:mensaapp/providers/pageProvider.dart'; import 'package:mensaapp/providers/pageProvider.dart';
import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
void main() { void main() {
@@ -21,6 +22,9 @@ class MyApp extends StatelessWidget {
), ),
ChangeNotifierProvider( ChangeNotifierProvider(
create: (context) => EssenProvider(), create: (context) => EssenProvider(),
),
ChangeNotifierProvider(
create: (context) => SpezielleErnaehrungProvider(),
) )
], ],
child: MaterialApp( child: MaterialApp(
+43 -2
View File
@@ -2,6 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart'; import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:mensaapp/modules/ratingEmote.dart'; import 'package:mensaapp/modules/ratingEmote.dart';
import 'package:mensaapp/modules/ratingStars.dart'; import 'package:mensaapp/modules/ratingStars.dart';
import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart';
import 'package:provider/provider.dart';
class PageSpezielleErnaehrung extends StatelessWidget { class PageSpezielleErnaehrung extends StatelessWidget {
const PageSpezielleErnaehrung({super.key}); const PageSpezielleErnaehrung({super.key});
@@ -13,6 +16,7 @@ class PageSpezielleErnaehrung extends StatelessWidget {
width: 800, width: 800,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
const SizedBox( const SizedBox(
height: 50, height: 50,
@@ -24,7 +28,13 @@ class PageSpezielleErnaehrung extends StatelessWidget {
"Sitzmöglichkeit*", "Sitzmöglichkeit*",
style: TextStyle(fontSize: 35), style: TextStyle(fontSize: 35),
), ),
RatingStars(onRate: () {}) Consumer<SpezielleErnaehrungProvider>(
builder: (context, spezielleErnaehrungProvider, child) {
return RatingStars(onRate: (value) {
spezielleErnaehrungProvider.setRatingSitzmoeglichkeit(value);
}, initRating: spezielleErnaehrungProvider.ratingSitzmoeglichkeit,);
},
)
], ],
), ),
Row( Row(
@@ -34,8 +44,39 @@ class PageSpezielleErnaehrung extends StatelessWidget {
"Keine Ahnung*", "Keine Ahnung*",
style: TextStyle(fontSize: 35), style: TextStyle(fontSize: 35),
), ),
RatingStars(onRate: () {}) Consumer<SpezielleErnaehrungProvider>(
builder: (context, spezielleErnaehrungProvider, child) {
return RatingStars(onRate: (value) {
spezielleErnaehrungProvider.setRatingKeineAhnung(value);
}, initRating: spezielleErnaehrungProvider.ratingKeineAhnung,);
},
),
], ],
),
const SizedBox(
height: 50,
),
Consumer<SpezielleErnaehrungProvider>(
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),
);
},
) )
], ],
), ),
@@ -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();
}
}