Merge pull request 'V.1.3.0' (#48) from v.1.3.0 into main

Reviewed-on: #48
This commit was merged in pull request #48.
This commit is contained in:
2026-06-04 08:58:39 +00:00
10 changed files with 58 additions and 50 deletions
Vendored
BIN
View File
Binary file not shown.
+3 -18
View File
@@ -130,6 +130,7 @@ services:
- mih-api-hub
#============== API Hub ====================================================================
mih-api-hub:
platform: linux/amd64
build:
context: ./mih_api_hub
target: builder
@@ -172,22 +173,6 @@ services:
- mih-network
depends_on:
- mih-db
#============== PHP My Admin ====================================================================
# phpmyadmin:
# platform: linux/amd64
# image: phpmyadmin/phpmyadmin
# container_name: MIH-phpmyadmin
# environment:
# PMA_HOST: mih-db
# PMA_PORT: 3306
# PMA_ARBITRARY:
# networks:
# - mih-network
# restart: always
# ports:
# - 8081:80
# depends_on:
# - mih-db
#============== Minio File Storage ====================================================================
mih-minio:
platform: linux/amd64
@@ -208,7 +193,7 @@ services:
#============== MIH-Monitor Portainer ====================================================================
mih-monitor:
container_name: mih-monitor
image: portainer/portainer-ce:2.20.3
image: portainer/portainer-ce:lts
ports:
- "127.0.0.1:9444:9443"
volumes:
@@ -220,7 +205,7 @@ services:
#============== MIH-AI Ollama ====================================================================
mih-ai:
container_name: mih-ai
image: ollama/ollama:0.21.2
image: ollama/ollama:latest
ports:
- "127.0.0.1:11434:11434"
volumes:
+2 -2
View File
@@ -5,7 +5,7 @@ WORKDIR /app
COPY requirements.txt ./
RUN --mount=type=cache,target=/root/.cache/pip \
pip --default-timeout=120 install -r requirements.txt
pip --default-timeout=120 install -r requirements.txt
# COPY . ./app
@@ -30,4 +30,4 @@ RUN --mount=type=cache,target=/root/.cache/pip \
# COPY ./requirements.txt ./
# RUN pip3 install --no-cache-dir -r requirements.txt
# RUN pip3 install --no-cache-dir -r requirements.txt
+31
View File
@@ -3,6 +3,7 @@ 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';
import 'package:mzansi_innovation_hub/mih_package_components/Example/package_test.dart';
import 'package:mzansi_innovation_hub/mih_providers/about_mih_provider.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_directory_provider.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/about_mih.dart';
import 'package:mzansi_innovation_hub/mih_packages/access_review/mih_access.dart';
@@ -79,6 +80,8 @@ class MihGoRouter {
"/${MihGoRouterPaths.aboutMih}",
"/${MihGoRouterPaths.businessProfileView}/:business_id",
"/${MihGoRouterPaths.mzansiProfileView}/:username",
MihGoRouterPaths.privacyPolicyExternal,
MihGoRouterPaths.termsOfServiceExternal,
];
KenLogger.success(
"Redirect Check: ${state.fullPath}, isUserSignedIn: $isUserSignedIn");
@@ -88,6 +91,8 @@ class MihGoRouter {
if (isUserSignedIn &&
unauthenticatedPaths.contains(state.fullPath) &&
state.fullPath != "/${MihGoRouterPaths.aboutMih}" &&
state.fullPath != MihGoRouterPaths.privacyPolicyExternal &&
state.fullPath != MihGoRouterPaths.termsOfServiceExternal &&
state.fullPath !=
"/${MihGoRouterPaths.mzansiProfileView}/:username" &&
state.fullPath !=
@@ -132,6 +137,32 @@ class MihGoRouter {
return MihAuthPasswordReset(token: token);
},
),
GoRoute(
name: "mihPrivacyPolicy",
path: MihGoRouterPaths.privacyPolicyExternal,
builder: (BuildContext context, GoRouterState state) {
KenLogger.success("MihGoRouter: provacyPolicy");
WidgetsBinding.instance.addPostFrameCallback((_) {
if (context.mounted) {
context.read<AboutMihProvider>().setToolIndex(1);
}
});
return AboutMih();
},
),
GoRoute(
name: "mihTermsOfService",
path: MihGoRouterPaths.termsOfServiceExternal,
builder: (BuildContext context, GoRouterState state) {
KenLogger.success("MihGoRouter: termsOfService");
WidgetsBinding.instance.addPostFrameCallback((_) {
if (context.mounted) {
context.read<AboutMihProvider>().setToolIndex(2);
}
});
return AboutMih();
},
),
// ========================== MIH Home ==================================
GoRoute(
name: "mihHome",
-4
View File
@@ -114,10 +114,6 @@ class MihTheme {
mode;
}
String getLatestVersion() {
return latestVersion;
}
ThemeData getThemeData() {
return getData(mode == "Dark");
}
@@ -55,6 +55,7 @@ class _AboutMihState extends State<AboutMih> {
context.goNamed(
'mihHome',
);
context.read<AboutMihProvider>().setToolIndex(0);
FocusScope.of(context).unfocus();
},
);
@@ -4,12 +4,14 @@ import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_objects/profile_link.dart';
import 'package:mzansi_innovation_hub/mih_package_components/mih_profile_links.dart';
import 'package:mzansi_innovation_hub/mih_providers/about_mih_provider.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_business_details_services.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_install_services.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:mzansi_innovation_hub/mih_services/mih_user_services.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:redacted/redacted.dart';
import 'package:share_plus/share_plus.dart';
@@ -341,7 +343,7 @@ class _MihInfoState extends State<MihInfo> {
);
}
Widget aboutHeadings() {
Widget aboutHeadings(AboutMihProvider aboutProvider) {
return Column(
children: [
SizedBox(
@@ -365,7 +367,7 @@ class _MihInfoState extends State<MihInfo> {
),
),
Text(
"MIH App Version: ${MzansiInnovationHub.of(context)!.theme.getLatestVersion()}",
"MIH App Version: ${aboutProvider.version}",
textAlign: TextAlign.center,
style: const TextStyle(
fontWeight: FontWeight.normal,
@@ -852,21 +854,27 @@ class _MihInfoState extends State<MihInfo> {
@override
Widget build(BuildContext context) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(),
);
return Consumer(builder: (
BuildContext context,
AboutMihProvider aboutProvider,
Widget? child,
) {
return MihPackageToolBody(
backgroundColor: MihColors.primary(),
borderOn: false,
bodyItem: getBody(aboutProvider),
);
});
}
Widget getBody() {
Widget getBody(AboutMihProvider aboutProvider) {
return Stack(
children: [
MihSingleChildScroll(
scrollbarOn: true,
child: Column(
children: [
aboutHeadings(),
aboutHeadings(aboutProvider),
communityCounter(),
callToActionsButtons(),
// mihDivider(),
@@ -237,15 +237,8 @@ class _MIHAppDrawerState extends State<MIHAppDrawer> {
],
),
onTap: () {
WidgetsBinding.instance
.addPostFrameCallback((_) async {
context
.read<AboutMihProvider>()
.setToolIndex(1);
});
context.goNamed(
"aboutMih",
extra: true,
"mihPrivacyPolicy",
);
},
),
@@ -268,15 +261,8 @@ class _MIHAppDrawerState extends State<MIHAppDrawer> {
],
),
onTap: () {
WidgetsBinding.instance
.addPostFrameCallback((_) async {
context
.read<AboutMihProvider>()
.setToolIndex(2);
});
context.goNamed(
"aboutMih",
extra: true,
"mihTermsOfService",
);
},
),
@@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart';
class AboutMihProvider extends ChangeNotifier {
int toolIndex;
String version = "1.3.0";
AboutMihProvider({
this.toolIndex = 0,
+1 -1
View File
@@ -1,7 +1,7 @@
name: mzansi_innovation_hub
description: ""
publish_to: "none" # Remove this line if you wish to publish to pub.dev
version: 1.2.7+132
version: 1.3.0+133
environment:
sdk: ">=3.5.3 <4.0.0"