Beginn News oder Issue einträge auf firebase. (Untested)
This commit is contained in:
@@ -7,8 +7,12 @@ import 'package:cloud_firestore/cloud_firestore.dart';
|
|||||||
|
|
||||||
|
|
||||||
class AddScreen extends StatefulWidget {
|
class AddScreen extends StatefulWidget {
|
||||||
|
final int initialIndex;
|
||||||
|
|
||||||
|
AddScreen({required this.initialIndex});
|
||||||
@override
|
@override
|
||||||
_AddScreenState createState() => _AddScreenState();
|
_AddScreenState createState() => _AddScreenState();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class _AddScreenState extends State<AddScreen> {
|
class _AddScreenState extends State<AddScreen> {
|
||||||
@@ -17,6 +21,13 @@ class _AddScreenState extends State<AddScreen> {
|
|||||||
final _descriptionController = TextEditingController();
|
final _descriptionController = TextEditingController();
|
||||||
File? _imageFile;
|
File? _imageFile;
|
||||||
bool _uploading = false;
|
bool _uploading = false;
|
||||||
|
int _selectedIndex = 0;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_selectedIndex = widget.initialIndex;
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> _getImage(ImageSource source) async {
|
Future<void> _getImage(ImageSource source) async {
|
||||||
final pickedFile = await ImagePicker().getImage(source: source);
|
final pickedFile = await ImagePicker().getImage(source: source);
|
||||||
@@ -36,6 +47,8 @@ class _AddScreenState extends State<AddScreen> {
|
|||||||
String imageUrl = await (await uploadTask).ref.getDownloadURL();
|
String imageUrl = await (await uploadTask).ref.getDownloadURL();
|
||||||
|
|
||||||
// Das neue Element in der Firestore-Sammlung "Issues" speichern
|
// Das neue Element in der Firestore-Sammlung "Issues" speichern
|
||||||
|
if(_selectedIndex == 1)
|
||||||
|
{
|
||||||
await FirebaseFirestore.instance.collection("Issues").add({
|
await FirebaseFirestore.instance.collection("Issues").add({
|
||||||
"title": title,
|
"title": title,
|
||||||
"description": description,
|
"description": description,
|
||||||
@@ -43,6 +56,17 @@ class _AddScreenState extends State<AddScreen> {
|
|||||||
"createdDate": DateTime.now(),
|
"createdDate": DateTime.now(),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await FirebaseFirestore.instance.collection("News").add({
|
||||||
|
"title": title,
|
||||||
|
"description": description,
|
||||||
|
"imageUrl": imageUrl,
|
||||||
|
"createdDate": DateTime.now(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
+1
-1
@@ -70,7 +70,7 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(builder: (context) => AddScreen()),
|
MaterialPageRoute(builder: (context) => AddScreen(initialIndex: _selectedIndex,)),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
tooltip: "Add",
|
tooltip: "Add",
|
||||||
|
|||||||
Reference in New Issue
Block a user