Restliche Seiten

Für die unterschiedlichen Fragen wurden Place-Holder implementiert --> Muss der Kunde sagen XD
This commit is contained in:
Jonas Braus
2024-11-23 01:35:33 +01:00
parent ffe28fcdbc
commit 1eea491da0
11 changed files with 295 additions and 13 deletions
+12
View File
@@ -1,7 +1,10 @@
import 'package:flutter/material.dart'; 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/ambienteProvider.dart';
import 'package:mensaapp/providers/anmerkungProvider.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/serviceProvider.dart';
import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart'; import 'package:mensaapp/providers/spezielleErnaehrungProvider.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@@ -23,6 +26,15 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider( ChangeNotifierProvider(
create: (context) => EssenProvider(), create: (context) => EssenProvider(),
), ),
ChangeNotifierProvider(
create: (context) => ServiceProvider(),
),
ChangeNotifierProvider(
create: (context) => AmbienteProvider(),
),
ChangeNotifierProvider(
create: (context) => AnmerkungProvider(),
),
ChangeNotifierProvider( ChangeNotifierProvider(
create: (context) => SpezielleErnaehrungProvider(), create: (context) => SpezielleErnaehrungProvider(),
) )
View File
+71 -1
View File
@@ -1,10 +1,80 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../modules/ratingStars.dart';
import '../providers/ambienteProvider.dart';
class PageAmbiente extends StatelessWidget { class PageAmbiente extends StatelessWidget {
const PageAmbiente({super.key}); const PageAmbiente({super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return const Placeholder(); return Center(
child: SizedBox(
width: 600,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage1*",
style: TextStyle(fontSize: 35),
),
Consumer<AmbienteProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage1(value);
}, initRating: essenProvider.ratingFrage1,);
},
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage2*",
style: TextStyle(fontSize: 35),
),
Consumer<AmbienteProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage2(value);
}, initRating: essenProvider.ratingFrage2,);
},
)
],
),
const SizedBox(
height: 50,
),
Consumer<AmbienteProvider>(
builder: (context, essenProvider, child) {
return TextFormField(
initialValue: essenProvider.freiText,
onChanged: (value) {
essenProvider.setFreiText(value);
},
autofocus: false,
maxLength: 500,
maxLines: 4,
decoration: InputDecoration(
labelText: "Dein Feedback (optional)",
labelStyle: const TextStyle(fontSize: 20),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15)
),
),
style: TextStyle(fontSize: 20),
);
},
)
],
),
),
);
} }
} }
+71 -1
View File
@@ -1,10 +1,80 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mensaapp/providers/anmerkungProvider.dart';
import 'package:provider/provider.dart';
import '../modules/ratingStars.dart';
class PageAnmerkungen extends StatelessWidget { class PageAnmerkungen extends StatelessWidget {
const PageAnmerkungen({super.key}); const PageAnmerkungen({super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return const Placeholder(); return Center(
child: SizedBox(
width: 600,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage1*",
style: TextStyle(fontSize: 35),
),
Consumer<AnmerkungProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage1(value);
}, initRating: essenProvider.ratingFrage1,);
},
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage2*",
style: TextStyle(fontSize: 35),
),
Consumer<AnmerkungProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage2(value);
}, initRating: essenProvider.ratingFrage2,);
},
)
],
),
const SizedBox(
height: 50,
),
Consumer<AnmerkungProvider>(
builder: (context, essenProvider, child) {
return TextFormField(
initialValue: essenProvider.freiText,
onChanged: (value) {
essenProvider.setFreiText(value);
},
autofocus: false,
maxLength: 500,
maxLines: 4,
decoration: InputDecoration(
labelText: "Dein Feedback (optional)",
labelStyle: const TextStyle(fontSize: 20),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15)
),
),
style: TextStyle(fontSize: 20),
);
},
)
],
),
),
);
} }
} }
+2 -5
View File
@@ -11,15 +11,12 @@ class PageEssen extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Center( return Center(
child: Container( child: SizedBox(
width: 600, width: 600,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
const SizedBox(
height: 50,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
@@ -64,7 +61,7 @@ class PageEssen extends StatelessWidget {
}, },
autofocus: false, autofocus: false,
maxLength: 500, maxLength: 500,
maxLines: 5, maxLines: 4,
decoration: InputDecoration( decoration: InputDecoration(
labelText: "Dein Feedback (optional)", labelText: "Dein Feedback (optional)",
labelStyle: const TextStyle(fontSize: 20), labelStyle: const TextStyle(fontSize: 20),
+71 -1
View File
@@ -1,10 +1,80 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mensaapp/providers/serviceProvider.dart';
import 'package:provider/provider.dart';
import '../modules/ratingStars.dart';
class PageService extends StatelessWidget { class PageService extends StatelessWidget {
const PageService({super.key}); const PageService({super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return const Placeholder(); return Center(
child: SizedBox(
width: 600,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage1*",
style: TextStyle(fontSize: 35),
),
Consumer<ServiceProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage1(value);
}, initRating: essenProvider.ratingFrage1,);
},
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Frage2*",
style: TextStyle(fontSize: 35),
),
Consumer<ServiceProvider>(
builder: (context, essenProvider, child) {
return RatingStars(onRate: (value) {
essenProvider.setRatingFrage2(value);
}, initRating: essenProvider.ratingFrage2,);
},
)
],
),
const SizedBox(
height: 50,
),
Consumer<ServiceProvider>(
builder: (context, essenProvider, child) {
return TextFormField(
initialValue: essenProvider.freiText,
onChanged: (value) {
essenProvider.setFreiText(value);
},
autofocus: false,
maxLength: 500,
maxLines: 4,
decoration: InputDecoration(
labelText: "Dein Feedback (optional)",
labelStyle: const TextStyle(fontSize: 20),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15)
),
),
style: TextStyle(fontSize: 20),
);
},
)
],
),
),
);
} }
} }
+2 -5
View File
@@ -12,20 +12,17 @@ class PageSpezielleErnaehrung extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Center( return Center(
child: Container( child: SizedBox(
width: 800, width: 800,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
const SizedBox(
height: 50,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
const Text( const Text(
"Sitzmöglichkeit*", "Vegan?*",
style: TextStyle(fontSize: 35), style: TextStyle(fontSize: 35),
), ),
Consumer<SpezielleErnaehrungProvider>( Consumer<SpezielleErnaehrungProvider>(
+22
View File
@@ -0,0 +1,22 @@
import 'package:flutter/cupertino.dart';
class AmbienteProvider extends ChangeNotifier {
double ratingFrage1 = 0;
double ratingFrage2 = 0;
String freiText = "";
void setRatingFrage1(double rating) {
ratingFrage1 = rating;
notifyListeners();
}
void setRatingFrage2(double rating) {
ratingFrage2 = rating;
notifyListeners();
}
void setFreiText(String text) {
freiText = text;
notifyListeners();
}
}
+22
View File
@@ -0,0 +1,22 @@
import 'package:flutter/cupertino.dart';
class AnmerkungProvider extends ChangeNotifier {
double ratingFrage1 = 0;
double ratingFrage2 = 0;
String freiText = "";
void setRatingFrage1(double rating) {
ratingFrage1 = rating;
notifyListeners();
}
void setRatingFrage2(double rating) {
ratingFrage2 = rating;
notifyListeners();
}
void setFreiText(String text) {
freiText = text;
notifyListeners();
}
}
+22
View File
@@ -0,0 +1,22 @@
import 'package:flutter/material.dart';
class ServiceProvider extends ChangeNotifier {
double ratingFrage1 = 0;
double ratingFrage2 = 0;
String freiText = "";
void setRatingFrage1(double rating) {
ratingFrage1 = rating;
notifyListeners();
}
void setRatingFrage2(double rating) {
ratingFrage2 = rating;
notifyListeners();
}
void setFreiText(String text) {
freiText = text;
notifyListeners();
}
}
View File