diff --git a/assets/images/block.png b/assets/images/block.png new file mode 100644 index 00000000..c9b9ca22 Binary files /dev/null and b/assets/images/block.png differ diff --git a/assets/images/down_arrow.png b/assets/images/down_arrow.png new file mode 100644 index 00000000..f15e5ad8 Binary files /dev/null and b/assets/images/down_arrow.png differ diff --git a/assets/images/reload.png b/assets/images/reload.png new file mode 100644 index 00000000..2db5e3ab Binary files /dev/null and b/assets/images/reload.png differ diff --git a/assets/images/termsAndConditions.png b/assets/images/termsAndConditions.png index 8581d538..64488152 100644 Binary files a/assets/images/termsAndConditions.png and b/assets/images/termsAndConditions.png differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 18b6777e..3ef48140 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -57,8 +57,6 @@ PODS: - Flutter - flutter_local_notifications (0.0.1): - Flutter - - flutter_qr_reader (0.0.1): - - Flutter - fluttertoast (0.0.2): - Flutter - Toast @@ -123,7 +121,6 @@ DEPENDENCIES: - flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`) - flutter_keychain (from `.symlinks/plugins/flutter_keychain/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - - flutter_qr_reader (from `.symlinks/plugins/flutter_qr_reader/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - open_file (from `.symlinks/plugins/open_file/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) @@ -175,8 +172,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/flutter_keychain/ios" flutter_local_notifications: :path: ".symlinks/plugins/flutter_local_notifications/ios" - flutter_qr_reader: - :path: ".symlinks/plugins/flutter_qr_reader/ios" fluttertoast: :path: ".symlinks/plugins/fluttertoast/ios" open_file: @@ -219,7 +214,6 @@ SPEC CHECKSUMS: flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433 flutter_keychain: 01aabf894ffe8b01adfda1d9df21c210c1b4b452 flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 - flutter_qr_reader: d930dde3b2cfe2b3d0bb7d66e5ff3e514300a5e5 fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037 libwebp: 98a37e597e40bfdb4c911fc98f2c53d0b12d05fc Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d @@ -241,6 +235,6 @@ SPEC CHECKSUMS: video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1 webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f -PODFILE CHECKSUM: db8a7794fb1b0bee1e3803fed876c7cf9577099b +PODFILE CHECKSUM: db1b3d34103b9bca35e1d0bca266af8024bec0bc COCOAPODS: 1.11.3 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index fc1e35ee..d5c94b8d 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -10,13 +10,13 @@ 03729451251A04200081BDCF /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03729450251A04200081BDCF /* ShareViewController.swift */; }; 03729454251A04200081BDCF /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 03729452251A04200081BDCF /* MainInterface.storyboard */; }; 03729458251A04200081BDCF /* @mosphere-pro.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 0372944E251A04200081BDCF /* @mosphere-pro.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 0BDCBEE0D322301A1EF0869E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B1C35B7369486DE1AB7F3C72 /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A22C357F66BE84164C6231A6 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06F50C4A86344C6DBD297C6E /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -60,15 +60,15 @@ 03729455251A04200081BDCF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0372945E251A082B0081BDCF /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; 0372945F251A087A0081BDCF /* Share Extension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Share Extension.entitlements"; sourceTree = ""; }; + 06F50C4A86344C6DBD297C6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4F69A74C18BAFFE4AEA79529 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 655888FAAB2B85959C2880D1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 45211ED657BA2DDD51C32096 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8236931B8D27443DDF5E8751 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 936BF752DA44252CFFD59242 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -76,7 +76,7 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B1C35B7369486DE1AB7F3C72 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B984AA408AD32B13E6AEA940 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -91,7 +91,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0BDCBEE0D322301A1EF0869E /* Pods_Runner.framework in Frameworks */, + A22C357F66BE84164C6231A6 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -109,10 +109,10 @@ path = "Share Extension"; sourceTree = ""; }; - 75DCE734B469EA1865970A11 /* Frameworks */ = { + 6A4FCF7678CD1FD694F0B3D8 /* Frameworks */ = { isa = PBXGroup; children = ( - B1C35B7369486DE1AB7F3C72 /* Pods_Runner.framework */, + 06F50C4A86344C6DBD297C6E /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -131,9 +131,9 @@ 978D8E3BA80D7D0BD7F4B6D7 /* Pods */ = { isa = PBXGroup; children = ( - 4F69A74C18BAFFE4AEA79529 /* Pods-Runner.debug.xcconfig */, - 655888FAAB2B85959C2880D1 /* Pods-Runner.release.xcconfig */, - 8236931B8D27443DDF5E8751 /* Pods-Runner.profile.xcconfig */, + 936BF752DA44252CFFD59242 /* Pods-Runner.debug.xcconfig */, + B984AA408AD32B13E6AEA940 /* Pods-Runner.release.xcconfig */, + 45211ED657BA2DDD51C32096 /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -146,7 +146,7 @@ 0372944F251A04200081BDCF /* Share Extension */, 97C146EF1CF9000F007C117D /* Products */, 978D8E3BA80D7D0BD7F4B6D7 /* Pods */, - 75DCE734B469EA1865970A11 /* Frameworks */, + 6A4FCF7678CD1FD694F0B3D8 /* Frameworks */, ); sourceTree = ""; }; @@ -199,7 +199,7 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CF87B4D9A3D8128EF27369B4 /* [CP] Check Pods Manifest.lock */, + 22F5EF24F4C1B21F2E181589 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, @@ -207,7 +207,7 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 03729459251A04200081BDCF /* Embed App Extensions */, - CDE842460B64DBF139B1781B /* [CP] Embed Pods Frameworks */, + 6CB03256DD0BC5BE5F651133 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -280,35 +280,43 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 22F5EF24F4C1B21F2E181589 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - CDE842460B64DBF139B1781B /* [CP] Embed Pods Frameworks */ = { + 6CB03256DD0BC5BE5F651133 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -325,27 +333,19 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CF87B4D9A3D8128EF27369B4 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/lib/screens/welcome_screen/widgets/blocked_at_sign_sheet.dart b/lib/screens/welcome_screen/widgets/blocked_at_sign_sheet.dart new file mode 100644 index 00000000..7ce51173 --- /dev/null +++ b/lib/screens/welcome_screen/widgets/blocked_at_sign_sheet.dart @@ -0,0 +1,208 @@ +import 'package:at_backupkey_flutter/utils/size_config.dart'; +import 'package:atsign_atmosphere_pro/screens/welcome_screen/widgets/blocked_at_sign_widget.dart'; +import 'package:atsign_atmosphere_pro/utils/colors.dart'; +import 'package:atsign_atmosphere_pro/utils/images.dart'; +import 'package:flutter/material.dart'; + +Future blockedAtSignsSheet(BuildContext context) { + SizeConfig().init(context); + return showModalBottomSheet( + isScrollControlled: true, + backgroundColor: Colors.transparent, + context: context, + builder: (context) { + return Container( + height: MediaQuery.of(context).size.height * 0.9, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + color: Colors.white, + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 27.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 23, bottom: 7), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + width: 45.toWidth, + height: 2.toHeight, + decoration: BoxDecoration( + color: Colors.black, + borderRadius: BorderRadius.circular(2), + ), + ), + Container( + width: 106.toWidth, + height: 31.toHeight, + decoration: BoxDecoration( + border: Border.all( + width: 1, + color: ColorConstants.buttonBorderColor, + ), + borderRadius: BorderRadius.circular(28), + ), + child: Center( + child: Text( + "Close", + style: TextStyle( + fontSize: 17.toFont, + color: ColorConstants.buttonBorderColor, + fontWeight: FontWeight.w600, + ), + ), + ), + ) + ], + ), + ), + Text( + "Blocked atSigns", + style: TextStyle( + fontWeight: FontWeight.bold, fontSize: 25.toFont), + ), + SizedBox(height: 30.toHeight), + Container( + height: 95.toHeight, + decoration: BoxDecoration( + color: ColorConstants.buttonBackgroundColor, + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Refresh", + style: TextStyle( + color: ColorConstants.greyTextColor, + fontWeight: FontWeight.w600, + fontSize: 14.toFont, + ), + ), + Container( + width: 48.toWidth, + height: 48.toWidth, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: ColorConstants.buttonBorderColor, + ), + color: Colors.white, + ), + child: Center( + child: Image.asset( + ImageConstants.reload, + width: 17.toWidth, + ), + ), + ) + ], + ), + Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Search", + style: TextStyle( + color: ColorConstants.greyTextColor, + fontWeight: FontWeight.w600, + fontSize: 14.toFont, + ), + ), + Container( + width: 235.toWidth, + height: 48.toWidth, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: ColorConstants.buttonBorderColor, + ), + color: Colors.white, + ), + child: Center( + child: Row( + children: [ + Expanded( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: TextField( + decoration: InputDecoration.collapsed( + hintText: "Search History by atSign", + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.all(8.0), + child: Icon(Icons.search), + ), + ], + ), + ), + ), + ], + ) + ], + ), + ), + SizedBox( + height: 27.toHeight, + ), + Expanded( + child: Container( + child: Column( + children: [ + Container( + height: 37.toHeight, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10), + topRight: Radius.circular(10), + ), + color: ColorConstants.lightGrey, + ), + child: Row( + children: [ + Padding( + padding: EdgeInsets.only( + left: 24.0.toWidth, + right: 6.toWidth, + ), + child: Text( + "atSign", + style: TextStyle( + fontSize: 15.toFont, + fontWeight: FontWeight.w500, + color: ColorConstants.greyTextColor, + ), + ), + ), + Image.asset( + ImageConstants.downArrow, + width: 11.toWidth, + ), + ], + ), + ), + BlockedAtSignWidget() + ], + ), + ), + ), + ], + ), + ), + ); + }); +} diff --git a/lib/screens/welcome_screen/widgets/blocked_at_sign_widget.dart b/lib/screens/welcome_screen/widgets/blocked_at_sign_widget.dart new file mode 100644 index 00000000..904b200e --- /dev/null +++ b/lib/screens/welcome_screen/widgets/blocked_at_sign_widget.dart @@ -0,0 +1,61 @@ +import 'package:at_backupkey_flutter/utils/size_config.dart'; +import 'package:atsign_atmosphere_pro/utils/colors.dart'; +import 'package:atsign_atmosphere_pro/utils/images.dart'; +import 'package:flutter/material.dart'; + +class BlockedAtSignWidget extends StatelessWidget { + const BlockedAtSignWidget({ + Key? key, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Container( + height: 58.toHeight, + decoration: BoxDecoration( + border: Border( + bottom: BorderSide( + color: ColorConstants.buttonBorderColor, + ), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Text( + "@airplanes45", + style: TextStyle( + fontWeight: FontWeight.w500, + fontSize: 13.toFont, + ), + ), + Container( + height: 31.toHeight, + width: 118.toWidth, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15), + border: Border.all(color: ColorConstants.lightGrey), + color: ColorConstants.buttonBackgroundColor, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + "Unblock?", + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 13.toFont, + ), + ), + Image.asset( + ImageConstants.block, + height: 16.toHeight, + ), + ], + )) + ], + ), + ); + } +} diff --git a/lib/screens/welcome_screen/widgets/setting_page_button.dart b/lib/screens/welcome_screen/widgets/setting_page_button.dart new file mode 100644 index 00000000..bfa384e9 --- /dev/null +++ b/lib/screens/welcome_screen/widgets/setting_page_button.dart @@ -0,0 +1,47 @@ +import 'package:at_backupkey_flutter/utils/size_config.dart'; +import 'package:atsign_atmosphere_pro/utils/colors.dart'; +import 'package:flutter/material.dart'; + +class SettingPageButton extends StatelessWidget { + final String title; + final String iconPath; + const SettingPageButton({required this.iconPath, required this.title}); + + @override + Widget build(BuildContext context) { + SizeConfig().init(context); + return Container( + height: 62.toHeight, + width: 344.toWidth, + decoration: BoxDecoration( + color: ColorConstants.buttonBackgroundColor, + border: Border.all( + color: ColorConstants.buttonBorderColor, + width: 1, + ), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + Padding( + padding: EdgeInsets.only( + left: 30.0.toWidth, + right: 25.toWidth, + ), + child: Image.asset( + iconPath, + height: 28.33.toHeight, + ), + ), + Text( + title, + style: TextStyle( + fontSize: 18.toFont, + color: ColorConstants.buttonBorderColor, + fontWeight: FontWeight.w600, + ), + ) + ], + )); + } +} diff --git a/lib/screens/welcome_screen/widgets/welcome_sceen_home.dart b/lib/screens/welcome_screen/widgets/welcome_sceen_home.dart index 1f3dcb84..66cedd2f 100644 --- a/lib/screens/welcome_screen/widgets/welcome_sceen_home.dart +++ b/lib/screens/welcome_screen/widgets/welcome_sceen_home.dart @@ -6,6 +6,7 @@ import 'package:atsign_atmosphere_pro/screens/common_widgets/common_button.dart' import 'package:atsign_atmosphere_pro/screens/common_widgets/custom_heading.dart'; import 'package:atsign_atmosphere_pro/screens/common_widgets/side_bar.dart'; import 'package:atsign_atmosphere_pro/screens/common_widgets/switch_at_sign.dart'; +import 'package:atsign_atmosphere_pro/screens/welcome_screen/widgets/blocked_at_sign_sheet.dart'; import 'package:atsign_atmosphere_pro/screens/welcome_screen/widgets/overlapping_contacts.dart'; import 'package:atsign_atmosphere_pro/screens/welcome_screen/widgets/select_contact_widget.dart'; import 'package:atsign_atmosphere_pro/screens/welcome_screen/widgets/select_file_widget.dart'; @@ -50,6 +51,7 @@ class _WelcomeScreenHomeState extends State { @override Widget build(BuildContext context) { + SizeConfig().init(context); filePickerModel = Provider.of(context); _welcomeScreenProvider = Provider.of( context, @@ -76,14 +78,19 @@ class _WelcomeScreenHomeState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - TextStrings().welcome, - semanticsLabel: TextStrings().welcome, - style: GoogleFonts.playfairDisplay( - textStyle: TextStyle( - fontSize: 26.toFont, - fontWeight: FontWeight.w800, - height: 1.3, + InkWell( + onTap: () { + blockedAtSignsSheet(context); + }, + child: Text( + TextStrings().welcome, + semanticsLabel: TextStrings().welcome, + style: GoogleFonts.playfairDisplay( + textStyle: TextStyle( + fontSize: 26.toFont, + fontWeight: FontWeight.w800, + height: 1.3, + ), ), ), ), @@ -178,16 +185,12 @@ class _WelcomeScreenHomeState extends State { ), SizedBox( height: (_welcomeScreenProvider - .selectedContacts != - null && - _welcomeScreenProvider .selectedContacts.isNotEmpty && filePickerModel.selectedFiles.isNotEmpty) ? 20.toHeight : 60.toHeight, ), - (_welcomeScreenProvider.selectedContacts != null && - _welcomeScreenProvider + (_welcomeScreenProvider .selectedContacts.isNotEmpty && filePickerModel.selectedFiles.isNotEmpty) ? Container( @@ -265,9 +268,7 @@ class _WelcomeScreenHomeState extends State { SizedBox( height: 30.toHeight, ), - if (_welcomeScreenProvider.selectedContacts != - null && - _welcomeScreenProvider + if (_welcomeScreenProvider .selectedContacts.isNotEmpty && filePickerModel.selectedFiles.isNotEmpty) ...[ Row( diff --git a/lib/utils/colors.dart b/lib/utils/colors.dart index 9486654b..d8ff38c2 100644 --- a/lib/utils/colors.dart +++ b/lib/utils/colors.dart @@ -32,7 +32,10 @@ class ColorConstants { static const Color light_border_color = Color(0xFFEEF1F4); static const Color textBoxBg = Color(0xFFF2F2F2); static const Color lightBlueBg = Color(0xFFF8FBFF); - + static const Color buttonBorderColor = Color(0xFF939393); + static const Color buttonBackgroundColor = Color(0xFFF1F1F1); + static const Color greyTextColor = Color(0xffA4A4A5); + static const Color lightGrey = Color(0xffF2F2F2); //NEW UI COLORS static const Color fadedGreyN = Color(0xFFF1F1F1); static const Color dividerGrey = Color(0xFFD9D9D9); diff --git a/lib/utils/images.dart b/lib/utils/images.dart index 5dcfc9cd..a7765693 100644 --- a/lib/utils/images.dart +++ b/lib/utils/images.dart @@ -40,6 +40,9 @@ class ImageConstants { static String myFiles = '$_basePath/my_files.png'; static String groups = '$_basePath/groups.png'; static String contactUs = '$_basePath/contactUs.png'; + static String reload = "$_basePath/reload.png"; + static String downArrow = "$_basePath/down_arrow.png"; + static String block = "$_basePath/block.png"; static String settings = '$_basePath/settings.png'; // TEST FILE DELETE WHEN IN PRODUCTION static String test = '$_basePath/test.jpg';