import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import '../../../core/l10n/l10n.dart';

/// Visar en dialogruta med ett felmeddelande och en kopieringsknapp.
void showErrorDialog(BuildContext context, String errorMessage) {
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return AlertDialog(
        title: Text(context.l10n.errorDialogTitle),
        content: Column(
          mainAxisSize: MainAxisSize.min,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            SelectableText(errorMessage),
          ],
        ),
        actions: <Widget>[
          TextButton(
            child: Text(context.l10n.errorDialogClose),
            onPressed: () {
              Navigator.of(context).pop();
            },
          ),
          TextButton(
            child: Text(context.l10n.errorDialogCopy),
            onPressed: () {
              Clipboard.setData(ClipboardData(text: errorMessage));
              ScaffoldMessenger.of(context).showSnackBar(
                SnackBar(content: Text(context.l10n.errorDialogCopied)),
              );
            },
          ),
        ],
      );
    },
  );
}