Compare commits
No commits in common. "4aa6dc0bb1d8720fb3e32647101bc9e0ad567934" and "419f6b17a89c722dadc8dfb81264cc1727564363" have entirely different histories.
4aa6dc0bb1
...
419f6b17a8
|
|
@ -1,6 +1,3 @@
|
|||
org.gradle.jvmargs=-Xmx4G
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#Wed Oct 02 14:14:17 CEST 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ pluginManagement {
|
|||
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version '8.6.0' apply false
|
||||
id "com.android.application" version "7.3.0" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 480 B |
|
|
@ -1,12 +1,11 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:learn_project/screens/home.dart';
|
||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
import 'screens/MainScreen.dart';
|
||||
//import 'package:learn_project/screens/account_page.dart';
|
||||
//import 'package:learn_project/screens/login_page.dart';
|
||||
//import 'package:learn_project/screens/splash_page.dart';
|
||||
|
||||
import 'utils/constants.dart';
|
||||
//import 'utils/constants.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
|
@ -43,7 +42,6 @@ class MyApp extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
home: HomePage(),
|
||||
//home: MainScreen(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,132 +0,0 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'subheader_Datepicker.dart';
|
||||
|
||||
class MainScreen extends StatefulWidget {
|
||||
@override
|
||||
_MainScreenState createState() => _MainScreenState();
|
||||
}
|
||||
|
||||
class _MainScreenState extends State<MainScreen> with SingleTickerProviderStateMixin {
|
||||
Widget _currentBody = HomeBody();
|
||||
|
||||
void _changeBody(Widget newBody) {
|
||||
setState(() {
|
||||
_currentBody = newBody;
|
||||
});
|
||||
}
|
||||
late TabController _tabController;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_tabController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
leading:SizedBox(
|
||||
height: 50,
|
||||
width: 63,
|
||||
child: IconButton(
|
||||
icon: Image.asset('assets/images/logo.png'),
|
||||
onPressed: () {
|
||||
// Open drawer or perform action
|
||||
},
|
||||
),),
|
||||
title: Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10, //height of button
|
||||
width: 20, //width of button
|
||||
child: Icon(Icons.keyboard_arrow_down),
|
||||
),
|
||||
const SizedBox(
|
||||
//width of button
|
||||
width: 10,
|
||||
),
|
||||
SizedBox(
|
||||
width: 100.0,
|
||||
child: TextField(
|
||||
controller: TextEditingController(text: "Ingolstadt"),
|
||||
decoration: InputDecoration(
|
||||
border: UnderlineInputBorder(),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: Icon(Icons.search),
|
||||
onPressed: () {
|
||||
// Perform search action
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 40,
|
||||
child: VerticalDivider(
|
||||
thickness: 1,
|
||||
width: 20,
|
||||
color: Colors.black,
|
||||
),),
|
||||
SizedBox(
|
||||
height: 50, //height of button
|
||||
//width of button
|
||||
child: IconButton(
|
||||
icon: Image.asset('assets/images/Login.png'),
|
||||
onPressed: () {},
|
||||
),
|
||||
),
|
||||
],
|
||||
bottom: PreferredSize(
|
||||
preferredSize: Size.fromHeight(1.0),
|
||||
child: Container(
|
||||
color: Colors.black,
|
||||
height: 1.0,
|
||||
),
|
||||
),
|
||||
flexibleSpace: Container(
|
||||
|
||||
),
|
||||
),
|
||||
body: _currentBody,
|
||||
bottomNavigationBar: BottomAppBar(
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: <Widget>[
|
||||
IconButton(
|
||||
icon: Icon(Icons.home),
|
||||
onPressed: () => _changeBody(HomeBody()),
|
||||
),
|
||||
IconButton(
|
||||
icon: Icon(Icons.settings),
|
||||
onPressed: () => _changeBody(SettingsBody()),
|
||||
),
|
||||
// Add more buttons as needed
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class HomeBody extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Center(child: Text('Home Screen'));
|
||||
}
|
||||
}
|
||||
|
||||
class SettingsBody extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Center(child: Text('Settings Screen'));
|
||||
}
|
||||
}
|
||||
|
|
@ -19,55 +19,16 @@ class HomePage extends StatelessWidget {
|
|||
}
|
||||
Future<List<Map<String, dynamic>>> fetchEvents(String category) async {
|
||||
try {
|
||||
final today = DateTime.now().toUtc().toString().split(' ')[0];
|
||||
final response = await supabase
|
||||
.from("events")
|
||||
//.innerJoin('event_category', 'events.id = event_category.event_id')
|
||||
.select('id,name,description,detail,subheader,location(name),time!inner(*),event_category!inner(event_id)')
|
||||
.select('id,name,description,detail,subheader,location(name),time(event_id,start_date),event_category!inner(event_id)')
|
||||
.eq('event_category.category_id',category);
|
||||
//.gte('time.start_date', DateTime.now().toIso8601String().split('T')[0]) // Beginn des heutigen Tages
|
||||
//.lt('time.start_date', DateTime.now().add(Duration(days: 1)).toIso8601String().split('T')[0]); // Morgen;
|
||||
//select('id, name, cities(id, name)')
|
||||
//find all events mit Ort und zusatzinfos die die Kathegorie haben welche ausgewählt wurde am heutigen Tag dann kommender Tag usw.
|
||||
//final test = response[0]['time'][0]['start_date'];
|
||||
return (response as List).cast<Map<String, dynamic>>();
|
||||
} catch (e) {
|
||||
throw Exception('Failed to fetch data: $e');
|
||||
}
|
||||
}
|
||||
Future<List<Map<String, dynamic>>> fetchEventsToday(String category) async {
|
||||
try {
|
||||
final today = DateTime.now().toUtc().toString().split(' ')[0];
|
||||
final response = await supabase
|
||||
.from("events")
|
||||
//.innerJoin('event_category', 'events.id = event_category.event_id')
|
||||
.select('id,name,description,detail,subheader,location(name),time!inner(*),event_category!inner(event_id)')
|
||||
.eq('event_category.category_id',category)//;
|
||||
.eq('time.start_date', today);
|
||||
//.gte('time.start_date', DateTime.now().toIso8601String().split('T')[0]) // Beginn des heutigen Tages
|
||||
//.lt('time.start_date', DateTime.now().add(Duration(days: 1)).toIso8601String().split('T')[0]); // Morgen;
|
||||
//select('id, name, cities(id, name)')
|
||||
//find all events mit Ort und zusatzinfos die die Kathegorie haben welche ausgewählt wurde am heutigen Tag dann kommender Tag usw.
|
||||
//final test = response[0]['time'][0]['start_date'];
|
||||
return (response as List).cast<Map<String, dynamic>>();
|
||||
} catch (e) {
|
||||
throw Exception('Failed to fetch data: $e');
|
||||
}
|
||||
}
|
||||
Future<List<Map<String, dynamic>>> fetchEventsTomorrow(String category) async {
|
||||
try {
|
||||
final today = DateTime.now().toUtc().toString().split(' ')[0];
|
||||
final response = await supabase
|
||||
.from("events")
|
||||
//.innerJoin('event_category', 'events.id = event_category.event_id')
|
||||
.select('id,name,description,detail,subheader,location(name),time!inner(*),event_category!inner(event_id)')
|
||||
.eq('event_category.category_id',category)//;
|
||||
.eq('time.start_date', today);
|
||||
//.gte('time.start_date', DateTime.now().toIso8601String().split('T')[0]) // Beginn des heutigen Tages
|
||||
//.lt('time.start_date', DateTime.now().add(Duration(days: 1)).toIso8601String().split('T')[0]); // Morgen;
|
||||
//select('id, name, cities(id, name)')
|
||||
//find all events mit Ort und zusatzinfos die die Kathegorie haben welche ausgewählt wurde am heutigen Tag dann kommender Tag usw.
|
||||
//final test = response[0]['time'][0]['start_date'];
|
||||
final test = response[0]['time'][0]['start_date'];
|
||||
return (response as List).cast<Map<String, dynamic>>();
|
||||
} catch (e) {
|
||||
throw Exception('Failed to fetch data: $e');
|
||||
|
|
@ -80,78 +41,11 @@ class HomePage extends StatelessWidget {
|
|||
/*24 is for notification bar on Android*/
|
||||
final double itemHeight = (size.height - kToolbarHeight - 24) / 5;
|
||||
final double itemWidth = size.width / 2.3;
|
||||
var appBar = AppBar(
|
||||
leading:SizedBox(
|
||||
height: 60,
|
||||
width: 63,
|
||||
child: IconButton(
|
||||
icon: Image.asset('assets/images/logo.png'),
|
||||
onPressed: () {
|
||||
// Open drawer or perform action
|
||||
},
|
||||
),),
|
||||
title: Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10, //height of button
|
||||
width: 20, //width of button
|
||||
child: Icon(Icons.keyboard_arrow_down),
|
||||
),
|
||||
const SizedBox(
|
||||
//width of button
|
||||
width: 10,
|
||||
),
|
||||
SizedBox(
|
||||
width: 100.0,
|
||||
child: TextField(
|
||||
controller: TextEditingController(text: "Ingolstadt"),
|
||||
decoration: InputDecoration(
|
||||
border: UnderlineInputBorder(),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: Icon(Icons.search),
|
||||
onPressed: () {
|
||||
// Perform search action
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 40,
|
||||
child: VerticalDivider(
|
||||
thickness: 1,
|
||||
width: 20,
|
||||
color: Colors.black,
|
||||
),),
|
||||
SizedBox(
|
||||
height: 50, //height of button
|
||||
//width of button
|
||||
child: IconButton(
|
||||
icon: Image.asset('assets/images/Login.png'),
|
||||
onPressed: () {},
|
||||
),
|
||||
),
|
||||
],
|
||||
bottom: PreferredSize(
|
||||
preferredSize: Size.fromHeight(1.0),
|
||||
child: Container(
|
||||
color: Colors.black,
|
||||
height: 1.0,
|
||||
),
|
||||
),
|
||||
flexibleSpace: Container(
|
||||
|
||||
),
|
||||
);
|
||||
var body = SafeArea(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
//Header Container
|
||||
//HeaderSection(),
|
||||
Container(height:10),
|
||||
HeaderSection(),
|
||||
//Body Container
|
||||
Expanded(
|
||||
child: NestedScrollView(
|
||||
|
|
@ -189,7 +83,7 @@ SizedBox(
|
|||
await _loadData(); */
|
||||
List<Map<String, dynamic>> events2 =
|
||||
await fetchEvents(Data.recipes[index].category);
|
||||
Navigator.push(
|
||||
Navigator.pushReplacement(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => Frame28(
|
||||
|
|
@ -260,7 +154,6 @@ SizedBox(
|
|||
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
appBar: appBar,
|
||||
body: body,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -545,10 +545,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: stack_trace
|
||||
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
|
||||
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.0"
|
||||
version: "1.11.1"
|
||||
storage_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
Loading…
Reference in New Issue