Eliminar creche_app/lib/main.dart
This commit is contained in:
parent
b097e946ed
commit
9c238482e4
|
|
@ -1,113 +0,0 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
import 'package:intl/date_symbol_data_local.dart';
|
||||
import 'package:app_links/app_links.dart';
|
||||
import 'core/routes.dart';
|
||||
|
||||
const _supabaseUrl = 'https://xeotegswjwmhkwvtuxgx.supabase.co';
|
||||
const _supabaseAnonKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inhlb3RlZ3N3andtaGt3dnR1eGd4Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzIxODEwMjcsImV4cCI6MjA4Nzc1NzAyN30.PW6IQhpO8PRhPzA3ycPOgy_-Pqw9XQ0BCCE5ukPCcVM';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await initializeDateFormatting('pt_PT', null);
|
||||
|
||||
await Supabase.initialize(
|
||||
url: _supabaseUrl,
|
||||
anonKey: _supabaseAnonKey,
|
||||
authOptions: const FlutterAuthClientOptions(
|
||||
authFlowType: AuthFlowType.pkce,
|
||||
),
|
||||
);
|
||||
|
||||
runApp(const ProviderScope(child: CrecheApp()));
|
||||
}
|
||||
|
||||
class CrecheApp extends ConsumerStatefulWidget {
|
||||
const CrecheApp({super.key});
|
||||
@override
|
||||
ConsumerState<CrecheApp> createState() => _CrecheAppState();
|
||||
}
|
||||
|
||||
class _CrecheAppState extends ConsumerState<CrecheApp> {
|
||||
final _appLinks = AppLinks();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_initDeepLinks();
|
||||
}
|
||||
|
||||
Future<void> _initDeepLinks() async {
|
||||
try {
|
||||
final initialUri = await _appLinks.getInitialLink();
|
||||
if (initialUri != null && _isAuthUri(initialUri)) {
|
||||
await _handleDeepLink(initialUri);
|
||||
}
|
||||
} catch (_) {}
|
||||
|
||||
_appLinks.uriLinkStream.listen(
|
||||
(uri) { if (_isAuthUri(uri)) _handleDeepLink(uri); },
|
||||
onError: (_) {},
|
||||
);
|
||||
}
|
||||
|
||||
bool _isAuthUri(Uri uri) {
|
||||
final q = uri.queryParameters;
|
||||
return q.containsKey('code') ||
|
||||
q.containsKey('access_token') ||
|
||||
q.containsKey('token_hash') ||
|
||||
uri.host == 'login-callback' ||
|
||||
uri.path.contains('login-callback');
|
||||
}
|
||||
|
||||
Future<void> _handleDeepLink(Uri uri) async {
|
||||
try {
|
||||
await Supabase.instance.client.auth.getSessionFromUrl(uri);
|
||||
} catch (e) {
|
||||
debugPrint('Deep link error: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final router = ref.watch(goRouterProvider);
|
||||
return MaterialApp.router(
|
||||
title: 'Diário do Candengue',
|
||||
debugShowCheckedModeBanner: false,
|
||||
routerConfig: router,
|
||||
theme: ThemeData(
|
||||
brightness: Brightness.dark,
|
||||
scaffoldBackgroundColor: const Color(0xFF0D1117),
|
||||
colorScheme: const ColorScheme.dark(
|
||||
primary: Color(0xFF4FC3F7),
|
||||
secondary: Color(0xFF2ECC71),
|
||||
surface: Color(0xFF161B22),
|
||||
error: Color(0xFFE74C3C),
|
||||
),
|
||||
appBarTheme: const AppBarTheme(
|
||||
backgroundColor: Color(0xFF161B22),
|
||||
elevation: 0,
|
||||
iconTheme: IconThemeData(color: Color(0xFF4FC3F7)),
|
||||
titleTextStyle: TextStyle(
|
||||
color: Color(0xFF4FC3F7), fontSize: 18, fontWeight: FontWeight.bold),
|
||||
),
|
||||
bottomNavigationBarTheme: const BottomNavigationBarThemeData(
|
||||
backgroundColor: Color(0xFF161B22),
|
||||
selectedItemColor: Color(0xFF4FC3F7),
|
||||
unselectedItemColor: Color(0xFF888888),
|
||||
type: BottomNavigationBarType.fixed,
|
||||
),
|
||||
inputDecorationTheme: InputDecorationTheme(
|
||||
filled: true,
|
||||
fillColor: Colors.white.withOpacity(0.04),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
borderSide: BorderSide(color: Colors.white.withOpacity(0.09)),
|
||||
),
|
||||
),
|
||||
useMaterial3: true,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue