diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..85838df
Binary files /dev/null and b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..b17c88e
Binary files /dev/null and b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..f4a9616
Binary files /dev/null and b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..dd980dc
Binary files /dev/null and b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..44500f5
Binary files /dev/null and b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..5f349f7
--- /dev/null
+++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index db77bb4..a8faba7 100644
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 17987b7..00a7c9d 100644
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 09d4391..ba2d496 100644
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index d5f1c8d..cc65f2c 100644
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 4d6372e..4dc8f10 100644
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..beab31f
--- /dev/null
+++ b/android/app/src/main/res/values/colors.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/assets/stability-nexus/stability.svg b/assets/stability-nexus/stability.svg
new file mode 100644
index 0000000..cd2d3a7
--- /dev/null
+++ b/assets/stability-nexus/stability.svg
@@ -0,0 +1,14 @@
+
+
diff --git a/assets/tree-navbar-images/logo.svg b/assets/tree-navbar-images/logo.svg
new file mode 100644
index 0000000..d93d72b
--- /dev/null
+++ b/assets/tree-navbar-images/logo.svg
@@ -0,0 +1,331 @@
+
+
diff --git a/assets/tree-navbar-images/padded-logo.png b/assets/tree-navbar-images/padded-logo.png
new file mode 100644
index 0000000..b643df2
Binary files /dev/null and b/assets/tree-navbar-images/padded-logo.png differ
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index fe54d5d..72b59e4 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -428,7 +428,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
@@ -485,7 +485,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index dc9ada4..fcd8a57 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index 7353c41..e1c9009 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index 797d452..8928ee7 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index 6ed2d93..af4a470 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 4cd7b00..9d4aab0 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index fe73094..4fda7f4 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index 321773c..0f8673e 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index 797d452..8928ee7 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index 502f463..ab0a7a3 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index 0ec3034..fd7bef8 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
new file mode 100644
index 0000000..19dabd9
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
new file mode 100644
index 0000000..8e20c50
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
new file mode 100644
index 0000000..7424e10
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
new file mode 100644
index 0000000..2effc44
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index 0ec3034..fd7bef8 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index e9f5fea..0577169 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
new file mode 100644
index 0000000..57976cf
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
new file mode 100644
index 0000000..5689fb2
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index 84ac32a..b32dc31 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index 8953cba..145c2d5 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index 0467bf1..590a014 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/lib/components/stability_nexus_footer_dialog.dart b/lib/components/stability_nexus_footer_dialog.dart
new file mode 100644
index 0000000..20aefc4
--- /dev/null
+++ b/lib/components/stability_nexus_footer_dialog.dart
@@ -0,0 +1,227 @@
+import 'package:flutter/material.dart';
+import 'package:url_launcher/url_launcher.dart';
+import 'package:tree_planting_protocol/utils/constants/ui/color_constants.dart';
+
+class StabilityNexusFooterDialog extends StatelessWidget {
+ const StabilityNexusFooterDialog({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ final colors = getThemeColors(context);
+
+ return Dialog(
+ backgroundColor: Colors.white,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(20),
+ side: BorderSide(
+ color: Colors.black,
+ width: 3,
+ ),
+ ),
+ child: Container(
+ padding: const EdgeInsets.all(24),
+ constraints: const BoxConstraints(maxWidth: 500),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.circular(20),
+ ),
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ const Spacer(),
+ Text(
+ 'About Us',
+ style: TextStyle(
+ fontSize: 22,
+ fontWeight: FontWeight.bold,
+ color: Colors.black,
+ ),
+ ),
+ const Spacer(),
+ IconButton(
+ icon: Icon(Icons.close, color: Colors.black),
+ onPressed: () => Navigator.of(context).pop(),
+ padding: EdgeInsets.zero,
+ constraints: const BoxConstraints(),
+ ),
+ ],
+ ),
+ const SizedBox(height: 16),
+ Text(
+ 'The Treee Protocol was developed by the Stability Nexus. We are an organization working to make the world more stable.',
+ textAlign: TextAlign.center,
+ style: TextStyle(
+ fontSize: 14,
+ color: Colors.black87,
+ ),
+ ),
+ const SizedBox(height: 24),
+ Text(
+ 'Connect with us:',
+ style: TextStyle(
+ fontSize: 16,
+ fontWeight: FontWeight.w600,
+ color: Colors.black,
+ ),
+ ),
+ const SizedBox(height: 16),
+ _buildSocialLinks(context, colors),
+ const SizedBox(height: 16),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Material(
+ elevation: 4,
+ borderRadius: BorderRadius.circular(12),
+ child: ElevatedButton(
+ onPressed: () => Navigator.of(context).pop(),
+ style: ElevatedButton.styleFrom(
+ backgroundColor: colors['secondary'],
+ foregroundColor: Colors.black,
+ padding: const EdgeInsets.symmetric(
+ horizontal: 24, vertical: 12),
+ elevation: 0,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ side: BorderSide(color: Colors.black, width: 2),
+ ),
+ ),
+ child: const Text('Close',
+ style: TextStyle(fontWeight: FontWeight.bold)),
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+
+ Widget _buildSocialLinks(BuildContext context, Map colors) {
+ final links = [
+ {
+ 'name': 'Website',
+ 'url': 'https://stability.nexus/',
+ 'icon': Icons.language,
+ 'useSecondary': true,
+ },
+ {
+ 'name': 'X (Twitter)',
+ 'url': 'https://x.com/StabilityNexus',
+ 'icon': Icons.close, // X icon
+ 'useSecondary': false,
+ },
+ {
+ 'name': 'LinkedIn',
+ 'url': 'https://linkedin.com/company/stability-nexus',
+ 'icon': Icons.business,
+ 'useSecondary': true,
+ },
+ {
+ 'name': 'GitHub',
+ 'url': 'https://github.com/StabilityNexus',
+ 'icon': Icons.code,
+ 'useSecondary': false,
+ },
+ {
+ 'name': 'Discord',
+ 'url': 'https://discord.com/invite/YzDKeEfWtS',
+ 'icon': Icons.chat,
+ 'useSecondary': true,
+ },
+ {
+ 'name': 'Telegram',
+ 'url': 'https://t.me/StabilityNexus',
+ 'icon': Icons.send,
+ 'useSecondary': false,
+ },
+ {
+ 'name': 'YouTube',
+ 'url': 'https://www.youtube.com/@StabilityNexus',
+ 'icon': Icons.play_circle_filled,
+ 'useSecondary': true,
+ },
+ ];
+
+ return Wrap(
+ spacing: 12,
+ runSpacing: 12,
+ alignment: WrapAlignment.center,
+ children: links.map((link) {
+ return _buildSocialButton(
+ name: link['name'] as String,
+ url: link['url'] as String,
+ icon: link['icon'] as IconData,
+ colors: colors,
+ useSecondary: link['useSecondary'] as bool,
+ );
+ }).toList(),
+ );
+ }
+
+ Widget _buildSocialButton({
+ required String name,
+ required String url,
+ required IconData icon,
+ required Map colors,
+ required bool useSecondary,
+ }) {
+ final buttonColor =
+ useSecondary ? colors['secondary']! : colors['primary']!;
+
+ return Material(
+ elevation: 4,
+ borderRadius: BorderRadius.circular(12),
+ child: InkWell(
+ onTap: () => _launchURL(url),
+ borderRadius: BorderRadius.circular(12),
+ child: Container(
+ padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
+ decoration: BoxDecoration(
+ color: buttonColor,
+ borderRadius: BorderRadius.circular(12),
+ border: Border.all(
+ color: Colors.black,
+ width: 2,
+ ),
+ ),
+ child: Row(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ Icon(icon, size: 18, color: Colors.black),
+ const SizedBox(width: 6),
+ Text(
+ name,
+ style: TextStyle(
+ color: Colors.black,
+ fontWeight: FontWeight.w600,
+ fontSize: 12,
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+
+ Future _launchURL(String urlString) async {
+ final Uri url = Uri.parse(urlString);
+ try {
+ if (!await launchUrl(
+ url,
+ mode: LaunchMode.externalApplication,
+ )) {
+ throw Exception('Could not launch $urlString');
+ }
+ } catch (e) {
+ // Fallback or error handling
+ debugPrint('Error launching URL: $e');
+ }
+ }
+}
diff --git a/lib/components/universal_navbar.dart b/lib/components/universal_navbar.dart
index 9b7d166..3cb1a3c 100644
--- a/lib/components/universal_navbar.dart
+++ b/lib/components/universal_navbar.dart
@@ -1,9 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:tree_planting_protocol/providers/wallet_provider.dart';
import 'package:tree_planting_protocol/providers/theme_provider.dart';
import 'package:tree_planting_protocol/components/wallet_connect_dialog.dart';
+import 'package:tree_planting_protocol/components/stability_nexus_footer_dialog.dart';
import 'package:tree_planting_protocol/utils/services/wallet_provider_utils.dart';
import 'package:tree_planting_protocol/utils/constants/tree_images.dart';
import 'package:tree_planting_protocol/utils/services/switch_chain_utils.dart';
@@ -52,26 +54,19 @@ class UniversalNavbar extends StatelessWidget implements PreferredSizeWidget {
child: Row(
children: [
Container(
- width: 36,
- height: 36,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(8),
- border: Border.all(
- color: Colors.white,
- width: 1,
- ),
- ),
+ width: 40,
+ height: 40,
+ padding: const EdgeInsets.all(2),
child: Image.asset(
'assets/tree-navbar-images/logo.png',
- width: 28,
- height: 28,
+ width: 40,
+ height: 40,
fit: BoxFit.contain,
errorBuilder: (context, error, stackTrace) {
return Icon(
Icons.eco,
color: Colors.green[600],
- size: 28,
+ size: 32,
);
},
),
@@ -135,6 +130,31 @@ class UniversalNavbar extends StatelessWidget implements PreferredSizeWidget {
// ),
const SizedBox(width: 6),
if (actions != null) ...actions!,
+ InkWell(
+ onTap: () {
+ showDialog(
+ context: context,
+ builder: (context) =>
+ const StabilityNexusFooterDialog(),
+ );
+ },
+ borderRadius: BorderRadius.circular(8),
+ child: Container(
+ width: 40,
+ height: 40,
+ padding: const EdgeInsets.all(6),
+ child: SvgPicture.asset(
+ 'assets/stability-nexus/stability.svg',
+ fit: BoxFit.contain,
+ placeholderBuilder: (context) => Icon(
+ Icons.eco,
+ color: Colors.green[600],
+ size: 28,
+ ),
+ ),
+ ),
+ ),
+ const SizedBox(width: 6),
if (walletProvider.isConnected &&
walletProvider.currentAddress != null)
_buildWalletMenu(context, walletProvider)
diff --git a/pubspec.lock b/pubspec.lock
index f0db6cd..c82b330 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -17,6 +17,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.5.4+1"
+ archive:
+ dependency: transitive
+ description:
+ name: archive
+ sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.7"
args:
dependency: transitive
description:
@@ -89,6 +97,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.0"
+ checked_yaml:
+ dependency: transitive
+ description:
+ name: checked_yaml
+ sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.4"
+ cli_util:
+ dependency: transitive
+ description:
+ name: cli_util
+ sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.4.2"
clock:
dependency: transitive
description:
@@ -318,6 +342,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "5.2.1"
+ flutter_launcher_icons:
+ dependency: "direct dev"
+ description:
+ name: flutter_launcher_icons
+ sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.13.1"
flutter_lints:
dependency: "direct dev"
description:
@@ -343,7 +375,7 @@ packages:
source: hosted
version: "2.0.28"
flutter_svg:
- dependency: transitive
+ dependency: "direct main"
description:
name: flutter_svg
sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845
@@ -440,6 +472,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.2"
+ image:
+ dependency: transitive
+ description:
+ name: image
+ sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.5.4"
image_picker:
dependency: "direct main"
description:
@@ -856,6 +896,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
+ posix:
+ dependency: transitive
+ description:
+ name: posix
+ sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.0.3"
proj4dart:
dependency: transitive
description:
@@ -1357,6 +1405,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.5.0"
+ yaml:
+ dependency: transitive
+ description:
+ name: yaml
+ sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.3"
sdks:
dart: ">=3.8.0 <4.0.0"
flutter: ">=3.27.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 2a4991f..a25f2e9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -51,6 +51,7 @@ dependencies:
geolocator: ^9.0.2
location: ^7.0.0
permission_handler: ^12.0.1
+ flutter_svg: ^2.0.10+1
# fluttertoast: ^8.2.8
@@ -64,6 +65,7 @@ dev_dependencies:
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^5.0.0
+ flutter_launcher_icons: ^0.13.1
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
@@ -80,6 +82,7 @@ flutter:
- .env
- assets/
- assets/tree-navbar-images/
+ - assets/stability-nexus/
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
@@ -98,5 +101,13 @@ flutter:
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
+
+flutter_launcher_icons:
+ android: true
+ ios: true
+ image_path: "assets/tree-navbar-images/padded-logo.png"
+ remove_alpha_ios: true
+ adaptive_icon_background: "#000000"
+ adaptive_icon_foreground: "assets/tree-navbar-images/padded-logo.png"
# For details regarding fonts from package dependencies,
# see https://flutter.dev/to/font-from-package
\ No newline at end of file