import 'package:flutter/material.dart';

class LoadingNotifier extends StatelessWidget {
  const LoadingNotifier(
      {super.key,
      required void Function() onDismissed,
      required String message})
      : _onDismissed = onDismissed,
        _message = message;

  final void Function() _onDismissed;
  final String _message;

  @override
  Widget build(BuildContext context) {
    return Card(
      color: Theme.of(context).colorScheme.primaryContainer,
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(45)),
      child: SizedBox(
        width: 500,
        height: 60,
        child: Padding(
          padding: const EdgeInsets.symmetric(horizontal: 20),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            mainAxisSize: MainAxisSize.max,
            children: [
              SizedBox(
                width: 25,
                height: 25,
                child: CircularProgressIndicator(),
              ),
              Text(
                _message,
                style: Theme.of(context).textTheme.titleSmall,
              ),
              IconButton(
                onPressed: () => _onDismissed(),
                icon: Icon(Icons.close),
              )
            ],
          ),
        ),
      ),
    );
  }
}
