switch from query paramater to path paramater for profile views
This commit is contained in:
@@ -164,9 +164,20 @@ class MihGoRouter {
|
|||||||
path: MihGoRouterPaths.mzansiProfileView,
|
path: MihGoRouterPaths.mzansiProfileView,
|
||||||
builder: (BuildContext context, GoRouterState state) {
|
builder: (BuildContext context, GoRouterState state) {
|
||||||
KenLogger.success("MihGoRouter: mzansiProfileView");
|
KenLogger.success("MihGoRouter: mzansiProfileView");
|
||||||
String? username = state.uri.queryParameters['username'];
|
return MzansiProfileView(
|
||||||
KenLogger.success("username: username");
|
username: null,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
GoRoute(
|
||||||
|
name: "mzansiProfileView+username",
|
||||||
|
path: "${MihGoRouterPaths.mzansiProfileView}/:username",
|
||||||
|
builder: (BuildContext context, GoRouterState state) {
|
||||||
KenLogger.success("MihGoRouter: mzansiProfileView");
|
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 =
|
MzansiDirectoryProvider directoryProvider =
|
||||||
context.read<MzansiDirectoryProvider>();
|
context.read<MzansiDirectoryProvider>();
|
||||||
if (directoryProvider.selectedUser == null && username == null) {
|
if (directoryProvider.selectedUser == null && username == null) {
|
||||||
@@ -192,9 +203,19 @@ class MihGoRouter {
|
|||||||
GoRoute(
|
GoRoute(
|
||||||
name: "businessProfileView",
|
name: "businessProfileView",
|
||||||
path: MihGoRouterPaths.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) {
|
builder: (BuildContext context, GoRouterState state) {
|
||||||
// KenLogger.success("MihGoRouter: businessProfileView");
|
// KenLogger.success("MihGoRouter: businessProfileView");
|
||||||
String? businessId = state.uri.queryParameters['business_id'];
|
String? businessId = state.pathParameters['business_id'];
|
||||||
// KenLogger.success("businessId: $businessId");
|
// KenLogger.success("businessId: $businessId");
|
||||||
MzansiDirectoryProvider directoryProvider =
|
MzansiDirectoryProvider directoryProvider =
|
||||||
context.read<MzansiDirectoryProvider>();
|
context.read<MzansiDirectoryProvider>();
|
||||||
|
|||||||
+9
-1
@@ -140,6 +140,7 @@ class _MihManageBusinessLinkWindowState
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: ReorderableListView.builder(
|
child: ReorderableListView.builder(
|
||||||
|
buildDefaultDragHandles: false,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
ProfileLink link = profileProvider.businessLinks[index];
|
ProfileLink link = profileProvider.businessLinks[index];
|
||||||
String display = link.site_name;
|
String display = link.site_name;
|
||||||
@@ -149,7 +150,7 @@ class _MihManageBusinessLinkWindowState
|
|||||||
return ListTile(
|
return ListTile(
|
||||||
key: ValueKey("$index"),
|
key: ValueKey("$index"),
|
||||||
title: Text(
|
title: Text(
|
||||||
"$display",
|
display,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
// fontWeight: FontWeight.bold,
|
// fontWeight: FontWeight.bold,
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
@@ -159,6 +160,13 @@ class _MihManageBusinessLinkWindowState
|
|||||||
profileProvider,
|
profileProvider,
|
||||||
link,
|
link,
|
||||||
),
|
),
|
||||||
|
trailing: ReorderableDragStartListener(
|
||||||
|
index: index,
|
||||||
|
child: Icon(
|
||||||
|
Icons.drag_indicator,
|
||||||
|
color: MihColors.secondary(),
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: profileProvider.businessLinks.length,
|
itemCount: profileProvider.businessLinks.length,
|
||||||
|
|||||||
+3
-3
@@ -59,7 +59,6 @@ class _MzansiBusinessProfileViewState extends State<MzansiBusinessProfileView> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
MzansiDirectoryProvider directoryProvider =
|
MzansiDirectoryProvider directoryProvider =
|
||||||
context.read<MzansiDirectoryProvider>();
|
context.read<MzansiDirectoryProvider>();
|
||||||
directoryProvider.setBusinessViewIndex(0);
|
|
||||||
_fetchBusinessDetails(directoryProvider);
|
_fetchBusinessDetails(directoryProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +76,7 @@ class _MzansiBusinessProfileViewState extends State<MzansiBusinessProfileView> {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return MihPackage(
|
return MihPackage(
|
||||||
packageActionButton: getAction(),
|
packageActionButton: getAction(directoryProvider),
|
||||||
packageTools: getTools(),
|
packageTools: getTools(),
|
||||||
packageToolBodies: getToolBody(directoryProvider),
|
packageToolBodies: getToolBody(directoryProvider),
|
||||||
packageToolTitles: getToolTitle(),
|
packageToolTitles: getToolTitle(),
|
||||||
@@ -91,7 +90,7 @@ class _MzansiBusinessProfileViewState extends State<MzansiBusinessProfileView> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
MihPackageAction getAction() {
|
MihPackageAction getAction(MzansiDirectoryProvider directoryProvider) {
|
||||||
return MihPackageAction(
|
return MihPackageAction(
|
||||||
icon: const Icon(Icons.arrow_back),
|
icon: const Icon(Icons.arrow_back),
|
||||||
iconColor: MihColors.secondary(),
|
iconColor: MihColors.secondary(),
|
||||||
@@ -107,6 +106,7 @@ class _MzansiBusinessProfileViewState extends State<MzansiBusinessProfileView> {
|
|||||||
// context.goNamed(
|
// context.goNamed(
|
||||||
// "mzansiDirectory",
|
// "mzansiDirectory",
|
||||||
// );
|
// );
|
||||||
|
directoryProvider.setBusinessViewIndex(0);
|
||||||
FocusScope.of(context).unfocus();
|
FocusScope.of(context).unfocus();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
+1
-2
@@ -325,8 +325,7 @@ class _MihBusinessQrCodeState extends State<MihBusinessQrCode> {
|
|||||||
}
|
}
|
||||||
_checkUserSession();
|
_checkUserSession();
|
||||||
futureImageUrl = MihFileApi.getMinioFileUrl(business.logo_path);
|
futureImageUrl = MihFileApi.getMinioFileUrl(business.logo_path);
|
||||||
qrCodedata =
|
qrCodedata = "${AppEnviroment.baseAppUrl}/business-profile/view/";
|
||||||
"${AppEnviroment.baseAppUrl}/business-profile/view?business_id=";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
+10
-1
@@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_markdown_plus/flutter_markdown_plus.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
|
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
|
||||||
import 'package:mzansi_innovation_hub/mih_objects/profile_link.dart';
|
import 'package:mzansi_innovation_hub/mih_objects/profile_link.dart';
|
||||||
@@ -138,6 +139,7 @@ class _MihManageUserProfileLinksWindowState
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: ReorderableListView.builder(
|
child: ReorderableListView.builder(
|
||||||
|
buildDefaultDragHandles: false,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
ProfileLink link = profileProvider.personalLinks[index];
|
ProfileLink link = profileProvider.personalLinks[index];
|
||||||
String display = link.site_name;
|
String display = link.site_name;
|
||||||
@@ -147,7 +149,7 @@ class _MihManageUserProfileLinksWindowState
|
|||||||
return ListTile(
|
return ListTile(
|
||||||
key: ValueKey("$index"),
|
key: ValueKey("$index"),
|
||||||
title: Text(
|
title: Text(
|
||||||
"$display",
|
display,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
// fontWeight: FontWeight.bold,
|
// fontWeight: FontWeight.bold,
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
@@ -157,6 +159,13 @@ class _MihManageUserProfileLinksWindowState
|
|||||||
profileProvider,
|
profileProvider,
|
||||||
link,
|
link,
|
||||||
),
|
),
|
||||||
|
trailing: ReorderableDragStartListener(
|
||||||
|
index: index,
|
||||||
|
child: Icon(
|
||||||
|
Icons.drag_indicator,
|
||||||
|
color: MihColors.secondary(),
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
itemCount: profileProvider.personalLinks.length,
|
itemCount: profileProvider.personalLinks.length,
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ class _MzansiProfileViewState extends State<MzansiProfileView> {
|
|||||||
void _loadUserData() async {
|
void _loadUserData() async {
|
||||||
MzansiDirectoryProvider directoryProvider =
|
MzansiDirectoryProvider directoryProvider =
|
||||||
context.read<MzansiDirectoryProvider>();
|
context.read<MzansiDirectoryProvider>();
|
||||||
directoryProvider.setPersonalViewIndex(0);
|
|
||||||
if (widget.username != null) {
|
if (widget.username != null) {
|
||||||
final user = await MihUserServices()
|
final user = await MihUserServices()
|
||||||
.getMIHUserDetailsByUsername(widget.username!, context);
|
.getMIHUserDetailsByUsername(widget.username!, context);
|
||||||
@@ -64,7 +63,7 @@ class _MzansiProfileViewState extends State<MzansiProfileView> {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return MihPackage(
|
return MihPackage(
|
||||||
packageActionButton: getAction(),
|
packageActionButton: getAction(directoryProvider),
|
||||||
packageTools: getTools(),
|
packageTools: getTools(),
|
||||||
packageToolBodies: getToolBody(),
|
packageToolBodies: getToolBody(),
|
||||||
packageToolTitles: getToolTitle(),
|
packageToolTitles: getToolTitle(),
|
||||||
@@ -78,13 +77,14 @@ class _MzansiProfileViewState extends State<MzansiProfileView> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
MihPackageAction getAction() {
|
MihPackageAction getAction(MzansiDirectoryProvider directoryProvider) {
|
||||||
return MihPackageAction(
|
return MihPackageAction(
|
||||||
icon: const Icon(Icons.arrow_back),
|
icon: const Icon(Icons.arrow_back),
|
||||||
iconColor: MihColors.secondary(),
|
iconColor: MihColors.secondary(),
|
||||||
iconSize: 35,
|
iconSize: 35,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
context.pop();
|
context.pop();
|
||||||
|
directoryProvider.setPersonalViewIndex(0);
|
||||||
FocusScope.of(context).unfocus();
|
FocusScope.of(context).unfocus();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
+1
-2
@@ -39,8 +39,7 @@ class _MihPersonalQrCodeState extends State<MihPersonalQrCode> {
|
|||||||
ScreenshotController screenshotController = ScreenshotController();
|
ScreenshotController screenshotController = ScreenshotController();
|
||||||
Uint8List? personalQRImageFile;
|
Uint8List? personalQRImageFile;
|
||||||
bool _isUserSignedIn = false;
|
bool _isUserSignedIn = false;
|
||||||
final String _qrCodedata =
|
final String _qrCodedata = "${AppEnviroment.baseAppUrl}/mzansi-profile/view/";
|
||||||
"${AppEnviroment.baseAppUrl}/mzansi-profile/view?username=";
|
|
||||||
|
|
||||||
Future<void> _checkUserSession() async {
|
Future<void> _checkUserSession() async {
|
||||||
final doesSessionExist = await SuperTokens.doesSessionExist();
|
final doesSessionExist = await SuperTokens.doesSessionExist();
|
||||||
|
|||||||
Reference in New Issue
Block a user