diff --git a/mih_ui/lib/mih_config/mih_go_router.dart b/mih_ui/lib/mih_config/mih_go_router.dart index 5433bcce..a962b1dd 100644 --- a/mih_ui/lib/mih_config/mih_go_router.dart +++ b/mih_ui/lib/mih_config/mih_go_router.dart @@ -164,9 +164,20 @@ class MihGoRouter { path: MihGoRouterPaths.mzansiProfileView, builder: (BuildContext context, GoRouterState state) { KenLogger.success("MihGoRouter: mzansiProfileView"); - String? username = state.uri.queryParameters['username']; - KenLogger.success("username: username"); + return MzansiProfileView( + username: null, + ); + }, + ), + GoRoute( + name: "mzansiProfileView+username", + path: "${MihGoRouterPaths.mzansiProfileView}/:username", + builder: (BuildContext context, GoRouterState state) { KenLogger.success("MihGoRouter: mzansiProfileView"); + String? username = state.pathParameters['username']; + // String? username = state.uri.queryParameters['username']; + KenLogger.success("MihGoRouter: mzansiProfileView"); + KenLogger.success("username: $username"); MzansiDirectoryProvider directoryProvider = context.read(); if (directoryProvider.selectedUser == null && username == null) { @@ -192,9 +203,19 @@ class MihGoRouter { GoRoute( name: "businessProfileView", path: MihGoRouterPaths.businessProfileView, + builder: (BuildContext context, GoRouterState state) { + return MzansiBusinessProfileView( + businessId: null, + fromMzansiDirectory: true, + ); + }, + ), + GoRoute( + name: "businessProfileView+business_id", + path: "${MihGoRouterPaths.businessProfileView}/:business_id", builder: (BuildContext context, GoRouterState state) { // KenLogger.success("MihGoRouter: businessProfileView"); - String? businessId = state.uri.queryParameters['business_id']; + String? businessId = state.pathParameters['business_id']; // KenLogger.success("businessId: $businessId"); MzansiDirectoryProvider directoryProvider = context.read(); diff --git a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/components/mih_manage_business_link_window.dart b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/components/mih_manage_business_link_window.dart index e97b3b26..ebd32f86 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/components/mih_manage_business_link_window.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/components/mih_manage_business_link_window.dart @@ -140,6 +140,7 @@ class _MihManageBusinessLinkWindowState ), ), child: ReorderableListView.builder( + buildDefaultDragHandles: false, itemBuilder: (context, index) { ProfileLink link = profileProvider.businessLinks[index]; String display = link.site_name; @@ -149,7 +150,7 @@ class _MihManageBusinessLinkWindowState return ListTile( key: ValueKey("$index"), title: Text( - "$display", + display, style: TextStyle( // fontWeight: FontWeight.bold, fontSize: 18, @@ -159,6 +160,13 @@ class _MihManageBusinessLinkWindowState profileProvider, link, ), + trailing: ReorderableDragStartListener( + index: index, + child: Icon( + Icons.drag_indicator, + color: MihColors.secondary(), + ), + ), ); }, itemCount: profileProvider.businessLinks.length, diff --git a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile_view.dart b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile_view.dart index a50647b7..ed07a5cc 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile_view.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/mzansi_business_profile_view.dart @@ -59,7 +59,6 @@ class _MzansiBusinessProfileViewState extends State { super.initState(); MzansiDirectoryProvider directoryProvider = context.read(); - directoryProvider.setBusinessViewIndex(0); _fetchBusinessDetails(directoryProvider); } @@ -77,7 +76,7 @@ class _MzansiBusinessProfileViewState extends State { ); } else { return MihPackage( - packageActionButton: getAction(), + packageActionButton: getAction(directoryProvider), packageTools: getTools(), packageToolBodies: getToolBody(directoryProvider), packageToolTitles: getToolTitle(), @@ -91,7 +90,7 @@ class _MzansiBusinessProfileViewState extends State { ); } - MihPackageAction getAction() { + MihPackageAction getAction(MzansiDirectoryProvider directoryProvider) { return MihPackageAction( icon: const Icon(Icons.arrow_back), iconColor: MihColors.secondary(), @@ -107,6 +106,7 @@ class _MzansiBusinessProfileViewState extends State { // context.goNamed( // "mzansiDirectory", // ); + directoryProvider.setBusinessViewIndex(0); FocusScope.of(context).unfocus(); }, ); diff --git a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart index 5183cac5..e4a445e2 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart @@ -325,8 +325,7 @@ class _MihBusinessQrCodeState extends State { } _checkUserSession(); futureImageUrl = MihFileApi.getMinioFileUrl(business.logo_path); - qrCodedata = - "${AppEnviroment.baseAppUrl}/business-profile/view?business_id="; + qrCodedata = "${AppEnviroment.baseAppUrl}/business-profile/view/"; } @override diff --git a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/components/mih_manage_user_profile_links_window.dart b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/components/mih_manage_user_profile_links_window.dart index b29b1ed7..a46b0f72 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/components/mih_manage_user_profile_links_window.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/components/mih_manage_user_profile_links_window.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_markdown_plus/flutter_markdown_plus.dart'; import 'package:go_router/go_router.dart'; import 'package:mih_package_toolkit/mih_package_toolkit.dart'; import 'package:mzansi_innovation_hub/mih_objects/profile_link.dart'; @@ -138,6 +139,7 @@ class _MihManageUserProfileLinksWindowState ), ), child: ReorderableListView.builder( + buildDefaultDragHandles: false, itemBuilder: (context, index) { ProfileLink link = profileProvider.personalLinks[index]; String display = link.site_name; @@ -147,7 +149,7 @@ class _MihManageUserProfileLinksWindowState return ListTile( key: ValueKey("$index"), title: Text( - "$display", + display, style: TextStyle( // fontWeight: FontWeight.bold, fontSize: 18, @@ -157,6 +159,13 @@ class _MihManageUserProfileLinksWindowState profileProvider, link, ), + trailing: ReorderableDragStartListener( + index: index, + child: Icon( + Icons.drag_indicator, + color: MihColors.secondary(), + ), + ), ); }, itemCount: profileProvider.personalLinks.length, diff --git a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile_view.dart b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile_view.dart index 7d4d1d6f..ed15eb8c 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile_view.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/mzansi_profile_view.dart @@ -26,7 +26,6 @@ class _MzansiProfileViewState extends State { void _loadUserData() async { MzansiDirectoryProvider directoryProvider = context.read(); - directoryProvider.setPersonalViewIndex(0); if (widget.username != null) { final user = await MihUserServices() .getMIHUserDetailsByUsername(widget.username!, context); @@ -64,7 +63,7 @@ class _MzansiProfileViewState extends State { ); } else { return MihPackage( - packageActionButton: getAction(), + packageActionButton: getAction(directoryProvider), packageTools: getTools(), packageToolBodies: getToolBody(), packageToolTitles: getToolTitle(), @@ -78,13 +77,14 @@ class _MzansiProfileViewState extends State { ); } - MihPackageAction getAction() { + MihPackageAction getAction(MzansiDirectoryProvider directoryProvider) { return MihPackageAction( icon: const Icon(Icons.arrow_back), iconColor: MihColors.secondary(), iconSize: 35, onTap: () { context.pop(); + directoryProvider.setPersonalViewIndex(0); FocusScope.of(context).unfocus(); }, ); diff --git a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart index 63bd72e0..232c399a 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart @@ -39,8 +39,7 @@ class _MihPersonalQrCodeState extends State { ScreenshotController screenshotController = ScreenshotController(); Uint8List? personalQRImageFile; bool _isUserSignedIn = false; - final String _qrCodedata = - "${AppEnviroment.baseAppUrl}/mzansi-profile/view?username="; + final String _qrCodedata = "${AppEnviroment.baseAppUrl}/mzansi-profile/view/"; Future _checkUserSession() async { final doesSessionExist = await SuperTokens.doesSessionExist();