Merge branch 'dev_please_be_alive' into 'main'

Puuush

See merge request brausjonas/mensaapp!6
This commit is contained in:
Jonas Braus
2024-11-21 15:19:03 +00:00
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:mensaapp/providers/essenProvider.dart';
import 'package:mensaapp/providers/pageProvider.dart';
import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart';
import 'package:provider/provider.dart';
void main() {
@@ -21,6 +22,9 @@ class MyApp extends StatelessWidget {
),
ChangeNotifierProvider(
create: (context) => EssenProvider(),
),
ChangeNotifierProvider(
create: (context) => SpezielleErnaehrungProvider(),
)
],
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: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<SpezielleErnaehrungProvider>(
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<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();
}
}