Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
yaso
3d5fdde322 copy link button on profile QR screens 2026-06-22 11:19:15 +02:00
yaso
fd003b0100 Fix blank screen before first load 2026-06-22 10:58:59 +02:00
6 changed files with 58 additions and 3 deletions

View file

@ -1,3 +1,7 @@
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
# This builtInKotlin flag was added automatically by Flutter migrator
android.builtInKotlin=false
# This newDsl flag was added automatically by Flutter migrator
android.newDsl=false

View file

@ -42,7 +42,6 @@ void main() async {
debugPrint('APP INSTALLED!');
});
final GoRouter appRouter = MihGoRouter().mihRouter;
FlutterNativeSplash.remove();
runApp(MzansiInnovationHub(
router: appRouter,
));

View file

@ -33,8 +33,7 @@ void main() async {
debugPrint('APP INSTALLED!');
});
final GoRouter appRouter = MihGoRouter().mihRouter;
FlutterNativeSplash.remove();
runApp(MzansiInnovationHub(
(MzansiInnovationHub(
router: appRouter,
));
}

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:go_router/go_router.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_file_viewer/components/mih_print_prevew.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
@ -85,6 +86,7 @@ class MihGoRouter {
];
KenLogger.success(
"Redirect Check: ${state.fullPath}, isUserSignedIn: $isUserSignedIn");
FlutterNativeSplash.remove();
if (!isUserSignedIn && !unauthenticatedPaths.contains(state.fullPath)) {
return MihGoRouterPaths.mihAuthentication;
}

View file

@ -5,6 +5,7 @@ import 'package:file_picker/file_picker.dart';
import 'package:file_saver/file_saver.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:go_router/go_router.dart';
import 'package:ken_logger/ken_logger.dart';
@ -403,6 +404,30 @@ class _MihBusinessQrCodeState extends State<MihBusinessQrCode> {
);
},
),
SpeedDialChild(
child: Icon(
Icons.copy_rounded,
color: MihColors.primary(),
),
label: "Copy Link",
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.green(),
onTap: () async {
await Clipboard.setData(
ClipboardData(text: "$qrCodedata${business.business_id}"),
);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
MihSnackBar(
child: Text("Link Copied!"),
),
);
},
),
]),
)
],

View file

@ -4,6 +4,7 @@ import 'package:file_picker/file_picker.dart';
import 'package:file_saver/file_saver.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
import 'package:go_router/go_router.dart';
import 'package:ken_logger/ken_logger.dart';
@ -402,6 +403,31 @@ class _MihPersonalQrCodeState extends State<MihPersonalQrCode> {
);
},
),
SpeedDialChild(
child: Icon(
Icons.copy_rounded,
color: MihColors.primary(),
),
label: "Copy Link",
labelBackgroundColor: MihColors.green(),
labelStyle: TextStyle(
color: MihColors.primary(),
fontWeight: FontWeight.bold,
),
backgroundColor: MihColors.green(),
onTap: () async {
await Clipboard.setData(
ClipboardData(
text: "$_qrCodedata${user.username.toLowerCase()}"),
);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
MihSnackBar(
child: Text("Link Copied!"),
),
);
},
),
]),
)
],