supabase_easy 0.0.2
supabase_easy: ^0.0.2 copied to clipboard
A powerful and lightweight Supabase wrapper for Flutter that reduces boilerplate for Auth, Database CRUD, and Real-time listeners by 60-70%.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:supabase_easy/supabase_easy.dart';
import 'screens/auth/login_screen.dart';
import 'screens/todo/todo_list_screen.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SupabaseEasy.initialize(
url: 'YOUR_SUPABASE_URL',
anonKey: 'YOUR_SUPABASE_ANON_KEY',
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Supabase Easy Demo',
theme: ThemeData(
useMaterial3: true,
colorSchemeSeed: Colors.blue,
brightness: Brightness.light,
),
darkTheme: ThemeData(
useMaterial3: true,
colorSchemeSeed: Colors.blue,
brightness: Brightness.dark,
),
home: const AuthWrapper(),
);
}
}
class AuthWrapper extends StatelessWidget {
const AuthWrapper({super.key});
@override
Widget build(BuildContext context) {
return StreamBuilder<AuthState>(
stream: EasyAuth.onAuthStateChange,
builder: (context, snapshot) {
final session = snapshot.data?.session;
if (session == null && EasyAuth.currentSession == null) {
return const LoginScreen();
}
return const TodoListScreen();
},
);
}
}