54 lines
1.5 KiB
Dart
54 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:supabase_flutter/supabase_flutter.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'services/mqtt_service.dart';
|
|
import 'screens/login_screen.dart';
|
|
import 'screens/register_screen.dart';
|
|
import 'screens/home_screen.dart';
|
|
import 'screens/analytics_screen.dart';
|
|
import 'screens/image_result_screen.dart';
|
|
|
|
void main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Initialize Supabase with the provided URL and Publishable Key
|
|
await Supabase.initialize(
|
|
url: 'https://ddmhzzegejbsshihzext.supabase.co',
|
|
anonKey: 'sb_publishable_IJJ8fXD9CXfjMeu8vNJ8bw_NhWyTJKy',
|
|
);
|
|
|
|
runApp(
|
|
MultiProvider(
|
|
providers: [
|
|
ChangeNotifierProvider(create: (_) => MqttService()..connect()),
|
|
],
|
|
child: const MyApp(),
|
|
),
|
|
);
|
|
}
|
|
|
|
class MyApp extends StatelessWidget {
|
|
const MyApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: 'Coffee IoT',
|
|
debugShowCheckedModeBanner: false,
|
|
theme: ThemeData(
|
|
brightness: Brightness.dark,
|
|
primarySwatch: Colors.green,
|
|
scaffoldBackgroundColor: Colors.black,
|
|
),
|
|
initialRoute: '/login', // Back to Login to test Supabase
|
|
routes: {
|
|
'/login': (context) => const LoginScreen(),
|
|
'/register': (context) => const RegisterScreen(),
|
|
'/home': (context) => const HomeScreen(),
|
|
'/analytics': (context) => const AnalyticsScreen(),
|
|
'/image_result': (context) => const ImageResultScreen(),
|
|
},
|
|
);
|
|
}
|
|
}
|