Browse Source

Merge pull request #70 from jld3103/fix/account-tile-error-icon

neon: Fix account tile error icon
pull/71/head
jld3103 2 years ago committed by GitHub
parent
commit
cc88858544
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      packages/neon/lib/src/widgets/account_tile.dart
  2. 16
      packages/neon/lib/src/widgets/exception.dart

1
packages/neon/lib/src/widgets/account_tile.dart

@ -78,6 +78,7 @@ class AccountTile extends StatelessWidget {
ExceptionWidget(
userDetailsError,
onlyIcon: true,
iconSize: 24,
onRetry: () {
userDetailsBloc.refresh();
},

16
packages/neon/lib/src/widgets/exception.dart

@ -5,12 +5,14 @@ class ExceptionWidget extends StatelessWidget {
this.exception, {
required this.onRetry,
this.onlyIcon = false,
this.iconSize = 30,
super.key,
});
final dynamic exception;
final Function() onRetry;
final bool onlyIcon;
final double iconSize;
static void showSnackbar(final BuildContext context, final dynamic exception) {
final details = _getExceptionDetails(context, exception);
@ -31,28 +33,28 @@ class ExceptionWidget extends StatelessWidget {
@override
Widget build(final BuildContext context) => exception == null
? Container()
: Padding(
padding: const EdgeInsets.all(5),
: Container(
padding: !onlyIcon ? const EdgeInsets.all(5) : null,
child: Builder(
builder: (final context) {
final details = _getExceptionDetails(context, exception);
const errorIcon = Icon(
final errorIcon = Icon(
Icons.error_outline,
size: 30,
size: iconSize,
color: Colors.red,
);
if (onlyIcon) {
return IconButton(
onPressed: () async {
return InkWell(
child: errorIcon,
onTap: () async {
if (details.isUnauthorized) {
await _openLoginPage(context);
} else {
onRetry();
}
},
icon: errorIcon,
);
}

Loading…
Cancel
Save