Skip to content

Commit

Permalink
fix: 🚑 Fix UI based on skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
redDwarf03 committed Jul 11, 2024
1 parent fb67260 commit 4e22082
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 132 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ class NFTCreationProcessImportTabAEWeb extends ConsumerWidget {

return InkWell(
onTap: () async {
context.go(
await context.push(
NFTCreationProcessImportTabAEWebForm.routerPage,
extra: (uri) {
nftCreationNotifier.setContentAEWebProperties(
context,
uri,
);
extra: {
'onConfirm': (uri) {
nftCreationNotifier.setContentAEWebProperties(
context,
uri,
);
},
},
);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ class NFTCreationProcessImportTabHTTP extends ConsumerWidget {

return InkWell(
onTap: () async {
context.go(
await context.push(
NFTCreationProcessImportTabHTTPForm.routerPage,
extra: (uri) {
nftCreationNotifier.setContentHTTPProperties(
context,
uri,
);
extra: {
'onConfirm': (uri) {
nftCreationNotifier.setContentHTTPProperties(
context,
uri,
);
},
},
);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ class NFTCreationProcessImportTabIPFS extends ConsumerWidget {

return InkWell(
onTap: () async {
context.go(
await context.push(
NFTCreationProcessImportTabIPFSForm.routerPage,
extra: (uri) {
nftCreationNotifier.setContentIPFSProperties(
context,
uri,
);
extra: {
'onConfirm': (uri) {
nftCreationNotifier.setContentIPFSProperties(
context,
uri,
);
},
},
);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@ import 'package:aewallet/application/connectivity_status.dart';
import 'package:aewallet/ui/themes/archethic_theme.dart';
import 'package:aewallet/ui/themes/styles.dart';
import 'package:aewallet/ui/util/dimens.dart';
import 'package:aewallet/ui/views/main/components/sheet_appbar.dart';
import 'package:aewallet/ui/widgets/components/app_button_tiny.dart';
import 'package:aewallet/ui/widgets/components/app_text_field.dart';
import 'package:aewallet/ui/widgets/components/paste_icon.dart';
import 'package:aewallet/ui/widgets/components/scrollbar.dart';
import 'package:aewallet/ui/widgets/components/sheet_header.dart';
import 'package:aewallet/ui/widgets/components/tap_outside_unfocus.dart';
import 'package:aewallet/ui/widgets/components/sheet_skeleton.dart';
import 'package:aewallet/ui/widgets/components/sheet_skeleton_interface.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/localizations.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:material_symbols_icons/symbols.dart';

class NFTCreationProcessImportTabTemplateForm extends ConsumerStatefulWidget {
Expand All @@ -37,7 +38,8 @@ class NFTCreationProcessImportTabTemplateForm extends ConsumerStatefulWidget {
}

class _NFTCreationProcessImportTabFormUrlState
extends ConsumerState<NFTCreationProcessImportTabTemplateForm> {
extends ConsumerState<NFTCreationProcessImportTabTemplateForm>
implements SheetSkeletonInterface {
late TextEditingController urlController;
late FocusNode urlFocusNode;

Expand All @@ -59,125 +61,115 @@ class _NFTCreationProcessImportTabFormUrlState

@override
Widget build(BuildContext context) {
return SheetSkeleton(
appBar: getAppBar(context, ref),
floatingActionButton: getFloatingActionButton(context, ref),
sheetContent: getSheetContent(context, ref),
);
}

@override
Widget getFloatingActionButton(BuildContext context, WidgetRef ref) {
final localizations = AppLocalizations.of(context)!;
final bottom = MediaQuery.of(context).viewInsets.bottom;
final connectivityStatusProvider = ref.watch(connectivityStatusProviders);
return connectivityStatusProvider == ConnectivityStatus.isConnected
? AppButtonTiny(
AppButtonTinyType.primary,
localizations.confirm,
Dimens.buttonBottomDimens,
key: const Key('confirm'),
onPressed: () {
widget.onConfirm(urlController.text, context);
},
)
: AppButtonTiny(
AppButtonTinyType.primaryOutline,
localizations.confirm,
Dimens.buttonBottomDimens,
key: const Key('confirm'),
onPressed: () {},
);
}

@override
PreferredSizeWidget getAppBar(BuildContext context, WidgetRef ref) {
return SheetAppBar(
title: widget.title,
widgetLeft: BackButton(
key: const Key('back'),
color: ArchethicTheme.text,
onPressed: () {
context.pop();
},
),
);
}

return TapOutsideUnfocus(
child: SafeArea(
minimum:
EdgeInsets.only(bottom: MediaQuery.of(context).size.height * 0.035),
child: Column(
children: <Widget>[
SheetHeader(
title: widget.title,
@override
Widget getSheetContent(BuildContext context, WidgetRef ref) {
return Column(
children: <Widget>[
Text(
widget.warningLabel,
style: ArchethicThemeStyles.textStyleSize12W100Primary,
textAlign: TextAlign.justify,
),
const SizedBox(
height: 20,
),
AppTextField(
focusNode: urlFocusNode,
controller: urlController,
cursorColor: ArchethicTheme.text,
textInputAction: TextInputAction.next,
labelText: widget.placeholder,
autocorrect: false,
maxLines: 10,
keyboardType: TextInputType.text,
style: ArchethicThemeStyles.textStyleSize14W200Primary,
suffixButton: PasteIcon(
onPaste: (String value) {
urlController.text = value;
},
),
),
const SizedBox(
height: 30,
),
if (widget.disclaimer.isNotEmpty)
Padding(
padding: const EdgeInsets.only(
top: 30,
left: 10,
right: 20,
),
Expanded(
child: ArchethicScrollbar(
child: Padding(
padding: EdgeInsets.only(
top: 20,
left: 15,
right: 15,
bottom: bottom + 80,
),
child: Column(
children: <Widget>[
Text(
widget.warningLabel,
style: ArchethicThemeStyles.textStyleSize12W100Primary,
textAlign: TextAlign.justify,
),
const SizedBox(
height: 20,
),
AppTextField(
focusNode: urlFocusNode,
controller: urlController,
cursorColor: ArchethicTheme.text,
textInputAction: TextInputAction.next,
labelText: widget.placeholder,
autocorrect: false,
maxLines: 10,
keyboardType: TextInputType.text,
style: ArchethicThemeStyles.textStyleSize14W200Primary,
suffixButton: PasteIcon(
onPaste: (String value) {
urlController.text = value;
},
),
),
const SizedBox(
height: 30,
),
if (widget.disclaimer.isNotEmpty)
Padding(
padding: const EdgeInsets.only(
top: 30,
left: 10,
right: 20,
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(top: 2),
child: Icon(
Symbols.warning,
color: ArchethicTheme.warning,
size: 12,
weight: IconSize.weightM,
opticalSize: IconSize.opticalSizeM,
grade: IconSize.gradeM,
),
),
const SizedBox(width: 8),
Expanded(
child: Text(
widget.disclaimer,
style: ArchethicThemeStyles
.textStyleSize12W100PrimaryWarning,
textAlign: TextAlign.justify,
),
),
],
),
),
],
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(top: 2),
child: Icon(
Symbols.warning,
color: ArchethicTheme.warning,
size: 12,
weight: IconSize.weightM,
opticalSize: IconSize.opticalSizeM,
grade: IconSize.gradeM,
),
),
),
),
Column(
children: <Widget>[
Row(
children: <Widget>[
if (connectivityStatusProvider ==
ConnectivityStatus.isConnected)
AppButtonTiny(
AppButtonTinyType.primary,
localizations.confirm,
Dimens.buttonBottomDimens,
key: const Key('confirm'),
onPressed: () {
widget.onConfirm(urlController.text, context);
},
)
else
AppButtonTiny(
AppButtonTinyType.primaryOutline,
localizations.confirm,
Dimens.buttonBottomDimens,
key: const Key('confirm'),
onPressed: () {},
),
],
const SizedBox(width: 8),
Expanded(
child: Text(
widget.disclaimer,
style:
ArchethicThemeStyles.textStyleSize12W100PrimaryWarning,
textAlign: TextAlign.justify,
),
),
],
),
],
),
),
),
],
);
}
}

0 comments on commit 4e22082

Please sign in to comment.