import 'package:flutter/material.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; class AdminEventScreen extends StatefulWidget { const AdminEventScreen({super.key}); @override State createState() => _AdminEventScreenState(); } class _AdminEventScreenState extends State { final _title = TextEditingController(); final _venue = TextEditingController(); final _city = TextEditingController(); final _date = TextEditingController(); final _link = TextEditingController(); int _minTier = 1; Future _save() async { await FirebaseFirestore.instance.collection('events').add({ 'title': _title.text, 'venue': _venue.text, 'city': _city.text, 'date_string': _date.text, 'link': _link.text, 'minTier': _minTier, 'date': FieldValue.serverTimestamp(), // For sorting }); Navigator.pop(context); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text("REGISTER_SESSION")), body: SingleChildScrollView( padding: const EdgeInsets.all(24), child: Column( children: [ TextField(controller: _title, decoration: const InputDecoration(labelText: "EVENT_NAME")), const SizedBox(height: 10), TextField(controller: _venue, decoration: const InputDecoration(labelText: "VENUE_NAME")), const SizedBox(height: 10), TextField(controller: _city, decoration: const InputDecoration(labelText: "CITY_SECTOR")), const SizedBox(height: 10), TextField(controller: _date, decoration: const InputDecoration(labelText: "DATE (EX: OCT 24)")), const SizedBox(height: 10), TextField(controller: _link, decoration: const InputDecoration(labelText: "TICKET_GATEWAY_URL")), const SizedBox(height: 20), DropdownButton( value: _minTier, isExpanded: true, dropdownColor: Colors.black, items: const [ DropdownMenuItem(value: 1, child: Text("LVL_01: PUBLIC")), DropdownMenuItem(value: 2, child: Text("LVL_02: COLLECTORS")), DropdownMenuItem(value: 3, child: Text("LVL_03: INVESTORS")), ], onChanged: (v) => setState(() => _minTier = v!), ), const SizedBox(height: 40), ElevatedButton(onPressed: _save, child: const Text("[ INITIALIZE_SESSION ]")), ], ), ), ); } }