aboutsummaryrefslogtreecommitdiff
path: root/lib/widgets/error_widgets.dart
blob: 52ac0bbb228d7018160d2c9d35a6cf014cc6e4e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import 'package:flutter/material.dart';

import 'package:kulinar_app/constants.dart';

import 'package:flutter_gen/gen_l10n/app_localizations.dart';

class NoContentError extends StatelessWidget {
  const NoContentError({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Icon(
            Icons.sentiment_dissatisfied_rounded,
            size: 100,
          ),
          Padding(
            padding: const EdgeInsets.only(top: 20.0),
            child: Text(AppLocalizations.of(context)!.noContentError, style: cZeroContentStyle),
          ),
        ],
      ),
    );
  }
}

class NetworkContentError extends StatelessWidget {
  const NetworkContentError({Key? key, required this.refreshCallback}) : super(key: key);

  final Function refreshCallback;

  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: Padding(
        padding: const EdgeInsets.all(50.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Icon(
              Icons.signal_wifi_off_rounded,
              size: 100,
            ),
            Padding(
              padding: const EdgeInsets.only(top: 20.0),
              child: Text(AppLocalizations.of(context)!.noNetworkError, textAlign: TextAlign.center, style: cZeroContentStyle),
            ),
            Padding(
              padding: const EdgeInsets.only(top: 20.0),
              child: ElevatedButton(
                child: Padding(
                  padding: const EdgeInsets.only(left: 50.0, right: 50.0),
                  child: Text(AppLocalizations.of(context)!.retry, style: cSubTitleStyle),
                ),
                onPressed: () {
                  refreshCallback();
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}

class UnknownError extends StatelessWidget {
  const UnknownError({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      width: double.infinity,
      child: Padding(
        padding: const EdgeInsets.all(50.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Icon(
              Icons.warning_amber_rounded,
              size: 100,
            ),
            Padding(
              padding: const EdgeInsets.only(top: 20.0),
              child: Text(AppLocalizations.of(context)!.unknownError, textAlign: TextAlign.center, style: cZeroContentStyle),
            ),
          ],
        ),
      ),
    );
  }
}