Compare commits
12 Commits
0f6c6e51ab
...
v.1.2.7
| Author | SHA1 | Date | |
|---|---|---|---|
| 2be2f69f30 | |||
| 17f7f3287d | |||
| c2353fef20 | |||
| 3e3170b103 | |||
| d71f337d37 | |||
| 62c5634cf6 | |||
| 26d3638d80 | |||
| 6c591172df | |||
| 0a5c4a3d20 | |||
| c0077e532c | |||
| 379633d7f5 | |||
| c855503edd |
@@ -4,21 +4,21 @@ networks:
|
|||||||
driver: bridge
|
driver: bridge
|
||||||
#============== MIH Containers ====================================================================
|
#============== MIH Containers ====================================================================
|
||||||
services:
|
services:
|
||||||
#============== Nginx Proxy Manager ====================================================================
|
#============== Nginx Proxy Manager ====================================================================
|
||||||
mih-nginx:
|
mih-nginx:
|
||||||
container_name: mih-nginx
|
container_name: mih-nginx
|
||||||
image: 'jc21/nginx-proxy-manager:latest'
|
image: "jc21/nginx-proxy-manager:latest"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- '80:80' # Public HTTP
|
- "80:80" # Public HTTP
|
||||||
- '443:443' # Public HTTPS
|
- "443:443" # Public HTTPS
|
||||||
- '127.0.0.1:81:81' # Admin Web Port
|
- "127.0.0.1:81:81" # Admin Web Port
|
||||||
volumes:
|
volumes:
|
||||||
- ./mih_nginx/data:/data
|
- ./mih_nginx/data:/data
|
||||||
- ./mih_nginx/letsencrypt:/etc/letsencrypt
|
- ./mih_nginx/letsencrypt:/etc/letsencrypt
|
||||||
networks:
|
networks:
|
||||||
- mih-network
|
- mih-network
|
||||||
#============== GITEA ====================================================================
|
#============== GITEA ====================================================================
|
||||||
mih-gitea:
|
mih-gitea:
|
||||||
image: gitea/gitea:latest
|
image: gitea/gitea:latest
|
||||||
container_name: mih-gitea
|
container_name: mih-gitea
|
||||||
@@ -68,11 +68,11 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- mih-db
|
- mih-db
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:3567:3567'
|
- "127.0.0.1:3567:3567"
|
||||||
environment:
|
environment:
|
||||||
REFRESH_TOKEN_VALIDITY: '604800'
|
REFRESH_TOKEN_VALIDITY: "604800"
|
||||||
ACCESS_TOKEN_VALIDITY: '86400'
|
ACCESS_TOKEN_VALIDITY: "86400"
|
||||||
PASSWORD_RESET_TOKEN_LIFETIME: '7200000'
|
PASSWORD_RESET_TOKEN_LIFETIME: "7200000"
|
||||||
MYSQL_USER: ${SQL_USER}
|
MYSQL_USER: ${SQL_USER}
|
||||||
MYSQL_PASSWORD: ${SQL_USER_PW}
|
MYSQL_PASSWORD: ${SQL_USER_PW}
|
||||||
MYSQL_HOST: mih-db
|
MYSQL_HOST: mih-db
|
||||||
@@ -94,7 +94,7 @@ services:
|
|||||||
image: wordpress
|
image: wordpress
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:8081:80'
|
- "127.0.0.1:8081:80"
|
||||||
environment:
|
environment:
|
||||||
WORDPRESS_DB_HOST: mih-wp-db
|
WORDPRESS_DB_HOST: mih-wp-db
|
||||||
WORDPRESS_DB_USER: ${WP_SQL_USER}
|
WORDPRESS_DB_USER: ${WP_SQL_USER}
|
||||||
@@ -112,7 +112,7 @@ services:
|
|||||||
MARIADB_DATABASE: ${WP_SQL_DB}
|
MARIADB_DATABASE: ${WP_SQL_DB}
|
||||||
MARIADB_USER: ${WP_SQL_USER}
|
MARIADB_USER: ${WP_SQL_USER}
|
||||||
MARIADB_PASSWORD: ${WP_SQL_USER_PW}
|
MARIADB_PASSWORD: ${WP_SQL_USER_PW}
|
||||||
MARIADB_RANDOM_ROOT_PASSWORD: '1'
|
MARIADB_RANDOM_ROOT_PASSWORD: "1"
|
||||||
volumes:
|
volumes:
|
||||||
- ./mih_wp/database:/var/lib/mysql
|
- ./mih_wp/database:/var/lib/mysql
|
||||||
networks:
|
networks:
|
||||||
@@ -142,7 +142,7 @@ services:
|
|||||||
- mih-network
|
- mih-network
|
||||||
depends_on:
|
depends_on:
|
||||||
- mih-db
|
- mih-db
|
||||||
#============== My SQL DB ====================================================================
|
#============== My SQL DB ====================================================================
|
||||||
mih-db:
|
mih-db:
|
||||||
platform: linux/amd64
|
platform: linux/amd64
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
@@ -156,10 +156,10 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- mih-network
|
- mih-network
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:3306:3306'
|
- "127.0.0.1:3306:3306"
|
||||||
volumes:
|
volumes:
|
||||||
- ./mih_db:/var/lib/mysql
|
- ./mih_db:/var/lib/mysql
|
||||||
#============== PHP My Admin ====================================================================
|
#============== PHP My Admin ====================================================================
|
||||||
# phpmyadmin:
|
# phpmyadmin:
|
||||||
# platform: linux/amd64
|
# platform: linux/amd64
|
||||||
# image: phpmyadmin/phpmyadmin
|
# image: phpmyadmin/phpmyadmin
|
||||||
@@ -175,41 +175,41 @@ services:
|
|||||||
# - 8081:80
|
# - 8081:80
|
||||||
# depends_on:
|
# depends_on:
|
||||||
# - mih-db
|
# - mih-db
|
||||||
#============== Minio File Storage ====================================================================
|
#============== Minio File Storage ====================================================================
|
||||||
mih-minio:
|
mih-minio:
|
||||||
platform: linux/amd64
|
platform: linux/amd64
|
||||||
container_name: mih-minio
|
container_name: mih-minio
|
||||||
hostname: mih-minio
|
hostname: mih-minio
|
||||||
image: minio/minio
|
image: minio/minio
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:9000:9000'
|
- "127.0.0.1:9000:9000"
|
||||||
- '127.0.0.1:9001:9001'
|
- "127.0.0.1:9001:9001"
|
||||||
volumes:
|
volumes:
|
||||||
- './mih_minio:/data'
|
- "./mih_minio:/data"
|
||||||
environment:
|
environment:
|
||||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PW}
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PW}
|
||||||
networks:
|
networks:
|
||||||
- mih-network
|
- mih-network
|
||||||
command: ["server", "/data", "--console-address", ":9001"]
|
command: ["server", "/data", "--console-address", ":9001"]
|
||||||
#============== MIH-Monitor Portainer ====================================================================
|
#============== MIH-Monitor Portainer ====================================================================
|
||||||
mih-monitor:
|
mih-monitor:
|
||||||
container_name: mih-monitor
|
container_name: mih-monitor
|
||||||
image: portainer/portainer-ce:2.20.3
|
image: portainer/portainer-ce:2.20.3
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:9444:9443'
|
- "127.0.0.1:9444:9443"
|
||||||
volumes:
|
volumes:
|
||||||
- ./mih_monitor/data:/data
|
- ./mih_monitor/data:/data
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- mih-network
|
- mih-network
|
||||||
#============== MIH-AI Ollama ====================================================================
|
#============== MIH-AI Ollama ====================================================================
|
||||||
mih-ai:
|
mih-ai:
|
||||||
container_name: mih-ai
|
container_name: mih-ai
|
||||||
image: ollama/ollama:latest
|
image: ollama/ollama:0.21.2
|
||||||
ports:
|
ports:
|
||||||
- '127.0.0.1:11434:11434'
|
- "127.0.0.1:11434:11434"
|
||||||
volumes:
|
volumes:
|
||||||
- ./mih_ai/ollama/ollama:/root/.ollama
|
- ./mih_ai/ollama/ollama:/root/.ollama
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
@@ -222,15 +222,15 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- mih-network
|
- mih-network
|
||||||
# === Added section for NVIDIA GPU acceleration ===
|
# === Added section for NVIDIA GPU acceleration ===
|
||||||
# runtime: nvidia
|
# runtime: nvidia
|
||||||
# deploy:
|
# deploy:
|
||||||
# resources:
|
# resources:
|
||||||
# reservations:
|
# reservations:
|
||||||
# devices:
|
# devices:
|
||||||
# - driver: nvidia
|
# - driver: nvidia
|
||||||
# count: all # or specify a number of GPUs
|
# count: all # or specify a number of GPUs
|
||||||
# capabilities: [ gpu ]
|
# capabilities: [ gpu ]
|
||||||
#============== Firebaase ====================================================================
|
#============== Firebaase ====================================================================
|
||||||
# firebase:
|
# firebase:
|
||||||
# container_name: MIH-firebase-emulator
|
# container_name: MIH-firebase-emulator
|
||||||
# build:
|
# build:
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ st_api_key = os.getenv("SUPERTOKENS_API_KEY")
|
|||||||
origins = [
|
origins = [
|
||||||
"http://localhost",
|
"http://localhost",
|
||||||
"http://localhost:80",
|
"http://localhost:80",
|
||||||
|
"http://localhost:83",
|
||||||
"http://localhost:1995",
|
"http://localhost:1995",
|
||||||
"http://localhost:8080",
|
"http://localhost:8080",
|
||||||
"http://MIH-API-Hub:80",
|
"http://MIH-API-Hub:80",
|
||||||
|
|||||||
@@ -3,17 +3,19 @@ FROM debian:latest AS build-env
|
|||||||
|
|
||||||
# Install necessary dependencies for Flutter
|
# Install necessary dependencies for Flutter
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl git wget unzip libglu1-mesa fonts-droid-fallback python3 \
|
curl git wget unzip libglu1-mesa fonts-droid-fallback python3 \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Clone Flutter SDK
|
# Clone Flutter SDK
|
||||||
RUN git clone -b flutter-3.32-candidate.0 https://github.com/flutter/flutter.git /usr/local/flutter
|
RUN git clone -b stable https://github.com/flutter/flutter.git /usr/local/flutter
|
||||||
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
||||||
|
|
||||||
# Build the Flutter web app
|
# Build the Flutter web app
|
||||||
|
RUN flutter config --enable-web && flutter precache --web
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
COPY pubspec.yaml pubspec.lock ./
|
||||||
|
RUN flutter pub get
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN flutter config --enable-web
|
|
||||||
RUN flutter build web --release -t ./lib/main_prod.dart
|
RUN flutter build web --release -t ./lib/main_prod.dart
|
||||||
|
|
||||||
# --- STAGE 2: The Final Production Image ---
|
# --- STAGE 2: The Final Production Image ---
|
||||||
@@ -24,13 +26,13 @@ COPY --from=build-env /app/build/web /usr/share/nginx/html
|
|||||||
|
|
||||||
# Create the Nginx config inside the Dockerfile to handle SPA routing
|
# Create the Nginx config inside the Dockerfile to handle SPA routing
|
||||||
RUN echo 'server { \
|
RUN echo 'server { \
|
||||||
listen 83; \
|
listen 83; \
|
||||||
location / { \
|
location / { \
|
||||||
root /usr/share/nginx/html; \
|
root /usr/share/nginx/html; \
|
||||||
index index.html; \
|
index index.html; \
|
||||||
try_files $uri $uri/ /index.html; \
|
try_files $uri $uri/ /index.html; \
|
||||||
} \
|
} \
|
||||||
}' > /etc/nginx/conf.d/default.conf
|
}' > /etc/nginx/conf.d/default.conf
|
||||||
|
|
||||||
EXPOSE 83
|
EXPOSE 83
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ if (keystorePropertiesFile.exists()) {
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "za.co.mzansiinnovationhub.mih"
|
namespace = "za.co.mzansiinnovationhub.mih"
|
||||||
compileSdk = 35
|
compileSdk = 36
|
||||||
ndkVersion = "27.0.12077973"
|
ndkVersion = "27.0.12077973"
|
||||||
// ndkVersion = flutter.ndkVersion
|
// ndkVersion = flutter.ndkVersion
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ android {
|
|||||||
applicationId = "za.co.mzansiinnovationhub.mih"
|
applicationId = "za.co.mzansiinnovationhub.mih"
|
||||||
// You can update the following values to match your application needs.
|
// You can update the following values to match your application needs.
|
||||||
// For more information, see: https://flutter.dev/to/review-gradle-config.
|
// For more information, see: https://flutter.dev/to/review-gradle-config.
|
||||||
minSdk = 23
|
minSdk = flutter.minSdkVersion
|
||||||
//minSdk = flutter.minSdkVersion
|
//minSdk = flutter.minSdkVersion
|
||||||
targetSdk = flutter.targetSdkVersion
|
targetSdk = flutter.targetSdkVersion
|
||||||
versionCode = flutter.versionCode
|
versionCode = flutter.versionCode
|
||||||
@@ -69,4 +69,4 @@ android {
|
|||||||
|
|
||||||
flutter {
|
flutter {
|
||||||
source = "../.."
|
source = "../.."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,39 +3,27 @@ flutter_launcher_icons:
|
|||||||
# Original
|
# Original
|
||||||
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
||||||
|
|
||||||
# Women For Change
|
|
||||||
# image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_app_w4c.png"
|
|
||||||
|
|
||||||
android: "launcher_icon"
|
android: "launcher_icon"
|
||||||
min_sdk_android: 21 # android min sdk min:16, default 21
|
min_sdk_android: 21 # android min sdk min:16, default 21
|
||||||
# Original
|
# Original
|
||||||
adaptive_icon_background: "#3A4454"
|
adaptive_icon_background: "#3A4454"
|
||||||
adaptive_icon_foreground: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
adaptive_icon_foreground: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
||||||
|
|
||||||
# Women For Change
|
|
||||||
# adaptive_icon_background: "#6641b2"
|
|
||||||
# adaptive_icon_foreground: "lib/mih_package_components/assets/images/app_icon/mih_logo_app_w4c.png"
|
|
||||||
|
|
||||||
ios: true
|
ios: true
|
||||||
# Original
|
# Original
|
||||||
image_path_ios: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
image_path_ios: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
||||||
|
image_path_ios_dark_transparent: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
||||||
# Women For Change
|
image_path_ios_tinted_grayscale: "lib/mih_package_components/assets/images/app_icon/mih_logo_app.png"
|
||||||
# image_path_ios: "lib/mih_package_components/assets/images/app_icon/mih_logo_app_w4c.png"
|
remove_alpha_ios: true
|
||||||
remove_alpha_channel_ios: true
|
background_color_ios: "#3A4454"
|
||||||
|
|
||||||
web:
|
web:
|
||||||
generate: true
|
generate: true
|
||||||
# Original
|
# Original
|
||||||
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_web.png"
|
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_web.png"
|
||||||
background_color: "#3A4454"
|
background_color: "#3A4454"
|
||||||
theme_color: "#3A4454"
|
theme_color: "#3A4454"
|
||||||
|
|
||||||
# Women For Change
|
|
||||||
# image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_web_w4c.png"
|
|
||||||
# background_color: "#6641b2"
|
|
||||||
# theme_color: "#6641b2"
|
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
generate: true
|
generate: true
|
||||||
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_web.png"
|
image_path: "lib/mih_package_components/assets/images/app_icon/mih_logo_web.png"
|
||||||
|
|||||||
@@ -20,7 +20,5 @@
|
|||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.0</string>
|
<string>1.0</string>
|
||||||
<key>MinimumOSVersion</key>
|
|
||||||
<string>12.0</string>
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- app_settings (5.1.1):
|
- app_settings (6.1.2):
|
||||||
- Flutter
|
- Flutter
|
||||||
- AppCheckCore (11.2.0):
|
- AppCheckCore (11.2.0):
|
||||||
- GoogleUtilities/Environment (~> 8.0)
|
- GoogleUtilities/Environment (~> 8.0)
|
||||||
@@ -303,7 +303,7 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
|
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
app_settings: 5127ae0678de1dcc19f2293271c51d37c89428b2
|
app_settings: 0341ec6daa4f0c50f5a421bf0ad7c36084db6e90
|
||||||
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
|
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
|
||||||
camera_avfoundation: be3be85408cd4126f250386828e9b1dfa40ab436
|
camera_avfoundation: be3be85408cd4126f250386828e9b1dfa40ab436
|
||||||
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
|
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
|
||||||
@@ -325,7 +325,7 @@ SPEC CHECKSUMS:
|
|||||||
FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2
|
FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2
|
||||||
FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21
|
FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21
|
||||||
fl_downloader: dc99aa8dd303f862cccb830087f37acc9b0156ee
|
fl_downloader: dc99aa8dd303f862cccb830087f37acc9b0156ee
|
||||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
|
||||||
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
|
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
|
||||||
flutter_tts: b88dbc8655d3dc961bc4a796e4e16a4cc1795833
|
flutter_tts: b88dbc8655d3dc961bc4a796e4e16a4cc1795833
|
||||||
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
|
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
|
||||||
|
|||||||
@@ -476,7 +476,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
SUPPORTED_PLATFORMS = iphoneos;
|
SUPPORTED_PLATFORMS = iphoneos;
|
||||||
@@ -489,7 +489,9 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_packageIcon_NAME = packageIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_packageIcon_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -608,7 +610,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
@@ -657,7 +659,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
SUPPORTED_PLATFORMS = iphoneos;
|
SUPPORTED_PLATFORMS = iphoneos;
|
||||||
@@ -672,7 +674,9 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_packageIcon_NAME = packageIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_packageIcon_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
@@ -699,7 +703,9 @@
|
|||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_packageIcon_NAME = packageIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_packageIcon_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
import UIKit
|
|
||||||
import Flutter
|
import Flutter
|
||||||
|
import UIKit
|
||||||
|
|
||||||
@main
|
@main
|
||||||
@objc class AppDelegate: FlutterAppDelegate {
|
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
|
||||||
override func application(
|
override func application(
|
||||||
_ application: UIApplication,
|
_ application: UIApplication,
|
||||||
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
||||||
) -> Bool {
|
) -> Bool {
|
||||||
GeneratedPluginRegistrant.register(with: self)
|
|
||||||
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
|
||||||
|
GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 841 B |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 672 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
@@ -1,102 +1,117 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||||
|
<true/>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>MIH</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>mzansi_innovation_hub</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>$(FLUTTER_BUILD_NAME)</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||||
|
<key>GADApplicationIdentifier</key>
|
||||||
|
<string>ca-app-pub-4781880856775334~6935644635</string>
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
|
<key>LSApplicationQueriesSchemes</key>
|
||||||
|
<array>
|
||||||
|
<string>sms</string>
|
||||||
|
<string>tel</string>
|
||||||
|
</array>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSCameraUsageDescription</key>
|
||||||
|
<string>This app needs camera access to scan QR codes</string>
|
||||||
|
<key>NSDownloadsFolderUsageDescription</key>
|
||||||
|
<string>This app needs to access your downloads folder to select files from there.</string>
|
||||||
|
<key>NSFaceIDUsageDescription</key>
|
||||||
|
<string>Why is my app authenticating using face id?</string>
|
||||||
|
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
|
||||||
|
<string>This app needs access to your location at all times to provide [Explain your specific, complete reason here, e.g., real-time tracking, background updates, etc.].</string>
|
||||||
|
<key>NSLocationWhenInUseUsageDescription</key>
|
||||||
|
<string>This app needs access to location when open.</string>
|
||||||
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
|
<string>This app needs access to your microphone to enable voice input for the chat.</string>
|
||||||
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
|
<string>This app needs to access your photo library to select images.</string>
|
||||||
|
<key>NSSpeechRecognitionUsageDescription</key>
|
||||||
|
<string>This app uses speech recognition to convert your voice messages into text.</string>
|
||||||
|
<key>SKAdNetworkItems</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>SKAdNetworkIdentifier</key>
|
||||||
|
<string>v9wttpbfk9.skadnetwork</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>SKAdNetworkIdentifier</key>
|
||||||
|
<string>n38lu8286q.skadnetwork</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>UIApplicationSceneManifest</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSMicrophoneUsageDescription</key>
|
<key>UIApplicationSupportsMultipleScenes</key>
|
||||||
<string>This app needs access to your microphone to enable voice input for the chat.</string>
|
|
||||||
<key>NSSpeechRecognitionUsageDescription</key>
|
|
||||||
<string>This app uses speech recognition to convert your voice messages into text.</string>
|
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
|
||||||
<false/>
|
<false/>
|
||||||
<key>NSMicrophoneUsageDescription</key>
|
<key>UISceneConfigurations</key>
|
||||||
<string>This app needs access to your microphone to enable voice input for the chat.</string>
|
<dict>
|
||||||
<key>NSSpeechRecognitionUsageDescription</key>
|
<key>UIWindowSceneSessionRoleApplication</key>
|
||||||
<string>This app uses speech recognition to convert your voice messages into text.</string>
|
<array>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<dict>
|
||||||
<false/>
|
<key>UISceneClassName</key>
|
||||||
<key>SKAdNetworkItems</key>
|
<string>UIWindowScene</string>
|
||||||
<array>
|
<key>UISceneConfigurationName</key>
|
||||||
<dict>
|
<string>flutter</string>
|
||||||
<key>SKAdNetworkIdentifier</key>
|
<key>UISceneDelegateClassName</key>
|
||||||
<string>v9wttpbfk9.skadnetwork</string>
|
<string>FlutterSceneDelegate</string>
|
||||||
</dict>
|
<key>UISceneStoryboardFile</key>
|
||||||
<dict>
|
<string>Main</string>
|
||||||
<key>SKAdNetworkIdentifier</key>
|
</dict>
|
||||||
<string>n38lu8286q.skadnetwork</string>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
|
||||||
<key>GADApplicationIdentifier</key>
|
|
||||||
<string>ca-app-pub-4781880856775334~6935644635</string>
|
|
||||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
|
||||||
<true/>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
||||||
<key>CFBundleDisplayName</key>
|
|
||||||
<string>MIH</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>mzansi_innovation_hub</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>APPL</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
|
||||||
<key>LSApplicationQueriesSchemes</key>
|
|
||||||
<array>
|
|
||||||
<string>sms</string>
|
|
||||||
<string>tel</string>
|
|
||||||
</array>
|
|
||||||
<key>LSRequiresIPhoneOS</key>
|
|
||||||
<true/>
|
|
||||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
|
||||||
<true/>
|
|
||||||
<key>NSCameraUsageDescription</key>
|
|
||||||
<string>This app needs camera access to scan QR codes</string>
|
|
||||||
<key>NSFaceIDUsageDescription</key>
|
|
||||||
<string>Why is my app authenticating using face id?</string>
|
|
||||||
<key>NSLocationWhenInUseUsageDescription</key>
|
|
||||||
<string>This app needs access to location when open.</string>
|
|
||||||
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
|
|
||||||
<string>This app needs access to your location at all times to provide [Explain your specific, complete reason here, e.g., real-time tracking, background updates, etc.].</string>
|
|
||||||
<key>NSPhotoLibraryUsageDescription</key>
|
|
||||||
<string>This app needs to access your photo library to select images.</string>
|
|
||||||
<key>NSDownloadsFolderUsageDescription</key>
|
|
||||||
<string>This app needs to access your downloads folder to select files from there.</string>
|
|
||||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
|
||||||
<true/>
|
|
||||||
<key>UIBackgroundModes</key>
|
|
||||||
<array>
|
|
||||||
<string>fetch</string>
|
|
||||||
<string>remote-notification</string>
|
|
||||||
</array>
|
|
||||||
<key>UIFileSharingEnabled</key>
|
|
||||||
<true/>
|
|
||||||
<key>UILaunchStoryboardName</key>
|
|
||||||
<string>LaunchScreen</string>
|
|
||||||
<key>UIMainStoryboardFile</key>
|
|
||||||
<string>Main</string>
|
|
||||||
<key>UIStatusBarHidden</key>
|
|
||||||
<false/>
|
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||||
|
<true/>
|
||||||
|
<key>UIBackgroundModes</key>
|
||||||
|
<array>
|
||||||
|
<string>fetch</string>
|
||||||
|
<string>remote-notification</string>
|
||||||
|
</array>
|
||||||
|
<key>UIFileSharingEnabled</key>
|
||||||
|
<true/>
|
||||||
|
<key>UILaunchStoryboardName</key>
|
||||||
|
<string>LaunchScreen</string>
|
||||||
|
<key>UIMainStoryboardFile</key>
|
||||||
|
<string>Main</string>
|
||||||
|
<key>UIStatusBarHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class _TestPackageTileState extends State<TestPackageTile> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MihPackageTile(
|
return MihPackageTile(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
context.goNamed(
|
context.pushNamed(
|
||||||
'testPackage',
|
'testPackage',
|
||||||
);
|
);
|
||||||
// Navigator.of(context).pushNamed(
|
// Navigator.of(context).pushNamed(
|
||||||
|
|||||||
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 15 KiB |