import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/bloc/tour_event.dart';

/// Fallback-Page, die der Übersichts- und Beladen-Pfad anzeigt, wenn der
/// Initial-Tour-Load gescheitert ist. Tap auf "Erneut versuchen" feuert
/// `LoadTour` erneut — Account-Filter sitzt jetzt im JWT, daher keine
/// Personalnummer mehr nötig.
class DeliveryLoadingFailedPage extends StatelessWidget {
  const DeliveryLoadingFailedPage({super.key});

  void _onRetry(BuildContext context) {
    context.read<TourBloc>().add(const LoadTour());
  }

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Padding(
        padding: const EdgeInsets.all(50),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Icon(
              Icons.error_outline,
              size: 72,
              color: Theme.of(context).colorScheme.error,
            ),
            const Padding(
              padding: EdgeInsets.only(top: 30),
              child: Text(
                'Leider ist es beim Laden der Fahrten zu einem Fehler gekommen.',
              ),
            ),
            Padding(
              padding: const EdgeInsets.only(top: 30),
              child: FilledButton(
                onPressed: () => _onRetry(context),
                child: const Text('Erneut versuchen'),
              ),
            ),
          ],
        ),
      ),
    );
  }
}
