Shuffle/app/lib/main.dart
cschlaefke 239d0e1ac2
All checks were successful
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 32s
fix(auth): address review findings for registration
- expose legal links to screen readers on web
- allow only http(s) legal URLs, prevent double submit
- detect transport errors without runtimeType, keep extra in memory
- ship third-party license text, document decisions

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 00:47:42 +01:00

26 lines
1,007 B
Dart

import 'package:flutter/widgets.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shuffle/app.dart';
import 'package:shuffle/core/config/app_config.dart';
import 'package:shuffle/core/error/global_error_handler.dart';
import 'package:shuffle/core/licenses/third_party_licenses.dart';
import 'package:shuffle/core/logging/app_logger.dart';
import 'package:shuffle/core/routing/url_strategy.dart';
import 'package:shuffle/features/auth/presentation/providers/auth_redirect.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
AppLogger.configure();
registerThirdPartyLicenses();
installGlobalErrorHandlers();
configurePathUrlStrategy();
final config = AppConfig.fromEnvironment()..validate();
await Supabase.initialize(
url: config.supabaseUrl,
publishableKey: config.supabaseAnonKey,
);
runApp(ProviderScope(overrides: authOverrides(), child: const ShuffleApp()));
}