48 lines
1.7 KiB
Dart
48 lines
1.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// Wird angezeigt, wenn Firebase.initializeApp fehlschlägt (z. B. Platzhalter-Keys).
|
|
class FirebaseSetupRequiredScreen extends StatelessWidget {
|
|
const FirebaseSetupRequiredScreen({super.key, required this.error});
|
|
|
|
final Object error;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
home: Scaffold(
|
|
body: SafeArea(
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(24),
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
Text(
|
|
'Firebase einrichten',
|
|
style: Theme.of(context).textTheme.headlineSmall,
|
|
),
|
|
const SizedBox(height: 16),
|
|
const Text(
|
|
'1. In der Firebase Console ein Projekt anlegen.\n'
|
|
'2. Android-App (Package com.example.handwerksapp) und iOS-App '
|
|
'(Bundle com.example.handwerksapp) registrieren.\n'
|
|
'3. Authentication → E-Mail/Passwort aktivieren.\n'
|
|
'4. Im Projektordner im Terminal:\n\n'
|
|
' dart pub global activate flutterfire_cli\n'
|
|
' flutterfire configure\n\n'
|
|
' Das überschreibt lib/firebase_options.dart und die '
|
|
'google-services / GoogleService-Info Dateien.',
|
|
),
|
|
const SizedBox(height: 16),
|
|
Text(
|
|
'Technische Meldung:\n$error',
|
|
style: Theme.of(context).textTheme.bodySmall,
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|