diff --git a/.gitignore b/.gitignore index 698588b2..c16608c4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ # IDE configuration files .idea/ -.vscode/ *.iml *.iws diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..3b1860d6 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,69 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "krow-staff-application (DEV iOS)", + "request": "launch", + "type": "dart", + "program": "mobile-apps/staff-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "dev"] + }, + { + "name": "krow-staff-application (DEV Android)", + "request": "launch", + "type": "dart", + "program": "mobile-apps/staff-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "dev"] + }, + { + "name": "krow-staff-application (STAGING iOS)", + "request": "launch", + "type": "dart", + "program": "mobile-apps/staff-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "staging"] + }, + { + "name": "krow-staff-application (STAGING Android)", + "request": "launch", + "type": "dart", + "program": "lmobile-apps/staff-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "staging"] + }, + { + "name": "krow-client-application (DEV iOS)", + "request": "launch", + "type": "dart", + "program": "mobile-apps/client-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "dev"] + }, + { + "name": "krow-client-application (DEV Android)", + "request": "launch", + "type": "dart", + "program": "lmobile-apps/client-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "dev"] + }, + { + "name": "krow-client-application (STAGING iOS)", + "request": "launch", + "type": "dart", + "program": "mobile-apps/client-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "staging"] + }, + { + "name": "krow-client-application (STAGING Android)", + "request": "launch", + "type": "dart", + "program": "lmobile-apps/client-app/lib/main_dev.dart", + "flutterMode": "debug", + "toolArgs": ["--flavor", "staging"] + }, + ] +} diff --git a/Makefile b/Makefile index eebde364..4ea516d2 100644 --- a/Makefile +++ b/Makefile @@ -4,11 +4,17 @@ # It is designed to be the main entry point for developers. # Use .PHONY to declare targets that are not files, to avoid conflicts. -.PHONY: help install dev build integrate-export prepare-export deploy-launchpad deploy-launchpad-full deploy-app admin-install admin-dev admin-build deploy-admin deploy-admin-full configure-iap-launchpad configure-iap-admin list-iap-users remove-iap-user setup-labels export-issues create-issues-from-file install-git-hooks +.PHONY: help install dev build integrate-export prepare-export deploy-launchpad deploy-launchpad-full deploy-app admin-install admin-dev admin-build deploy-admin deploy-admin-full configure-iap-launchpad configure-iap-admin list-iap-users remove-iap-user setup-labels export-issues create-issues-from-file install-git-hooks mobile-client-install mobile-client-dev mobile-client-build mobile-staff-install mobile-staff-dev mobile-staff-build # The default command to run if no target is specified (e.g., just 'make'). .DEFAULT_GOAL := help +# --- Flutter check --- +FLUTTER := $(shell which flutter) +ifeq ($(FLUTTER),) +$(error "flutter not found in PATH. Please install Flutter and add it to your PATH.") +endif + # --- Firebase & GCP Configuration --- GCP_DEV_PROJECT_ID := krow-workforce-dev GCP_STAGING_PROJECT_ID := krow-workforce-staging @@ -61,6 +67,15 @@ help: @echo " make dev - Starts the local web frontend server." @echo " make build - Builds the web frontend for production." @echo "" + @echo " --- MOBILE APP DEVELOPMENT ---" + @echo " make mobile-client-install - Install dependencies for client app" + @echo " make mobile-client-dev - Run client app in dev mode" + @echo " make mobile-client-build - Build client app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)" + @echo "" + @echo " make mobile-staff-install - Install dependencies for staff app" + @echo " make mobile-staff-dev - Run staff app in dev mode" + @echo " make mobile-staff-build - Build staff app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)" + @echo "" @echo " --- DEPLOYMENT ---" @echo " make deploy-launchpad-full - Deploys internal launchpad to Cloud Run (dev only) with IAP." @echo " make deploy-admin-full [ENV=staging] - Deploys Admin Console to Cloud Run with IAP (default: dev)." @@ -72,7 +87,7 @@ help: @echo "" @echo " --- PROJECT MANAGEMENT & TOOLS ---" @echo " make setup-labels - Creates/updates GitHub labels from labels.yml." - @echo " make export-issues [ARGS="--state=all --label=bug"] - Exports GitHub issues to a markdown file. See scripts/export_issues.sh for options." + @echo " make export-issues [ARGS=\"--state=all --label=bug\"] - Exports GitHub issues to a markdown file. See scripts/export_issues.sh for options." @echo " make create-issues-from-file - Bulk creates GitHub issues from a markdown file." @echo " make install-git-hooks - Installs git pre-push hook to protect main/dev branches." @echo "" @@ -193,7 +208,7 @@ configure-iap-launchpad: @gcloud run services add-iam-policy-binding $(CR_LAUNCHPAD_SERVICE_NAME) \ --region=$(CR_LAUNCHPAD_REGION) \ --project=$(GCP_DEV_PROJECT_ID) \ - --member="serviceAccount:$(IAP_SERVICE_ACCOUNT)" \ + --member=\"serviceAccount:$(IAP_SERVICE_ACCOUNT)\" \ --role='roles/run.invoker' \ --quiet @echo " - Adding users from iap-users.txt..." @@ -205,7 +220,7 @@ configure-iap-launchpad: --resource-type=cloud-run \ --service=$(CR_LAUNCHPAD_SERVICE_NAME) \ --region=$(CR_LAUNCHPAD_REGION) \ - --member="$$member" \ + --member=\"$$member\" \ --role='roles/iap.httpsResourceAccessor' \ --quiet; \ done @@ -217,7 +232,7 @@ configure-iap-admin: @gcloud run services add-iam-policy-binding $(CR_ADMIN_SERVICE_NAME) \ --region=$(CR_ADMIN_REGION) \ --project=$(GCP_PROJECT_ID) \ - --member="serviceAccount:$(IAP_SERVICE_ACCOUNT)" \ + --member=\"serviceAccount:$(IAP_SERVICE_ACCOUNT)\" \ --role='roles/run.invoker' \ --quiet @echo " - Adding users from iap-users.txt..." @@ -229,7 +244,7 @@ configure-iap-admin: --resource-type=cloud-run \ --service=$(CR_ADMIN_SERVICE_NAME) \ --region=$(CR_ADMIN_REGION) \ - --member="$$member" \ + --member=\"$$member\" \ --role='roles/iap.httpsResourceAccessor' \ --quiet; \ done @@ -254,7 +269,7 @@ remove-iap-user: --resource-type=cloud-run \ --service=$(IAP_SERVICE_NAME) \ --region=$(IAP_SERVICE_REGION) \ - --member="$(USER)" \ + --member=\"$(USER)\" \ --role='roles/iap.httpsResourceAccessor' \ --quiet @echo "✅ User removed from IAP." @@ -329,4 +344,69 @@ dataconnect-init: dataconnect-deploy: @echo "--> Deploying Firebase Data Connect schemas to [$(ENV)] (project: $(FIREBASE_ALIAS))..." @firebase deploy --only dataconnect --project=$(FIREBASE_ALIAS) - @echo "✅ Data Connect deployment completed for [$(ENV)]." \ No newline at end of file + @echo "✅ Data Connect deployment completed for [$(ENV)]." + +# --- Mobile App Development --- +FLAVOR := +ifeq ($(ENV),dev) + FLAVOR := dev +else ifeq ($(ENV),staging) + FLAVOR := staging +else ifeq ($(ENV),prod) + FLAVOR := production +endif + +BUILD_TYPE ?= appbundle + +mobile-client-install: + @echo "--> Installing Flutter dependencies for client app..." + @cd mobile-apps/client-app && $(FLUTTER) pub get + +mobile-client-dev: + @echo "--> Running client app in dev mode..." + @echo "--> If using VS code, use the debug configurations" + @cd mobile-apps/client-app && $(FLUTTER) run --flavor dev -t lib/main_dev.dart + +mobile-client-build: + @if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \ + echo "ERROR: ENV must be one of dev, staging, or prod."; exit 1; \ + fi + @if [ "$(PLATFORM)" != "android" ] && [ "$(PLATFORM)" != "ios" ]; then \ + echo "ERROR: PLATFORM must be either android or ios."; exit 1; \ + fi + @echo "--> Building client app for $(PLATFORM) with flavor $(FLAVOR)..." + @cd mobile-apps/client-app && \ + $(FLUTTER) pub get && \ + $(FLUTTER) pub run build_runner build --delete-conflicting-outputs && \ + if [ "$(PLATFORM)" = "android" ]; then \ + $(FLUTTER) build $(BUILD_TYPE) --flavor $(FLAVOR); \ + elif [ "$(PLATFORM)" = "ios" ]; then \ + $(FLUTTER) build ipa --flavor $(FLAVOR); \ + fi + + +mobile-staff-install: + @echo "--> Installing Flutter dependencies for staff app..." + @cd mobile-apps/staff-app && $(FLUTTER) pub get + +mobile-staff-dev: + @echo "--> Running staff app in dev mode..." + @echo "--> If using VS code, use the debug configurations" + @cd mobile-apps/staff-app && $(FLUTTER) run --flavor dev -t lib/main_dev.dart + +mobile-staff-build: + @if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \ + echo "ERROR: ENV must be one of dev, staging, or prod."; exit 1; \ + fi + @if [ "$(PLATFORM)" != "android" ] && [ "$(PLATFORM)" != "ios" ]; then \ + echo "ERROR: PLATFORM must be either android or ios."; exit 1; \ + fi + @echo "--> Building staff app for $(PLATFORM) with flavor $(FLAVOR)..." + @cd mobile-apps/staff-app && \ + $(FLUTTER) pub get && \ + $(FLUTTER) pub run build_runner build --delete-conflicting-outputs && \ + if [ "$(PLATFORM)" = "android" ]; then \ + $(FLUTTER) build $(BUILD_TYPE) --flavor $(FLAVOR); \ + elif [ "$(PLATFORM)" = "ios" ]; then \ + $(FLUTTER) build ipa --flavor $(FLAVOR); \ + fi \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..d5d64f50 --- /dev/null +++ b/build.gradle @@ -0,0 +1,141 @@ +plugins { + id "com.android.application" + // START: FlutterFire Configuration + id 'com.google.gms.google-services' + id 'com.google.firebase.crashlytics' + // END: FlutterFire Configuration + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" +} + +android { + namespace = "com.example.troywallet" + compileSdk = 36 + ndkVersion = "25.1.8937393" + //ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + coreLibraryDesugaringEnabled true + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.troywallet" + namespace("com.example.troywallet") + minSdk = 29 + targetSdk = 35 + versionCode = flutter.versionCode + versionName = flutter.versionName + multiDexEnabled true + + } + + // KeyStore ////////////////////////////////////////////////// + // - kast.keystore..alias android..pw=android..pw=android + def keystorePropertiesFileNameDev = 'kast_key_dev.properties' + def keystorePropertiesDev = new Properties() + keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev))) + + def keystorePropertiesFileNameUat = 'kast_key_uat.properties' + def keystorePropertiesUat = new Properties() + keystorePropertiesUat.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameUat))) + + def keystorePropertiesFileNameStaging = 'kast_key_staging.properties' + def keystorePropertiesStaging = new Properties() + keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging))) + + def keystorePropertiesFileNameProd = 'kast_key_prod.properties' + def keystorePropertiesProd = new Properties() + keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd))) + + + signingConfigs { + configDev { + keyAlias keystorePropertiesDev['keyAlias'] + keyPassword keystorePropertiesDev['keyPassword'] + storeFile file('../kast_android_dev.jks') //keystorePropertiesSit['storeFile'] + storePassword keystorePropertiesDev['storePassword'] + } + configUat { + keyAlias keystorePropertiesUat['keyAlias'] + keyPassword keystorePropertiesUat['keyPassword'] + storeFile file('../kast_android_uat.jks') //keystorePropertiesPat['storeFile'] + storePassword keystorePropertiesUat['storePassword'] + } + + configStaging { + keyAlias keystorePropertiesStaging['keyAlias'] + keyPassword keystorePropertiesStaging['keyPassword'] + storeFile file('../kast_android_staging.jks') //keystorePropertiesPat['storeFile'] + storePassword keystorePropertiesStaging['storePassword'] + } + configProd { + keyAlias keystorePropertiesProd['keyAlias'] + keyPassword keystorePropertiesProd['keyPassword'] + storeFile file('../kast_android_prod.jks') + storePassword keystorePropertiesProd['storePassword'] + } + } + + flavorDimensions "default" + productFlavors { + dev { + dimension "default" + applicationId "dev.kastcard.com" + resValue "string", "app_name", "KAST DEV" + resValue "string", "deeplink_prefix", "/dls" + resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_dev" + signingConfig signingConfigs.configDev + } + uat { + dimension "default" + applicationId "uat.kastcard.com" + resValue "string", "app_name", "KAST UAT" + resValue "string", "deeplink_prefix", "/dlp" + resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_uat" + signingConfig signingConfigs.configUat + } + staging { + dimension "default" + applicationId "stg.kastcard.com" + resValue "string", "app_name", "KAST Staging" + resValue "string", "deeplink_prefix", "/dlp" + resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_staging" + signingConfig signingConfigs.configStaging + } + prod { + dimension "default" + applicationId "com.kastfinance.app" + resValue "string", "app_name", "KAST" + resValue "string", "deeplink_prefix", "/dlp" + resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_prod" + signingConfig signingConfigs.configProd + } + + } + + buildTypes { + release { + shrinkResources false + minifyEnabled false + } + + } +} + +flutter { + source = "../.." +} + +dependencies { + implementation "com.sumsub.sns:idensic-mobile-sdk-videoident:1.33.1" + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2' + implementation(files("libs/mdisdk-release-1.2.54.aar")) +} diff --git a/codemagic-env-vars.md b/codemagic-env-vars.md new file mode 100644 index 00000000..3cca1a4b --- /dev/null +++ b/codemagic-env-vars.md @@ -0,0 +1,101 @@ +# Codemagic Environment Variables + +This document outlines the environment variables required for the Codemagic CI/CD pipelines defined in `codemagic.yaml`. These variables should be configured in your Codemagic project under **Environment variables**. + +## Client App (`client-app`) + +--- + +### Group: `client_app_dev_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `dev` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:DEV_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Dev). | +| `FIREBASE_APP_ID_IOS` | `1:DEV_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Dev). | +| `FIREBASE_TESTER_GROUPS` | `developers` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Dev). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Dev). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | + +### Group: `client_app_staging_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `staging` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:STAGING_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Staging). | +| `FIREBASE_APP_ID_IOS` | `1:STAGING_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Staging). | +| `FIREBASE_TESTER_GROUPS` | `qa-team, stakeholders` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Staging). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Staging). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | + +### Group: `client_app_prod_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `prod` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:PROD_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Prod). | +| `FIREBASE_APP_ID_IOS` | `1:PROD_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Prod). | +| `FIREBASE_TESTER_GROUPS` | `(empty or specific group)` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Prod). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Prod). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | + +## Staff App (`staff-app`) + +--- + +### Group: `staff_app_dev_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `dev` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:DEV_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Dev). | +| `FIREBASE_APP_ID_IOS` | `1:DEV_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Dev). | +| `FIREBASE_TESTER_GROUPS` | `developers` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Dev). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Dev). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | + +### Group: `staff_app_staging_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `staging` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:STAGING_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Staging). | +| `FIREBASE_APP_ID_IOS` | `1:STAGING_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Staging). | +| `FIREBASE_TESTER_GROUPS` | `qa-team, stakeholders` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Staging). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Staging). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | + +### Group: `staff_app_prod_credentials` + +| Variable Name | Example Value | Secure | Description | +| :--- | :--- | :--- | :--- | +| `FLAVOR` | `prod` | No | The Flutter flavor to use for the build. | +| `FIREBASE_APP_ID_ANDROID` | `1:PROD_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Prod). | +| `FIREBASE_APP_ID_IOS` | `1:PROD_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Prod). | +| `FIREBASE_TESTER_GROUPS` | `(empty or specific group)` | No | Comma-separated list of Firebase tester groups. | +| `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | +| `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Prod). | +| `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Prod). | +| `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | +| `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | +| `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | diff --git a/codemagic.yaml b/codemagic.yaml new file mode 100644 index 00000000..fcbce8cd --- /dev/null +++ b/codemagic.yaml @@ -0,0 +1,236 @@ +# Reusable script for building the Flutter app +client-app-android-apk-build-script: &client-app-android-apk-build-script + name: 👷🤖 Build Client App APK (Android) + script: | + make -C ../.. mobile-client-build ENV=$ENV PLATFORM=android BUILD_TYPE=apk + +client-app-ios-build-script: &client-app-ios-build-script + name: 👷🍎 Build Client App (iOS) + script: | + make -C ../.. mobile-client-build ENV=$ENV PLATFORM=ios + +staff-app-android-apk-build-script: &staff-app-android-apk-build-script + name: 👷🤖 Build Staff App APK (Android) + script: | + make -C ../.. mobile-staff-build ENV=$ENV PLATFORM=android BUILD_TYPE=apk + +staff-app-ios-build-script: &staff-app-ios-build-script + name: 👷🍎 Build Staff App (iOS) + script: | + make -C ../.. mobile-staff-build ENV=$ENV PLATFORM=ios + +# Reusable script for distributing Android to Firebase +distribute-android-script: &distribute-android-script + name: 🚛🤖 Distribute Android to Firebase App Distribution + script: | + # Distribute Android APK + firebase appdistribution:distribute "build/app/outputs/flutter-apk/app-${ENV}-release.apk" \ + --app $FIREBASE_APP_ID_ANDROID \ + --release-notes "Build $FCI_BUILD_NUMBER - Environment: $ENV" \ + --groups "$FIREBASE_TESTER_GROUPS" \ + --token $FIREBASE_TOKEN + +# Reusable script for distributing iOS to Firebase +distribute-ios-script: &distribute-ios-script + name: 🚛🍎 Distribute iOS to Firebase App Distribution + script: | + # Distribute iOS + firebase appdistribution:distribute "build/ios/ipa/app.ipa" \ + --app $FIREBASE_APP_ID_IOS \ + --release-notes "Build $FCI_BUILD_NUMBER - Environment: $ENV" \ + --groups "$FIREBASE_TESTER_GROUPS" \ + --token $FIREBASE_TOKEN + +workflows: + # ================================================================================= + # Base workflow for client_app + # ================================================================================= + client-app-base: &client-app-base + name: Client App Base + working_directory: mobile-apps/client-app + instance_type: mac_mini_m2 + max_build_duration: 60 + environment: + flutter: stable + xcode: latest + cocoapods: default + cache: + cache_paths: + - $HOME/.pub-cache + - $FCI_BUILD_DIR/mobile-apps/client-app/build + - $FCI_BUILD_DIR/mobile-apps/client-app/.dart_tool + + # ================================================================================= + # Base workflow for staff_app + # ================================================================================= + staff-app-base: &staff-app-base + name: Staff App Base + working_directory: mobile-apps/staff-app + instance_type: mac_mini_m2 + max_build_duration: 60 + environment: + flutter: stable + xcode: latest + cocoapods: default + cache: + cache_paths: + - $HOME/.pub-cache + - $FCI_BUILD_DIR/mobile-apps/staff-app/build + - $FCI_BUILD_DIR/mobile-apps/staff-app/.dart_tool + + # ================================================================================= + # Client App Workflows - Android + # ================================================================================= + client-app-dev-android: + <<: *client-app-base + name: 🚛🤖 Client App Dev (Android App Distribution) + environment: + groups: + - client_app_dev_credentials + vars: + ENV: dev + scripts: + - *client-app-android-apk-build-script + - *distribute-android-script + + client-app-staging-android: + <<: *client-app-base + name: 🚛🤖 Client App Staging (Android App Distribution) + environment: + groups: + - client_app_staging_credentials + vars: + ENV: staging + scripts: + - *client-app-android-apk-build-script + - *distribute-android-script + + client-app-prod-android: + <<: *client-app-base + name: 🚛🤖 Client App Prod (Android App Distribution) + environment: + groups: + - client_app_prod_credentials + vars: + ENV: prod + scripts: + - *client-app-android-apk-build-script + - *distribute-android-script + + # ================================================================================= + # Client App Workflows - iOS + # ================================================================================= + client-app-dev-ios: + <<: *client-app-base + name: 🚛🍎 Client App Dev (iOS App Distribution) + environment: + groups: + - client_app_dev_credentials + vars: + ENV: dev + scripts: + - *client-app-ios-build-script + - *distribute-ios-script + + client-app-staging-ios: + <<: *client-app-base + name: 🚛🍎 Client App Staging (iOS App Distribution) + environment: + groups: + - client_app_staging_credentials + vars: + ENV: staging + scripts: + - *client-app-ios-build-script + - *distribute-ios-script + + client-app-prod-ios: + <<: *client-app-base + name: 🚛🍎 Client App Prod (iOS App Distribution) + environment: + groups: + - client_app_prod_credentials + vars: + ENV: prod + scripts: + - *client-app-ios-build-script + - *distribute-ios-script + + # ================================================================================= + # Staff App Workflows - Android + # ================================================================================= + staff-app-dev-android: + <<: *staff-app-base + name: 🚛🤖👨‍🍳 Staff App Dev (Android App Distribution) + environment: + groups: + - staff_app_dev_credentials + vars: + ENV: dev + scripts: + - *staff-app-android-apk-build-script + - *distribute-android-script + + staff-app-staging-android: + <<: *staff-app-base + name: 🚛🤖👨‍🍳 Staff App Staging (Android App Distribution) + environment: + groups: + - staff_app_staging_credentials + vars: + ENV: staging + scripts: + - *staff-app-android-apk-build-script + - *distribute-android-script + + staff-app-prod-android: + <<: *staff-app-base + name: 🚛🤖👨‍🍳 Staff App Prod (Android App Distribution) + environment: + groups: + - staff_app_prod_credentials + vars: + ENV: prod + scripts: + - *staff-app-android-apk-build-script + - *distribute-android-script + + # ================================================================================= + # Staff App Workflows - iOS + # ================================================================================= + staff-app-dev-ios: + <<: *staff-app-base + name: 🚛🍎👨‍🍳 Staff App Dev (iOS App Distribution) + environment: + groups: + - staff_app_dev_credentials + vars: + ENV: dev + scripts: + - *staff-app-ios-build-script + - *distribute-ios-script + + staff-app-staging-ios: + <<: *staff-app-base + name: 🚛🍎👨‍🍳 Staff App Staging (iOS App Distribution) + environment: + groups: + - staff_app_staging_credentials + vars: + ENV: staging + scripts: + - *staff-app-ios-build-script + - *distribute-ios-script + + staff-app-prod-ios: + <<: *staff-app-base + name: 🚛🍎👨‍🍳 Staff App Prod (iOS App Distribution) + environment: + groups: + - staff_app_prod_credentials + vars: + ENV: prod + scripts: + - *staff-app-ios-build-script + - *distribute-ios-script + \ No newline at end of file diff --git a/docs/prompts/create-codemagic-monorepo.md b/docs/prompts/create-codemagic-monorepo.md new file mode 100644 index 00000000..6613983c --- /dev/null +++ b/docs/prompts/create-codemagic-monorepo.md @@ -0,0 +1,34 @@ +Looking at the monorepo containing two separate Flutter applications in +- mobile-apps/client-app +- mobile-apps/staff-app +, and I want to configure Codemagic so both apps can be built and distributed to Firebase App Distribution. + +Please do the following: +1. propose the best layout for Codemagic workflows. +2. Create three separate pipelines for each application: + * Development (dev) + * Staging (stage) + * Production (prod) +3. Each pipeline must: + * Build the correct Flutter app inside the monorepo. + * Use the correct Firebase App Distribution credentials for each environment. + * Push the built artifacts (Android + iOS if applicable) to the appropriate Firebase App Distribution app. + * Include environment-specific values (e.g., env variables, bundle IDs, keystore/certs, build flavors). + * Allow triggering pipelines manually. +4. Generate a complete codemagic.yaml example with: + * Separate workflows for: + * `client_app_dev`, `client_app_staging`, `client_app_prod` + * `client_app_dev`, `client_app_staging`, `client_app_prod` + * All required steps (install Flutter/Java/Xcode, pub get, build runner if needed, building APK/AAB/IPA, uploading to Firebase App Distribution, etc.). + * Example Firebase App IDs, release notes, tester groups, service accounts. + * Proper use of Codemagic encrypted variables. + * Best practices for monorepo path handling. +5. Add a short explanation of: + * How each pipeline works + * How to trigger builds + * How to update environment variables for Firebase +6. Output the final result as: + * A complete `codemagic.yaml` + * A brief guide on integrating it with a monorepo + * Notes on debugging, caching, and CI/CD optimization + \ No newline at end of file diff --git a/mobile-apps/client-app/.env b/mobile-apps/client-app/.env new file mode 100644 index 00000000..13910467 --- /dev/null +++ b/mobile-apps/client-app/.env @@ -0,0 +1,4 @@ +BASE_URL='https://staging.app.krow.develop.express/graphql' +GOOGLE_MAP='AIzaSyDkUk8zB_rzGkQ8fbNACifyvBpSmbkBLXc' +ANDROID_STORE_URL='https://play.google.com/store/apps/details?id=com.krow.app.staff' +IOS_STORE_URL='https://apps.apple.com/us/app/krow-staff/id6742150267' diff --git a/mobile-apps/client-app/.env_dev b/mobile-apps/client-app/.env_dev new file mode 100644 index 00000000..13910467 --- /dev/null +++ b/mobile-apps/client-app/.env_dev @@ -0,0 +1,4 @@ +BASE_URL='https://staging.app.krow.develop.express/graphql' +GOOGLE_MAP='AIzaSyDkUk8zB_rzGkQ8fbNACifyvBpSmbkBLXc' +ANDROID_STORE_URL='https://play.google.com/store/apps/details?id=com.krow.app.staff' +IOS_STORE_URL='https://apps.apple.com/us/app/krow-staff/id6742150267' diff --git a/mobile-apps/client-app/.gitignore b/mobile-apps/client-app/.gitignore new file mode 100644 index 00000000..148c6059 --- /dev/null +++ b/mobile-apps/client-app/.gitignore @@ -0,0 +1,58 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +lib/injectable.config.dart +**/*.gr.dart +**/*.g.dart +**/*.gen.dart + +.env +.env_dev + +**/*.freezed.dart +**/*injectable.config.dart +/ios/Runner.app.dSYM.zip +/ios/Runner.ipa diff --git a/mobile-apps/client-app/.metadata b/mobile-apps/client-app/.metadata new file mode 100644 index 00000000..3e091192 --- /dev/null +++ b/mobile-apps/client-app/.metadata @@ -0,0 +1,33 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "603104015dd692ea3403755b55d07813d5cf8965" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + - platform: android + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + - platform: ios + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/mobile-apps/client-app/README.md b/mobile-apps/client-app/README.md new file mode 100644 index 00000000..5e6f022f --- /dev/null +++ b/mobile-apps/client-app/README.md @@ -0,0 +1,73 @@ +# Instructions and Console Commands for Building and Running the App + +## 📌 Environment Setup +The project uses `.env` files to manage environment configurations. Available files: + +- `.env` – for the production environment +- `.env_dev` – for the development environment + +Before running or building the app, ensure that the appropriate `.env` file is correctly configured. + +--- + +## 🔧 Code Generation +Before running the app or creating a build, generate the required code: + +```sh +flutter pub get +dart run build_runner build --delete-conflicting-outputs +``` + +To enable automatic code generation on file changes, use: + +```sh +dart run build_runner watch --delete-conflicting-outputs +``` + +--- + +## 🚀 Running the App + +### ▶️ Running in Visual Studio Code +Open the project in VS Code and use the `launch.json` configuration, or run the following command: + +```sh +flutter run --flavor dev -t lib/main_dev.dart +``` + +For the production environment: + +```sh +flutter run --flavor prod +``` + +### ▶️ Running in Android Studio +1. Open the project in **Android Studio**. +2. Go to **Edit Configurations**. +3. Add a new run configuration. +4. Set `Environment Variable: ENV=.env_dev` for dev or `ENV=.env` for prod. +5. Run the app via the IDE or using the terminal: + +```sh +flutter run --flavor dev -t lib/main_dev.dart +``` + +--- + +## 📦 Building the App + +### 📲 Building an App Bundle for Release + +```sh +flutter build appbundle --flavor prod --target-platform android-arm,android-arm64,android-x64 +``` + +### 📲 Building an APK for Testing + +```sh +flutter build apk --flavor dev -t lib/main_dev.dart +``` + +These commands ensure the app is correctly set up and built according to the selected environment. + +--- diff --git a/mobile-apps/client-app/analysis_options.yaml b/mobile-apps/client-app/analysis_options.yaml new file mode 100644 index 00000000..d53e3565 --- /dev/null +++ b/mobile-apps/client-app/analysis_options.yaml @@ -0,0 +1,6 @@ +include: package:flutter_lints/flutter.yaml + +linter: + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + prefer_single_quotes: true diff --git a/mobile-apps/client-app/android/.gitignore b/mobile-apps/client-app/android/.gitignore new file mode 100644 index 00000000..93aa6430 --- /dev/null +++ b/mobile-apps/client-app/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks +/fastlane/ diff --git a/mobile-apps/client-app/android/Gemfile b/mobile-apps/client-app/android/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/mobile-apps/client-app/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/mobile-apps/client-app/android/Gemfile.lock b/mobile-apps/client-app/android/Gemfile.lock new file mode 100644 index 00000000..c14ecac6 --- /dev/null +++ b/mobile-apps/client-app/android/Gemfile.lock @@ -0,0 +1,227 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.2) + aws-partitions (1.1081.0) + aws-sdk-core (3.222.1) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.183.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.227.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.10.2) + jwt (2.10.1) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.1) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.1) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-24 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.6.3 diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cache-v2-074a21c21593664da65b.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cache-v2-074a21c21593664da65b.json new file mode 100644 index 00000000..cefc0553 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cache-v2-074a21c21593664da65b.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "arm64-v8a" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "arm64-v8a" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-16323062e3c1f4c147a8.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-16323062e3c1f4c147a8.json new file mode 100644 index 00000000..64d5f780 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-16323062e3c1f4c147a8.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-b6a3e17fe25cb5d72b0a.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-b6a3e17fe25cb5d72b0a.json new file mode 100644 index 00000000..29d10776 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-b6a3e17fe25cb5d72b0a.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0508.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0508.json new file mode 100644 index 00000000..18a078ce --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0508.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-b6a3e17fe25cb5d72b0a.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-074a21c21593664da65b.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-16323062e3c1f4c147a8.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-074a21c21593664da65b.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-16323062e3c1f4c147a8.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-b6a3e17fe25cb5d72b0a.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeCache.txt new file mode 100644 index 00000000..f5741945 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=arm64-v8a + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=arm64-v8a + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..3ddc1068 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/aarch64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..bb69b860 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/aarch64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..220eb2eb Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..b5c4530e Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..2facd017 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..0065b4f3 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..5c498063 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..c981c173 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/rules.ninja new file mode 100644 index 00000000..79099344 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build.json new file mode 100644 index 00000000..3b20d8f2 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build_mini.json new file mode 100644 index 00000000..60f11376 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build.ninja new file mode 100644 index 00000000..ff5e140e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/cmake_install.cmake new file mode 100644 index 00000000..9c67e26a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/configure_fingerprint.bin new file mode 100644 index 00000000..cfc37860 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log} +{ +y/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  ֟2z +x +v/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build.json  2 ן2 +} +{/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/android_gradle_build_mini.json  2 ؟2l +j +h/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build.ninja  2 ǟ2p +n +l/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build.ninja.txt  2u +s +q/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/build_file_index.txt  2 ` ۟2v +t +r/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/compile_commands.json  2z +x +v/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/compile_commands.json.bin  2  +~ +|/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/metadata_generation_command.txt  2 + ۟2s +q +o/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/prefab_config.json  2  ( ۟2x +v +t/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/symbol_folder_index.txt  2  k ۟2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/metadata_generation_command.txt new file mode 100644 index 00000000..4a377af6 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=arm64-v8a +-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a +-DCMAKE_BUILD_TYPE=Debug +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/symbol_folder_index.txt new file mode 100644 index 00000000..b3ed3197 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/arm64-v8a/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/arm64-v8a \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cache-v2-c06e5b656605cbc239c3.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cache-v2-c06e5b656605cbc239c3.json new file mode 100644 index 00000000..6f305aec --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cache-v2-c06e5b656605cbc239c3.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "armeabi-v7a" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "armeabi-v7a" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5cb39d8380489d6d3e38.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5cb39d8380489d6d3e38.json new file mode 100644 index 00000000..ef6b46f8 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5cb39d8380489d6d3e38.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-199d3ad52503da923dec.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-199d3ad52503da923dec.json new file mode 100644 index 00000000..c31d7bc7 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-199d3ad52503da923dec.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0797.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0797.json new file mode 100644 index 00000000..ee5d3091 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-29-06-0797.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-199d3ad52503da923dec.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-c06e5b656605cbc239c3.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-5cb39d8380489d6d3e38.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-c06e5b656605cbc239c3.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-5cb39d8380489d6d3e38.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-199d3ad52503da923dec.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeCache.txt new file mode 100644 index 00000000..9eb51f84 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=armeabi-v7a + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=armeabi-v7a + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..15aa892a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/arm;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..91aab300 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/arm;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..9e8c90d1 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..02206af8 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..44a6d250 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "armv7-a") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..68a315fd Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..6f18526f Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..7cd14a31 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/rules.ninja new file mode 100644 index 00000000..05c89c4e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build.json new file mode 100644 index 00000000..43e5540f --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build_mini.json new file mode 100644 index 00000000..0b56d499 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build.ninja new file mode 100644 index 00000000..91474127 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/cmake_install.cmake new file mode 100644 index 00000000..48b446e0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/configure_fingerprint.bin new file mode 100644 index 00000000..317b1d7a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log +} +{/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2| +z +x/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build.json  2 2 + +}/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/android_gradle_build_mini.json  2 2n +l +j/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build.ninja  2 2r +p +n/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build.ninja.txt  2w +u +s/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/build_file_index.txt  2 ` 2x +v +t/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/compile_commands.json  2| +z +x/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/compile_commands.json.bin  2  + +~/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/metadata_generation_command.txt  2 + 2u +s +q/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/prefab_config.json  2  ( 2z +x +v/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/symbol_folder_index.txt  2  m 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/metadata_generation_command.txt new file mode 100644 index 00000000..882f4f90 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=armeabi-v7a +-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a +-DCMAKE_BUILD_TYPE=Debug +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/symbol_folder_index.txt new file mode 100644 index 00000000..2dd17ddc --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/armeabi-v7a/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/armeabi-v7a \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/hash_key.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/hash_key.txt new file mode 100644 index 00000000..84463282 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/hash_key.txt @@ -0,0 +1,27 @@ +# Values used to calculate the hash in this folder name. +# Should not depend on the absolute path of the project itself. +# - AGP: 8.5.0. +# - $NDK is the path to NDK 26.3.11579264. +# - $PROJECT is the path to the parent folder of the root Gradle build file. +# - $ABI is the ABI to be built with. The specific value doesn't contribute to the value of the hash. +# - $HASH is the hash value computed from this text. +# - $CMAKE is the path to CMake 3.22.1. +# - $NINJA is the path to Ninja. +-H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=$ABI +-DCMAKE_ANDROID_ARCH_ABI=$ABI +-DANDROID_NDK=$NDK +-DCMAKE_ANDROID_NDK=$NDK +-DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=$NINJA +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/$HASH/obj/$ABI +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/$HASH/obj/$ABI +-DCMAKE_BUILD_TYPE=Debug +-B$PROJECT/app/.cxx/Debug/$HASH/$ABI +-GNinja +-Wno-dev +--no-warn-unused-cli \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cache-v2-9846949246e76d3e44c4.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cache-v2-9846949246e76d3e44c4.json new file mode 100644 index 00000000..9aff7623 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cache-v2-9846949246e76d3e44c4.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cmakeFiles-v1-2e48796a516e44b736c9.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cmakeFiles-v1-2e48796a516e44b736c9.json new file mode 100644 index 00000000..b863c923 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/cmakeFiles-v1-2e48796a516e44b736c9.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/codemodel-v2-749beaaf21f06f37cc84.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/codemodel-v2-749beaaf21f06f37cc84.json new file mode 100644 index 00000000..03cf9f10 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/codemodel-v2-749beaaf21f06f37cc84.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0071.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0071.json new file mode 100644 index 00000000..d8c08523 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0071.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-749beaaf21f06f37cc84.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-9846949246e76d3e44c4.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-2e48796a516e44b736c9.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-9846949246e76d3e44c4.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-2e48796a516e44b736c9.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-749beaaf21f06f37cc84.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeCache.txt new file mode 100644 index 00000000..6c3dea25 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=x86 + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=x86 + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86 + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86 + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..1f410c2d --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/i386;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..d7cd06ca --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/i386;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..42386f95 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..fa72571f Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..d3de84df --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "i686") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..e9614a80 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..6bd25074 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..c92db856 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/rules.ninja new file mode 100644 index 00000000..28b212dc --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build.json new file mode 100644 index 00000000..179f5322 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build_mini.json new file mode 100644 index 00000000..7f53f014 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build.ninja new file mode 100644 index 00000000..900e49e8 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/cmake_install.cmake new file mode 100644 index 00000000..6bc37cdc --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/configure_fingerprint.bin new file mode 100644 index 00000000..d8d7ef66 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Logw +u +s/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2t +r +p/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build.json  2 2y +w +u/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/android_gradle_build_mini.json  2 2f +d +b/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/build.ninja  2 2j +h +f/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/build.ninja.txt  2o +m +k/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/build_file_index.txt  2 ` 2p +n +l/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/compile_commands.json  2t +r +p/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/compile_commands.json.bin  2 z +x +v/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/metadata_generation_command.txt  2 + 2m +k +i/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/prefab_config.json  2  ( 2r +p +n/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86/symbol_folder_index.txt  2  e 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/metadata_generation_command.txt new file mode 100644 index 00000000..faa19aec --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=x86 +-DCMAKE_ANDROID_ARCH_ABI=x86 +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86 +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86 +-DCMAKE_BUILD_TYPE=Debug +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86 +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/symbol_folder_index.txt new file mode 100644 index 00000000..d59e8688 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cache-v2-f30991943bdd943b3341.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cache-v2-f30991943bdd943b3341.json new file mode 100644 index 00000000..0467647e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cache-v2-f30991943bdd943b3341.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86_64" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86_64" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-d3c1f4c27648317149ac.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-d3c1f4c27648317149ac.json new file mode 100644 index 00000000..5d49c4c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-d3c1f4c27648317149ac.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/codemodel-v2-16dee14b7ed30f11f6fe.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/codemodel-v2-16dee14b7ed30f11f6fe.json new file mode 100644 index 00000000..137db0b0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/codemodel-v2-16dee14b7ed30f11f6fe.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0339.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0339.json new file mode 100644 index 00000000..ca56ac35 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-29-07-0339.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-16dee14b7ed30f11f6fe.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-f30991943bdd943b3341.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-d3c1f4c27648317149ac.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-f30991943bdd943b3341.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-d3c1f4c27648317149ac.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-16dee14b7ed30f11f6fe.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeCache.txt new file mode 100644 index 00000000..602c614a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=x86_64 + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=x86_64 + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64 + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64 + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..d6e32400 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/x86_64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..1edb0d41 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/x86_64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..f6cad903 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..8d42ff54 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..78fd514b --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..f99f4d48 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..d41c9e2c Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..d03b70fa --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/rules.ninja new file mode 100644 index 00000000..ecc174b4 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build.json new file mode 100644 index 00000000..20b0c240 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build_mini.json new file mode 100644 index 00000000..d93e183a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build.ninja b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build.ninja new file mode 100644 index 00000000..91a9dade --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/cmake_install.cmake new file mode 100644 index 00000000..9181fe3e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/configure_fingerprint.bin new file mode 100644 index 00000000..fada4016 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Logz +x +v/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ğ2  2w +u +s/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build.json  Ğ2 2| +z +x/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/android_gradle_build_mini.json  Ğ2 2i +g +e/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/build.ninja  Ğ2 2m +k +i/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/build.ninja.txt  Ğ2r +p +n/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/build_file_index.txt  Ğ2 ` 2s +q +o/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/compile_commands.json  Ğ2w +u +s/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/compile_commands.json.bin  Ğ2 } +{ +y/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/metadata_generation_command.txt  Ğ2 + 2p +n +l/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/prefab_config.json  Ğ2  ( 2u +s +q/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64/symbol_folder_index.txt  Ğ2  h 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ğ2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/metadata_generation_command.txt new file mode 100644 index 00000000..4e37ebc9 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=x86_64 +-DCMAKE_ANDROID_ARCH_ABI=x86_64 +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64 +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64 +-DCMAKE_BUILD_TYPE=Debug +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/Debug/2p665a6s/x86_64 +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/symbol_folder_index.txt new file mode 100644 index 00000000..19782daa --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/Debug/2p665a6s/x86_64/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/Debug/2p665a6s/obj/x86_64 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cache-v2-88a46c8147c39b6844f5.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cache-v2-88a46c8147c39b6844f5.json new file mode 100644 index 00000000..23f13b43 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cache-v2-88a46c8147c39b6844f5.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "arm64-v8a" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "arm64-v8a" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-8939b926646f68b69037.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-8939b926646f68b69037.json new file mode 100644 index 00000000..620ba717 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-8939b926646f68b69037.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-a65aa31484faee24f263.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-a65aa31484faee24f263.json new file mode 100644 index 00000000..78838f69 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-a65aa31484faee24f263.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-RelWithDebInfo-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0027.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0027.json new file mode 100644 index 00000000..6616d594 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0027.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-a65aa31484faee24f263.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-88a46c8147c39b6844f5.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-8939b926646f68b69037.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-88a46c8147c39b6844f5.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-8939b926646f68b69037.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-a65aa31484faee24f263.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeCache.txt new file mode 100644 index 00000000..ed1a1877 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=arm64-v8a + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=arm64-v8a + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..3ddc1068 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/aarch64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..bb69b860 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/aarch64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..762e6354 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..92bb2bab Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..2facd017 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..104af7ad Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..ffa86d84 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..5bf2765c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/rules.ninja new file mode 100644 index 00000000..833386e2 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build.json new file mode 100644 index 00000000..f7c54ac7 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build_mini.json new file mode 100644 index 00000000..eba2463c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build.ninja new file mode 100644 index 00000000..fc63e607 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/cmake_install.cmake new file mode 100644 index 00000000..e1dbd38b --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/configure_fingerprint.bin new file mode 100644 index 00000000..75bcec6b --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build.json  2 2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/android_gradle_build_mini.json  2 2u +s +q/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build.ninja  2 2y +w +u/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build.ninja.txt  2~ +| +z/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/build_file_index.txt  2 ` 2 +} +{/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/compile_commands.json  2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/compile_commands.json.bin  2  + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/metadata_generation_command.txt  2 + 2| +z +x/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/prefab_config.json  2  ( 2 + +}/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/symbol_folder_index.txt  2  t 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/metadata_generation_command.txt new file mode 100644 index 00000000..25d20b0f --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=arm64-v8a +-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a +-DCMAKE_BUILD_TYPE=RelWithDebInfo +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/symbol_folder_index.txt new file mode 100644 index 00000000..1e9f4a92 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/arm64-v8a/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/arm64-v8a \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cache-v2-b36dc24ea6d52e3632e0.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cache-v2-b36dc24ea6d52e3632e0.json new file mode 100644 index 00000000..e1a1c0b8 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cache-v2-b36dc24ea6d52e3632e0.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "armeabi-v7a" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "armeabi-v7a" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5e9860c1f8ee43167269.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5e9860c1f8ee43167269.json new file mode 100644 index 00000000..cc531d43 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-5e9860c1f8ee43167269.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-86333f05801e5fbf6ada.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-86333f05801e5fbf6ada.json new file mode 100644 index 00000000..0cce36af --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-86333f05801e5fbf6ada.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-RelWithDebInfo-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0297.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0297.json new file mode 100644 index 00000000..3ab15503 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0297.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-86333f05801e5fbf6ada.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-b36dc24ea6d52e3632e0.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-5e9860c1f8ee43167269.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-b36dc24ea6d52e3632e0.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-5e9860c1f8ee43167269.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-86333f05801e5fbf6ada.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeCache.txt new file mode 100644 index 00000000..8777b473 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=armeabi-v7a + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=armeabi-v7a + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..15aa892a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/arm;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..91aab300 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/arm;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/arm-linux-androideabi;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..36e27a95 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..3f3b9abc Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..44a6d250 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "armv7-a") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..fdeb65c0 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..09589b0a Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..8fa7ad5a --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/rules.ninja new file mode 100644 index 00000000..cff43719 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build.json new file mode 100644 index 00000000..89710e4d --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build_mini.json new file mode 100644 index 00000000..4051538e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build.ninja new file mode 100644 index 00000000..bb862541 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/cmake_install.cmake new file mode 100644 index 00000000..8a42ce97 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/configure_fingerprint.bin new file mode 100644 index 00000000..289c4baa --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build.json  2 2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/android_gradle_build_mini.json  2 2w +u +s/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build.ninja  2 2{ +y +w/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build.ninja.txt  2 +~ +|/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/build_file_index.txt  2 ` 2 + +}/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/compile_commands.json  2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/compile_commands.json.bin  2  + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/metadata_generation_command.txt  2 + 2~ +| +z/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/prefab_config.json  2  ( 2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/symbol_folder_index.txt  2  v 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/metadata_generation_command.txt new file mode 100644 index 00000000..321d732f --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=armeabi-v7a +-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a +-DCMAKE_BUILD_TYPE=RelWithDebInfo +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/symbol_folder_index.txt new file mode 100644 index 00000000..a08d8a77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/armeabi-v7a/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/armeabi-v7a \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/hash_key.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/hash_key.txt new file mode 100644 index 00000000..2c6788fc --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/hash_key.txt @@ -0,0 +1,27 @@ +# Values used to calculate the hash in this folder name. +# Should not depend on the absolute path of the project itself. +# - AGP: 8.5.0. +# - $NDK is the path to NDK 26.3.11579264. +# - $PROJECT is the path to the parent folder of the root Gradle build file. +# - $ABI is the ABI to be built with. The specific value doesn't contribute to the value of the hash. +# - $HASH is the hash value computed from this text. +# - $CMAKE is the path to CMake 3.22.1. +# - $NINJA is the path to Ninja. +-H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=$ABI +-DCMAKE_ANDROID_ARCH_ABI=$ABI +-DANDROID_NDK=$NDK +-DCMAKE_ANDROID_NDK=$NDK +-DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=$NINJA +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/$HASH/obj/$ABI +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/$HASH/obj/$ABI +-DCMAKE_BUILD_TYPE=RelWithDebInfo +-B$PROJECT/app/.cxx/RelWithDebInfo/$HASH/$ABI +-GNinja +-Wno-dev +--no-warn-unused-cli \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cache-v2-a4a10c55c16c78357287.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cache-v2-a4a10c55c16c78357287.json new file mode 100644 index 00000000..cc5f0d90 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cache-v2-a4a10c55c16c78357287.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cmakeFiles-v1-03b9806252e880eaedb3.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cmakeFiles-v1-03b9806252e880eaedb3.json new file mode 100644 index 00000000..2cb9fceb --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/cmakeFiles-v1-03b9806252e880eaedb3.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/codemodel-v2-f55b701c0334a946d74b.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/codemodel-v2-f55b701c0334a946d74b.json new file mode 100644 index 00000000..d890fec5 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/codemodel-v2-f55b701c0334a946d74b.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-RelWithDebInfo-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0567.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0567.json new file mode 100644 index 00000000..afa5a15b --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0567.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-f55b701c0334a946d74b.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-a4a10c55c16c78357287.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-03b9806252e880eaedb3.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-a4a10c55c16c78357287.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-03b9806252e880eaedb3.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-f55b701c0334a946d74b.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeCache.txt new file mode 100644 index 00000000..651455bc --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=x86 + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=x86 + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86 + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86 + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..1f410c2d --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/i386;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..d7cd06ca --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/i386;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/i686-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..46f78cb1 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..4d0414a1 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..d3de84df --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "i686") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..0a9553b4 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..477fa279 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..0055d1c7 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/rules.ninja new file mode 100644 index 00000000..6f387d8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build.json new file mode 100644 index 00000000..82a5b18e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build_mini.json new file mode 100644 index 00000000..71949fe1 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build.ninja new file mode 100644 index 00000000..c9ab48ba --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/cmake_install.cmake new file mode 100644 index 00000000..2f01a2b3 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/configure_fingerprint.bin new file mode 100644 index 00000000..9fad3e32 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log +~ +|/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2} +{ +y/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build.json  2 2 + +~/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/android_gradle_build_mini.json  2 2o +m +k/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build.ninja  2 2s +q +o/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build.ninja.txt  2x +v +t/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/build_file_index.txt  2 ` 2y +w +u/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/compile_commands.json  2} +{ +y/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/compile_commands.json.bin  2  + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/metadata_generation_command.txt  2 + 2v +t +r/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/prefab_config.json  2  ( 2{ +y +w/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/symbol_folder_index.txt  2  n 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/metadata_generation_command.txt new file mode 100644 index 00000000..b910c09e --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=x86 +-DCMAKE_ANDROID_ARCH_ABI=x86 +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86 +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86 +-DCMAKE_BUILD_TYPE=RelWithDebInfo +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86 +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/symbol_folder_index.txt new file mode 100644 index 00000000..62ba8895 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/cache-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cache-v2-16d884a6bfa5eefe13ff.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cache-v2-16d884a6bfa5eefe13ff.json new file mode 100644 index 00000000..f683a6bb --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cache-v2-16d884a6bfa5eefe13ff.json @@ -0,0 +1,1391 @@ +{ + "entries" : + [ + { + "name" : "ANDROID_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86_64" + }, + { + "name" : "ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "ANDROID_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "android-24" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_ANDROID_ARCH_ABI", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "x86_64" + }, + { + "name" : "CMAKE_ANDROID_NDK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_ASM_FLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_ASM_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "22" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C++ applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during debug builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the compiler during release builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_STANDARD_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Libraries linked by default with all C applications." + } + ], + "type" : "STRING", + "value" : "-latomic -lm" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake" + }, + { + "name" : "CMAKE_ERROR_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue deprecation errors for macros and functions." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "ON" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "CMAKE_LIBRARY_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Project" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Ranlib" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + { + "name" : "CMAKE_RUNTIME_OUTPUT_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of dll's." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Strip" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_ERRORS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress errors that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SUPPRESS_DEVELOPER_WARNINGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Suppress Warnings that are meant for the author of the CMakeLists.txt files." + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_SYSTEM_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "Android" + }, + { + "name" : "CMAKE_SYSTEM_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "24" + }, + { + "name" : "CMAKE_TOOLCHAIN_FILE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The CMake toolchain file" + } + ], + "type" : "FILEPATH", + "value" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CMAKE_WARN_DEPRECATED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Whether to issue warnings for deprecated functionality." + } + ], + "type" : "INTERNAL", + "value" : "FALSE" + }, + { + "name" : "Project_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64" + }, + { + "name" : "Project_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Project_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-5b0be6c7d8fba5aa060a.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-5b0be6c7d8fba5aa060a.json new file mode 100644 index 00000000..7c219fb3 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-5b0be6c7d8fba5aa060a.json @@ -0,0 +1,799 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake" + }, + { + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/codemodel-v2-7da1db40de69febb1e5d.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/codemodel-v2-7da1db40de69febb1e5d.json new file mode 100644 index 00000000..d53698b9 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/codemodel-v2-7da1db40de69febb1e5d.json @@ -0,0 +1,43 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "jsonFile" : "directory-.-RelWithDebInfo-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.6.0" + }, + "projectIndex" : 0, + "source" : "." + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "directoryIndexes" : + [ + 0 + ], + "name" : "Project" + } + ], + "targets" : [] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "source" : "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy" + }, + "version" : + { + "major" : 2, + "minor" : 3 + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0832.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0832.json new file mode 100644 index 00000000..098ac309 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/.cmake/api/v1/reply/index-2025-05-20T15-43-40-0832.json @@ -0,0 +1,92 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake", + "cpack" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack", + "ctest" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest", + "root" : "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 22, + "patch" : 1, + "string" : "3.22.1-g37088a8", + "suffix" : "g37088a8" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-7da1db40de69febb1e5d.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + }, + { + "jsonFile" : "cache-v2-16d884a6bfa5eefe13ff.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-5b0be6c7d8fba5aa060a.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-agp" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-16d884a6bfa5eefe13ff.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-5b0be6c7d8fba5aa060a.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-7da1db40de69febb1e5d.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 3 + } + } + } + } +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeCache.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeCache.txt new file mode 100644 index 00000000..a0c05fac --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeCache.txt @@ -0,0 +1,405 @@ +# This is the CMakeCache file. +# For build in directory: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 +# It was generated by CMake: /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ANDROID_ABI:UNINITIALIZED=x86_64 + +//No help, variable specified on the command line. +ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//No help, variable specified on the command line. +ANDROID_PLATFORM:UNINITIALIZED=android-24 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line + +//No help, variable specified on the command line. +CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=x86_64 + +//No help, variable specified on the command line. +CMAKE_ANDROID_NDK:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 + +//Archiver +CMAKE_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Flags used by the compiler during all build types. +CMAKE_ASM_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_ASM_FLAGS_DEBUG:STRING= + +//Flags used by the compiler during release builds. +CMAKE_ASM_FLAGS_RELEASE:STRING= + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING= + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING= + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C++ applications. +CMAKE_CXX_STANDARD_LIBRARIES:STRING=-latomic -lm + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING= + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_C_FLAGS_RELEASE:STRING= + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Libraries linked by default with all C applications. +CMAKE_C_STANDARD_LIBRARIES:STRING=-latomic -lm + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:UNINITIALIZED=ON + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//No help, variable specified on the command line. +CMAKE_LIBRARY_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64 + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Project + +//Ranlib +CMAKE_RANLIB:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-readelf + +//No help, variable specified on the command line. +CMAKE_RUNTIME_OUTPUT_DIRECTORY:UNINITIALIZED=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64 + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Strip +CMAKE_STRIP:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-strip + +//No help, variable specified on the command line. +CMAKE_SYSTEM_NAME:UNINITIALIZED=Android + +//No help, variable specified on the command line. +CMAKE_SYSTEM_VERSION:UNINITIALIZED=24 + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Project_BINARY_DIR:STATIC=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 + +//Value Computed by CMake +Project_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Project_SOURCE_DIR:STATIC=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES +CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES +CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake +//Whether to issue deprecation errors for macros and functions. +CMAKE_ERROR_DEPRECATED:INTERNAL=FALSE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//Suppress errors that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_ERRORS:INTERNAL=TRUE +//Suppress Warnings that are meant for the author of the CMakeLists.txt +// files. +CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=TRUE +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Whether to issue warnings for deprecated functionality. +CMAKE_WARN_DEPRECATED:INTERNAL=FALSE + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake new file mode 100644 index 00000000..d6e32400 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "17.0.2") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/x86_64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..1edb0d41 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "17.0.2") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar") +set(CMAKE_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib") +set(CMAKE_LINKER "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/include;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++;m;-l:libunwind.a;dl;c;-l:libunwind.a;dl") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/17/lib/linux/x86_64;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/24;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android;/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 00000000..45b965da Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_C.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 00000000..3682f7f1 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake new file mode 100644 index 00000000..78fd514b --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-24.4.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "24.4.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64") + +include("/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake") + +set(CMAKE_SYSTEM "Android-1") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_VERSION "1") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..41b99d77 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o new file mode 100644 index 00000000..1f9b62be Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdC/CMakeCCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 00000000..25c62a8c --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o new file mode 100644 index 00000000..bf837c86 Binary files /dev/null and b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/3.22.1-g37088a8/CompilerIdCXX/CMakeCXXCompilerId.o differ diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/TargetDirectories.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..9008c835 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/edit_cache.dir +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/rebuild_cache.dir diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/cmake.check_cache b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/rules.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/rules.ninja new file mode 100644 index 00000000..b8ca9d53 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/CMakeFiles/rules.ninja @@ -0,0 +1,45 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja -t targets + description = All primary targets available: + diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/additional_project_files.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/additional_project_files.txt new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build.json new file mode 100644 index 00000000..ec2394b9 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build.json @@ -0,0 +1,28 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {}, + "toolchains": { + "toolchain": { + "cCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang.lld", + "cppCompilerExecutable": "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++.lld" + } + }, + "cFileExtensions": [], + "cppFileExtensions": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build_mini.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build_mini.json new file mode 100644 index 00000000..e86ce8ca --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build_mini.json @@ -0,0 +1,20 @@ +{ + "buildFiles": [ + "/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt" + ], + "cleanCommandsComponents": [ + [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "clean" + ] + ], + "buildTargetsCommandComponents": [ + "/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja", + "-C", + "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64", + "{LIST_OF_TARGETS_TO_BUILD}" + ], + "libraries": {} +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build.ninja b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build.ninja new file mode 100644 index 00000000..7b417089 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.22 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Project +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/ + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ccmake -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 + DESC = Running CMake cache editor... + pool = console + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 && /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/cmake --regenerate-during-build -S/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy -B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 + +build all: phony + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCCompilerABI.c /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCXXInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeGenericSystem.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystem.cmake.in /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang-FindBinUtils.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/GNU.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-C.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine-CXX.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Android/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/Linux.cmake /Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/Platform/UnixPaths.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android-legacy.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/flags.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Clang.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Determine.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android-Initialize.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Android.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/hooks/pre/Determine-Compiler.cmake /Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/platforms.cmake /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt CMakeCache.txt CMakeFiles/3.22.1-g37088a8/CMakeCCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeCXXCompiler.cmake CMakeFiles/3.22.1-g37088a8/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build_file_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build_file_index.txt new file mode 100644 index 00000000..f2a046c0 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build_file_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/cmake_install.cmake b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/cmake_install.cmake new file mode 100644 index 00000000..bf7186a9 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "TRUE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/configure_fingerprint.bin b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/configure_fingerprint.bin new file mode 100644 index 00000000..34ecc2de --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/configure_fingerprint.bin @@ -0,0 +1,28 @@ +C/C++ Structured Log + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/additional_project_files.txtC +A +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2 +~ +|/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build.json  2 2 + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/android_gradle_build_mini.json  2 2r +p +n/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build.ninja  2 2v +t +r/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build.ninja.txt  2{ +y +w/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/build_file_index.txt  2 ` 2| +z +x/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/compile_commands.json  2 +~ +|/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/compile_commands.json.bin  2  + +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/metadata_generation_command.txt  2 + 2y +w +u/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/prefab_config.json  2  ( 2~ +| +z/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/symbol_folder_index.txt  2  q 2d +b +`/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  Թ2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/metadata_generation_command.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/metadata_generation_command.txt new file mode 100644 index 00000000..eaecb3f4 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/metadata_generation_command.txt @@ -0,0 +1,20 @@ + -H/Users/artemshkryab/dev/src/flutter/packages/flutter_tools/gradle/src/main/groovy +-DCMAKE_SYSTEM_NAME=Android +-DCMAKE_EXPORT_COMPILE_COMMANDS=ON +-DCMAKE_SYSTEM_VERSION=24 +-DANDROID_PLATFORM=android-24 +-DANDROID_ABI=x86_64 +-DCMAKE_ANDROID_ARCH_ABI=x86_64 +-DANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_ANDROID_NDK=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264 +-DCMAKE_TOOLCHAIN_FILE=/Users/artemshkryab/Library/Android/sdk/ndk/26.3.11579264/build/cmake/android.toolchain.cmake +-DCMAKE_MAKE_PROGRAM=/Users/artemshkryab/Library/Android/sdk/cmake/3.22.1/bin/ninja +-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64 +-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64 +-DCMAKE_BUILD_TYPE=RelWithDebInfo +-B/Users/artemshkryab/dev/proj/krow-mobile-clien-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64 +-GNinja +-Wno-dev +--no-warn-unused-cli + Build command args: [] + Version: 2 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/prefab_config.json b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/prefab_config.json new file mode 100644 index 00000000..e799de86 --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/prefab_config.json @@ -0,0 +1,4 @@ +{ + "enabled": false, + "packages": [] +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/symbol_folder_index.txt b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/symbol_folder_index.txt new file mode 100644 index 00000000..becc2a1f --- /dev/null +++ b/mobile-apps/client-app/android/app/.cxx/RelWithDebInfo/4c35253h/x86_64/symbol_folder_index.txt @@ -0,0 +1 @@ +/Users/artemshkryab/dev/proj/krow-mobile-clien-app/build/app/intermediates/cxx/RelWithDebInfo/4c35253h/obj/x86_64 \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/build.gradle b/mobile-apps/client-app/android/app/build.gradle new file mode 100644 index 00000000..28eb9650 --- /dev/null +++ b/mobile-apps/client-app/android/app/build.gradle @@ -0,0 +1,109 @@ +plugins { + id "com.android.application" + id 'com.google.gms.google-services' + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + +android { + namespace = "com.krow.app.business" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + + defaultConfig { + applicationId = "com.krow.app.business" + minSdk = 24 + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + flavorDimensions "release-type" + + def keystorePropertiesFileNameDev = "key_dev.properties" + def keystorePropertiesDev = new Properties() + keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev))) + + def keystorePropertiesFileNameStaging = "key_staging.properties" + def keystorePropertiesStaging = new Properties() + keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging))) + + def keystorePropertiesFileNameProd = "key_prod.properties" + def keystorePropertiesProd = new Properties() + keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd))) + + signingConfigs { + configDev { + keyAlias keystorePropertiesDev['keyAlias'] + keyPassword keystorePropertiesDev['keyPassword'] + storeFile file('../key_dev.jks') + storePassword keystorePropertiesDev['storePassword'] + } + + configStaging { + keyAlias keystorePropertiesStaging['keyAlias'] + keyPassword keystorePropertiesStaging['keyPassword'] + storeFile file('../key_staging.jks') + storePassword keystorePropertiesStaging['storePassword'] + } + + configProd { + keyAlias keystorePropertiesProd['keyAlias'] + keyPassword keystorePropertiesProd['keyPassword'] + storeFile file('../key_staging.jks') + storePassword keystorePropertiesProd['storePassword'] + } + } + + productFlavors { + dev { + dimension "release-type" + applicationIdSuffix ".dev" + versionNameSuffix "-dev" + signingConfig signingConfigs.configDev + manifestPlaceholders = [ + appLabel: "Krow Business dev", + appIcon: "@mipmap/ic_launcher_dev" + ] + } + + staging { + dimension "release-type" + applicationIdSuffix ".staging" + versionNameSuffix "-staging" + signingConfig signingConfigs.configStaging + manifestPlaceholders = [ + appLabel: "Krow Business staging", + appIcon: "@mipmap/ic_launcher_dev" + ] + } + + prod { + dimension "release-type" + signingConfig signingConfigs.configProd + manifestPlaceholders = [ + appLabel: "Krow Business", + appIcon: "@mipmap/ic_launcher" + ] + } + } +} + +flutter { + source = "../.." +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/google-services.json b/mobile-apps/client-app/android/app/google-services.json new file mode 100644 index 00000000..d913f0ae --- /dev/null +++ b/mobile-apps/client-app/android/app/google-services.json @@ -0,0 +1,86 @@ +{ + "project_info": { + "project_number": "14482748607", + "project_id": "krow-staging", + "storage_bucket": "krow-staging.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:14482748607:android:5f6e8dd065b4424e24820a", + "android_client_info": { + "package_name": "com.krow.app.business" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCJZ2vdIMQksiRJ8UxvcDbL1uTh7iJ6U5E" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:14482748607:android:93b18ff79c2bfa9b24820a", + "android_client_info": { + "package_name": "com.krow.app.business.dev" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCJZ2vdIMQksiRJ8UxvcDbL1uTh7iJ6U5E" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:14482748607:android:e47998776604b84824820a", + "android_client_info": { + "package_name": "com.krow.app.staff" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCJZ2vdIMQksiRJ8UxvcDbL1uTh7iJ6U5E" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:14482748607:android:a6b8b6871cbfcff624820a", + "android_client_info": { + "package_name": "com.krow.app.staff.dev" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCJZ2vdIMQksiRJ8UxvcDbL1uTh7iJ6U5E" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/src/debug/AndroidManifest.xml b/mobile-apps/client-app/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/mobile-apps/client-app/android/app/src/dev/google-services.json b/mobile-apps/client-app/android/app/src/dev/google-services.json new file mode 100644 index 00000000..a11bbd27 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/dev/google-services.json @@ -0,0 +1,82 @@ +{ + "project_info": { + "project_number": "933560802882", + "project_id": "krow-workforce-dev", + "storage_bucket": "krow-workforce-dev.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:edcddb83ea4bbb517757db", + "android_client_info": { + "package_name": "com.krow.app.business.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-qgbq6m04moicvkff2b3i6p9agu7i4gou.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.dev" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:f4587798877cbb917757db", + "android_client_info": { + "package_name": "com.krow.app.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-qgbq6m04moicvkff2b3i6p9agu7i4gou.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.dev" + } + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/src/main/AndroidManifest.xml b/mobile-apps/client-app/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a31883d3 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/kotlin/com/krow/app/business/MainActivity.kt b/mobile-apps/client-app/android/app/src/main/kotlin/com/krow/app/business/MainActivity.kt new file mode 100644 index 00000000..fc81725a --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/kotlin/com/krow/app/business/MainActivity.kt @@ -0,0 +1,5 @@ +package com.krow.app.business + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..b339f319 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png b/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..8c679a67 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..6d4a363b Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png b/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..f7c076e1 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-v21/launch_background.xml b/mobile-apps/client-app/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 00000000..c42e9ee8 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..3509a4b1 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..be39c120 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..ff95048e Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..d15abf66 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..0edc4a1d Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png b/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..8f452098 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/drawable/launch_background.xml b/mobile-apps/client-app/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 00000000..304732f8 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..c79c58a3 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml b/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml new file mode 100644 index 00000000..caae4863 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..55840fad Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png new file mode 100644 index 00000000..c0de8400 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..25a22f92 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png new file mode 100644 index 00000000..515e6635 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..9a20688e Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..7f06c37e Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..1f506d87 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..64208c30 Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000..c2c87b7d Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..d6b338ba Binary files /dev/null and b/mobile-apps/client-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/client-app/android/app/src/main/res/values-night/colors.xml b/mobile-apps/client-app/android/app/src/main/res/values-night/colors.xml new file mode 100644 index 00000000..ab983282 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/values-night/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/src/main/res/values-night/styles.xml b/mobile-apps/client-app/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..06952be7 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/main/res/values/colors.xml b/mobile-apps/client-app/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..ab983282 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/mobile-apps/client-app/android/app/src/main/res/values/styles.xml b/mobile-apps/client-app/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..cb1ef880 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/mobile-apps/client-app/android/app/src/profile/AndroidManifest.xml b/mobile-apps/client-app/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/mobile-apps/client-app/android/app/src/staging/google-services.json b/mobile-apps/client-app/android/app/src/staging/google-services.json new file mode 100644 index 00000000..fce47d44 --- /dev/null +++ b/mobile-apps/client-app/android/app/src/staging/google-services.json @@ -0,0 +1,48 @@ +{ + "project_info": { + "project_number": "1032971403708", + "project_id": "krow-workforce-staging", + "storage_bucket": "krow-workforce-staging.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:1032971403708:android:d35f6d13a9e03bcb356bb9", + "android_client_info": { + "package_name": "com.krow.app.business.staging" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:1032971403708:android:87edb39679f806ab356bb9", + "android_client_info": { + "package_name": "com.krow.app.staging" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/client-app/android/build.gradle b/mobile-apps/client-app/android/build.gradle new file mode 100644 index 00000000..d2ffbffa --- /dev/null +++ b/mobile-apps/client-app/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/mobile-apps/client-app/android/gradle.properties b/mobile-apps/client-app/android/gradle.properties new file mode 100644 index 00000000..25971708 --- /dev/null +++ b/mobile-apps/client-app/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/mobile-apps/client-app/android/gradle/wrapper/gradle-wrapper.properties b/mobile-apps/client-app/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..3c85cfe0 --- /dev/null +++ b/mobile-apps/client-app/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip diff --git a/mobile-apps/client-app/android/key_dev.jks b/mobile-apps/client-app/android/key_dev.jks new file mode 100644 index 00000000..82016211 Binary files /dev/null and b/mobile-apps/client-app/android/key_dev.jks differ diff --git a/mobile-apps/client-app/android/key_dev.properties b/mobile-apps/client-app/android/key_dev.properties new file mode 100644 index 00000000..5099b224 --- /dev/null +++ b/mobile-apps/client-app/android/key_dev.properties @@ -0,0 +1,4 @@ +storePassword=krowdev +keyPassword=krowdev +keyAlias=upload +storeFile=kast_android_dev.jks \ No newline at end of file diff --git a/mobile-apps/client-app/android/key_prod.properties b/mobile-apps/client-app/android/key_prod.properties new file mode 100644 index 00000000..f91a60e0 --- /dev/null +++ b/mobile-apps/client-app/android/key_prod.properties @@ -0,0 +1,4 @@ +storePassword=krowstaging +keyPassword=krowstaging +keyAlias=upload +storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/client-app/android/key_staging.jks b/mobile-apps/client-app/android/key_staging.jks new file mode 100644 index 00000000..8f75ef76 Binary files /dev/null and b/mobile-apps/client-app/android/key_staging.jks differ diff --git a/mobile-apps/client-app/android/key_staging.properties b/mobile-apps/client-app/android/key_staging.properties new file mode 100644 index 00000000..f91a60e0 --- /dev/null +++ b/mobile-apps/client-app/android/key_staging.properties @@ -0,0 +1,4 @@ +storePassword=krowstaging +keyPassword=krowstaging +keyAlias=upload +storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/client-app/android/settings.gradle b/mobile-apps/client-app/android/settings.gradle new file mode 100644 index 00000000..da1926bd --- /dev/null +++ b/mobile-apps/client-app/android/settings.gradle @@ -0,0 +1,26 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version '8.5.0' apply false + id "com.google.gms.google-services" version "4.3.15" apply false + id "org.jetbrains.kotlin.android" version "1.8.22" apply false +} + +include ":app" diff --git a/mobile-apps/client-app/assets/favicon.png b/mobile-apps/client-app/assets/favicon.png new file mode 100644 index 00000000..b7781d5a Binary files /dev/null and b/mobile-apps/client-app/assets/favicon.png differ diff --git a/mobile-apps/client-app/assets/favicon_dev.png b/mobile-apps/client-app/assets/favicon_dev.png new file mode 100644 index 00000000..8605b32e Binary files /dev/null and b/mobile-apps/client-app/assets/favicon_dev.png differ diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Black.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Black.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-BlackItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-BlackItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Bold.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Bold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-BoldItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-BoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraBold.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraBold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraLight.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraLight.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraLightItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-ExtraLightItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Italic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Italic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Light.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Light.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-LightItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-LightItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Medium.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Medium.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-MediumItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-MediumItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Regular.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Regular.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-SemiBold.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-SemiBold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-Thin.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-Thin.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/fonts/poppins/Poppins-ThinItalic.ttf b/mobile-apps/client-app/assets/fonts/poppins/Poppins-ThinItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/assets/images/bg_pattern.svg b/mobile-apps/client-app/assets/images/bg_pattern.svg new file mode 100644 index 00000000..05a38ffa --- /dev/null +++ b/mobile-apps/client-app/assets/images/bg_pattern.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/MagnifyingGlass.svg b/mobile-apps/client-app/assets/images/icons/MagnifyingGlass.svg new file mode 100644 index 00000000..97025a31 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/MagnifyingGlass.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/add.svg b/mobile-apps/client-app/assets/images/icons/add.svg new file mode 100644 index 00000000..753bc800 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/add.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/addon_excluded.svg b/mobile-apps/client-app/assets/images/icons/addon_excluded.svg new file mode 100644 index 00000000..863c0dd8 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/addon_excluded.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/addon_include.svg b/mobile-apps/client-app/assets/images/icons/addon_include.svg new file mode 100644 index 00000000..9d0f2463 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/addon_include.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/alert-circle.svg b/mobile-apps/client-app/assets/images/icons/alert-circle.svg new file mode 100644 index 00000000..d7622acf --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/alert-circle.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/alert-triangle.svg b/mobile-apps/client-app/assets/images/icons/alert-triangle.svg new file mode 100644 index 00000000..cbad959c --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/alert-triangle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/app_bar/appbar_leading.svg b/mobile-apps/client-app/assets/images/icons/app_bar/appbar_leading.svg new file mode 100644 index 00000000..680a6d09 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/app_bar/appbar_leading.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/app_bar/notification.svg b/mobile-apps/client-app/assets/images/icons/app_bar/notification.svg new file mode 100644 index 00000000..b369fdcb --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/app_bar/notification.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/calendar-edit.svg b/mobile-apps/client-app/assets/images/icons/calendar-edit.svg new file mode 100644 index 00000000..92c95382 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/calendar-edit.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/calendar.svg b/mobile-apps/client-app/assets/images/icons/calendar.svg new file mode 100644 index 00000000..acc3f624 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/calendar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/caret-down.svg b/mobile-apps/client-app/assets/images/icons/caret-down.svg new file mode 100644 index 00000000..51458c4b --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/caret-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/caret_left.svg b/mobile-apps/client-app/assets/images/icons/caret_left.svg new file mode 100644 index 00000000..b0e11d82 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/caret_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/caret_right.svg b/mobile-apps/client-app/assets/images/icons/caret_right.svg new file mode 100644 index 00000000..a9a38734 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/caret_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/check_box/check.svg b/mobile-apps/client-app/assets/images/icons/check_box/check.svg new file mode 100644 index 00000000..982a184f --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/check_box/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/check_box/x.svg b/mobile-apps/client-app/assets/images/icons/check_box/x.svg new file mode 100644 index 00000000..abafcdb3 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/check_box/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/chevron_down.svg b/mobile-apps/client-app/assets/images/icons/chevron_down.svg new file mode 100644 index 00000000..9321a0a3 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/chevron_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/copy.svg b/mobile-apps/client-app/assets/images/icons/copy.svg new file mode 100644 index 00000000..01c17b36 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/copy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/data.svg b/mobile-apps/client-app/assets/images/icons/data.svg new file mode 100644 index 00000000..b4e1dbc9 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/data.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/delete.svg b/mobile-apps/client-app/assets/images/icons/delete.svg new file mode 100644 index 00000000..c95adda6 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/delete.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/document-upload.svg b/mobile-apps/client-app/assets/images/icons/document-upload.svg new file mode 100644 index 00000000..13ac8b4b --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/document-upload.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/dollar-square.svg b/mobile-apps/client-app/assets/images/icons/dollar-square.svg new file mode 100644 index 00000000..6512c7f5 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/dollar-square.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/edit.svg b/mobile-apps/client-app/assets/images/icons/edit.svg new file mode 100644 index 00000000..3836ad4c --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/edit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/eye-off.svg b/mobile-apps/client-app/assets/images/icons/eye-off.svg new file mode 100644 index 00000000..a4575ffa --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/eye-off.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/eye.svg b/mobile-apps/client-app/assets/images/icons/eye.svg new file mode 100644 index 00000000..cda55d0c --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/eye.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/heart-empty.svg b/mobile-apps/client-app/assets/images/icons/heart-empty.svg new file mode 100644 index 00000000..aeabf166 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/heart-empty.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/heart.svg b/mobile-apps/client-app/assets/images/icons/heart.svg new file mode 100644 index 00000000..ace5925c --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/heart.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/location.svg b/mobile-apps/client-app/assets/images/icons/location.svg new file mode 100644 index 00000000..cf736672 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/money-send.svg b/mobile-apps/client-app/assets/images/icons/money-send.svg new file mode 100644 index 00000000..5936a43f --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/money-send.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/more.svg b/mobile-apps/client-app/assets/images/icons/more.svg new file mode 100644 index 00000000..e1cbaa72 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/more.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/alert.svg b/mobile-apps/client-app/assets/images/icons/navigation/alert.svg new file mode 100644 index 00000000..b369fdcb --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/alert.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/confetti.svg b/mobile-apps/client-app/assets/images/icons/navigation/confetti.svg new file mode 100644 index 00000000..2a7c9916 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/confetti.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/empty-wallet.svg b/mobile-apps/client-app/assets/images/icons/navigation/empty-wallet.svg new file mode 100644 index 00000000..06a7575a --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/empty-wallet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/menu_arrow.svg b/mobile-apps/client-app/assets/images/icons/navigation/menu_arrow.svg new file mode 100644 index 00000000..362c8e29 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/menu_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/note-favorite.svg b/mobile-apps/client-app/assets/images/icons/navigation/note-favorite.svg new file mode 100644 index 00000000..9c31aaef --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/note-favorite.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/navigation/profile.svg b/mobile-apps/client-app/assets/images/icons/navigation/profile.svg new file mode 100644 index 00000000..74814bcb --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/navigation/profile.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/person.svg b/mobile-apps/client-app/assets/images/icons/person.svg new file mode 100644 index 00000000..66da1fac --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/person.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/profile-2user.svg b/mobile-apps/client-app/assets/images/icons/profile-2user.svg new file mode 100644 index 00000000..c13b79c0 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/profile-2user.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/profile-add.svg b/mobile-apps/client-app/assets/images/icons/profile-add.svg new file mode 100644 index 00000000..48f583fc --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/profile-add.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/profile-delete.svg b/mobile-apps/client-app/assets/images/icons/profile-delete.svg new file mode 100644 index 00000000..35addb6e --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/profile-delete.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/rating_star/star.svg b/mobile-apps/client-app/assets/images/icons/rating_star/star.svg new file mode 100644 index 00000000..42569cb2 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/rating_star/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/rating_star/starEmpty.svg b/mobile-apps/client-app/assets/images/icons/rating_star/starEmpty.svg new file mode 100644 index 00000000..7b02af7f --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/rating_star/starEmpty.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/rating_star/starHalf.svg b/mobile-apps/client-app/assets/images/icons/rating_star/starHalf.svg new file mode 100644 index 00000000..28d97d74 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/rating_star/starHalf.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/receipt-search.svg b/mobile-apps/client-app/assets/images/icons/receipt-search.svg new file mode 100644 index 00000000..e551638c --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/receipt-search.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/tags/award.svg b/mobile-apps/client-app/assets/images/icons/tags/award.svg new file mode 100644 index 00000000..99de6bbb --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/tags/award.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/tags/briefcase.svg b/mobile-apps/client-app/assets/images/icons/tags/briefcase.svg new file mode 100644 index 00000000..7a9ef027 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/tags/briefcase.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/tags/flash.svg b/mobile-apps/client-app/assets/images/icons/tags/flash.svg new file mode 100644 index 00000000..8497077f --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/tags/flash.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/text_field_notches.svg b/mobile-apps/client-app/assets/images/icons/text_field_notches.svg new file mode 100644 index 00000000..aaf11f8d --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/text_field_notches.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/user-tag.svg b/mobile-apps/client-app/assets/images/icons/user-tag.svg new file mode 100644 index 00000000..720062bd --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/user-tag.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/user_profile/call.svg b/mobile-apps/client-app/assets/images/icons/user_profile/call.svg new file mode 100644 index 00000000..4391deb0 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/user_profile/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images/icons/user_profile/sms.svg b/mobile-apps/client-app/assets/images/icons/user_profile/sms.svg new file mode 100644 index 00000000..aa5e87b0 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/user_profile/sms.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/icons/x-circle.svg b/mobile-apps/client-app/assets/images/icons/x-circle.svg new file mode 100644 index 00000000..3d2b6bcb --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/x-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/icons/x.svg b/mobile-apps/client-app/assets/images/icons/x.svg new file mode 100644 index 00000000..46b73821 --- /dev/null +++ b/mobile-apps/client-app/assets/images/icons/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images/logo.svg b/mobile-apps/client-app/assets/images/logo.svg new file mode 100644 index 00000000..0c18e092 --- /dev/null +++ b/mobile-apps/client-app/assets/images/logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images/sign_in_apple.svg b/mobile-apps/client-app/assets/images/sign_in_apple.svg new file mode 100644 index 00000000..8b5e80bc --- /dev/null +++ b/mobile-apps/client-app/assets/images/sign_in_apple.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/sign_in_google.svg b/mobile-apps/client-app/assets/images/sign_in_google.svg new file mode 100644 index 00000000..ce6802f1 --- /dev/null +++ b/mobile-apps/client-app/assets/images/sign_in_google.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images/welcome.png b/mobile-apps/client-app/assets/images/welcome.png new file mode 100644 index 00000000..8a641b5c Binary files /dev/null and b/mobile-apps/client-app/assets/images/welcome.png differ diff --git a/mobile-apps/client-app/assets/images_staff/app_bar/appbar_leading.svg b/mobile-apps/client-app/assets/images_staff/app_bar/appbar_leading.svg new file mode 100644 index 00000000..680a6d09 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/app_bar/appbar_leading.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/app_bar/notification.svg b/mobile-apps/client-app/assets/images_staff/app_bar/notification.svg new file mode 100644 index 00000000..b369fdcb --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/app_bar/notification.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/arrow_right.svg b/mobile-apps/client-app/assets/images_staff/arrow_right.svg new file mode 100644 index 00000000..6abc2b8a --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/arrow_right.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/bg.svg b/mobile-apps/client-app/assets/images_staff/bg.svg new file mode 100644 index 00000000..721634ea --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/bg.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/add.svg b/mobile-apps/client-app/assets/images_staff/icons/add.svg new file mode 100644 index 00000000..beb930ec --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/add.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/alert-circle.svg b/mobile-apps/client-app/assets/images_staff/icons/alert-circle.svg new file mode 100644 index 00000000..d7622acf --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/alert-circle.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/alert-triangle.svg b/mobile-apps/client-app/assets/images_staff/icons/alert-triangle.svg new file mode 100644 index 00000000..cbad959c --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/alert-triangle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/calendar.svg b/mobile-apps/client-app/assets/images_staff/icons/calendar.svg new file mode 100644 index 00000000..426dd0b0 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/calendar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/calendar_v2.svg b/mobile-apps/client-app/assets/images_staff/icons/calendar_v2.svg new file mode 100644 index 00000000..ea39541a --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/calendar_v2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/call.svg b/mobile-apps/client-app/assets/images_staff/icons/call.svg new file mode 100644 index 00000000..3404b610 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/caret-down.svg b/mobile-apps/client-app/assets/images_staff/icons/caret-down.svg new file mode 100644 index 00000000..51458c4b --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/caret-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/caret_left.svg b/mobile-apps/client-app/assets/images_staff/icons/caret_left.svg new file mode 100644 index 00000000..b0e11d82 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/caret_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/caret_right.svg b/mobile-apps/client-app/assets/images_staff/icons/caret_right.svg new file mode 100644 index 00000000..a9a38734 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/caret_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/check.svg b/mobile-apps/client-app/assets/images_staff/icons/check.svg new file mode 100644 index 00000000..8b7aa7a9 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/coffee-break.svg b/mobile-apps/client-app/assets/images_staff/icons/coffee-break.svg new file mode 100644 index 00000000..3a306165 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/coffee-break.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/delete.svg b/mobile-apps/client-app/assets/images_staff/icons/delete.svg new file mode 100644 index 00000000..c95adda6 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/delete.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/download-cloud.svg b/mobile-apps/client-app/assets/images_staff/icons/download-cloud.svg new file mode 100644 index 00000000..378be9c3 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/download-cloud.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/edit.svg b/mobile-apps/client-app/assets/images_staff/icons/edit.svg new file mode 100644 index 00000000..3836ad4c --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/edit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/eye.svg b/mobile-apps/client-app/assets/images_staff/icons/eye.svg new file mode 100644 index 00000000..9209f4a1 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/eye.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/image_error_placeholder.svg b/mobile-apps/client-app/assets/images_staff/icons/image_error_placeholder.svg new file mode 100644 index 00000000..71feaec7 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/image_error_placeholder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/image_placeholder.svg b/mobile-apps/client-app/assets/images_staff/icons/image_placeholder.svg new file mode 100644 index 00000000..ea09d0e8 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/image_placeholder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/like.svg b/mobile-apps/client-app/assets/images_staff/icons/like.svg new file mode 100644 index 00000000..4aede466 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/like.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/location.svg b/mobile-apps/client-app/assets/images_staff/icons/location.svg new file mode 100644 index 00000000..98fb7f3a --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/medal-star.svg b/mobile-apps/client-app/assets/images_staff/icons/medal-star.svg new file mode 100644 index 00000000..33b61f9d --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/medal-star.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/navigation/clipboard-text.svg b/mobile-apps/client-app/assets/images_staff/icons/navigation/clipboard-text.svg new file mode 100644 index 00000000..79c485b6 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/navigation/clipboard-text.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/navigation/empty-wallet.svg b/mobile-apps/client-app/assets/images_staff/icons/navigation/empty-wallet.svg new file mode 100644 index 00000000..06a7575a --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/navigation/empty-wallet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/navigation/profile.svg b/mobile-apps/client-app/assets/images_staff/icons/navigation/profile.svg new file mode 100644 index 00000000..74814bcb --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/navigation/profile.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/person.svg b/mobile-apps/client-app/assets/images_staff/icons/person.svg new file mode 100644 index 00000000..66da1fac --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/person.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/rating_star/star.svg b/mobile-apps/client-app/assets/images_staff/icons/rating_star/star.svg new file mode 100644 index 00000000..42569cb2 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/rating_star/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/rating_star/starEmpty.svg b/mobile-apps/client-app/assets/images_staff/icons/rating_star/starEmpty.svg new file mode 100644 index 00000000..200a6175 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/rating_star/starEmpty.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/rating_star/starHalf.svg b/mobile-apps/client-app/assets/images_staff/icons/rating_star/starHalf.svg new file mode 100644 index 00000000..28d97d74 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/rating_star/starHalf.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/routing.svg b/mobile-apps/client-app/assets/images_staff/icons/routing.svg new file mode 100644 index 00000000..0b923b86 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/routing.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/trash.svg b/mobile-apps/client-app/assets/images_staff/icons/trash.svg new file mode 100644 index 00000000..ee7910e1 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/trash.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/whatsapp.svg b/mobile-apps/client-app/assets/images_staff/icons/whatsapp.svg new file mode 100644 index 00000000..4ec74677 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/whatsapp.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/x-circle.svg b/mobile-apps/client-app/assets/images_staff/icons/x-circle.svg new file mode 100644 index 00000000..5167ee2b --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/x-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/icons/x.svg b/mobile-apps/client-app/assets/images_staff/icons/x.svg new file mode 100644 index 00000000..46b73821 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/icons/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/logo.svg b/mobile-apps/client-app/assets/images_staff/logo.svg new file mode 100644 index 00000000..0c18e092 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/slider/slide1.png b/mobile-apps/client-app/assets/images_staff/slider/slide1.png new file mode 100644 index 00000000..48271dd5 Binary files /dev/null and b/mobile-apps/client-app/assets/images_staff/slider/slide1.png differ diff --git a/mobile-apps/client-app/assets/images_staff/slider/slide2.png b/mobile-apps/client-app/assets/images_staff/slider/slide2.png new file mode 100644 index 00000000..834fe84d Binary files /dev/null and b/mobile-apps/client-app/assets/images_staff/slider/slide2.png differ diff --git a/mobile-apps/client-app/assets/images_staff/slider/slide3.png b/mobile-apps/client-app/assets/images_staff/slider/slide3.png new file mode 100644 index 00000000..2609ea05 Binary files /dev/null and b/mobile-apps/client-app/assets/images_staff/slider/slide3.png differ diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/call.svg b/mobile-apps/client-app/assets/images_staff/user_profile/call.svg new file mode 100644 index 00000000..4391deb0 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/chevron_2.svg b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_2.svg new file mode 100644 index 00000000..22fdfc12 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_2.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down.svg b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down.svg new file mode 100644 index 00000000..4cbc7eae --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down_selected.svg b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down_selected.svg new file mode 100644 index 00000000..1c6117ed --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/chevron_down_selected.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/edit_photo.svg b/mobile-apps/client-app/assets/images_staff/user_profile/edit_photo.svg new file mode 100644 index 00000000..95fb19e9 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/edit_photo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/briefcase.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/briefcase.svg new file mode 100644 index 00000000..003231f0 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/briefcase.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/calendar.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/calendar.svg new file mode 100644 index 00000000..79de6857 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/calendar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/chef.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/chef.svg new file mode 100644 index 00000000..db3896d1 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/chef.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/empty-wallet.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/empty-wallet.svg new file mode 100644 index 00000000..7c93df7c --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/empty-wallet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/gallery.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/gallery.svg new file mode 100644 index 00000000..2ab3eaa5 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/gallery.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/headphone.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/headphone.svg new file mode 100644 index 00000000..43956f2c --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/headphone.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/help-circle.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/help-circle.svg new file mode 100644 index 00000000..fe6f4c27 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/help-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/log-out.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/log-out.svg new file mode 100644 index 00000000..611675f4 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/log-out.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/map.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/map.svg new file mode 100644 index 00000000..8ff071a5 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/map.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/medal-star.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/medal-star.svg new file mode 100644 index 00000000..5b10a789 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/medal-star.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/message.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/message.svg new file mode 100644 index 00000000..90fe1751 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/message.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/note.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/note.svg new file mode 100644 index 00000000..146033b9 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/note.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/pot.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/pot.svg new file mode 100644 index 00000000..106d79e5 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/pot.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/profile-circle.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/profile-circle.svg new file mode 100644 index 00000000..34db63f7 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/profile-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/security-safe.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/security-safe.svg new file mode 100644 index 00000000..f16fcb1d --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/security-safe.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/shield-tick.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/shield-tick.svg new file mode 100644 index 00000000..ced47730 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/shield-tick.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/star.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/star.svg new file mode 100644 index 00000000..3cb00e10 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/teacher.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/teacher.svg new file mode 100644 index 00000000..ce7f5c9e --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/teacher.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/menu/user-edit.svg b/mobile-apps/client-app/assets/images_staff/user_profile/menu/user-edit.svg new file mode 100644 index 00000000..9dd7b48c --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/menu/user-edit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/sms.svg b/mobile-apps/client-app/assets/images_staff/user_profile/sms.svg new file mode 100644 index 00000000..aa5e87b0 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/sms.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/user_profile/star.svg b/mobile-apps/client-app/assets/images_staff/user_profile/star.svg new file mode 100644 index 00000000..01b53792 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/user_profile/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/client-app/assets/images_staff/waiting_validation/call.svg b/mobile-apps/client-app/assets/images_staff/waiting_validation/call.svg new file mode 100644 index 00000000..ca1fd79e --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/waiting_validation/call.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/client-app/assets/images_staff/waiting_validation/coffee_break.svg b/mobile-apps/client-app/assets/images_staff/waiting_validation/coffee_break.svg new file mode 100644 index 00000000..fa617f53 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/waiting_validation/coffee_break.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/waiting_validation/sms.svg b/mobile-apps/client-app/assets/images_staff/waiting_validation/sms.svg new file mode 100644 index 00000000..c7e25c12 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/waiting_validation/sms.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/client-app/assets/images_staff/waiting_validation/watsapp.svg b/mobile-apps/client-app/assets/images_staff/waiting_validation/watsapp.svg new file mode 100644 index 00000000..4b05a4d5 --- /dev/null +++ b/mobile-apps/client-app/assets/images_staff/waiting_validation/watsapp.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/mobile-apps/client-app/build.yaml b/mobile-apps/client-app/build.yaml new file mode 100644 index 00000000..d1347b3e --- /dev/null +++ b/mobile-apps/client-app/build.yaml @@ -0,0 +1,3 @@ +targets: + $default: + builders: diff --git a/mobile-apps/client-app/deploy_dev.sh b/mobile-apps/client-app/deploy_dev.sh new file mode 100755 index 00000000..36637d00 --- /dev/null +++ b/mobile-apps/client-app/deploy_dev.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +#dart run build_runner build --delete-conflicting-outputs +flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart +flutter build ipa --flavor dev -t lib/main_dev.dart + +cd android +fastlane android deploy_dev +cd ../ios +fastlane ios deploy_dev_tf + +echo "Deployment completed successfully!" \ No newline at end of file diff --git a/mobile-apps/client-app/deploy_prod.sh b/mobile-apps/client-app/deploy_prod.sh new file mode 100755 index 00000000..92946c99 --- /dev/null +++ b/mobile-apps/client-app/deploy_prod.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +#dart run build_runner build --delete-conflicting-outputs +flutter build appbundle --flavor prod --target-platform android-arm,android-arm64,android-x64 +flutter build ipa --flavor prod + +cd android +fastlane android deploy_prod +cd ../ios +fastlane ios deploy_prod_tf + +echo "Deployment completed successfully!" \ No newline at end of file diff --git a/mobile-apps/client-app/devtools_options.yaml b/mobile-apps/client-app/devtools_options.yaml new file mode 100644 index 00000000..6ee932ce --- /dev/null +++ b/mobile-apps/client-app/devtools_options.yaml @@ -0,0 +1,4 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: + - provider: true diff --git a/mobile-apps/client-app/firebase.json b/mobile-apps/client-app/firebase.json new file mode 100644 index 00000000..483a5629 --- /dev/null +++ b/mobile-apps/client-app/firebase.json @@ -0,0 +1,64 @@ +{ + "flutter": { + "platforms": { + "android": { + "default": { + "projectId": "krow-staging", + "appId": "1:14482748607:android:85b147490ff76b6924820a", + "fileOutput": "android/app/google-services.json" + }, + "buildConfigurations": { + "src/dev": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:android:edcddb83ea4bbb517757db", + "fileOutput": "android/app/src/dev/google-services.json" + }, + "src/staging": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:android:d35f6d13a9e03bcb356bb9", + "fileOutput": "android/app/src/staging/google-services.json" + } + } + }, + "ios": { + "default": { + "projectId": "krow-staging", + "appId": "1:14482748607:ios:229a7ce2d64cb09f24820a", + "uploadDebugSymbols": false, + "fileOutput": "ios/Runner/GoogleService-Info.plist" + }, + "targets": { + "Runner": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:ios:b1a21a7337a268b3356bb9", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/staging/GoogleService-Info.plist" + } + } + }, + "dart": { + "lib/firebase_options.dart": { + "projectId": "krow-staging", + "configurations": { + "android": "1:14482748607:android:85b147490ff76b6924820a", + "ios": "1:14482748607:ios:229a7ce2d64cb09f24820a" + } + }, + "lib/firebase_options_dev.dart": { + "projectId": "krow-workforce-dev", + "configurations": { + "android": "1:933560802882:android:edcddb83ea4bbb517757db", + "ios": "1:933560802882:ios:7f0632ecbeff8f027757db" + } + }, + "lib/firebase_options_staging.dart": { + "projectId": "krow-workforce-staging", + "configurations": { + "android": "1:1032971403708:android:d35f6d13a9e03bcb356bb9", + "ios": "1:1032971403708:ios:b1a21a7337a268b3356bb9" + } + } + } + } + } +} diff --git a/mobile-apps/client-app/flutterfire-config.sh b/mobile-apps/client-app/flutterfire-config.sh new file mode 100644 index 00000000..c1f4d1a2 --- /dev/null +++ b/mobile-apps/client-app/flutterfire-config.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Script to generate Firebase configuration files for different environments/flavors + +if [[ $# -eq 0 ]]; then + echo "Error: No environment specified. Use 'dev', 'staging', or 'prod'." + exit 1 +fi + +case $1 in + dev) + flutterfire config \ + --project=krow-workforce-dev \ + --out=lib/firebase_options_dev.dart \ + --ios-bundle-id=com.krow.app.business.dev \ + --ios-out=ios/flavors/dev/GoogleService-Info.plist \ + --android-package-name=com.krow.app.business.dev \ + --android-out=android/app/src/dev/google-services.json + ;; + staging) + flutterfire config \ + --project=krow-workforce-staging \ + --out=lib/firebase_options_staging.dart \ + --ios-bundle-id=com.krow.app.business.staging \ + --ios-out=ios/flavors/staging/GoogleService-Info.plist \ + --android-package-name=com.krow.app.business.staging \ + --android-out=android/app/src/staging/google-services.json + ;; + prod) + flutterfire config \ + --project=krow-workforce-dev \ + --out=lib/firebase_options_dev.dart \ + --ios-bundle-id=com.krow.app.business.dev \ + --ios-out=ios/flavors/dev/GoogleService-Info.plist \ + --android-package-name=com.krow.app.business.dev \ + --android-out=android/app/src/dev/google-services.json + ;; + *) + echo "Error: Invalid environment specified. Use 'dev', 'staging', or 'prod'." + exit 1 + ;; +esac diff --git a/mobile-apps/client-app/ios/.gitignore b/mobile-apps/client-app/ios/.gitignore new file mode 100644 index 00000000..abbe3917 --- /dev/null +++ b/mobile-apps/client-app/ios/.gitignore @@ -0,0 +1,35 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 +/fastlane/ diff --git a/mobile-apps/client-app/ios/Flutter/AppFrameworkInfo.plist b/mobile-apps/client-app/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 00000000..7c569640 --- /dev/null +++ b/mobile-apps/client-app/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/mobile-apps/client-app/ios/Flutter/Debug.xcconfig b/mobile-apps/client-app/ios/Flutter/Debug.xcconfig new file mode 100644 index 00000000..ec97fc6f --- /dev/null +++ b/mobile-apps/client-app/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/mobile-apps/client-app/ios/Flutter/Release.xcconfig b/mobile-apps/client-app/ios/Flutter/Release.xcconfig new file mode 100644 index 00000000..c4855bfe --- /dev/null +++ b/mobile-apps/client-app/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/mobile-apps/client-app/ios/Gemfile b/mobile-apps/client-app/ios/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/mobile-apps/client-app/ios/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/mobile-apps/client-app/ios/Gemfile.lock b/mobile-apps/client-app/ios/Gemfile.lock new file mode 100644 index 00000000..c14ecac6 --- /dev/null +++ b/mobile-apps/client-app/ios/Gemfile.lock @@ -0,0 +1,227 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.2) + aws-partitions (1.1081.0) + aws-sdk-core (3.222.1) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.183.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.227.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.10.2) + jwt (2.10.1) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.1) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.1) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-24 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.6.3 diff --git a/mobile-apps/client-app/ios/GoogleService-Info.plist b/mobile-apps/client-app/ios/GoogleService-Info.plist new file mode 100644 index 00000000..831dffee --- /dev/null +++ b/mobile-apps/client-app/ios/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:f559575980734cec24820a + + \ No newline at end of file diff --git a/mobile-apps/client-app/ios/Podfile b/mobile-apps/client-app/ios/Podfile new file mode 100644 index 00000000..04c36cf4 --- /dev/null +++ b/mobile-apps/client-app/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +platform :ios, '14.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/mobile-apps/client-app/ios/Podfile.lock b/mobile-apps/client-app/ios/Podfile.lock new file mode 100644 index 00000000..5927aaf4 --- /dev/null +++ b/mobile-apps/client-app/ios/Podfile.lock @@ -0,0 +1,202 @@ +PODS: + - connectivity_plus (0.0.1): + - Flutter + - Firebase/Auth (11.10.0): + - Firebase/CoreOnly + - FirebaseAuth (~> 11.10.0) + - Firebase/CoreOnly (11.10.0): + - FirebaseCore (~> 11.10.0) + - Firebase/RemoteConfig (11.10.0): + - Firebase/CoreOnly + - FirebaseRemoteConfig (~> 11.10.0) + - firebase_auth (5.5.1): + - Firebase/Auth (= 11.10.0) + - firebase_core + - Flutter + - firebase_core (3.13.0): + - Firebase/CoreOnly (= 11.10.0) + - Flutter + - firebase_remote_config (5.4.3): + - Firebase/RemoteConfig (= 11.10.0) + - firebase_core + - Flutter + - FirebaseABTesting (11.10.0): + - FirebaseCore (~> 11.10.0) + - FirebaseAppCheckInterop (11.12.0) + - FirebaseAuth (11.10.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.10.0) + - FirebaseCoreExtension (~> 11.10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) + - RecaptchaInterop (~> 101.0) + - FirebaseAuthInterop (11.12.0) + - FirebaseCore (11.10.0): + - FirebaseCoreInternal (~> 11.10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.10.0): + - FirebaseCore (~> 11.10.0) + - FirebaseCoreInternal (11.10.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseInstallations (11.10.0): + - FirebaseCore (~> 11.10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseRemoteConfig (11.10.0): + - FirebaseABTesting (~> 11.0) + - FirebaseCore (~> 11.10.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSharedSwift (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseRemoteConfigInterop (11.12.0) + - FirebaseSharedSwift (11.12.0) + - Flutter (1.0.0) + - geolocator_apple (1.2.0): + - Flutter + - GoogleUtilities/AppDelegateSwizzler (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GTMSessionFetcher/Core (4.4.0) + - image_picker_ios (0.0.1): + - Flutter + - package_info_plus (0.4.5): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - PromisesObjC (2.4.0) + - RecaptchaInterop (101.0.0) + - share_plus (0.0.1): + - Flutter + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - sqflite_darwin (0.0.4): + - Flutter + - FlutterMacOS + - url_launcher_ios (0.0.1): + - Flutter + +DEPENDENCIES: + - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) + - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`) + - Flutter (from `Flutter`) + - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - share_plus (from `.symlinks/plugins/share_plus/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + +SPEC REPOS: + trunk: + - Firebase + - FirebaseABTesting + - FirebaseAppCheckInterop + - FirebaseAuth + - FirebaseAuthInterop + - FirebaseCore + - FirebaseCoreExtension + - FirebaseCoreInternal + - FirebaseInstallations + - FirebaseRemoteConfig + - FirebaseRemoteConfigInterop + - FirebaseSharedSwift + - GoogleUtilities + - GTMSessionFetcher + - PromisesObjC + - RecaptchaInterop + +EXTERNAL SOURCES: + connectivity_plus: + :path: ".symlinks/plugins/connectivity_plus/ios" + firebase_auth: + :path: ".symlinks/plugins/firebase_auth/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + firebase_remote_config: + :path: ".symlinks/plugins/firebase_remote_config/ios" + Flutter: + :path: Flutter + geolocator_apple: + :path: ".symlinks/plugins/geolocator_apple/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + share_plus: + :path: ".symlinks/plugins/share_plus/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + +SPEC CHECKSUMS: + connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd + Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2 + firebase_auth: d1c3360eacfba7c85b60a720b2555b762ecfabea + firebase_core: 2d4534e7b489907dcede540c835b48981d890943 + firebase_remote_config: c20b15c34b138104c1a971d83ea36bc3dd626ab8 + FirebaseABTesting: dfc10eb6cc08fe3b391ac9e5aa40396d43ea6675 + FirebaseAppCheckInterop: 73b173e5ec45192e2d522ad43f526a82ad10b852 + FirebaseAuth: c4146bdfdc87329f9962babd24dae89373f49a32 + FirebaseAuthInterop: b583210c039a60ed3f1e48865e1f3da44a796595 + FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7 + FirebaseCoreExtension: 6f357679327f3614e995dc7cf3f2d600bdc774ac + FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679 + FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3 + FirebaseRemoteConfig: 10695bc0ce3b103e3706a5578c43f2a9f69d5aaa + FirebaseRemoteConfigInterop: 82b81fd06ee550cbeff40004e2c106daedf73e38 + FirebaseSharedSwift: d2475748a2d2a36242ed13baa34b2acda846c925 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + geolocator_apple: 1560c3c875af2a412242c7a923e15d0d401966ff + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + GTMSessionFetcher: 75b671f9e551e4c49153d4c4f8659ef4f559b970 + image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a + package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 + path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba + share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a + shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + url_launcher_ios: 694010445543906933d732453a59da0a173ae33d + +PODFILE CHECKSUM: 1959d098c91d8a792531a723c4a9d7e9f6a01e38 + +COCOAPODS: 1.16.2 diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/project.pbxproj b/mobile-apps/client-app/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..167d0898 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,1500 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 0E202B030DE269A919FFC0D2 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A35D95C39A234CDD8A30EBA /* Pods_RunnerTests.framework */; }; + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 8BA9DB632D77867F00292546 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 8BA9DB622D77867F00292546 /* PrivacyInfo.xcprivacy */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + B21B0C600FD5D39CA7A5507F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC7808F8209E128F0D6B4AD /* Pods_Runner.framework */; }; + DD37DC97741956FA026AEED9 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 735B776C5DDCF483812D81D2 /* GoogleService-Info.plist */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 019936F5E5071DEB07C51262 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 1A35D95C39A234CDD8A30EBA /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 21C50317D410F6A21F5E6C2B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 221580538DD28237A9B6B917 /* Pods-RunnerTests.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-prod.xcconfig"; sourceTree = ""; }; + 2C1CC963CD6DE2067A459F89 /* Pods-Runner.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-dev.xcconfig"; sourceTree = ""; }; + 2EC67AFC5F0D41EEC13C83ED /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 311D6165B9778BBBD9640547 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 319BADC0C0DA86337FD21955 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3D07ADB00A9AA96DA4F977EF /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 40047AE269FC6A30FDA27B51 /* Pods-Runner.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-dev.xcconfig"; sourceTree = ""; }; + 44D7E74AD297CD0475D8032A /* Pods-Runner.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-prod.xcconfig"; sourceTree = ""; }; + 5872FDC601CC2D4D9BFDA8B9 /* Pods-RunnerTests.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-prod.xcconfig"; sourceTree = ""; }; + 6052F75B3733BCF63265D19A /* Pods-RunnerTests.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-dev.xcconfig"; sourceTree = ""; }; + 68FA9BA299E3DF9B5BC647F2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 71B7DB58D9DDF0A0E7CFD30D /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 735B776C5DDCF483812D81D2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "flavors/dev/GoogleService-Info.plist"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7E61F543F47D7A473A838524 /* Pods-Runner.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-dev.xcconfig"; sourceTree = ""; }; + 80A828942D8E071B3D5B9AE2 /* Pods-RunnerTests.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-dev.xcconfig"; sourceTree = ""; }; + 8BA9DB622D77867F00292546 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; + 8BA9DB642D7786E000292546 /* RunnerDebug-prod.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "RunnerDebug-prod.entitlements"; sourceTree = ""; }; + 8BBA6BE02D3FC8B500FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 8BBA6BE92D3FCC3000FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 8BBA6BEB2D3FCC5000FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 9037CFB4787ADCC2DCCD4954 /* Pods-RunnerTests.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-prod.xcconfig"; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A6FE6D7F169B2770774E2C97 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A94BB3488A3BD82FAF50589E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + AF641B21EDE66D2176CD9528 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + B64E4BE3B75D5115AEA7BB6E /* Pods-RunnerTests.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-dev.xcconfig"; sourceTree = ""; }; + C55E95D7095124BDD8B73E09 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + C7A55C19D5B55EB6B317ED24 /* Pods-Runner.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig"; sourceTree = ""; }; + DCC7808F8209E128F0D6B4AD /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E34090814D405F121E9A6759 /* Pods-Runner.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-prod.xcconfig"; sourceTree = ""; }; + E69AAA5C667B54983322C7AC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FBA57C4A215CE436D3A5EA38 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B21B0C600FD5D39CA7A5507F /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C5799E47608868A3F1D01B38 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0E202B030DE269A919FFC0D2 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 49022AAEDDB78EBADB744BBD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3D07ADB00A9AA96DA4F977EF /* Pods_Runner.framework */, + E69AAA5C667B54983322C7AC /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 4CE36354F3B938D708BA09DD /* Pods */ = { + isa = PBXGroup; + children = ( + C55E95D7095124BDD8B73E09 /* Pods-Runner.debug.xcconfig */, + A94BB3488A3BD82FAF50589E /* Pods-Runner.release.xcconfig */, + A6FE6D7F169B2770774E2C97 /* Pods-Runner.profile.xcconfig */, + 21C50317D410F6A21F5E6C2B /* Pods-RunnerTests.debug.xcconfig */, + FBA57C4A215CE436D3A5EA38 /* Pods-RunnerTests.release.xcconfig */, + AF641B21EDE66D2176CD9528 /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 6C2A9A7C9A2827B6C698C0E8 /* Pods */ = { + isa = PBXGroup; + children = ( + 019936F5E5071DEB07C51262 /* Pods-Runner.debug.xcconfig */, + 2EC67AFC5F0D41EEC13C83ED /* Pods-Runner.release.xcconfig */, + 68FA9BA299E3DF9B5BC647F2 /* Pods-Runner.profile.xcconfig */, + 71B7DB58D9DDF0A0E7CFD30D /* Pods-RunnerTests.debug.xcconfig */, + 319BADC0C0DA86337FD21955 /* Pods-RunnerTests.release.xcconfig */, + 311D6165B9778BBBD9640547 /* Pods-RunnerTests.profile.xcconfig */, + E34090814D405F121E9A6759 /* Pods-Runner.debug-prod.xcconfig */, + 2C1CC963CD6DE2067A459F89 /* Pods-Runner.debug-dev.xcconfig */, + C7A55C19D5B55EB6B317ED24 /* Pods-Runner.release-prod.xcconfig */, + 40047AE269FC6A30FDA27B51 /* Pods-Runner.release-dev.xcconfig */, + 44D7E74AD297CD0475D8032A /* Pods-Runner.profile-prod.xcconfig */, + 7E61F543F47D7A473A838524 /* Pods-Runner.profile-dev.xcconfig */, + 5872FDC601CC2D4D9BFDA8B9 /* Pods-RunnerTests.debug-prod.xcconfig */, + 6052F75B3733BCF63265D19A /* Pods-RunnerTests.debug-dev.xcconfig */, + 221580538DD28237A9B6B917 /* Pods-RunnerTests.release-prod.xcconfig */, + 80A828942D8E071B3D5B9AE2 /* Pods-RunnerTests.release-dev.xcconfig */, + 9037CFB4787ADCC2DCCD4954 /* Pods-RunnerTests.profile-prod.xcconfig */, + B64E4BE3B75D5115AEA7BB6E /* Pods-RunnerTests.profile-dev.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 8BBA6BE12D3FC8B500FDA749 /* dev */ = { + isa = PBXGroup; + children = ( + 8BBA6BE02D3FC8B500FDA749 /* GoogleService-Info.plist */, + ); + path = dev; + sourceTree = ""; + }; + 8BBA6BE32D3FC8B500FDA749 /* prod */ = { + isa = PBXGroup; + children = ( + 8BBA6BEB2D3FCC5000FDA749 /* GoogleService-Info.plist */, + ); + path = prod; + sourceTree = ""; + }; + 8BBA6BE42D3FC8B500FDA749 /* config */ = { + isa = PBXGroup; + children = ( + 8BBA6BE12D3FC8B500FDA749 /* dev */, + 8BBA6BE32D3FC8B500FDA749 /* prod */, + ); + path = config; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 8BBA6BE42D3FC8B500FDA749 /* config */, + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + 6C2A9A7C9A2827B6C698C0E8 /* Pods */, + BC6DF4C2B0574B2AB725B031 /* Frameworks */, + 4CE36354F3B938D708BA09DD /* Pods */, + 49022AAEDDB78EBADB744BBD /* Frameworks */, + 8BBA6BE92D3FCC3000FDA749 /* GoogleService-Info.plist */, + 735B776C5DDCF483812D81D2 /* GoogleService-Info.plist */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 8BA9DB642D7786E000292546 /* RunnerDebug-prod.entitlements */, + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + 8BA9DB622D77867F00292546 /* PrivacyInfo.xcprivacy */, + ); + path = Runner; + sourceTree = ""; + }; + BC6DF4C2B0574B2AB725B031 /* Frameworks */ = { + isa = PBXGroup; + children = ( + DCC7808F8209E128F0D6B4AD /* Pods_Runner.framework */, + 1A35D95C39A234CDD8A30EBA /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 9C826E4BAFC3CBD10BCF03F6 /* [CP] Check Pods Manifest.lock */, + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + C5799E47608868A3F1D01B38 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 647A587E0D9E0C34CAFC0826 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 8BBA6BE72D3FC8D400FDA749 /* copy googleservices */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + E648481602389E2D8F8AC745 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 8BA9DB632D77867F00292546 /* PrivacyInfo.xcprivacy in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + DD37DC97741956FA026AEED9 /* GoogleService-Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 647A587E0D9E0C34CAFC0826 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 8BBA6BE72D3FC8D400FDA749 /* copy googleservices */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "copy googleservices"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "environment=\"default\"\n\n# Regex to extract the scheme name from the Build Configuration\n# We have named our Build Configurations as Debug-dev, Debug-prod etc.\n# Here, dev and prod are the scheme names. This kind of naming is required by Flutter for flavors to work.\n# We are using the $CONFIGURATION variable available in the XCode build environment to extract \n# the environment (or flavor)\n# For eg.\n# If CONFIGURATION=\"Debug-prod\", then environment will get set to \"prod\".\nif [[ $CONFIGURATION =~ -([^-]*)$ ]]; then\nenvironment=${BASH_REMATCH[1]}\nfi\n\necho $environment\n\n# Name and path of the resource we're copying\nGOOGLESERVICE_INFO_PLIST=GoogleService-Info.plist\nGOOGLESERVICE_INFO_FILE=${PROJECT_DIR}/config/${environment}/${GOOGLESERVICE_INFO_PLIST}\n\n# Make sure GoogleService-Info.plist exists\necho \"Looking for ${GOOGLESERVICE_INFO_PLIST} in ${GOOGLESERVICE_INFO_FILE}\"\nif [ ! -f $GOOGLESERVICE_INFO_FILE ]\nthen\necho \"No GoogleService-Info.plist found. Please ensure it's in the proper directory.\"\nexit 1\nfi\n\n# Get a reference to the destination location for the GoogleService-Info.plist\n# This is the default location where Firebase init code expects to find GoogleServices-Info.plist file\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho \"Will copy ${GOOGLESERVICE_INFO_PLIST} to final destination: ${PLIST_DESTINATION}\"\n\n# Copy over the prod GoogleService-Info.plist for Release builds\ncp \"${GOOGLESERVICE_INFO_FILE}\" \"${PLIST_DESTINATION}\"\n"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; + }; + 9C826E4BAFC3CBD10BCF03F6 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + E648481602389E2D8F8AC745 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-prod"; + }; + 249021D4217E4FDB00AE95B9 /* Profile-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-prod"; + }; + 331C8088294A63A400263BE5 /* Debug-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5872FDC601CC2D4D9BFDA8B9 /* Pods-RunnerTests.debug-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-prod"; + }; + 331C8089294A63A400263BE5 /* Release-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 221580538DD28237A9B6B917 /* Pods-RunnerTests.release-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-prod"; + }; + 331C808A294A63A400263BE5 /* Profile-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9037CFB4787ADCC2DCCD4954 /* Pods-RunnerTests.profile-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-prod"; + }; + 8BBA6BD72D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-dev"; + }; + 8BBA6BD82D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-dev"; + }; + 8BBA6BD92D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6052F75B3733BCF63265D19A /* Pods-RunnerTests.debug-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-dev"; + }; + 8BBA6BDA2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-dev"; + }; + 8BBA6BDB2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-dev"; + }; + 8BBA6BDC2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 80A828942D8E071B3D5B9AE2 /* Pods-RunnerTests.release-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-dev"; + }; + 8BBA6BDD2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-dev"; + }; + 8BBA6BDE2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-dev"; + }; + 8BBA6BDF2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B64E4BE3B75D5115AEA7BB6E /* Pods-RunnerTests.profile-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-dev"; + }; + 97C147031CF9000F007C117D /* Debug-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-prod"; + }; + 97C147041CF9000F007C117D /* Release-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-prod"; + }; + 97C147061CF9000F007C117D /* Debug-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = "Runner/RunnerDebug-prod.entitlements"; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-prod"; + }; + 97C147071CF9000F007C117D /* Release-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-prod"; + }; + BC747CC92ECC2EAF00D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-staging"; + }; + BC747CCA2ECC2EAF00D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-staging"; + }; + BC747CCB2ECC2EAF00D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6052F75B3733BCF63265D19A /* Pods-RunnerTests.debug-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-staging"; + }; + BC747CCC2ECC2EB900D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-staging"; + }; + BC747CCD2ECC2EB900D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-staging"; + }; + BC747CCE2ECC2EB900D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B64E4BE3B75D5115AEA7BB6E /* Pods-RunnerTests.profile-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-staging"; + }; + BC747CCF2ECC2EC000D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-staging"; + }; + BC747CD02ECC2EC000D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + APP_DISPLAY_NAME = "Krow Business staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 116; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-staging"; + }; + BC747CD12ECC2EC000D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 80A828942D8E071B3D5B9AE2 /* Pods-RunnerTests.release-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 116; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.business.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-staging"; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug-prod */, + 8BBA6BD92D3FC5E600FDA749 /* Debug-dev */, + BC747CCB2ECC2EAF00D4AE69 /* Debug-staging */, + 331C8089294A63A400263BE5 /* Release-prod */, + 8BBA6BDC2D3FC5F100FDA749 /* Release-dev */, + BC747CD12ECC2EC000D4AE69 /* Release-staging */, + 331C808A294A63A400263BE5 /* Profile-prod */, + 8BBA6BDF2D3FC5F900FDA749 /* Profile-dev */, + BC747CCE2ECC2EB900D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug-prod */, + 8BBA6BD72D3FC5E600FDA749 /* Debug-dev */, + BC747CC92ECC2EAF00D4AE69 /* Debug-staging */, + 97C147041CF9000F007C117D /* Release-prod */, + 8BBA6BDA2D3FC5F100FDA749 /* Release-dev */, + BC747CCF2ECC2EC000D4AE69 /* Release-staging */, + 249021D3217E4FDB00AE95B9 /* Profile-prod */, + 8BBA6BDD2D3FC5F900FDA749 /* Profile-dev */, + BC747CCC2ECC2EB900D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug-prod */, + 8BBA6BD82D3FC5E600FDA749 /* Debug-dev */, + BC747CCA2ECC2EAF00D4AE69 /* Debug-staging */, + 97C147071CF9000F007C117D /* Release-prod */, + 8BBA6BDB2D3FC5F100FDA749 /* Release-dev */, + BC747CD02ECC2EC000D4AE69 /* Release-staging */, + 249021D4217E4FDB00AE95B9 /* Profile-prod */, + 8BBA6BDE2D3FC5F900FDA749 /* Profile-dev */, + BC747CCD2ECC2EB900D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme new file mode 100644 index 00000000..b2261c59 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme new file mode 100644 index 00000000..9f3aca98 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme new file mode 100644 index 00000000..3a03ae05 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner.xcworkspace/contents.xcworkspacedata b/mobile-apps/client-app/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..21a3cc14 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/mobile-apps/client-app/ios/Runner/AppDelegate.swift b/mobile-apps/client-app/ios/Runner/AppDelegate.swift new file mode 100644 index 00000000..6816e03f --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/AppDelegate.swift @@ -0,0 +1,14 @@ +import Flutter +import UIKit + + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d0d98aa1 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1 @@ +{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}} \ No newline at end of file diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 00000000..d0e33935 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 00000000..c7df9ee5 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 00000000..d7837429 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 00000000..7b90a096 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 00000000..77ea8ae1 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 00000000..8d2c1ab0 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 00000000..096e0c97 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 00000000..d7837429 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 00000000..65900f5b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 00000000..eb73d40b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 00000000..acd25220 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 00000000..b876168c Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 00000000..bd510694 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 00000000..47ef28c6 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 00000000..eb73d40b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 00000000..7de91503 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 00000000..ecc091c1 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 00000000..5f61c747 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 00000000..dd66582e Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 00000000..acc8c818 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 00000000..2551480b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json new file mode 100644 index 00000000..32e7fc49 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json @@ -0,0 +1,158 @@ +{ + "images" : [ + { + "filename" : "Icon-App-20x20@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-App-20x20@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "Icon-App-29x29@1x.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "Icon-App-29x29@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-App-29x29@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-App-40x40@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-App-40x40@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "Icon-App-57x57@1x.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "filename" : "Icon-App-57x57@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "Icon-App-60x60@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "Icon-App-60x60@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "Icon-App-20x20@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "Icon-App-20x20@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-App-29x29@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "Icon-App-29x29@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-App-40x40@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "Icon-App-40x40@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-App-50x50@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "filename" : "Icon-App-50x50@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "filename" : "Icon-App-72x72@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "filename" : "Icon-App-72x72@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "filename" : "Icon-App-76x76@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "Icon-App-76x76@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-App-83.5x83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "Icon-App-1024x1024@1x.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-1024x1024@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 00000000..d0e33935 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 00000000..c7df9ee5 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 00000000..d7837429 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 00000000..7b90a096 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-20x20@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 00000000..77ea8ae1 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 00000000..8d2c1ab0 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 00000000..096e0c97 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-29x29@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 00000000..d7837429 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 00000000..65900f5b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 00000000..eb73d40b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-40x40@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 00000000..acd25220 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 00000000..b876168c Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-50x50@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 00000000..bd510694 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 00000000..47ef28c6 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-57x57@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 00000000..eb73d40b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@3x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 00000000..7de91503 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-60x60@3x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 00000000..ecc091c1 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 00000000..5f61c747 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-72x72@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@1x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 00000000..dd66582e Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@1x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 00000000..acc8c818 Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-76x76@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-83.5x83.5@2x.png b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 00000000..2551480b Binary files /dev/null and b/mobile-apps/client-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/mobile-apps/client-app/ios/Runner/Assets.xcassets/Contents.json b/mobile-apps/client-app/ios/Runner/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/mobile-apps/client-app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mobile-apps/client-app/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..f2e259c7 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner/Base.lproj/Main.storyboard b/mobile-apps/client-app/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 00000000..f3c28516 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/client-app/ios/Runner/Info.plist b/mobile-apps/client-app/ios/Runner/Info.plist new file mode 100644 index 00000000..58196c49 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Info.plist @@ -0,0 +1,99 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + $(APP_DISPLAY_NAME) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(APP_DISPLAY_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.36 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + krowclient + CFBundleURLSchemes + + krowclien + + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-f559575980734cec24820a + CFBundleURLSchemes + + app-1-14482748607-ios-f559575980734cec24820a + + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-c410fc4b165d205524820a + CFBundleURLSchemes + + app-1-14482748607-ios-c410fc4b165d205524820a + + + + CFBundleVersion + 116 + ITSAppUsesNonExemptEncryption + + LSRequiresIPhoneOS + + NSCameraUsageDescription + We need access to your camera to take photos. + NSLocationAlwaysAndWhenInUseUsageDescription + This app uses access to location in order to check if the user is in range of an ongoing work event.. + NSLocationWhenInUseUsageDescription + This app uses access to location in order to check if the user is in range of an ongoing work event.. + NSPhotoLibraryAddUsageDescription + We need access to save photos to your library. + NSPhotoLibraryUsageDescription + We need access to your photo library to select images. + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + remote-notification + fetch + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/mobile-apps/client-app/ios/Runner/PrivacyInfo.xcprivacy b/mobile-apps/client-app/ios/Runner/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..b3724f8d --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/PrivacyInfo.xcprivacy @@ -0,0 +1,13 @@ + + + + + NSPrivacyAccessedAPICategories + + + NSPrivacyAccessedAPICategory + Networking + + + + diff --git a/mobile-apps/client-app/ios/Runner/Runner-Bridging-Header.h b/mobile-apps/client-app/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 00000000..308a2a56 --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/mobile-apps/client-app/ios/Runner/RunnerDebug-prod.entitlements b/mobile-apps/client-app/ios/Runner/RunnerDebug-prod.entitlements new file mode 100644 index 00000000..903def2a --- /dev/null +++ b/mobile-apps/client-app/ios/Runner/RunnerDebug-prod.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/mobile-apps/client-app/ios/RunnerTests/RunnerTests.swift b/mobile-apps/client-app/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..86a7c3b1 --- /dev/null +++ b/mobile-apps/client-app/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/build-request.json b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/description.msgpack b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/description.msgpack new file mode 100644 index 00000000..78734f5a Binary files /dev/null and b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/manifest.json b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/target-graph.txt b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/task-store.msgpack b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/client-app/ios/build/XCBuildData/c38cb950fc5d623144b189294fae9bda.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/build-request.json b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/description.msgpack b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/description.msgpack new file mode 100644 index 00000000..c52c8198 Binary files /dev/null and b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/manifest.json b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/target-graph.txt b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/task-store.msgpack b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/client-app/ios/build/XCBuildData/e41f867aecc8f6ceacde111e21666110.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/client-app/ios/config/dev/GoogleService-Info.plist b/mobile-apps/client-app/ios/config/dev/GoogleService-Info.plist new file mode 100644 index 00000000..73088f6b --- /dev/null +++ b/mobile-apps/client-app/ios/config/dev/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.business.dev + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:7522d458ddbd6bb324820a + + diff --git a/mobile-apps/client-app/ios/config/prod/GoogleService-Info.plist b/mobile-apps/client-app/ios/config/prod/GoogleService-Info.plist new file mode 100644 index 00000000..28642152 --- /dev/null +++ b/mobile-apps/client-app/ios/config/prod/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.business + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:23efdd0f0caf648124820a + + diff --git a/mobile-apps/client-app/ios/flavors/dev/GoogleService-Info.plist b/mobile-apps/client-app/ios/flavors/dev/GoogleService-Info.plist new file mode 100644 index 00000000..2ce0cdf0 --- /dev/null +++ b/mobile-apps/client-app/ios/flavors/dev/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 933560802882-ml2526jqnnsteent4i9li50c00hisoge.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.933560802882-ml2526jqnnsteent4i9li50c00hisoge + API_KEY + AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA + GCM_SENDER_ID + 933560802882 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.business.dev + PROJECT_ID + krow-workforce-dev + STORAGE_BUCKET + krow-workforce-dev.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:933560802882:ios:7f0632ecbeff8f027757db + + \ No newline at end of file diff --git a/mobile-apps/client-app/ios/flavors/staging/GoogleService-Info.plist b/mobile-apps/client-app/ios/flavors/staging/GoogleService-Info.plist new file mode 100644 index 00000000..bb3d3f99 --- /dev/null +++ b/mobile-apps/client-app/ios/flavors/staging/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY + GCM_SENDER_ID + 1032971403708 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.business.staging + PROJECT_ID + krow-workforce-staging + STORAGE_BUCKET + krow-workforce-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:1032971403708:ios:b1a21a7337a268b3356bb9 + + \ No newline at end of file diff --git a/mobile-apps/client-app/lib/app.dart b/mobile-apps/client-app/lib/app.dart new file mode 100644 index 00000000..23a4a023 --- /dev/null +++ b/mobile-apps/client-app/lib/app.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/application/routing/routes.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +final appRouter = AppRouter(); + +class KrowApp extends StatelessWidget { + const KrowApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp.router( + routerConfig: appRouter.config( + deepLinkBuilder: (l) => appRouter.deepLinkBuilder(l)), + theme: KWTheme.lightTheme, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/application/clients/api/api_client.dart b/mobile-apps/client-app/lib/core/application/clients/api/api_client.dart new file mode 100644 index 00000000..3361cd13 --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/clients/api/api_client.dart @@ -0,0 +1,87 @@ +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:path_provider/path_provider.dart'; +class GraphQLConfig { + static HttpLink httpLink = HttpLink( + dotenv.env['BASE_URL']!, + defaultHeaders: { + 'Content-Type': 'application/json', + }, + ); + static AuthLink authLink = AuthLink( + getToken: () async { + User? user = FirebaseAuth.instance.currentUser; + if (user != null) { + return 'Bearer ${await user.getIdToken()}'; + } + return null; + }, + ); + + static Link link = authLink.concat(httpLink); + + Future configClient() async { + var path = await getApplicationDocumentsDirectory(); + final store = await HiveStore.open(path: '${path.path}/gql_cache'); + + return GraphQLClient( + link: link, + cache: GraphQLCache(store: store, ), + defaultPolicies: DefaultPolicies( + mutate: Policies( + cacheReread: CacheRereadPolicy.ignoreOptimisitic, + error: ErrorPolicy.all, + fetch: FetchPolicy.networkOnly, + ), + query: Policies( + cacheReread: CacheRereadPolicy.ignoreOptimisitic, + error: ErrorPolicy.all, + fetch: FetchPolicy.networkOnly, + ), + )); + } +} + +@Singleton() +class ApiClient { + static final GraphQLConfig _graphQLConfig = GraphQLConfig(); + final Future _client = _graphQLConfig.configClient(); + + Future query( + {required String schema, Map? body}) async { + final QueryOptions options = QueryOptions( + document: gql(schema), + variables: body ?? {}, + ); + return (await _client).query(options).timeout(Duration(seconds: 30)); + } + + Stream queryWithCache({ + required String schema, + Map? body, + }) async* { + final WatchQueryOptions options = WatchQueryOptions( + document: gql(schema), + variables: body ?? {}, + fetchPolicy: FetchPolicy.cacheAndNetwork); + + var result = (await _client).watchQuery(options).fetchResults(); + yield result.eagerResult; + yield await result.networkResult; + } + + Future mutate( + {required String schema, Map? body}) async { + final MutationOptions options = MutationOptions( + document: gql(schema), + variables: body ?? {}, + ); + return (await _client).mutate(options); + } + + void dropCache() async { + (await _client).cache.store.reset(); + } +} diff --git a/mobile-apps/client-app/lib/core/application/clients/api/api_exception.dart b/mobile-apps/client-app/lib/core/application/clients/api/api_exception.dart new file mode 100644 index 00000000..f3145082 --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/clients/api/api_exception.dart @@ -0,0 +1,54 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; + +interface class DisplayableException { + final String message; + + DisplayableException(this.message); +} + +class NetworkException implements Exception, DisplayableException { + @override + final String message; + + NetworkException([this.message = 'No internet connection']); + + @override + String toString() { + return message; + } +} + +class GraphQLException implements Exception, DisplayableException { + @override + final String message; + + GraphQLException(this.message); + + @override + String toString() { + return message; + } +} + +class UnknownException implements Exception, DisplayableException { + @override + final String message; + + UnknownException([this.message = 'Something went wrong']); + + @override + String toString() { + return message; + } +} + +Exception parseBackendError(dynamic error) { + if (error is OperationException) { + if (error.graphqlErrors.isNotEmpty) { + return GraphQLException( + error.graphqlErrors.firstOrNull?.message ?? 'GraphQL error occurred'); + } + return NetworkException('Network error occurred'); + } + return UnknownException(); +} diff --git a/mobile-apps/client-app/lib/core/application/common/int_extensions.dart b/mobile-apps/client-app/lib/core/application/common/int_extensions.dart new file mode 100644 index 00000000..0cfeeddc --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/int_extensions.dart @@ -0,0 +1,27 @@ +extension IntExtensions on int { + String toOrdinal() { + if (this >= 11 && this <= 13) { + return '${this}th'; + } + switch (this % 10) { + case 1: + return '${this}st'; + case 2: + return '${this}nd'; + case 3: + return '${this}rd'; + default: + return '${this}th'; + } + } + + String getWeekdayId() => switch (this) { + 0 => 'Monday', + 1 => 'Tuesday', + 2 => 'Wednesday', + 3 => 'Thursday', + 4 => 'Friday', + 5 => 'Saturday', + _ => 'Sunday', + }; +} diff --git a/mobile-apps/client-app/lib/core/application/common/logger.dart b/mobile-apps/client-app/lib/core/application/common/logger.dart new file mode 100644 index 00000000..be758731 --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/logger.dart @@ -0,0 +1,27 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; + +class Logger { + static void error(e, {String? message}) { + log( + e.toString(), + error: message ?? e, + level: 2000, + stackTrace: StackTrace.current, + name: 'ERROR', + ); + } + + static debug(dynamic msg, {String? message}) { + if (kDebugMode) { + log( + msg.toString(), + name: message ?? msg.runtimeType.toString(), + ); + } + } +} + +const error = Logger.error; +const debug = Logger.debug; diff --git a/mobile-apps/client-app/lib/core/application/common/str_extensions.dart b/mobile-apps/client-app/lib/core/application/common/str_extensions.dart new file mode 100644 index 00000000..4ce5caee --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/str_extensions.dart @@ -0,0 +1,6 @@ +extension StringExtensions on String { + String capitalize() { + if (isEmpty) return this; + return this[0].toUpperCase() + substring(1).toLowerCase(); + } +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart b/mobile-apps/client-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart new file mode 100644 index 00000000..2abdf229 --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart @@ -0,0 +1,36 @@ +import 'package:flutter/services.dart'; + +class DateTextFormatter extends TextInputFormatter { + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue) { + if (oldValue.text.length >= newValue.text.length) { + return newValue; + } + + String filteredText = newValue.text.replaceAll(RegExp(r'[^0-9.]'), ''); + + var dateText = _addSeparators(filteredText, '.'); + return newValue.copyWith( + text: dateText, selection: updateCursorPosition(dateText)); + } + + String _addSeparators(String value, String separator) { + value = value.replaceAll('.', ''); + var newString = ''; + for (int i = 0; i < value.length; i++) { + newString += value[i]; + if (i == 1) { + newString += separator; + } + if (i == 3) { + newString += separator; + } + } + return newString; + } + + TextSelection updateCursorPosition(String text) { + return TextSelection.fromPosition(TextPosition(offset: text.length)); + } +} diff --git a/mobile-apps/client-app/lib/core/application/common/validators/email_validator.dart b/mobile-apps/client-app/lib/core/application/common/validators/email_validator.dart new file mode 100644 index 00000000..bfea557b --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/validators/email_validator.dart @@ -0,0 +1,15 @@ +abstract class EmailValidator { + static String? validate(String? email, {bool isRequired = true}) { + // Regular expression for validating emails + final RegExp phoneRegExp = RegExp( + r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', + ); + + if (isRequired && (email == null || email.isEmpty)) { + return 'Email is required'; + } else if (email != null && !phoneRegExp.hasMatch(email)) { + return 'Invalid email'; + } + return null; + } +} diff --git a/mobile-apps/client-app/lib/core/application/common/validators/phone_validator.dart b/mobile-apps/client-app/lib/core/application/common/validators/phone_validator.dart new file mode 100644 index 00000000..5017d2eb --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/validators/phone_validator.dart @@ -0,0 +1,13 @@ +abstract class PhoneValidator { + static String? validate(String? phoneNumber, {bool isRequired = true}) { + // Regular expression for validating phone numbers + final RegExp phoneRegExp = RegExp(r'^\+?[1-9]\d{1,14}$'); + + if (isRequired && (phoneNumber==null || phoneNumber.isEmpty)) { + return 'Phone number is required'; + } else if (phoneNumber !=null && !phoneRegExp.hasMatch(phoneNumber)) { + return 'Invalid phone number'; + } + return null; + } +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/application/common/validators/skill_exp_validator.dart b/mobile-apps/client-app/lib/core/application/common/validators/skill_exp_validator.dart new file mode 100644 index 00000000..decc6407 --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/common/validators/skill_exp_validator.dart @@ -0,0 +1,19 @@ +class SkillExpValidator { + SkillExpValidator._(); + + static String? validate(String value) { + if (value.isEmpty) { + return 'Experience is required'; + } + var parsed = int.tryParse(value); + if (value.isNotEmpty && parsed == null) { + return 'Experience must be a number'; + } + + if (value.isNotEmpty && parsed! > 20 || parsed! < 1) { + return 'Experience must be between 1 and 20'; + } + + return null; + } +} diff --git a/mobile-apps/client-app/lib/core/application/di/injectable.dart b/mobile-apps/client-app/lib/core/application/di/injectable.dart new file mode 100644 index 00000000..ba8956fa --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/di/injectable.dart @@ -0,0 +1,9 @@ +import 'package:get_it/get_it.dart'; +import 'package:injectable/injectable.dart'; + +import 'injectable.config.dart'; + +final getIt = GetIt.instance; + +@InjectableInit() +void configureDependencies(String env) => GetIt.instance.init(environment: env); diff --git a/mobile-apps/client-app/lib/core/application/routing/guards.dart b/mobile-apps/client-app/lib/core/application/routing/guards.dart new file mode 100644 index 00000000..6bac3f5b --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/routing/guards.dart @@ -0,0 +1,41 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/foundation.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; + +class SplashRedirectGuard extends AutoRouteGuard { + final AuthService authService; + + SplashRedirectGuard(this.authService); + + @override + Future onNavigation( + NavigationResolver resolver, StackRouter router) async { + final status = await authService.getAuthStatus(); + switch (status) { + case AuthStatus.authenticated: + router.replace(const HomeRoute()); + break; + case AuthStatus.adminValidation: + // router.replace(const WaitingValidationRoute()); + break; + case AuthStatus.prepareProfile: + if(kDebugMode) { + // router.replace(const HomeRoute()); + }else { + // router.replace(const CheckListFlowRoute()); + } + break; + case AuthStatus.unauthenticated: + // router.replace(const HomeRoute()); + router.replace( const SignInFlowRoute()); + break; + case AuthStatus.error: + //todo(Artem):show error screen + router.replace( const SignInFlowRoute()); + } + + // resolver.next(false); + // resolver.next(true); + } +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/application/routing/routes.dart b/mobile-apps/client-app/lib/core/application/routing/routes.dart new file mode 100644 index 00000000..2842f4da --- /dev/null +++ b/mobile-apps/client-app/lib/core/application/routing/routes.dart @@ -0,0 +1,122 @@ +import 'dart:async'; + +import 'package:auto_route/auto_route.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/guards.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; + +@AutoRouterConfig( + replaceInRouteName: 'Screen|Page,Route', +) +class AppRouter extends RootStackRouter { + @override + RouteType get defaultRouteType => const RouteType.material(); + + Future deepLinkBuilder(PlatformDeepLink deepLink) async { + final uri = deepLink.uri; + if (uri.queryParameters.containsKey('oobCode')) { + final code = uri.queryParameters['oobCode']; + popUntil((route) => false); + return DeepLink([ + const WelcomeRoute(), + const SignInRoute(), + EnterNewPassRoute(code: code), + ]); + } + return deepLink; + } + + @override + List get routes => [ + AdaptiveRoute( + path: '/', + page: SplashRoute.page, + initial: true, + guards: [SplashRedirectGuard(getIt())], + ), + createEventFlow, + authFlow, + homeFlow, + ]; + + get authFlow => AdaptiveRoute( + path: '/auth', + page: SignInFlowRoute.page, + children: [ + AutoRoute(path: 'welcome', page: WelcomeRoute.page, initial: true), + AutoRoute( + path: 'sign_in', + page: SignInRoute.page, + ), + AutoRoute( + path: 'reset_pass', + page: ResetPassRoute.page, + ), + AutoRoute( + path: 'pass', + page: EnterNewPassRoute.page, + ), + ], + ); + + get createEventFlow => + AutoRoute(path: '/create', page: CreateEventFlowRoute.page, children: [ + AutoRoute(path: 'edit', page: CreateEventRoute.page, initial: true), + AutoRoute( + path: 'preview', + page: EventDetailsRoute.page, + ), + ]); + + get homeFlow => AdaptiveRoute( + path: '/home', + page: HomeRoute.page, + children: [eventsFlow, invoiceFlow, notificationsFlow, profileFlow]); + + get eventsFlow => + AdaptiveRoute(path: 'events', page: EventsFlowRoute.page, children: [ + AutoRoute(path: 'list', page: EventsListMainRoute.page, initial: true), + AutoRoute(path: 'details', page: EventDetailsRoute.page), + AutoRoute(path: 'assigned', page: AssignedStaffRoute.page), + AutoRoute(path: 'assigned_manual', page: ClockManualRoute.page), + AutoRoute(path: 'rate_staff', page: RateStaffRoute.page), + ]); + + get invoiceFlow => + AdaptiveRoute(path: 'invoice', page: InvoiceFlowRoute.page, children: [ + AutoRoute( + path: 'list', page: InvoicesListMainRoute.page, initial: true), + AutoRoute( + path: 'details', page: InvoiceDetailsRoute.page), + AutoRoute( + path: 'event', + page: EventDetailsRoute.page, + ), + ]); + + get notificationsFlow => AdaptiveRoute( + path: 'notifications', + page: NotificationFlowRoute.page, + children: [ + AutoRoute( + path: 'list', page: NotificationsListRoute.page, initial: true), + AutoRoute( + path: 'details', + page: NotificationDetailsRoute.page, + ), + ]); + + get profileFlow => + AdaptiveRoute(path: 'profile', page: ProfileFlowRoute.page, children: [ + AutoRoute( + path: 'preview', page: ProfilePreviewRoute.page, initial: true), + AutoRoute( + path: 'edit', + page: PersonalInfoRoute.page, + ), + ]); + + @override + List get guards => []; +} diff --git a/mobile-apps/client-app/lib/core/data/enums/staff_skill_enums.dart b/mobile-apps/client-app/lib/core/data/enums/staff_skill_enums.dart new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/client-app/lib/core/data/enums/state_status.dart b/mobile-apps/client-app/lib/core/data/enums/state_status.dart new file mode 100644 index 00000000..c231abea --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/enums/state_status.dart @@ -0,0 +1,6 @@ +enum StateStatus { + idle, + loading, + error, + success, +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/data/models/client/client.dart b/mobile-apps/client-app/lib/core/data/models/client/client.dart new file mode 100644 index 00000000..7cdbab10 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/client/client.dart @@ -0,0 +1,28 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; + +part 'client.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class ClientModel { + String id; + String firstName; + String lastName; + String? avatar; + + AuthInfo? authInfo; + + ClientModel( + this.firstName, + this.lastName, + this.avatar, + this.id, + this.authInfo, + ); + + factory ClientModel.fromJson(Map json) { + return _$ClientModelFromJson(json); + } + + Map toJson() => _$ClientModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/addon_model.dart b/mobile-apps/client-app/lib/core/data/models/event/addon_model.dart new file mode 100644 index 00000000..e7c6cb4f --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/addon_model.dart @@ -0,0 +1,28 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'addon_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class AddonModel { + String id; + String? name; + int? price; + + AddonModel({required this.id, this.name, this.price}); + + factory AddonModel.fromJson(Map json) { + return _$AddonModelFromJson(json); + } + + Map toJson() => _$AddonModelToJson(this); + + @override + int get hashCode => id.hashCode ^ name.hashCode ^ price.hashCode; + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other is! AddonModel) return false; + return id == other.id && name == other.name && price == other.price; + } +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/business_contact_model.dart b/mobile-apps/client-app/lib/core/data/models/event/business_contact_model.dart new file mode 100644 index 00000000..bc4e59c7 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/business_contact_model.dart @@ -0,0 +1,29 @@ + +import 'package:json_annotation/json_annotation.dart'; + +part 'business_contact_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BusinessContactModel{ + final String id; + final String? firstName; + final String? lastName; + final String? email; + final String? phone; + final String? address; + + BusinessContactModel({ + required this.id, + this.firstName, + this.lastName, + this.email, + this.phone, + this.address, + }); + + factory BusinessContactModel.fromJson(Map json) { + return _$BusinessContactModelFromJson(json); + } + + Map toJson() => _$BusinessContactModelToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/data/models/event/business_member_model.dart b/mobile-apps/client-app/lib/core/data/models/event/business_member_model.dart new file mode 100644 index 00000000..c637c24e --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/business_member_model.dart @@ -0,0 +1,43 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'business_member_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BusinessMemberModel { + final String id; + final String firstName; + final String lastName; + final String title; + final AuthInfo? authInfo; + + BusinessMemberModel({ + required this.id, + required this.firstName, + required this.lastName, + required this.title, + this.authInfo, + }); + + factory BusinessMemberModel.fromJson(Map json) { + return _$BusinessMemberModelFromJson(json); + } + + Map toJson() => _$BusinessMemberModelToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class AuthInfo { + final String email; + final String phone; + + AuthInfo({ + required this.email, + required this.phone, + }); + + factory AuthInfo.fromJson(Map json) { + return _$AuthInfoFromJson(json); + } + + Map toJson() => _$AuthInfoToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/business_model.dart b/mobile-apps/client-app/lib/core/data/models/event/business_model.dart new file mode 100644 index 00000000..f127d723 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/business_model.dart @@ -0,0 +1,22 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_contact_model.dart'; + +part 'business_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BusinessModel { + String? name; + String? avatar; + String? registration; + List? addons; + BusinessContactModel? contact; + + BusinessModel({this.name, this.avatar, this.addons, this.registration, this.contact}); + + factory BusinessModel.fromJson(Map json) { + return _$BusinessModelFromJson(json); + } + + Map toJson() => _$BusinessModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/event_model.dart b/mobile-apps/client-app/lib/core/data/models/event/event_model.dart new file mode 100644 index 00000000..2083560c --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/event_model.dart @@ -0,0 +1,79 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/data/models/shift/shift_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; + +part 'event_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class EventModel { + final String id; + final BusinessModel? business; + final HubModel? hub; + final String name; + @JsonKey(unknownEnumValue: EventStatus.draft) + final EventStatus status; + final String date; + final String startTime; + final String endTime; + final String? purchaseOrder; + // @JsonKey(unknownEnumValue: EventContractType.direct) + // final EventContractType contractType; + @JsonKey(unknownEnumValue: EventScheduleType.oneTime) + final EventScheduleType? scheduleType; + final String? additionalInfo; + @JsonKey(defaultValue: []) + final List addons; + @JsonKey(defaultValue: []) + final List tags; + @JsonKey(defaultValue: []) + final List shifts; + + EventModel( + {required this.id, + required this.business, + required this.hub, + required this.name, + required this.status, + required this.date, + required this.startTime, + required this.endTime, + required this.purchaseOrder, + // required this.contractType, + required this.scheduleType, + required this.additionalInfo, + required this.addons, + required this.tags, + required this.shifts}); + + factory EventModel.fromJson(Map json) { + return _$EventModelFromJson(json); + } + + Map toJson() => _$EventModelToJson(this); +} + +@JsonEnum(fieldRename: FieldRename.snake) +enum EventContractType { + direct, + contract, + purchaseOrder, +} + +@JsonEnum(fieldRename: FieldRename.snake) +enum EventScheduleType { + oneTime, + recurring, +} + +extension on EventScheduleType { + String get formattedName { + return switch (this) { + EventScheduleType.oneTime => 'One Time', + EventScheduleType.recurring => 'Recurring' + }; + } +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/full_address_model.dart b/mobile-apps/client-app/lib/core/data/models/event/full_address_model.dart new file mode 100644 index 00000000..e231dc07 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/full_address_model.dart @@ -0,0 +1,60 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'full_address_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class FullAddress { + String? streetNumber; + String? zipCode; + double? latitude; + double? longitude; + String? formattedAddress; + String? street; + String? region; + String? city; + String? country; + + FullAddress({ + this.streetNumber, + this.zipCode, + this.latitude, + this.longitude, + this.formattedAddress, + this.street, + this.region, + this.city, + this.country, + }); + + factory FullAddress.fromJson(Map json) { + return _$FullAddressFromJson(json); + } + + Map toJson() => _$FullAddressToJson(this); + + static FullAddress fromGoogle(Map fullAddress) { + return FullAddress( + streetNumber: fullAddress['street_number'], + zipCode: fullAddress['postal_code'], + latitude: fullAddress['lat'], + longitude: fullAddress['lng'], + formattedAddress: fullAddress['formatted_address'], + street: fullAddress['street'], + region: fullAddress['state'], + city: fullAddress['city'], + country: fullAddress['country'], + ); + } + + bool isValid() { + return formattedAddress != null && + latitude != null && + longitude != null && + streetNumber != null && + city != null && + street != null && + region != null && + zipCode != null && + country != null; + } +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/hub_model.dart b/mobile-apps/client-app/lib/core/data/models/event/hub_model.dart new file mode 100644 index 00000000..13c1fe73 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/hub_model.dart @@ -0,0 +1,20 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:krow/core/data/models/event/full_address_model.dart'; + +part 'hub_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class HubModel { + String id; + String? name; + String? address; + FullAddress? fullAddress; + + HubModel({required this.id, this.name, this.address, this.fullAddress}); + + factory HubModel.fromJson(Map json) { + return _$HubModelFromJson(json); + } + + Map toJson() => _$HubModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/role_kit.dart b/mobile-apps/client-app/lib/core/data/models/event/role_kit.dart new file mode 100644 index 00000000..66b58905 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/role_kit.dart @@ -0,0 +1,23 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'role_kit.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class RoleKit { + final String id; + final String? name; + final bool? isRequired; + final bool? photoRequired; + + RoleKit({ + required this.id, + required this.name, + required this.isRequired, + required this.photoRequired, + }); + + factory RoleKit.fromJson(Map json) => + _$RoleKitFromJson(json); + + Map toJson() => _$RoleKitToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/skill.dart b/mobile-apps/client-app/lib/core/data/models/event/skill.dart new file mode 100644 index 00000000..8f459c67 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/skill.dart @@ -0,0 +1,30 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/role_kit.dart'; +import 'package:krow/core/data/models/event/skill_category.dart'; + +part 'skill.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Skill { + final String? id; + final String? name; + final String? slug; + final double? price; + final List? uniforms; + final List? equipments; + final SkillCategory? category; + + Skill({ + required this.id, + required this.name, + required this.slug, + required this.price, + required this.uniforms, + required this.equipments, + this.category, + }); + + factory Skill.fromJson(Map json) => _$SkillFromJson(json); + + Map toJson() => _$SkillToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/skill_category.dart b/mobile-apps/client-app/lib/core/data/models/event/skill_category.dart new file mode 100644 index 00000000..a34a772b --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/skill_category.dart @@ -0,0 +1,19 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'skill_category.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class SkillCategory { + final String name; + final String slug; + + SkillCategory({ + required this.name, + required this.slug, + }); + + factory SkillCategory.fromJson(Map json) => + _$SkillCategoryFromJson(json); + + Map toJson() => _$SkillCategoryToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/event/tag_model.dart b/mobile-apps/client-app/lib/core/data/models/event/tag_model.dart new file mode 100644 index 00000000..8c6c5f32 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/event/tag_model.dart @@ -0,0 +1,34 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'tag_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class TagModel { + String id; + String name; + + TagModel({required this.id, required this.name}); + + factory TagModel.fromJson(Map json) { + return _$TagModelFromJson(json); + } + + Map toJson() => _$TagModelToJson(this); + + @override + String toString() { + return 'TagModel{id: $id, name: $name}'; + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + return other is TagModel && other.id == id && other.name == name; + } + + @override + int get hashCode { + return id.hashCode ^ name.hashCode; + } +} diff --git a/mobile-apps/client-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart b/mobile-apps/client-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart new file mode 100644 index 00000000..aadc468c --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart @@ -0,0 +1,61 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'pagination_wrapper.g.dart'; + +@JsonSerializable() +class PageInfo { + final bool hasNextPage; + final bool? hasPreviousPage; + final String? startCursor; + final String? endCursor; + + PageInfo({ + required this.hasNextPage, + required this.hasPreviousPage, + this.startCursor, + this.endCursor, + }); + + factory PageInfo.fromJson(Map json) { + return _$PageInfoFromJson(json); + } + + Map toJson() => _$PageInfoToJson(this); +} + +class Edge { + final String cursor; + final T node; + + Edge({ + required this.cursor, + required this.node, + }); + + factory Edge.fromJson(Map json) { + return Edge( + cursor: json['cursor'], + node: json['node'], + ); + } +} + +class PaginationWrapper { + final PageInfo pageInfo; + final List> edges; + + PaginationWrapper({ + required this.pageInfo, + required this.edges, + }); + + factory PaginationWrapper.fromJson( + Map json, T Function(Map)? convertor) { + return PaginationWrapper( + pageInfo: PageInfo.fromJson(json['pageInfo']), + edges: (json['edges'] as List).map((e) { + return Edge(cursor: e['cursor'], node: convertor?.call(e['node']) as T); + }).toList(), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/data/models/shift/business_skill_model.dart b/mobile-apps/client-app/lib/core/data/models/shift/business_skill_model.dart new file mode 100644 index 00000000..7543ebdc --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/shift/business_skill_model.dart @@ -0,0 +1,34 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/skill.dart'; + +part 'business_skill_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BusinessSkillModel { + final String? id; + final Skill? skill; + final double? price; + final bool? isActive; + + BusinessSkillModel({ + required this.id, + required this.skill, + this.price = 0, + this.isActive = true, + }); + + factory BusinessSkillModel.fromJson(Map json) { + try { + return _$BusinessSkillModelFromJson(json); + } catch (e) { + return BusinessSkillModel( + id: '', + skill: null, + price: 0.0, + isActive: false, + ); + } + } + + Map toJson() => _$BusinessSkillModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/shift/department_model.dart b/mobile-apps/client-app/lib/core/data/models/shift/department_model.dart new file mode 100644 index 00000000..d699de26 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/shift/department_model.dart @@ -0,0 +1,20 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'department_model.g.dart'; + +@JsonSerializable() +class DepartmentModel { + final String id; + final String name; + + DepartmentModel({ + required this.id, + required this.name, + }); + + factory DepartmentModel.fromJson(Map json) { + return _$DepartmentModelFromJson(json); + } + + Map toJson() => _$DepartmentModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/shift/event_shift_position_model.dart b/mobile-apps/client-app/lib/core/data/models/shift/event_shift_position_model.dart new file mode 100644 index 00000000..da50097b --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/shift/event_shift_position_model.dart @@ -0,0 +1,39 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/core/data/models/staff/staff_model.dart'; + +part 'event_shift_position_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class EventShiftPositionModel { + final String id; + + final int count; + final String startTime; + final String endTime; + final double rate; + @JsonKey(name: 'break') + final int breakTime; + final BusinessSkillModel businessSkill; + final List? staff; + final DepartmentModel? department; + + EventShiftPositionModel({ + required this.id, + required this.count, + required this.startTime, + required this.endTime, + required this.rate, + required this.breakTime, + required this.businessSkill, + required this.staff, + required this.department, + }); + + factory EventShiftPositionModel.fromJson(Map json) { + return _$EventShiftPositionModelFromJson(json); + } + + Map toJson() => _$EventShiftPositionModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/shift/shift_model.dart b/mobile-apps/client-app/lib/core/data/models/shift/shift_model.dart new file mode 100644 index 00000000..1d2a3967 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/shift/shift_model.dart @@ -0,0 +1,29 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/full_address_model.dart'; +import 'package:krow/core/data/models/shift/event_shift_position_model.dart'; + +part 'shift_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class ShiftModel { + final String id; + final String name; + final FullAddress fullAddress; + final List? contacts; + final List? positions; + + ShiftModel({ + required this.id, + required this.name, + required this.fullAddress, + required this.contacts, + required this.positions, + }); + + factory ShiftModel.fromJson(Map json) { + return _$ShiftModelFromJson(json); + } + + Map toJson() => _$ShiftModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/staff/pivot.dart b/mobile-apps/client-app/lib/core/data/models/staff/pivot.dart new file mode 100644 index 00000000..852cb7ab --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/staff/pivot.dart @@ -0,0 +1,99 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/shift/event_shift_position_model.dart'; +import 'package:krow/core/data/models/staff/staff_cancel_reason.dart'; + +part 'pivot.g.dart'; + +@JsonEnum(fieldRename: FieldRename.snake) +enum PivotStatus { + assigned, + confirmed, + ongoing, + completed, + declineByStaff, + canceledByStaff, + canceledByBusiness, + canceledByAdmin, + requestedReplace, + noShowed, + +} + +extension PivotStatusToString on PivotStatus { + String get formattedName { + switch (this) { + case PivotStatus.assigned: + return 'Assigned'; + case PivotStatus.confirmed: + return 'Confirmed'; + case PivotStatus.ongoing: + return 'Ongoing'; + case PivotStatus.completed: + return 'Completed'; + case PivotStatus.declineByStaff: + return 'Declined by Staff'; + case PivotStatus.canceledByStaff: + return 'Canceled by Staff'; + case PivotStatus.canceledByBusiness: + return 'Canceled by Business'; + case PivotStatus.canceledByAdmin: + return 'Canceled by Admin'; + case PivotStatus.requestedReplace: + return 'Requested Replace'; + case PivotStatus.noShowed: + return 'No Showed'; + } + } +} + + +@JsonSerializable(fieldRename: FieldRename.snake) +class Pivot { + String id; + @JsonKey(unknownEnumValue: PivotStatus.assigned) + PivotStatus status; + String? statusUpdatedAt; + String startAt; + String endAt; + String? clockIn; + String? clockOut; + String? breakIn; + String? breakOut; + EventShiftPositionModel? position; + List? cancelReason; + Rating? rating; + + Pivot({ + required this.id, + required this.status, + this.statusUpdatedAt, + required this.startAt, + required this.endAt, + this.clockIn, + this.clockOut, + this.breakIn, + this.breakOut, + this.position, + this.cancelReason, + }); + + factory Pivot.fromJson(Map json) { + return _$PivotFromJson(json); + } + + Map toJson() => _$PivotToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class Rating { + final String id; + final double rating; + + Rating({required this.id, required this.rating}); + + factory Rating.fromJson(Map json) { + return _$RatingFromJson(json); + } + + Map toJson() => _$RatingToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/staff/staff_cancel_reason.dart b/mobile-apps/client-app/lib/core/data/models/staff/staff_cancel_reason.dart new file mode 100644 index 00000000..bd2dd6e4 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/staff/staff_cancel_reason.dart @@ -0,0 +1,39 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'staff_cancel_reason.g.dart'; + +@JsonEnum(fieldRename: FieldRename.snake) +enum StaffCancelReasonType { + cancelShift, + declineShift, + noBreak +} + +@JsonEnum(fieldRename: FieldRename.snake,) +enum ShiftCancelReason { + sickLeave, + vacation, + other, + health, + transportation, + personal, + scheduleConflict, +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffCancelReason { + @JsonKey(unknownEnumValue: StaffCancelReasonType.cancelShift) + final StaffCancelReasonType? type; + @JsonKey(unknownEnumValue: ShiftCancelReason.sickLeave) + final ShiftCancelReason? reason; + final String? details; + + StaffCancelReason( + {required this.type, required this.reason, required this.details}); + + factory StaffCancelReason.fromJson(Map json) { + return _$StaffCancelReasonFromJson(json); + } + + Map toJson() => _$StaffCancelReasonToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/data/models/staff/staff_model.dart b/mobile-apps/client-app/lib/core/data/models/staff/staff_model.dart new file mode 100644 index 00000000..198c9601 --- /dev/null +++ b/mobile-apps/client-app/lib/core/data/models/staff/staff_model.dart @@ -0,0 +1,31 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; + +part 'staff_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffModel { + String? id; + String? firstName; + String? lastName; + String? email; + String? phone; + String? avatar; + Pivot? pivot; + + StaffModel({ + required this.id, + required this.firstName, + required this.lastName, + required this.email, + required this.phone, + required this.avatar, + required this.pivot, + }); + + factory StaffModel.fromJson(Map json) { + return _$StaffModelFromJson(json); + } + + Map toJson() => _$StaffModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/entity/event_entity.dart b/mobile-apps/client-app/lib/core/entity/event_entity.dart new file mode 100644 index 00000000..4a4ce8a2 --- /dev/null +++ b/mobile-apps/client-app/lib/core/entity/event_entity.dart @@ -0,0 +1,231 @@ +import 'package:flutter/cupertino.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; + +enum EventStatus { + pending, + assigned, + confirmed, + active, + finished, + completed, + closed, + canceled, + draft +} + +class EventEntity { + final String id; + final EventStatus? status; + final String name; + DateTime? startDate; + DateTime? endDate; + final String? cursor; + final ValueNotifier totalCost = ValueNotifier(0.0); + final HubModel? hub; + final List? addons; + final BusinessMemberModel? completedBy; + final String? completedNode; + final String? additionalInfo; + + // final EventContractType contractType; + final List? shifts; + final String? poNumber; + + // final String? contractNumber; + final EventModel? dto; + final List? tags; + + EventEntity( + {required this.id, + this.status, + required this.name, + required this.startDate, + required this.endDate, + this.completedBy, + this.completedNode, + this.hub, + this.addons, + this.additionalInfo, + // this.contractType = EventContractType.direct, + this.shifts, + this.cursor, + this.poNumber, + // this.contractNumber, + this.dto, + this.tags}); + + static EventEntity fromEventDto(EventModel event, {String? cursor}) { + + var date = DateFormat('yyyy-MM-dd').parse(event.date); + + var entity = EventEntity( + id: event.id, + status: event.status, + name: event.name, + startDate: date, + endDate: date, + completedBy: null, + completedNode: null, + hub: event.hub, + shifts: event.shifts + .map((shift) => ShiftEntity.fromDto(shift, date)) + .toList(), + addons: event.addons, + additionalInfo: event.additionalInfo, + // contractType: event.contractType, + poNumber: event.purchaseOrder, + cursor: cursor, + dto: event, + tags: event.tags); + + entity.totalCost.value = + EventEntity.getTotalCost(entity); // Calculate total cost + + try { + entity.shifts?.forEach((element) { + element.parentEvent = entity; + }); + } catch (e) { + print(e); + } + + return entity; + } + + EventEntity copyWith( + {String? id, + EventStatus? status, + String? name, + DateTime? startDate, + DateTime? endDate, + BusinessMemberModel? completedBy, + String? completedNode, + HubModel? hub, + List? addons, + String? additionalInfo, + EventContractType? contractType, + List? shifts, + String? poNumber, + String? contractNumber, + String? cursor, + List? tags}) { + var entity = EventEntity( + id: id ?? this.id, + status: status ?? this.status, + name: name ?? this.name, + startDate: startDate ?? this.startDate, + endDate: endDate ?? this.endDate, + hub: hub ?? this.hub, + completedBy: completedBy ?? this.completedBy, + completedNode: completedNode ?? this.completedNode, + addons: addons ?? this.addons, + additionalInfo: additionalInfo ?? this.additionalInfo, + // contractType: contractType ?? this.contractType, + shifts: shifts ?? this.shifts, + poNumber: poNumber ?? this.poNumber, + // contractNumber: contractNumber ?? this.contractNumber, + cursor: cursor ?? this.cursor, + tags: tags ?? this.tags); + + entity.totalCost.value = + EventEntity.getTotalCost(entity); // Calculate total cost + + entity.shifts?.forEach((element) { + element.parentEvent = entity; + }); + return entity; + } + + static empty() { + var entity = EventEntity( + id: '', + name: '', + startDate: null, + endDate: null, + hub: null, + completedBy: null, + completedNode: null, + addons: [], + additionalInfo: '', + // contractType: EventContractType.direct, + shifts: [ShiftEntity.empty()], + poNumber: '', + // contractNumber: '', + cursor: null, + tags: []); + entity.shifts?.forEach((element) { + element.parentEvent = entity; + }); + return entity; + } + + static double getTotalCost(EventEntity event) { + foldPosition(previousValue, PositionEntity position) { + return (previousValue ?? 0) + + ((((position.businessSkill?.price ?? 0) * (position.count ?? 0)) / + 60) * + (position.endTime.difference(position.startTime).inMinutes)); + } + + foldRoles(previousValue, ShiftEntity shift) { + return previousValue + (shift.positions.fold(0.0, foldPosition)); + } + + var eventCost = event.shifts?.fold(0.0, foldRoles) ?? 0; + + double totalCost = eventCost + + (event.addons?.fold(0.0, + (previousValue, addon) => previousValue + (addon.price ?? 0)) ?? + 0); + + return totalCost; + } + + @override + int get hashCode => + id.hashCode ^ + status.hashCode ^ + name.hashCode ^ + startDate.hashCode ^ + endDate.hashCode ^ + cursor.hashCode ^ + totalCost.hashCode ^ + hub.hashCode ^ + addons.hashCode ^ + completedBy.hashCode ^ + completedNode.hashCode ^ + additionalInfo.hashCode ^ + shifts.hashCode ^ + poNumber.hashCode ^ + dto.hashCode ^ + tags.hashCode; + + @override + bool operator ==(Object other) { + return super == (other) && + other is EventEntity && + id == other.id && + status == other.status && + name == other.name && + startDate == other.startDate && + endDate == other.endDate && + cursor == other.cursor && + totalCost.value == other.totalCost.value && + hub == other.hub && + addons == other.addons && + completedBy == other.completedBy && + completedNode == other.completedNode && + additionalInfo == other.additionalInfo && + shifts == other.shifts && + poNumber == other.poNumber && + dto == other.dto && + tags == other.tags; + } +} diff --git a/mobile-apps/client-app/lib/core/entity/position_entity.dart b/mobile-apps/client-app/lib/core/entity/position_entity.dart new file mode 100644 index 00000000..551d5a81 --- /dev/null +++ b/mobile-apps/client-app/lib/core/entity/position_entity.dart @@ -0,0 +1,221 @@ +import 'package:intl/intl.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/core/data/models/shift/event_shift_position_model.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/role_schedule_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; + +class PositionEntity { + final String id; + final DepartmentModel? department; + final int? count; + final int? breakDuration; + final DateTime startTime; + final DateTime endTime; + final double price; + final List staffContacts; + final EventShiftPositionModel? dto; + final BusinessSkillModel? businessSkill; + final List? schedule; + ShiftEntity? parentShift; + + PositionEntity( + {required this.id, + this.department, + this.count, + this.breakDuration = 15, + required this.startTime, + required this.endTime, + this.price = 0, + this.staffContacts = const [], + this.schedule, + this.businessSkill, + this.dto}); + + PositionEntity copyWith({ + String? id, + String? name, + DepartmentModel? department, + int? count, + DateTime? startTime, + DateTime? endTime, + int? price, + int? breakDuration, + List? staffContacts, + BusinessSkillModel? businessSkill, + EventShiftPositionModel? dto, + List? schedule, + }) { + if (schedule != null) { + schedule.sort((a, b) => a.dayIndex.compareTo(b.dayIndex)); + } + + var timeResult = _calcTimeSlot(startTime, endTime); + + var start = timeResult.start; + var end = timeResult.end; + businessSkill = businessSkill ?? this.businessSkill; + + var newEntity = PositionEntity( + id: id ?? this.id, + department: department ?? this.department, + count: count ?? this.count, + breakDuration: breakDuration ?? this.breakDuration, + startTime: start, + endTime: end, + price: _getTotalCost( + businessSkill?.price ?? 0, start, end, count ?? this.count ?? 0), + staffContacts: staffContacts ?? this.staffContacts, + businessSkill: businessSkill, + dto: dto ?? this.dto, + schedule: schedule ?? this.schedule, + ); + + newEntity.parentShift = parentShift; + int index = + parentShift?.positions.indexWhere((item) => item.id == this.id) ?? -1; + if (index != -1) { + parentShift?.positions[index] = newEntity; + } + + var event = parentShift?.parentEvent; + event?.totalCost.value = EventEntity.getTotalCost(event); + + return newEntity; + } + + ({DateTime start, DateTime end}) _calcTimeSlot( + DateTime? startTime, DateTime? endTime) { + if (startTime != null) { + startTime = startTime.copyWith( + day: this.endTime.day, + month: this.endTime.month, + year: this.endTime.year); + } else if (endTime != null) { + endTime = endTime.copyWith( + day: this.startTime.day, + month: this.startTime.month, + year: this.startTime.year); + } + + const Duration minDuration = Duration(hours: 5); + DateTime? updatedStartTime = startTime ?? this.startTime; + DateTime? updatedEndTime = endTime ?? this.endTime; + + if (startTime != null && this.startTime != startTime) { + Duration diff = updatedEndTime.difference(startTime); + if (diff < minDuration) { + updatedEndTime = startTime.add(minDuration); + } + } else if (endTime != null && this.endTime != endTime) { + Duration diff = endTime.difference(updatedStartTime); + if (diff < minDuration) { + updatedStartTime = endTime.subtract(minDuration); + } + } + + if (updatedStartTime.day != updatedEndTime.day) { + final DateTime midnight = DateTime( + updatedStartTime.year, + updatedStartTime.month, + updatedStartTime.day, + 0, + 0, + ); + updatedStartTime = midnight.subtract(const Duration(hours: 5)); + updatedEndTime = midnight; + } + + ({DateTime start, DateTime end}) timeResult = + (start: updatedStartTime, end: updatedEndTime); + return timeResult; + } + + static PositionEntity fromDto(EventShiftPositionModel model, DateTime date) { + final DateFormat timeFormat = DateFormat('HH:mm'); + final DateTime start = timeFormat.parse(model.startTime); + final DateTime end = timeFormat.parse(model.endTime); + return PositionEntity( + id: model.id, + breakDuration: model.breakTime, + department: model.department, + dto: model, + startTime: DateTime(date.year, date.month, date.day, start.hour, + start.minute - start.minute % 10), + endTime: DateTime(date.year, date.month, date.day, end.hour, + end.minute - end.minute % 10), + count: model.count, + businessSkill: model.businessSkill, + price: _getTotalCost( + model.businessSkill.price ?? 0, start, end, model.count), + staffContacts: model.staff?.map((e) { + return StaffContact( + id: e.pivot?.id ?? '', + photoUrl: e.avatar ?? '', + firstName: e.firstName ?? '', + lastName: e.lastName ?? '', + phoneNumber: e.phone ?? '', + email: e.email ?? '', + rate: model.businessSkill.price ?? 0, + status: e.pivot?.status ?? PivotStatus.assigned, + startAt: e.pivot?.startAt ?? '', + endAt: e.pivot?.endAt ?? '', + //todo + isFavorite: false, + isBlackListed: false, + skillName: e.pivot?.position?.businessSkill.skill?.name ?? '', + )..rating.value = e.pivot?.rating?.rating ?? 0; + }).toList() ?? + [], + ); + } + + static empty() { + return PositionEntity( + id: DateTime.now().millisecondsSinceEpoch.toString(), + startTime: DateTime.now().copyWith(hour: 9, minute: 0), + endTime: DateTime.now().copyWith(hour: 14, minute: 0), + ); + } + + static double _getTotalCost( + double ratePerHour, DateTime startTime, DateTime endTime, int count) { + final double hours = endTime.difference(startTime).inMinutes.abs() / 60.0; + final double price = hours * ratePerHour; + return price * count; + } + + @override + // TODO: implement hashCode + int get hashCode => + id.hashCode ^ + department.hashCode ^ + count.hashCode ^ + breakDuration.hashCode ^ + startTime.hashCode ^ + endTime.hashCode ^ + price.hashCode ^ + staffContacts.hashCode ^ + dto.hashCode ^ + businessSkill.hashCode ^ + schedule.hashCode; + + @override + bool operator ==(Object other) { + return other is PositionEntity && + id == other.id && + department == other.department && + count == other.count && + breakDuration == other.breakDuration && + startTime == other.startTime && + endTime == other.endTime && + price == other.price && + staffContacts == other.staffContacts && + dto == other.dto && + businessSkill == other.businessSkill && + schedule == other.schedule; + } +} diff --git a/mobile-apps/client-app/lib/core/entity/role_schedule_entity.dart b/mobile-apps/client-app/lib/core/entity/role_schedule_entity.dart new file mode 100644 index 00000000..e179da02 --- /dev/null +++ b/mobile-apps/client-app/lib/core/entity/role_schedule_entity.dart @@ -0,0 +1,38 @@ +import 'package:krow/core/sevices/time_slot_service.dart'; + +class RoleScheduleEntity { + final int dayIndex; + final DateTime startTime; + final DateTime endTime; + + RoleScheduleEntity( + {required this.dayIndex, required this.startTime, required this.endTime}); + + RoleScheduleEntity copyWith({ + int? dayIndex, + DateTime? startTime, + DateTime? endTime, + }) { + if (startTime != null) { + startTime = + startTime.copyWith(day: this.endTime.day, month: this.endTime.month); + } else if (endTime != null) { + endTime = endTime.copyWith( + day: this.startTime.day, month: this.startTime.month); + } + + return RoleScheduleEntity( + dayIndex: dayIndex ?? this.dayIndex, + startTime: startTime ?? + TimeSlotService.calcTime( + currentStartTime: this.startTime, + currentEndTime: this.endTime, + endTime: endTime ?? this.endTime), + endTime: endTime ?? + TimeSlotService.calcTime( + currentStartTime: this.startTime, + currentEndTime: this.endTime, + startTime: startTime ?? this.startTime), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/entity/shift_entity.dart b/mobile-apps/client-app/lib/core/entity/shift_entity.dart new file mode 100644 index 00000000..814cfb7c --- /dev/null +++ b/mobile-apps/client-app/lib/core/entity/shift_entity.dart @@ -0,0 +1,99 @@ +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/full_address_model.dart'; +import 'package:krow/core/data/models/shift/shift_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/position_entity.dart'; + +class ShiftEntity { + final String id; + final FullAddress? fullAddress; + final List managers; + final List positions; + EventEntity? parentEvent; + + final ShiftModel? dto; + + ShiftEntity({ + required this.id, + this.fullAddress, + this.managers = const [], + this.positions = const [], + this.dto, + }); + + ShiftEntity copyWith({String? id, + FullAddress? fullAddress, + List? managers, + List? positions, + ShiftModel? dto}) { + var newEntity = ShiftEntity( + id: id ?? this.id, + fullAddress: fullAddress ?? this.fullAddress, + managers: managers ?? this.managers, + positions: positions ?? this.positions, + dto: dto ?? this.dto, + ); + newEntity.parentEvent = parentEvent; + int index = + parentEvent?.shifts?.indexWhere((item) => item.id == this.id) ?? -1; + if (index != -1) { + parentEvent?.shifts?[index] = newEntity; + } + return newEntity; + } + + static fromDto(ShiftModel model, DateTime date) { + var entity = ShiftEntity( + id: model.id, + fullAddress: model.fullAddress, + managers: model.contacts ?? [], + positions: model.positions + ?.map((e) => PositionEntity.fromDto(e, date)) + .toList() ?? + [], + dto: model, + ); + + for (var element in entity.positions) { + element.parentShift = entity; + for (var contact in element.staffContacts) { + contact.parentPosition = element; + } + } + return entity; + } + + static empty() { + var entity = ShiftEntity( + id: DateTime + .now() + .millisecondsSinceEpoch + .toString(), + positions: [ + PositionEntity.empty(), + ]); + + for (var element in entity.positions) { + element.parentShift = entity; + } + return entity; + } + + @override + int get hashCode => + id.hashCode ^ fullAddress.hashCode ^ managers.hashCode ^ positions + .hashCode ^ (dto?.hashCode ?? 0); + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + + if (other is! ShiftEntity) return false; + + return other.id == id && + other.fullAddress == fullAddress && + other.managers == managers && + other.positions == positions && + other.dto == dto; + } +} diff --git a/mobile-apps/client-app/lib/core/entity/staff_contact_entity.dart b/mobile-apps/client-app/lib/core/entity/staff_contact_entity.dart new file mode 100644 index 00000000..ae652335 --- /dev/null +++ b/mobile-apps/client-app/lib/core/entity/staff_contact_entity.dart @@ -0,0 +1,107 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class StaffContact { + final String id; + PivotStatus status; + final String? photoUrl; + final String firstName; + final String lastName; + final String? phoneNumber; + final String? email; + final double rate; + final ValueNotifier rating = ValueNotifier(0); + final bool isFavorite; + final bool isBlackListed; + final String startAt; + final String endAt; + final String breakIn; + final String breakOut; + final String skillName; + PositionEntity? parentPosition; + + StaffContact( + {required this.id, + required this.firstName, + required this.lastName, + this.photoUrl, + this.status = PivotStatus.assigned, + this.phoneNumber, + this.email, + this.rate = 0, + this.isFavorite = false, + this.isBlackListed = false, + this.startAt = '', + this.endAt = '', + this.breakIn = '', + this.breakOut = '', + this.parentPosition, + this.skillName = ''}); + + StaffContact copyWith({ + String? id, + PivotStatus? status, + String? photoUrl, + String? firstName, + String? lastName, + String? phoneNumber, + String? email, + double? rate, + double? rating, + bool? isFavorite, + bool? isBlackListed, + String? startAt, + String? endAt, + String? skillName, + PositionEntity? parentPosition, + }) { + return StaffContact( + id: id ?? this.id, + status: status ?? this.status, + photoUrl: photoUrl ?? this.photoUrl, + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + phoneNumber: phoneNumber ?? this.phoneNumber, + email: email ?? this.email, + rate: rate ?? this.rate, + isFavorite: isFavorite ?? this.isFavorite, + isBlackListed: isBlackListed ?? this.isBlackListed, + startAt: startAt ?? this.startAt, + endAt: endAt ?? this.endAt, + skillName: skillName ?? this.skillName, + parentPosition: parentPosition ?? this.parentPosition, + ); + } +} + +extension PivotStatusStatusX on PivotStatus { + Color getStatusTextColor() { + return switch (this) { + PivotStatus.assigned || PivotStatus.confirmed => AppColors.primaryBlue, + PivotStatus.ongoing || PivotStatus.completed => AppColors.statusSuccess, + PivotStatus.canceledByStaff || + PivotStatus.canceledByBusiness || + PivotStatus.canceledByAdmin || + PivotStatus.requestedReplace || + PivotStatus.noShowed || + PivotStatus.declineByStaff => + AppColors.statusError + }; + } + + Color getStatusBorderColor() { + return switch (this) { + PivotStatus.assigned || PivotStatus.confirmed => AppColors.tintBlue, + PivotStatus.ongoing || PivotStatus.completed => AppColors.tintGreen, + PivotStatus.canceledByStaff || + PivotStatus.canceledByBusiness || + PivotStatus.canceledByAdmin || + PivotStatus.declineByStaff || + PivotStatus.noShowed || + PivotStatus.requestedReplace => + AppColors.tintRed + }; + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/styles/kw_box_decorations.dart b/mobile-apps/client-app/lib/core/presentation/styles/kw_box_decorations.dart new file mode 100644 index 00000000..87e29e2f --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/styles/kw_box_decorations.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +abstract class KwBoxDecorations { + static BoxDecoration primaryLight8 = BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(8), + ); + + static BoxDecoration primaryLight12 = BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(12), + ); + + static BoxDecoration white24 = BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + ); + + static BoxDecoration white12 = BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(12), + ); + + static BoxDecoration white8 = BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(12), + ); +} diff --git a/mobile-apps/client-app/lib/core/presentation/styles/kw_text_styles.dart b/mobile-apps/client-app/lib/core/presentation/styles/kw_text_styles.dart new file mode 100644 index 00000000..bf3692d6 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/styles/kw_text_styles.dart @@ -0,0 +1,125 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/fonts.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +abstract class AppTextStyles { + static const TextStyle headingH0 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 48, + color: AppColors.blackBlack); + + static const TextStyle headingH1 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 28, + height: 1, + color: AppColors.blackBlack); + + static const TextStyle headingH2 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, // Medium + fontSize: 20, + color: AppColors.blackBlack); + + static const TextStyle headingH3 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, // Medium + fontSize: 18, + height: 1, + color: AppColors.blackBlack); + + static const TextStyle bodyLargeReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 16, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyLargeMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 16, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 14, + letterSpacing: -0.5, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 14, + letterSpacing: -0.5, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumSmb = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, + // SemiBold + letterSpacing: -0.5, + fontSize: 14, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodySmallReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 12, + letterSpacing: -0.5, + height: 1.3, + color: AppColors.blackBlack); + + static const TextStyle bodySmallMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 12, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyTinyReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 10, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyTinyMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 10, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle badgeRegular = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, // Regular + fontSize: 12, + color: AppColors.blackBlack); + + static const TextStyle captionReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, // Regular + fontSize: 10, + color: AppColors.blackBlack); + + static const TextStyle captionBold = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 10, + color: AppColors.blackBlack); +} diff --git a/mobile-apps/client-app/lib/core/presentation/styles/theme.dart b/mobile-apps/client-app/lib/core/presentation/styles/theme.dart new file mode 100644 index 00000000..cbc133ef --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/styles/theme.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; + +abstract class AppColors { + static const Color bgColorLight = Color(0xFFF0F2FF); + static const Color bgColorDark = Color(0xFF040B45); + static const Color blackBlack = Color(0xFF02071D); + static const Color blackGray = Color(0xFF656773); + static const Color blackCaptionText = Color(0xFFAEAEB1); + static const Color blackCaptionBlue = Color(0xFF8485A4); + static const Color primaryYellow = Color(0xFFFFF3A8); + static const Color primaryYellowDark = Color(0xFFEEE39F); + static const Color primaryYolk = Color(0xFFFFF321); + static const Color primaryBlue = Color(0xFF002AE8); + static const Color primaryMint = Color(0xFFDFEDE3); + static const Color grayWhite = Color(0xFFFFFFFF); + static const Color grayStroke = Color(0xFFA8AABD); + static const Color grayDisable = Color(0xFFD8D9E0); + static const Color grayPrimaryFrame = Color(0xFFFAFAFF); + static const Color grayTintStroke = Color(0xFFE1E2E8); + static const Color statusError = Color(0xFFF45E5E); + static const Color statusSuccess = Color(0xFF14A858); + static const Color statusWarning = Color(0xFFED7021); + static const Color statusWarningBody = Color(0xFF906F07); + static const Color statusRate = Color(0xFFF7CE39); + static const Color tintGreen = Color(0xFFF3FCF7); + static const Color tintDarkGreen = Color(0xFFC8EFDB); + static const Color tintRed = Color(0xFFFEF2F2); + static const Color tintYellow = Color(0xFFFEF7E0); + static const Color tintBlue = Color(0xFFF0F3FF); + static const Color tintDarkBlue = Color(0xFF7A88BE); + static const Color tintGray = Color(0xFFEBEBEB); + static const Color tintDarkRed = Color(0xFFFDB9B9); + static const Color tintDropDownButton = Color(0xFFBEC5FE); + static const Color tintOrange = Color(0xFFFAEBE3); + static const Color navBarDisabled = Color(0xFF5C6081); + static const Color darkBgBgElements = Color(0xFF1B1F41); + static const Color darkBgActiveButtonState = Color(0xFF252A5A); + static const Color darkBgStroke = Color(0xFF4E537E); + static const Color darkBgInactive = Color(0xFF7A7FA9); + static const Color buttonPrimaryYellowDrop = Color(0xFFFFEB6B); + static const Color buttonPrimaryYellowActive = Color(0xFFFFF7C7); + static const Color buttonPrimaryYellowActiveDrop = Color(0xFFFFF2A3); + static const Color buttonOutline = Color(0xFFBEC5FE); + static const Color buttonTertiaryActive = Color(0xFFEBEDFF); + static const Color bgProfileCard = Color(0xff405FED); +} + +class KWTheme { + static ThemeData get lightTheme { + return ThemeData( + useMaterial3: true, + scaffoldBackgroundColor: AppColors.bgColorLight, + progressIndicatorTheme: + const ProgressIndicatorThemeData(color: AppColors.bgColorDark), + fontFamily: 'Poppins', + //unused + appBarTheme: const AppBarTheme( + backgroundColor: AppColors.bgColorLight, + ), + colorScheme: ColorScheme.fromSwatch().copyWith( + secondary: AppColors.statusSuccess, + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/assigned_staff_item_widget.dart b/mobile-apps/client-app/lib/core/presentation/widgets/assigned_staff_item_widget.dart new file mode 100644 index 00000000..c39ea026 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/assigned_staff_item_widget.dart @@ -0,0 +1,172 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/staff_contact_info_popup.dart'; + +class AssignedStaffItemWidget extends StatelessWidget { + final StaffContact staffContact; + final String department; + + const AssignedStaffItemWidget( + {super.key, required this.staffContact, required this.department}); + + @override + Widget build(BuildContext context) { + var showRating = + staffContact.parentPosition?.parentShift?.parentEvent?.status == + EventStatus.completed; + return GestureDetector( + onTap: () { + StaffContactInfoPopup.show(context, staffContact, department); + }, + child: Container( + height: 62, + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(bottom: 8), + decoration: KwBoxDecorations.white8, + child: Row( + mainAxisAlignment: showRating + ? MainAxisAlignment.spaceBetween + : MainAxisAlignment.start, + children: [ + Flexible( + child: Row( + children: [ + CachedNetworkImage( + useOldImageOnUrlChange: true, + fadeOutDuration: Duration.zero, + placeholderFadeInDuration: Duration.zero, + fadeInDuration: Duration.zero, + imageUrl: staffContact.photoUrl ?? '', + imageBuilder: (context, imageProvider) => Container( + width: 36, + height: 36, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + image: imageProvider, + fit: BoxFit.cover, + ), + ), + ), + errorWidget: (context, url, error) => + const Icon(Icons.error)), + const Gap(12), + Flexible( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${staffContact.firstName} ${staffContact.lastName}', + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodyMediumMed, + ), + const Gap(4), + Text( + staffContact.phoneNumber ?? '', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + const Gap(8), + ], + ), + ), + showRating ? _buildRating(context) : buildStatus() + ], + ), + ), + ); + } + + Widget _buildRating(BuildContext context) { + return ValueListenableBuilder( + valueListenable: staffContact.rating, + builder: (context, rating, child) { + return rating == 0 + ? GestureDetector( + onTap: () { + context.pushRoute(RateStaffRoute( + staff: staffContact, + )); + }, + child: Container( + height: 36, + alignment: Alignment.center, + padding: const EdgeInsets.symmetric(horizontal: 20), + decoration: BoxDecoration( + color: AppColors.tintBlue, + borderRadius: BorderRadius.circular(56), + border: Border.all( + color: AppColors.tintDropDownButton, width: 1), + ), + child: Text('Rate', + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue)), + ), + ) + : Container( + height: 36, + alignment: Alignment.topRight, + child: Row( + children: [ + Assets.images.icons.ratingStar.star + .svg(height: 16, width: 16), + Gap(4), + Text(rating.toStringAsFixed(1), + style: AppTextStyles.bodyMediumMed), + ], + ), + ); + }); + } + + SizedBox buildStatus() { + return SizedBox( + height: 40, + child: Align( + alignment: Alignment.topCenter, + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4), + decoration: BoxDecoration( + border: Border.all( + color: staffContact.status.getStatusBorderColor(), + ), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + Container( + width: 6, + height: 6, + padding: const EdgeInsets.all(3), + decoration: BoxDecoration( + color: staffContact.status.getStatusTextColor(), + borderRadius: BorderRadius.circular(3), + ), + ), + const Gap(2), + Text( + staffContact.status.formattedName.capitalize(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: staffContact.status.getStatusTextColor()), + ) + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/icon_row_info_widget.dart b/mobile-apps/client-app/lib/core/presentation/widgets/icon_row_info_widget.dart new file mode 100644 index 00000000..c70ee416 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/icon_row_info_widget.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class IconRowInfoWidget extends StatelessWidget { + final Widget icon; + final String title; + final String value; + + const IconRowInfoWidget( + {super.key, + required this.icon, + required this.title, + required this.value}); + + @override + Widget build(BuildContext context) { + return SizedBox( + height: 36, + child: Row( + children: [ + Container( + height: 36, + width: 36, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + border: Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: Center(child: icon), + ), + const Gap(12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(title, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Gap(2), + Text( + value, + style: AppTextStyles.bodyMediumMed, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ) + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/kw_time_slot.dart b/mobile-apps/client-app/lib/core/presentation/widgets/kw_time_slot.dart new file mode 100644 index 00000000..95d5d5f5 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/kw_time_slot.dart @@ -0,0 +1,117 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/home/presentation/home_screen.dart'; + +class KwTimeSlotInput extends StatefulWidget { + const KwTimeSlotInput({ + super.key, + required this.label, + required this.onChange, + required this.initialValue, + }); + + static final _timeFormat = DateFormat('h:mma'); + + final String label; + final Function(DateTime value) onChange; + final DateTime initialValue; + + @override + State createState() => _KwTimeSlotInputState(); +} + +class _KwTimeSlotInputState extends State { + late DateTime _currentValue = widget.initialValue; + + @override + void didChangeDependencies() { + _currentValue = widget.initialValue; + super.didChangeDependencies(); + } + + @override + void didUpdateWidget(covariant KwTimeSlotInput oldWidget) { + _currentValue = widget.initialValue; + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.only(left: 16, bottom: 4), + child: Text( + widget.label, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ), + Material( + color: Colors.transparent, + child: InkWell( + borderRadius: const BorderRadius.all( + Radius.circular(24), + ), + onTap: () { + showModalBottomSheet( + context: homeContext!, + isScrollControlled: false, + builder: (context) { + return Container( + alignment: Alignment.topCenter, + height: 216 + 48, //_kPickerHeight + 24top+24bot + child: CupertinoDatePicker( + mode: CupertinoDatePickerMode.time, + initialDateTime: _currentValue, + minuteInterval: 10, + itemExtent: 36, + onDateTimeChanged: (DateTime value) { + setState(() => _currentValue = value); + widget.onChange.call(value); + }, + ), + ); + }, + ); + }, + child: Container( + height: 48, + alignment: Alignment.centerLeft, + decoration: BoxDecoration( + border: Border.all(color: AppColors.grayStroke), + borderRadius: BorderRadius.circular(24), + ), + child: Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + KwTimeSlotInput._timeFormat.format(_currentValue), + style: AppTextStyles.bodyMediumReg, + ), + Assets.images.icons.caretDown.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackBlack, + BlendMode.srcIn, + ), + ) + ], + ), + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/profile_icon.dart b/mobile-apps/client-app/lib/core/presentation/widgets/profile_icon.dart new file mode 100644 index 00000000..1b30f7ee --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/profile_icon.dart @@ -0,0 +1,146 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart'; + +import '../styles/theme.dart'; + +class ProfileIcon extends StatefulWidget { + const ProfileIcon({ + super.key, + required this.onChange, + this.diameter = 64, + this.imagePath, + this.imageUrl, + this.imageQuality = 80, + }); + + final double diameter; + final String? imagePath; + final String? imageUrl; + final int imageQuality; + final Function(String) onChange; + + @override + State createState() => _ProfileIconState(); +} + +class _ProfileIconState extends State { + String? _imagePath; + String? _imageUrl; + final ImagePicker _picker = ImagePicker(); + + Future _pickImage([ImageSource source = ImageSource.gallery]) async { + final XFile? image = await _picker.pickImage( + source: source, + imageQuality: widget.imageQuality, + ); + + if (image != null) { + setState(() => _imagePath = image.path); + + widget.onChange(image.path); + } + } + + @override + void initState() { + super.initState(); + + _imagePath = widget.imagePath; + _imageUrl = widget.imageUrl; + } + + @override + void didUpdateWidget(covariant ProfileIcon oldWidget) { + _imagePath = widget.imagePath; + _imageUrl = widget.imageUrl; + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + final isImageAvailable = _imagePath != null || widget.imageUrl != null; + Widget avatar; + + if (_imagePath != null) { + avatar = Image.file( + File(_imagePath!), + fit: BoxFit.cover, + frameBuilder: (_, child, frame, __) { + return frame != null ? child : const KwAnimatedImagePlaceholder(); + }, + ); + } else if (_imageUrl != null) { + avatar = Image.network( + _imageUrl!, + fit: BoxFit.cover, + frameBuilder: (_, child, frame, __) { + return frame != null ? child : const KwAnimatedImagePlaceholder(); + }, + ); + } else { + avatar = DecoratedBox( + decoration: const BoxDecoration( + color: AppColors.grayWhite, + ), + child: Assets.images.icons.person.svg( + height: widget.diameter/2, + width: widget.diameter/2, + fit: BoxFit.scaleDown, + ), + ); + } + + return GestureDetector( + onTap: _pickImage, + child: Stack( + clipBehavior: Clip.none, + children: [ + ClipOval( + child: SizedBox( + height: widget.diameter, + width: widget.diameter, + child: avatar, + ), + ), + PositionedDirectional( + bottom: 0, + end: -5, + child: Container( + height: widget.diameter/4+10, + width: widget.diameter/4+10, + alignment: Alignment.center, + decoration: BoxDecoration( + color: isImageAvailable + ? AppColors.grayWhite + : AppColors.bgColorDark, + shape: BoxShape.circle, + border: Border.all( + color: AppColors.bgColorLight, + width: 2, + ), + ), + child: isImageAvailable + ? Assets.images.icons.edit.svg( + width: widget.diameter/4, + height: widget.diameter/4, + ) + : Assets.images.icons.add.svg( + width: widget.diameter/4, + height: widget.diameter/4, + fit: BoxFit.scaleDown, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, + BlendMode.srcIn, + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/scroll_layout_helper.dart b/mobile-apps/client-app/lib/core/presentation/widgets/scroll_layout_helper.dart new file mode 100644 index 00000000..c5ba598c --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/scroll_layout_helper.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; + +/// Helps to create a scrollable layout with two widgets in a scrollable column +/// and space between them +class ScrollLayoutHelper extends StatelessWidget { + final Widget upperWidget; + final Widget lowerWidget; + final EdgeInsets padding; + + final ScrollController? controller; + + final Future Function()? onRefresh; + + const ScrollLayoutHelper( + {super.key, + required this.upperWidget, + required this.lowerWidget, + this.padding = const EdgeInsets.symmetric(horizontal: 16), + this.controller, + this.onRefresh}); + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + Widget content = SingleChildScrollView( + physics: + onRefresh != null ? const AlwaysScrollableScrollPhysics() : null, + controller: controller, + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight, + ), + child: SafeArea( + child: Padding( + padding: padding, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + upperWidget, + lowerWidget, + ], + ), + ), + ), + ), + ); + + if (onRefresh != null) { + content = RefreshIndicator( + onRefresh: () => onRefresh!.call(), + child: content, + ); + } + + return content; + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/staff_contact_info_popup.dart b/mobile-apps/client-app/lib/core/presentation/widgets/staff_contact_info_popup.dart new file mode 100644 index 00000000..beb61567 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/staff_contact_info_popup.dart @@ -0,0 +1,288 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:geolocator/geolocator.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/staff_position_details_widget.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_button.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +class StaffContactInfoPopup { + static Future show( + BuildContext context, + StaffContact staff, + String department, + ) async { + var bloc = (BlocProvider.of(context)); + return showDialog( + context: context, + builder: (context) { + return Center( + child: _StaffPopupWidget( + staff, + bloc: bloc, + department: department, + ), + ); + }); + } +} + +class _StaffPopupWidget extends StatelessWidget { + final StaffContact staff; + + final EventDetailsBloc bloc; + + final String department; + + const _StaffPopupWidget(this.staff, + {required this.bloc, required this.department}); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + geoFencingServiceDialog(context, state); + }, + bloc: bloc, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.inLoading, + child: Center( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 12), + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + // margin: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.white24, + child: Column( + mainAxisSize: MainAxisSize.min, + children: _ongoingBtn(context), + ), + ), + ), + ); + }, + ); + } + + List _ongoingBtn(BuildContext context) { + return [ + const Gap(32), + StaffPositionAvatar( + imageUrl: staff.photoUrl, + userName: '${staff.firstName} ${staff.lastName}', + status: staff.status, + ), + const Gap(16), + StaffContactsWidget(staff: staff), + StaffPositionDetailsWidget(staff: staff), + if (staff.status == PivotStatus.confirmed && + staff.parentPosition?.parentShift?.parentEvent?.status == + EventStatus.active) + ..._confirmedBtn(context), + if (staff.status == PivotStatus.confirmed && + staff.parentPosition?.parentShift?.parentEvent?.status == + EventStatus.confirmed) + _buildReplaceStaffButton(context), + if (staff.status == PivotStatus.ongoing) ...[ + KwButton.primary( + onPressed: () { + _clockOutDialog(context); + }, + label: 'Clock Out', + ), + ], + const Gap(12), + ]; + } + + List _confirmedBtn(BuildContext context) { + return [ + KwButton.primary( + onPressed: () { + _clockinDialog(context); + }, + label: 'Clock In', + ), + const Gap(8), + _buildReplaceStaffButton(context), + ]; + } + + Widget _buildReplaceStaffButton(BuildContext context) { + return KwPopUpButton( + label: 'Staff Didn’t Show Up', + colorPallet: KwPopupButtonColorPallet.transparent(), + withBorder: true, + popUpPadding: 28, + items: [ + KwPopUpButtonItem( + title: 'Replace Staff', + onTap: () { + // Navigator.of(context).pop(); + _replaceStaff(context); + }, + color: AppColors.statusError), + KwPopUpButtonItem( + title: 'Do Nothing', + onTap: () { + bloc.add(NotShowedPositionStaffEvent(staff.id)); + + Navigator.of(context).pop(); + }) + ], + ); + } + + void _replaceStaff(BuildContext context) async { + var controller = TextEditingController(); + StateSetter? setStateInDialog; + var inputError = false; + var result = await KwDialog.show( + context: context, + icon: Assets.images.icons.profileDelete, + title: 'Request Staff Replacement', + message: + 'Please provide a reason for the staff replacement request in the text area below:', + state: KwDialogState.negative, + child: StatefulBuilder(builder: (context, setDialogState) { + setStateInDialog = setDialogState; + return KwTextInput( + controller: controller, + maxLength: 300, + showCounter: true, + showError: inputError, + minHeight: 144, + hintText: 'Enter your reason here...', + title: 'Reason', + ); + }), + + primaryButtonLabel: 'Submit Request', + onPrimaryButtonPressed: (dialogContext) { + if (controller.text.isEmpty) { + setStateInDialog?.call(() { + inputError = true; + }); + return; + } + + bloc.add(ReplacePositionStaffEvent(staff.id, controller.text)); + Navigator.of(dialogContext).pop(true); + }, + secondaryButtonLabel: 'Cancel', + ); + + if (result && context.mounted) { + await KwDialog.show( + context: context, + state: KwDialogState.negative, + icon: Assets.images.icons.documentUpload, + title: 'Request is Under Review', + message: + 'Thank you! Your request for staff replacement is now under review. You will be notified of the outcome shortly.', + primaryButtonLabel: 'Back to Event', + onPrimaryButtonPressed: (dialogContext) { + Navigator.of(dialogContext).pop(); + Navigator.of(context).maybePop(); + }, + ); + } + } + + void geoFencingServiceDialog(BuildContext context, EventDetailsState state) { + switch (state.geofencingDialogState) { + case GeofencingDialogState.tooFar: + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.warning, + title: "You're too far", + message: 'Please move closer to the designated location.', + primaryButtonLabel: 'OK', + ); + break; + case GeofencingDialogState.locationDisabled: + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Location Disabled', + message: 'Please enable location services to continue.', + primaryButtonLabel: 'Go to Settings', + onPrimaryButtonPressed: (dialogContext) { + Geolocator.openLocationSettings(); + Navigator.of(dialogContext).pop(); + }, + ); + break; + case GeofencingDialogState.goToSettings: + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.info, + title: 'Permission Required', + message: 'You need to allow location access in settings.', + primaryButtonLabel: 'Open Settings', + onPrimaryButtonPressed: (dialogContext) { + Geolocator.openAppSettings(); + Navigator.of(dialogContext).pop(); + }, + ); + break; + case GeofencingDialogState.permissionDenied: + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Permission Denied', + message: 'You have denied location access. Please allow it manually.', + primaryButtonLabel: 'OK', + ); + break; + default: + break; + } + } + + Future _clockinDialog(BuildContext context) { + return KwDialog.show( + context: context, + icon: Assets.images.icons.profileAdd, + state: KwDialogState.warning, + title: 'Do you want to Clock In this Staff member?', + primaryButtonLabel: 'Yes', + onPrimaryButtonPressed: (dialogContext) async { + bloc.add(TrackClientClockin(staff)); + await Navigator.of(dialogContext).maybePop(); + Navigator.of(context).maybePop(); + }, + secondaryButtonLabel: 'No', + ); + } + + Future _clockOutDialog(BuildContext context) { + return KwDialog.show( + context: context, + icon: Assets.images.icons.profileDelete, + state: KwDialogState.warning, + title: 'Do you want to Clock Out this Staff member?', + primaryButtonLabel: 'Yes', + onPrimaryButtonPressed: (dialogContext) async { + bloc.add(TrackClientClockout(staff)); + await Navigator.of(dialogContext).maybePop(); + Navigator.of(context).maybePop(); + }, + secondaryButtonLabel: 'No', + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/staff_position_details_widget.dart b/mobile-apps/client-app/lib/core/presentation/widgets/staff_position_details_widget.dart new file mode 100644 index 00000000..0fcedb07 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/staff_position_details_widget.dart @@ -0,0 +1,224 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + +class StaffPositionDetailsWidget extends StatelessWidget { + final StaffContact staff; + + const StaffPositionDetailsWidget({ + super.key, + required this.staff, + }); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + margin: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight8, + child: Column( + children: [ + _textRow('Role', staff.skillName), + _textRow('Department', staff.parentPosition?.department?.name ?? ''), + _textRow( + 'Start Time', + DateFormat('hh:mm a').format( + DateFormat('yyyy-MM-dd hh:mm:ss').parse(staff.startAt))), + _textRow( + 'End Time', + DateFormat('hh:mm a').format( + DateFormat('yyyy-MM-dd hh:mm:ss').parse(staff.endAt))), + _textRow('Cost', '\$${staff.rate}/h'), + ], + ), + ); + } + + Widget _textRow(String title, String value) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + Text( + value, + style: AppTextStyles.bodySmallMed, + ), + ], + ), + ); + } +} + +class StaffPositionAvatar extends StatelessWidget { + final String? imageUrl; + final String? userName; + final PivotStatus? status; + + const StaffPositionAvatar( + {super.key, this.imageUrl, this.userName, this.status}); + + @override + Widget build(BuildContext context) { + return Stack( + alignment: Alignment.center, + clipBehavior: Clip.none, + children: [ + Container( + width: 96, + height: 96, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.darkBgActiveButtonState, + ), + child: imageUrl == null || imageUrl!.isEmpty + ? Center( + child: Text( + getInitials(userName), + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + ) + : ClipOval( + child: Image.network( + imageUrl ?? '', + fit: BoxFit.cover, + width: 96, + height: 96, + ), + ), + ), + if (status != null) Positioned(bottom: -7, child: buildStatus(status!)), + ], + ); + } + + Widget buildStatus(PivotStatus status) { + return Container( + height: 20, + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4), + decoration: BoxDecoration( + color: AppColors.grayWhite, + border: Border.all(color: status.getStatusBorderColor()), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + Container( + width: 6, + height: 6, + padding: const EdgeInsets.all(3), + decoration: BoxDecoration( + color: status.getStatusTextColor(), + borderRadius: BorderRadius.circular(3), + ), + ), + const Gap(2), + Text( + status.formattedName.capitalize(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: status.getStatusTextColor()), + ) + ], + ), + ); + } + + String getInitials(String? name) { + try { + if (name == null || name.isEmpty) return 'X'; + List nameParts = name.split(' '); + if (nameParts.length == 1) { + return nameParts[0].substring(0, 1).toUpperCase(); + } + return (nameParts[0][0] + nameParts[1][0]).toUpperCase(); + } catch (e) { + return 'X'; + } + } +} + +class StaffContactsWidget extends StatelessWidget { + final StaffContact staff; + + const StaffContactsWidget({super.key, required this.staff}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Text( + '${staff.firstName} ${staff.lastName}', + style: AppTextStyles.headingH3, + textAlign: TextAlign.center, + ), + if (staff.email != null && (staff.email?.isNotEmpty ?? false)) ...[ + const Gap(8), + GestureDetector( + onDoubleTap: () { + launchUrlString('mailto:${staff.email}'); + }, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.icons.userProfile.sms.svg( + colorFilter: const ColorFilter.mode( + AppColors.blackGray, + BlendMode.srcIn, + ), + ), + const Gap(4), + Text( + staff.email ?? '', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ) + ], + ), + ), + ], + if (staff.phoneNumber != null && + (staff.phoneNumber?.isNotEmpty ?? false)) ...[ + const Gap(8), + GestureDetector( + onTap: () { + launchUrlString('tel:${staff.phoneNumber}'); + }, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.icons.userProfile.call.svg( + colorFilter: const ColorFilter.mode( + AppColors.blackGray, + BlendMode.srcIn, + ), + ), + const Gap(4), + Text( + staff.phoneNumber ?? '', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ) + ], + ), + ), + ] + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/_custom_popup_menu.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/_custom_popup_menu.dart new file mode 100644 index 00000000..90055be0 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/_custom_popup_menu.dart @@ -0,0 +1,447 @@ +import 'dart:io'; +import 'dart:math' as math; + +import 'package:flutter/material.dart'; + +enum PressType { + longPress, + singleClick, +} + +enum PreferredPosition { + top, + bottom, +} + +class CustomPopupMenuController extends ChangeNotifier { + bool menuIsShowing = false; + + void setState() { + notifyListeners(); + } + + void showMenu() { + menuIsShowing = true; + notifyListeners(); + } + + void hideMenu() { + menuIsShowing = false; + notifyListeners(); + } + + void toggleMenu() { + menuIsShowing = !menuIsShowing; + notifyListeners(); + } +} + +Rect _menuRect = Rect.zero; + +class CustomPopupMenu extends StatefulWidget { + const CustomPopupMenu({super.key, + required this.child, + required this.menuBuilder, + required this.pressType, + this.controller, + this.arrowColor = const Color(0xFF4C4C4C), + this.showArrow = true, + this.barrierColor = Colors.black12, + this.arrowSize = 10.0, + this.horizontalMargin = 10.0, + this.verticalMargin = 10.0, + this.position, + this.menuOnChange, + this.enablePassEvent = true, + }); + + final Widget child; + final PressType pressType; + final bool showArrow; + final Color arrowColor; + final Color barrierColor; + final double horizontalMargin; + final double verticalMargin; + final double arrowSize; + final CustomPopupMenuController? controller; + final Widget Function()? menuBuilder; + final PreferredPosition? position; + final void Function(bool)? menuOnChange; + + /// Pass tap event to the widgets below the mask. + /// It only works when [barrierColor] is transparent. + final bool enablePassEvent; + + + @override + _CustomPopupMenuState createState() => _CustomPopupMenuState(); +} + +class _CustomPopupMenuState extends State { + RenderBox? _childBox; + RenderBox? _parentBox; + static OverlayEntry? overlayEntry; + CustomPopupMenuController? _controller; + bool _canResponse = true; + + _showMenu() { + if (widget.menuBuilder == null) { + _hideMenu(); + return; + } + Widget arrow = ClipPath( + clipper: _ArrowClipper(), + child: Container( + width: widget.arrowSize, + height: widget.arrowSize, + color: widget.arrowColor, + ), + ); + if(overlayEntry!=null){ + overlayEntry?.remove(); + } + overlayEntry = OverlayEntry( + builder: (context) { + Widget menu = Center( + child: Container( + constraints: BoxConstraints( + maxWidth: _parentBox!.size.width - 2 * widget.horizontalMargin, + minWidth: 0, + ), + child: CustomMultiChildLayout( + delegate: _MenuLayoutDelegate( + anchorSize: _childBox!.size, + anchorOffset: _childBox!.localToGlobal( + Offset(-widget.horizontalMargin, 0), + ), + verticalMargin: widget.verticalMargin, + position: widget.position, + ), + children: [ + if (widget.showArrow) + LayoutId( + id: _MenuLayoutId.arrow, + child: arrow, + ), + if (widget.showArrow) + LayoutId( + id: _MenuLayoutId.downArrow, + child: Transform.rotate( + angle: math.pi, + child: arrow, + ), + ), + LayoutId( + id: _MenuLayoutId.content, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Material( + color: Colors.transparent, + child: widget.menuBuilder?.call() ?? Container(), + ), + ], + ), + ), + ], + ), + ), + ); + return Listener( + behavior: widget.enablePassEvent + ? HitTestBehavior.translucent + : HitTestBehavior.opaque, + onPointerDown: (PointerDownEvent event) { + Offset offset = event.localPosition; + // If tap position in menu + if (_menuRect.contains( + Offset(offset.dx - widget.horizontalMargin, offset.dy))) { + return; + } + _controller?.hideMenu(); + // When [enablePassEvent] works and we tap the [child] to [hideMenu], + // but the passed event would trigger [showMenu] again. + // So, we use time threshold to solve this bug. + _canResponse = false; + Future.delayed(const Duration(milliseconds: 300)) + .then((_) => _canResponse = true); + }, + child: widget.barrierColor == Colors.transparent + ? menu + : Container( + color: widget.barrierColor, + child: menu, + ), + ); + }, + ); + if (overlayEntry != null) { + try { + overlayEntry?.remove(); + } catch (e) { + print(e); + } + Overlay.of(context).insert(overlayEntry!); + } + } + + _hideMenu() { + if (overlayEntry != null) { + overlayEntry?.remove(); + overlayEntry = null; + } + } + + _updateView() { + bool menuIsShowing = _controller?.menuIsShowing ?? false; + widget.menuOnChange?.call(menuIsShowing); + if (menuIsShowing) { + _showMenu(); + } else { + _hideMenu(); + } + } + + @override + void initState() { + super.initState(); + _controller = widget.controller; + _controller ??= CustomPopupMenuController(); + _controller?.addListener(_updateView); + WidgetsBinding.instance.addPostFrameCallback((call) { + if (mounted) { + _childBox = context.findRenderObject() as RenderBox?; + _parentBox = + Overlay.of(context).context.findRenderObject() as RenderBox?; + } + }); + } + + @override + void dispose() { + _hideMenu(); + _controller?.removeListener(_updateView); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var child = Material( + color: Colors.transparent, + child: InkWell( + hoverColor: Colors.transparent, + focusColor: Colors.transparent, + splashColor: Colors.transparent, + highlightColor: Colors.transparent, + child: widget.child, + onTap: () { + if (widget.pressType == PressType.singleClick && _canResponse) { + _controller?.showMenu(); + } + }, + onLongPress: () { + if (widget.pressType == PressType.longPress && _canResponse) { + _controller?.showMenu(); + } + }, + ), + ); + if (Platform.isIOS) { + return child; + } else { + return WillPopScope( + onWillPop: () { + _hideMenu(); + return Future.value(true); + }, + child: child, + ); + } + } +} + +enum _MenuLayoutId { + arrow, + downArrow, + content, +} + +enum _MenuPosition { + bottomLeft, + bottomCenter, + bottomRight, + topLeft, + topCenter, + topRight, +} + +class _MenuLayoutDelegate extends MultiChildLayoutDelegate { + _MenuLayoutDelegate({ + required this.anchorSize, + required this.anchorOffset, + required this.verticalMargin, + this.position, + }); + + final Size anchorSize; + final Offset anchorOffset; + final double verticalMargin; + final PreferredPosition? position; + + @override + void performLayout(Size size) { + Size contentSize = Size.zero; + Size arrowSize = Size.zero; + Offset contentOffset = const Offset(0, 0); + Offset arrowOffset = const Offset(0, 0); + + double anchorCenterX = anchorOffset.dx + anchorSize.width / 2; + double anchorTopY = anchorOffset.dy; + double anchorBottomY = anchorTopY + anchorSize.height; + _MenuPosition menuPosition = _MenuPosition.bottomCenter; + + if (hasChild(_MenuLayoutId.content)) { + contentSize = layoutChild( + _MenuLayoutId.content, + BoxConstraints.loose(size), + ); + } + if (hasChild(_MenuLayoutId.arrow)) { + arrowSize = layoutChild( + _MenuLayoutId.arrow, + BoxConstraints.loose(size), + ); + } + if (hasChild(_MenuLayoutId.downArrow)) { + layoutChild( + _MenuLayoutId.downArrow, + BoxConstraints.loose(size), + ); + } + + bool isTop = false; + if (position == null) { + // auto calculate position + isTop = anchorBottomY > size.height / 2; + } else { + isTop = position == PreferredPosition.top; + } + if (anchorCenterX - contentSize.width / 2 < 0) { + menuPosition = isTop ? _MenuPosition.topLeft : _MenuPosition.bottomLeft; + } else if (anchorCenterX + contentSize.width / 2 > size.width) { + menuPosition = isTop ? _MenuPosition.topRight : _MenuPosition.bottomRight; + } else { + menuPosition = + isTop ? _MenuPosition.topCenter : _MenuPosition.bottomCenter; + } + + switch (menuPosition) { + case _MenuPosition.bottomCenter: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin, + ); + contentOffset = Offset( + anchorCenterX - contentSize.width / 2, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.bottomLeft: + arrowOffset = Offset(anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin); + contentOffset = Offset( + 0, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.bottomRight: + arrowOffset = Offset(anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin); + contentOffset = Offset( + size.width - contentSize.width, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.topCenter: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + anchorCenterX - contentSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + case _MenuPosition.topLeft: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + 0, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + case _MenuPosition.topRight: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + size.width - contentSize.width, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + } + if (hasChild(_MenuLayoutId.content)) { + positionChild(_MenuLayoutId.content, contentOffset); + } + + _menuRect = Rect.fromLTWH( + contentOffset.dx, + contentOffset.dy, + contentSize.width, + contentSize.height, + ); + bool isBottom = false; + if (_MenuPosition.values.indexOf(menuPosition) < 3) { + // bottom + isBottom = true; + } + if (hasChild(_MenuLayoutId.arrow)) { + positionChild( + _MenuLayoutId.arrow, + isBottom + ? Offset(arrowOffset.dx, arrowOffset.dy + 0.1) + : const Offset(-100, 0), + ); + } + if (hasChild(_MenuLayoutId.downArrow)) { + positionChild( + _MenuLayoutId.downArrow, + !isBottom + ? Offset(arrowOffset.dx, arrowOffset.dy - 0.1) + : const Offset(-100, 0), + ); + } + } + + @override + bool shouldRelayout(MultiChildLayoutDelegate oldDelegate) => false; +} + +class _ArrowClipper extends CustomClipper { + @override + Path getClip(Size size) { + Path path = Path(); + path.moveTo(0, size.height); + path.lineTo(size.width / 2, size.height / 2); + path.lineTo(size.width, size.height); + return path; + } + + @override + bool shouldReclip(CustomClipper oldClipper) { + return true; + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/check_box.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/check_box.dart new file mode 100644 index 00000000..a6b95fa8 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/check_box.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +enum CheckBoxStyle { + green, + black, + red, +} + +class KWCheckBox extends StatelessWidget { + final bool value; + final CheckBoxStyle? style; + + const KWCheckBox({ + super.key, + required this.value, + this.style = CheckBoxStyle.green, + }); + + Color get _color { + switch (style!) { + case CheckBoxStyle.green: + return value ? AppColors.statusSuccess : Colors.white; + case CheckBoxStyle.black: + return value ? AppColors.bgColorDark : Colors.white; + case CheckBoxStyle.red: + return value ? AppColors.statusError : Colors.white; + } + } + + Widget get _icon { + switch (style!) { + case CheckBoxStyle.green: + case CheckBoxStyle.black: + return Assets.images.icons.checkBox.check.svg(); + case CheckBoxStyle.red: + return Assets.images.icons.checkBox.x.svg(); + } + } + + @override + Widget build(BuildContext context) { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + width: 16, + height: 16, + decoration: BoxDecoration( + color: _color, + borderRadius: BorderRadius.circular(4), + border: value + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: Center( + child: value ? _icon : null, + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart new file mode 100644 index 00000000..4e20c8a7 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart @@ -0,0 +1,90 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ImagePreviewDialog extends StatelessWidget { + final String title; + final String imageUrl; + + const ImagePreviewDialog({ + super.key, + required this.title, + required this.imageUrl, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Center( + child: Container( + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: AppTextStyles.bodyLargeMed, + ), + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Assets.images.icons.x.svg(), + ), + ], + ), + const SizedBox(height: 32), + //rounded corner image + ClipRRect( + borderRadius: BorderRadius.circular(16), + child: _buildImage(context), + ), + ], + ), + ), + ), + ), + ); + } + + Widget _buildImage(context) { + if (Uri.parse(imageUrl).isAbsolute) { + return Image.network( + imageUrl, + width: MediaQuery.of(context).size.width - 80, + fit: BoxFit.cover, + ); + } else { + return Image.file( + File(imageUrl), + width: MediaQuery.of(context).size.width - 80, + fit: BoxFit.cover, + ); + } + } + + static void show(BuildContext context, String title, String imageUrl) { + showDialog( + context: context, + builder: (BuildContext context) { + return ImagePreviewDialog( + title: title, + imageUrl: imageUrl, + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart new file mode 100644 index 00000000..e6cc89fd --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart @@ -0,0 +1,194 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; + +enum KwDialogState { neutral, positive, negative, warning, info } + +class KwDialog extends StatefulWidget { + final SvgGenImage icon; + final KwDialogState state; + final String title; + final String? message; + final String? primaryButtonLabel; + final String? secondaryButtonLabel; + final void Function(BuildContext dialogContext)? onPrimaryButtonPressed; + final void Function(BuildContext dialogContext)? onSecondaryButtonPressed; + final Widget? child; + + const KwDialog( + {super.key, + required this.icon, + required this.state, + required this.title, + this.message, + this.primaryButtonLabel, + this.secondaryButtonLabel, + this.onPrimaryButtonPressed, + this.onSecondaryButtonPressed, + this.child}); + + @override + State createState() => _KwDialogState(); + + static Future show( + {required BuildContext context, + required SvgGenImage icon, + KwDialogState state = KwDialogState.neutral, + required String title, + String? message, + String? primaryButtonLabel, + String? secondaryButtonLabel, + void Function(BuildContext dialogContext)? onPrimaryButtonPressed, + void Function(BuildContext dialogContext)? onSecondaryButtonPressed, + Widget? child}) async { + return showDialog( + context: context, + builder: (context) => KwDialog( + icon: icon, + state: state, + title: title, + message: message, + primaryButtonLabel: primaryButtonLabel, + secondaryButtonLabel: secondaryButtonLabel, + onPrimaryButtonPressed: onPrimaryButtonPressed, + onSecondaryButtonPressed: onSecondaryButtonPressed, + child: child, + ), + ); + } +} + +class _KwDialogState extends State { + Color get _iconColor { + switch (widget.state) { + case KwDialogState.neutral: + return AppColors.blackBlack; + case KwDialogState.positive: + return AppColors.statusSuccess; + case KwDialogState.negative: + return AppColors.statusError; + case KwDialogState.warning: + return AppColors.statusWarning; + case KwDialogState.info: + return AppColors.primaryBlue; + } + } + + Color get _iconBgColor { + switch (widget.state) { + case KwDialogState.neutral: + return AppColors.tintGray; + case KwDialogState.positive: + return AppColors.tintGreen; + case KwDialogState.negative: + return AppColors.tintRed; + case KwDialogState.warning: + return AppColors.tintYellow; + + case KwDialogState.info: + return AppColors.tintBlue; + } + } + + @override + Widget build(BuildContext context) { + return Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: KwBoxDecorations.white24, + child: RawScrollbar( + thumbVisibility: true, + thumbColor: AppColors.blackCaptionText, + radius: const Radius.circular(20), + crossAxisMargin: 4, + mainAxisMargin: 24, + thickness: 6, + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + AnimatedContainer( + duration: const Duration(milliseconds: 300), + height: 64, + width: 64, + decoration: BoxDecoration( + color: _iconBgColor, + shape: BoxShape.circle, + ), + child: Center( + child: widget.icon.svg( + width: 32, + height: 32, + colorFilter: + ColorFilter.mode(_iconColor, BlendMode.srcIn), + ), + ), + ), + const Gap(32), + Text( + widget.title, + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + if (widget.message != null) ...[ + const Gap(8), + Text( + widget.message ?? '', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ], + if (widget.child != null) ...[ + const Gap(8), + widget.child!, + ], + const Gap(24), + ..._buttonGroup(), + ], + ), + ), + ), + ), + ), + ); + } + + List _buttonGroup() { + return [ + if (widget.primaryButtonLabel != null) + KwButton.primary( + label: widget.primaryButtonLabel ?? '', + onPressed: () { + if (widget.onPrimaryButtonPressed != null) { + widget.onPrimaryButtonPressed?.call(context); + } else { + Navigator.of(context).pop(); + } + }, + ), + if (widget.primaryButtonLabel != null && + widget.secondaryButtonLabel != null) + const Gap(8), + if (widget.secondaryButtonLabel != null) + KwButton.outlinedPrimary( + label: widget.secondaryButtonLabel ?? '', + onPressed: () { + if (widget.onSecondaryButtonPressed != null) { + widget.onSecondaryButtonPressed?.call(context); + } else { + Navigator.of(context).pop(); + } + }, + ), + ]; + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart new file mode 100644 index 00000000..188c22ed --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart @@ -0,0 +1,98 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +enum AppBarIconColorStyle { normal, inverted } + +class KwAppBar extends AppBar { + final bool showNotification; + final Color? contentColor; + final AppBarIconColorStyle iconColorStyle; + + final String? titleText; + + KwAppBar({ + this.titleText, + this.showNotification = false, + this.contentColor, + bool centerTitle = true, + this.iconColorStyle = AppBarIconColorStyle.normal, + super.key, + super.backgroundColor, + }) : super( + leadingWidth: centerTitle ? null : 0, + elevation: 0, + centerTitle: centerTitle, + ); + + @override + List get actions { + return [ + if (showNotification) + Container( + margin: const EdgeInsets.only(right: 16), + height: 48, + width: 48, + color: Colors.transparent, + child: Center( + child: Assets.images.icons.appBar.notification.svg( + colorFilter: ColorFilter.mode( + iconColorStyle == AppBarIconColorStyle.normal + ? AppColors.blackBlack + : AppColors.grayWhite, + BlendMode.srcIn)), + ), + ), + ]; + } + + @override + Widget? get title { + return titleText != null + ? Text( + titleText!, + style: _titleTextStyle(contentColor), + ) + : Assets.images.logo.svg( + colorFilter: ColorFilter.mode( + contentColor ?? AppColors.bgColorDark, BlendMode.srcIn)); + } + + @override + Widget? get leading { + return Builder(builder: (context) { + return AutoRouter.of(context).canPop() + ? GestureDetector( + onTap: () { + AutoRouter.of(context).maybePop(); + }, + child: Padding( + padding: const EdgeInsets.only(left: 20.0), + child: SizedBox( + height: 40, + width: 40, + child: Center( + child: Assets.images.icons.appBar.appbarLeading.svg( + colorFilter: ColorFilter.mode( + iconColorStyle == AppBarIconColorStyle.normal + ? AppColors.blackBlack + : Colors.white, + BlendMode.srcIn, + ), + ), + ), + ), + ), + ) + : const SizedBox.shrink(); + }); + } + + static TextStyle _titleTextStyle(contentColor) { + return AppTextStyles.headingH2.copyWith( + color: contentColor ?? AppColors.blackBlack, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_button.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_button.dart new file mode 100644 index 00000000..89246407 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_button.dart @@ -0,0 +1,316 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +///The [KwButtonFit] enum defines two possible values for the button fit: +/// *[expanded]: The button will expand to fill the available space. +/// *[shrinkWrap]: The button will wrap its content, taking up only as much space as needed. +enum KwButtonFit { expanded, shrinkWrap, circular } + +class KwButton extends StatefulWidget { + final String? label; + final SvgGenImage? leftIcon; + final SvgGenImage? rightIcon; + final bool disabled; + final Color color; + final Color pressedColor; + final Color disabledColor; + final Color borderColor; + final Color? textColors; + final bool isOutlined; + final bool isFilledOutlined; + final VoidCallback onPressed; + final KwButtonFit? fit; + final double height; + final bool originalIconsColors; + final double? iconSize; + + const KwButton._({ + required this.onPressed, + required this.color, + required this.isOutlined, + required this.pressedColor, + required this.disabledColor, + required this.borderColor, + this.disabled = false, + this.label, + this.leftIcon, + this.rightIcon, + this.textColors, + this.height = 52, + this.fit = KwButtonFit.expanded, + this.originalIconsColors = false, + this.isFilledOutlined = false, + this.iconSize, + }) : assert(label != null || leftIcon != null || rightIcon != null, + 'title or icon must be provided'); + + /// Creates a standard dark button. + const KwButton.primary( + {super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + this.iconSize}) + : color = AppColors.bgColorDark, + borderColor = AppColors.bgColorDark, + pressedColor = AppColors.darkBgActiveButtonState, + disabledColor = AppColors.grayDisable, + textColors = Colors.white, + originalIconsColors = true, + isFilledOutlined = false, + isOutlined = false; + + // /// Creates a white button. + const KwButton.secondary( + {super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + this.iconSize}) + : color = Colors.white, + borderColor = Colors.white, + pressedColor = AppColors.buttonTertiaryActive, + disabledColor = Colors.white, + textColors = disabled ? AppColors.grayDisable : AppColors.blackBlack, + originalIconsColors = true, + isFilledOutlined = false, + isOutlined = false; + + /// Creates a yellow button. + const KwButton.accent( + {super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + this.iconSize}) + : color = AppColors.primaryYellow, + borderColor = AppColors.primaryYellow, + + pressedColor = AppColors.primaryYellowDark, + disabledColor = AppColors.navBarDisabled, + textColors = disabled ? AppColors.darkBgInactive : AppColors.blackBlack, + originalIconsColors = true, + isFilledOutlined = false, + isOutlined = false; + + const KwButton.outlinedPrimary( + {super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + this.iconSize}) + : color = AppColors.bgColorDark, + borderColor = AppColors.bgColorDark, + pressedColor = AppColors.darkBgActiveButtonState, + disabledColor = AppColors.grayDisable, + isOutlined = true, + originalIconsColors = true, + isFilledOutlined = false, + textColors = null; + + const KwButton.outlinedAccent( + {super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + this.iconSize}) + : color = AppColors.primaryYellow, + borderColor = AppColors.primaryYellow, + pressedColor = AppColors.darkBgActiveButtonState, + disabledColor = AppColors.navBarDisabled, + isOutlined = true, + originalIconsColors = true, + isFilledOutlined = false, + textColors = null; + + KwButton copyWith({ + String? label, + SvgGenImage? icon, + bool? disabled, + Color? color, + Color? pressedColor, + Color? disabledColor, + Color? textColors, + Color? borderColor, + bool? isOutlined, + VoidCallback? onPressed, + KwButtonFit? fit, + double? height, + double? iconSize, + bool? originalIconsColors, + bool? isFilledOutlined, + }) { + return KwButton._( + label: label ?? this.label, + leftIcon: icon ?? leftIcon, + rightIcon: icon ?? rightIcon, + disabled: disabled ?? this.disabled, + color: color ?? this.color, + pressedColor: pressedColor ?? this.pressedColor, + disabledColor: disabledColor ?? this.disabledColor, + textColors: textColors ?? this.textColors, + borderColor: borderColor ?? this.borderColor, + isOutlined: isOutlined ?? this.isOutlined, + onPressed: onPressed ?? this.onPressed, + fit: fit ?? this.fit, + height: height ?? this.height, + iconSize: iconSize ?? this.iconSize, + isFilledOutlined: isFilledOutlined ?? this.isFilledOutlined, + originalIconsColors: originalIconsColors ?? this.originalIconsColors, + ); + } + + @override + State createState() => _KwButtonState(); +} + +class _KwButtonState extends State { + bool pressed = false; + + @override + Widget build(BuildContext context) { + return widget.fit == KwButtonFit.shrinkWrap + ? Row(children: [_buildButton(context)]) + : _buildButton(context); + } + + Widget _buildButton(BuildContext context) { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: widget.height, + width: widget.fit == KwButtonFit.circular ? widget.height : null, + decoration: BoxDecoration( + color: _getColor(), + border: _getBorder(), + borderRadius: BorderRadius.circular(widget.height / 2), + ), + child: Material( + color: Colors.transparent, + child: InkWell( + onTapDown: widget.disabled ? null : _onTapDown, + onTapCancel: widget.disabled ? null : _onTapCancel, + onTapUp: widget.disabled ? null : _onTapUp, + borderRadius: BorderRadius.circular(widget.height / 2), + highlightColor: + ( widget.isOutlined && !widget.isFilledOutlined) ? Colors.transparent : widget.pressedColor, + splashColor: + ( widget.isOutlined && !widget.isFilledOutlined) ? Colors.transparent : widget.pressedColor, + child: _buildButtonContent(context), + ), + ), + ); + } + + Center _buildButtonContent(BuildContext context) { + return Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildHorizontalPadding(), + if (widget.leftIcon != null) + Center( + child: widget.leftIcon!.svg( + height: widget.iconSize ?? 16, + width: widget.iconSize ?? 16, + colorFilter: widget.originalIconsColors + ? null + : ColorFilter.mode(_getTextColor(), BlendMode.srcIn)), + ), + if (widget.leftIcon != null && widget.label != null) + const SizedBox(width: 4), + if (widget.label != null) + Text( + widget.label!, + style: AppTextStyles.bodyMediumMed.copyWith( + color: _getTextColor(), + ), + ), + if (widget.rightIcon != null && widget.label != null) + const SizedBox(width: 4), + if (widget.rightIcon != null) + Center( + child: widget.rightIcon!.svg( + height: widget.iconSize ?? 16, + width: widget.iconSize ?? 16, + colorFilter: widget.originalIconsColors + ? null + : ColorFilter.mode(_getTextColor(), BlendMode.srcIn)), + ), + _buildHorizontalPadding() + ], + ), + ); + } + + Gap _buildHorizontalPadding() => Gap( + widget.fit == KwButtonFit.circular ? 0 : (widget.height < 40 ? 12 : 20)); + + void _onTapDown(details) { + setState(() { + pressed = true; + }); + } + + void _onTapCancel() { + setState(() { + pressed = false; + }); + } + + void _onTapUp(details) { + Future.delayed(const Duration(milliseconds: 50), _onTapCancel); + widget.onPressed(); + } + + Border? _getBorder() { + return widget.isOutlined + ? Border.all( + color: widget.disabled + ? widget.disabledColor + : pressed + ? widget.pressedColor + : (widget.borderColor??widget.color), + width: 1) + : null; + } + + Color _getColor() { + return widget.isOutlined && !widget.isFilledOutlined + ? Colors.transparent + : widget.disabled + ? widget.disabledColor + : widget.color; + } + + Color _getTextColor() { + return widget.textColors ?? + (pressed + ? widget.pressedColor + : widget.disabled + ? widget.disabledColor + : widget.color); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart new file mode 100644 index 00000000..c7ea60bc --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart @@ -0,0 +1,139 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +class KwDropdown extends StatefulWidget { + final String? title; + final String hintText; + final KwDropDownItem? selectedItem; + final Iterable> items; + final Function(R item) onSelected; + final double horizontalPadding; + final Color? backgroundColor; + final Color? borderColor; + + const KwDropdown( + {super.key, + required this.hintText, + this.horizontalPadding = 0, + required this.items, + required this.onSelected, + this.backgroundColor, + this.borderColor, + this.title, + this.selectedItem}); + + @override + State> createState() => _KwDropdownState(); +} + +class _KwDropdownState extends State> { + KwDropDownItem? _selectedItem; + + @override + didUpdateWidget(KwDropdown oldWidget) { + if (oldWidget.selectedItem != widget.selectedItem) { + _selectedItem = widget.selectedItem; + } + super.didUpdateWidget(oldWidget); + } + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _selectedItem ??= widget.selectedItem; + } + + @override + void initState() { + _selectedItem = widget.selectedItem; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (widget.title != null) + Padding( + padding: const EdgeInsets.only(left: 16,bottom: 4), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ), + IgnorePointer( + ignoring: widget.items.isEmpty, + child: KwPopupMenu( + horizontalPadding: widget.horizontalPadding, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened); + }, + menuItems: widget.items + .map((item) => KwPopupMenuItem( + title: item.title, + icon: item.icon, + onTap: () { + setState(() { + _selectedItem = item; + }); + widget.onSelected(item.data); + })) + .toList()), + ), + ], + ); + } + + Container _buildMenuButton(bool isOpened) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: widget.backgroundColor, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: isOpened + ? AppColors.bgColorDark + : widget.borderColor ?? AppColors.grayStroke, + width: 1), + ), + child: Row( + children: [ + Expanded( + child: Text( + _selectedItem?.title ?? widget.hintText, + style: AppTextStyles.bodyMediumReg.copyWith( + color: _selectedItem == null + ? AppColors.blackGray + : AppColors.blackBlack), + )), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: isOpened ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackGray, BlendMode.srcIn), + ), + ) + ], + ), + ); + } +} + +class KwDropDownItem { + final String title; + final R data; + final Widget? icon; + + const KwDropDownItem({required this.data, required this.title, this.icon}); +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart new file mode 100644 index 00000000..1ee237e0 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart @@ -0,0 +1,70 @@ +import 'package:flutter/material.dart'; + +class KwAnimatedImagePlaceholder extends StatefulWidget { + const KwAnimatedImagePlaceholder({ + super.key, + this.height = double.maxFinite, + this.width = double.maxFinite, + }); + + final double height; + final double width; + + @override + State createState() => + _KwAnimatedImagePlaceholderState(); +} + +class _KwAnimatedImagePlaceholderState extends State + with TickerProviderStateMixin { + late final AnimationController _controller = AnimationController( + vsync: this, + duration: Durations.long4, + animationBehavior: AnimationBehavior.preserve, + ) + ..forward() + ..addListener( + () { + if (!_controller.isCompleted) return; + + if (_controller.value == 0) { + _controller.forward(); + } else { + _controller.reverse(); + } + }, + ); + + late final Animation _opacity = Tween( + begin: 0.6, + end: 0.2, + ).animate(_controller); + + @override + Widget build(BuildContext context) { + return AnimatedBuilder( + animation: _controller, + child: DecoratedBox( + decoration: const BoxDecoration( + color: Colors.grey, + ), + child: SizedBox( + height: widget.height, + width: widget.width, + ), + ), + builder: (context, child) { + return Opacity( + opacity: _opacity.value, + child: child, + ); + }, + ); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_input.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_input.dart new file mode 100644 index 00000000..bff054d1 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_input.dart @@ -0,0 +1,250 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwTextInput extends StatefulWidget { + final TextEditingController? controller; + final void Function(String)? onChanged; + final void Function(String)? onFieldSubmitted; + final String? title; + final String? hintText; + final String? helperText; + final bool obscureText; + final bool enabled; + final bool readOnly; + final bool showError; + final TextInputType? keyboardType; + final List? inputFormatters; + final bool showCounter; + final FocusNode? focusNode; + final TextInputAction? textInputAction; + final double minHeight; + final TextStyle? textStyle; + final Widget? suffixIcon; + final int? minLines; + final int? maxLines; + final int? maxLength; + final double radius; + final Color? borderColor; + final Null Function(bool hasFocus)? onFocusChanged; + + const KwTextInput({ + super.key, + required this.controller, + this.title, + this.onChanged, + this.onFieldSubmitted, + this.hintText, + this.helperText, + this.minHeight = standardHeight, + this.suffixIcon, + this.obscureText = false, + this.showError = false, + this.enabled = true, + this.readOnly = false, + this.keyboardType, + this.inputFormatters, + this.showCounter = false, + this.focusNode, + this.textInputAction, + this.textStyle, + this.maxLength, + this.minLines, + this.maxLines, + this.radius = 12, + this.borderColor, + this.onFocusChanged, + }); + + static const standardHeight = 48.0; + + @override + State createState() => _KwTextInputState(); +} + +class _KwTextInputState extends State { + late FocusNode _focusNode; + + @override + initState() { + _focusNode = widget.focusNode ?? FocusNode(); + _focusNode.addListener(() { + setState(() {}); + widget.onFocusChanged?.call(_focusNode.hasFocus); + }); + super.initState(); + } + + Color _helperTextColor() { + if (widget.showError) { + return AppColors.statusError; + } else { + if (!widget.enabled) { + return AppColors.grayDisable; + } + return AppColors.bgColorDark; + } + } + + Color _borderColor() { + if (!widget.enabled) { + return AppColors.grayDisable; + } + + if (widget.showError || + widget.maxLength != null && + (widget.controller?.text.length ?? 0) > widget.maxLength!) { + return AppColors.statusError; + } + + if (_focusNode.hasFocus) { + return AppColors.bgColorDark; + } + + return widget.borderColor ?? AppColors.grayStroke; + } + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (widget.title != null) + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + ), + ), + if (widget.title != null) const SizedBox(height: 4), + GestureDetector( + onTap: () { + if (widget.enabled && !widget.readOnly) { + _focusNode.requestFocus(); + } + }, + child: Stack( + children: [ + Container( + padding: EdgeInsets.only(bottom: widget.showCounter ? 24 : 0), + alignment: Alignment.topCenter, + constraints: BoxConstraints( + minHeight: widget.minHeight, + ), + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.all(Radius.circular( + widget.minHeight > KwTextInput.standardHeight + ? widget.radius + : widget.minHeight / 2)), + border: Border.all( + color: _borderColor(), + ), + ), + child: Row( + children: [ + Expanded( + child: TextFormField( + focusNode: _focusNode, + inputFormatters: widget.inputFormatters, + keyboardType: widget.keyboardType, + enabled: widget.enabled && !widget.readOnly, + controller: widget.controller, + obscureText: widget.obscureText, + maxLines: widget.maxLines, + minLines: widget.minLines ?? 1, + maxLength: widget.maxLength, + onChanged: widget.onChanged, + textInputAction: widget.textInputAction, + onFieldSubmitted: widget.onFieldSubmitted, + onTapOutside: (_) { + _focusNode.unfocus(); + }, + style: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: !widget.enabled + ? AppColors.grayDisable + : null, + ), + decoration: InputDecoration( + counter: const SizedBox.shrink(), + fillColor: Colors.transparent, + contentPadding: const EdgeInsets.symmetric( + horizontal: 16, vertical: 8), + hintText: widget.hintText, + // errorStyle: p2pTextStyles.paragraphSmall( + // color: p2pColors.borderDanger), + hintStyle: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + border: InputBorder.none, + ), + ), + ), + if (widget.suffixIcon != null) + SizedBox( + child: widget.suffixIcon!, + ), + ], + ), + ), + if (widget.showCounter) + Positioned( + bottom: 12, + left: 12, + child: Text( + '${widget.controller?.text.length}/' + '${(widget.maxLength ?? 0)}', + style: AppTextStyles.bodySmallReg.copyWith( + color: (widget.controller?.text.length ?? 0) > + (widget.maxLength ?? 0) + ? AppColors.statusError + : AppColors.blackGray), + ), + ), + if (widget.minHeight > KwTextInput.standardHeight) + Positioned( + bottom: 12, + right: 12, + child: Assets.images.icons.textFieldNotches.svg( + height: 12, + width: 12, + ), + ), + ], + ), + ), + if (widget.helperText != null && + (widget.helperText?.isNotEmpty ?? false)) ...[ + const SizedBox(height: 4), + Row( + children: [ + const Gap(16), + Text( + widget.helperText!, + style: AppTextStyles.bodyTinyReg.copyWith( + height: 1, + color: _helperTextColor(), + ), + ), + ], + ) + ] + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart new file mode 100644 index 00000000..a073f383 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; + +class KwLoadingOverlay extends StatefulWidget { + const KwLoadingOverlay({ + super.key, + required this.child, + this.controller, + this.shouldShowLoading, + }); + + final Widget child; + final OverlayPortalController? controller; + final bool? shouldShowLoading; + + @override + State createState() => _KwLoadingOverlayState(); +} + +class _KwLoadingOverlayState extends State { + late final OverlayPortalController _controller; + + @override + void initState() { + _controller = widget.controller ?? OverlayPortalController(); + super.initState(); + + if (widget.shouldShowLoading ?? false) { + WidgetsBinding.instance.addPostFrameCallback( + (_) => _controller.show(), + ); + } + } + + @override + void didUpdateWidget(covariant KwLoadingOverlay oldWidget) { + super.didUpdateWidget(oldWidget); + + WidgetsBinding.instance.addPostFrameCallback( + (_) { + if (widget.shouldShowLoading == null) return; + + if (widget.shouldShowLoading!) { + _controller.show(); + } else { + _controller.hide(); + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return OverlayPortal( + controller: _controller, + overlayChildBuilder: (context) { + return const SizedBox( + height: double.maxFinite, + width: double.maxFinite, + child: DecoratedBox( + decoration: BoxDecoration( + color: Colors.black38, + ), + child: Center( + child: CircularProgressIndicator(), + ), + ), + ); + }, + child: widget.child, + ); + } + + @override + void dispose() { + if (context.mounted) _controller.hide(); + super.dispose(); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart new file mode 100644 index 00000000..469c5e71 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart @@ -0,0 +1,131 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwOptionSelector extends StatelessWidget { + const KwOptionSelector({ + super.key, + required this.selectedIndex, + required this.onChanged, + this.title, + required this.items, + this.height = 46, + this.spacer = 4, + this.backgroundColor, + this.selectedColor = AppColors.bgColorDark, + this.itemColor, + this.itemBorder, + this.borderRadius, + this.itemAlign, + this.selectedTextStyle, + this.textStyle, + double? selectorHeight, + }) : _selectorHeight = selectorHeight ?? height; + + final int? selectedIndex; + final double height; + final double spacer; + final Function(int index) onChanged; + final String? title; + final List items; + final Color? backgroundColor; + final BorderRadius? borderRadius; + final Color selectedColor; + final Color? itemColor; + final Border? itemBorder; + final double _selectorHeight; + final Alignment? itemAlign; + + final TextStyle? textStyle; + final TextStyle? selectedTextStyle; + + @override + Widget build(BuildContext context) { + var borderRadius = BorderRadius.all(Radius.circular(height / 2)); + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (title != null) + Padding( + padding: const EdgeInsets.only(left: 16, bottom: 4), + child: Text( + title!, + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.blackGray), + ), + ), + LayoutBuilder( + builder: (builderContext, constraints) { + final itemWidth = + (constraints.maxWidth - spacer * (items.length - 1)) / + items.length; + + return Container( + height: height, + decoration: BoxDecoration( + color: backgroundColor, + borderRadius: borderRadius, + ), + child: Stack( + children: [ + if (selectedIndex != null) + AnimatedAlign( + alignment: Alignment( + selectedIndex! * 2 / (items.length - 1) - 1, + 1, + ), + duration: Durations.short4, + child: Container( + height: _selectorHeight, + width: itemWidth, + decoration: BoxDecoration( + color: selectedColor, + borderRadius: borderRadius, + ), + ), + ), + Row( + spacing: spacer, + children: [ + for (int index = 0; index < items.length; index++) + GestureDetector( + onTap: () { + onChanged(index); + }, + child: AnimatedContainer( + height: height, + width: itemWidth, + decoration: BoxDecoration( + color: index == selectedIndex ? null : itemColor, + borderRadius: borderRadius, + border: + index == selectedIndex ? null : itemBorder, + ), + duration: Durations.short2, + child: Align( + alignment: itemAlign ?? Alignment.center, + child: AnimatedDefaultTextStyle( + duration: Durations.short4, + style: index == selectedIndex + ? (selectedTextStyle ?? + AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.grayWhite)) + : (textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray)), + child: Text(items[index]), + ), + ), + ), + ), + ], + ), + ], + ), + ); + }, + ) + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart new file mode 100644 index 00000000..1eac8bee --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart @@ -0,0 +1,177 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwPhoneInput extends StatefulWidget { + final String? title; + final String? error; + final TextEditingController? controller; + final void Function(String)? onChanged; + final Color? borderColor; + final FocusNode? focusNode; + final bool showError; + final String? helperText; + final bool enabled; + + const KwPhoneInput({ + super.key, + this.title, + this.error, + this.borderColor , + this.controller, + this.onChanged, + this.focusNode, + this.showError = false, + this.helperText, + this.enabled = true, + }); + + @override + State createState() => _KWPhoneInputState(); +} + +class _KWPhoneInputState extends State { + late FocusNode _focusNode; + + @override + void initState() { + _focusNode = widget.focusNode ?? FocusNode(); + _focusNode.addListener(() { + setState(() {}); + }); + super.initState(); + } + + Color _borderColor() { + if (!widget.enabled) { + return AppColors.grayDisable; + } + + if (_focusNode.hasFocus) { + return AppColors.bgColorDark; + } + + return widget.borderColor ?? AppColors.grayStroke; + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if(widget.title != null) ...[ + _buildLabel(), + const SizedBox(height: 4), + ], + _buildInputRow(), + _buildError() + ], + ); + } + + Container _buildInputRow() { + return Container( + decoration: BoxDecoration( + borderRadius: const BorderRadius.all( + Radius.circular(24), + ), + border: Border.all( + color: _borderColor(), + width: 1, + ), + color: Colors.transparent, + ), + child: Row( + children: [ + _buildCountryPicker(), + Expanded( + child: TextField( + focusNode: _focusNode, + controller: widget.controller, + onChanged: widget.onChanged, + decoration: InputDecoration( + hintText: 'Enter your number', + hintStyle: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(horizontal: 10), + filled: true, + fillColor: Colors.transparent, + ), + style: AppTextStyles.bodyMediumReg, + keyboardType: TextInputType.phone, + ), + ), + ], + ), + ); + } + + Padding _buildLabel() { + return Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ); + } + + Widget _buildCountryPicker() { + return GestureDetector( + onTap: () { + Feedback.forTap(context); + //TODO(Heorhii): Add country selection functionality + }, + child: Row( + children: [ + const Gap(12), + const CircleAvatar( + radius: 12, + backgroundImage: NetworkImage( + 'https://flagcdn.com/w320/us.png', + ), + ), + //TODO// dont show arrow + // const Gap(6), + // const Icon( + // Icons.keyboard_arrow_down_rounded, + // color: AppColors.blackGray, + // opticalSize: 16, + // ), + const Gap(12), + SizedBox( + height: 48, + child: VerticalDivider( + width: 1, + color: _borderColor(), + ), + ), + ], + ), + ); + } + + _buildError() { + return AnimatedSize( + duration: const Duration(milliseconds: 200), + alignment: Alignment.bottomCenter, + child: Container( + height: widget.error == null ? 0 : 24, + clipBehavior: Clip.none, + padding: const EdgeInsets.only(left: 16), + alignment: Alignment.bottomLeft, + child: Text( + widget.error ?? '', + style: AppTextStyles.bodyTinyMed.copyWith( + color: AppColors.statusError, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_button.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_button.dart new file mode 100644 index 00000000..95b1a928 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_button.dart @@ -0,0 +1,514 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwPopUpButton extends StatefulWidget { + final double height; + final bool disabled; + final bool withBorder; + final KwPopupButtonColorPallet colorPallet; + final double popUpPadding; + final String label; + final List items; + + KwPopUpButton( + {super.key, + required this.label, + required this.items, + colorPallet, + this.height = 52, + this.withBorder = false, + this.disabled = false, + required this.popUpPadding}) + : colorPallet = colorPallet ?? KwPopupButtonColorPallet.dark(); + + @override + State createState() => _KwPopUpButtonState(); +} + +class _KwPopUpButtonState extends State { + final _layerLink = LayerLink(); + double opacity = 0.0; + final _KwButtonListenableOverlayPortalController _controller = + _KwButtonListenableOverlayPortalController(); + + @override + void initState() { + super.initState(); + _controller.addListener(() { + setState(() {}); + }); + + _controller.addOnHideListener(_hide); + _controller.addOnShowListener(_show); + } + + @override + Widget build(BuildContext context) { + return _buildButton(context); + } + + Widget _buildButton(BuildContext context) { + return _KwButtonPopUpOverlayMenu( + opacity: opacity, + controller: _controller, + layerLink: _layerLink, + popUpPadding: widget.popUpPadding, + items: widget.items, + child: CompositedTransformTarget( + link: _layerLink, + child: AnimatedContainer( + duration: const Duration(milliseconds: 150), + height: widget.height, + decoration: BoxDecoration( + color: _getBgColor(), + border: _getBorder(), + borderRadius: BorderRadius.circular(widget.height / 2), + ), + child: Material( + color: Colors.transparent, + child: InkWell( + onTapDown: widget.disabled ? null : _onTapDown, + borderRadius: BorderRadius.circular(widget.height / 2), + highlightColor: widget.colorPallet.pressedBdColor, + splashColor: widget.colorPallet.pressedBdColor, + child: _buildButtonContent(context), + ), + ), + ), + ), + ); + } + + _buildButtonContent(BuildContext context) { + return Center( + child: Row( + children: [ + const Gap(52), + Expanded( + child: Center( + child: Text( + widget.label, + style: + AppTextStyles.bodyMediumMed.copyWith(color: _getTextColor()), + ), + ), + ), + AnimatedContainer( + duration: const Duration(milliseconds: 150), + height: 52, + width: 52, + decoration: BoxDecoration( + color: _getDropDownBgColor(), + borderRadius: BorderRadius.only( + topRight: Radius.circular(widget.height / 2), + bottomRight: Radius.circular(widget.height / 2), + ), + ), + child: AnimatedRotation( + turns: opacity * 0.5, + duration: const Duration(milliseconds: 150), + child: Icon( + Icons.keyboard_arrow_down_rounded, + color: _getIconColor(), + ), + ), + ) + ], + ), + ); + } + + void _onTapDown(details) { + if (_controller.isShowing) { + _controller.hide(); + } else { + _controller.show(); + } + } + + Future _hide() async { + setState(() { + opacity = 0.0; + }); + await Future.delayed(const Duration(milliseconds: 150), () {}); + } + + Future _show() async { + WidgetsBinding.instance.addPostFrameCallback((call) { + setState(() { + opacity = 1.0; + }); + }); + } + + Border? _getBorder() { + return widget.withBorder + ? Border.all( + color: widget.disabled + ? widget.colorPallet.dropDownDisabledBgColor + : _controller.isShowing + ? widget.colorPallet.dropDownPressedBgColor + : widget.colorPallet.dropDownBgColor, + width: 1) + : null; + } + + Color _getDropDownBgColor() { + return widget.disabled + ? widget.colorPallet.dropDownDisabledBgColor + : _controller.isShowing + ? widget.colorPallet.dropDownPressedBgColor + : widget.colorPallet.dropDownBgColor; + } + + Color _getBgColor() { + return widget.disabled + ? widget.colorPallet.disabledBdColor + : widget.colorPallet.bgColor; + } + + Color _getTextColor() { + return (_controller.isShowing + ? widget.colorPallet.textPressedColor + : widget.disabled + ? widget.colorPallet.textDisabledColor + : widget.colorPallet.textColor); + } + + Color _getIconColor() { + return (_controller.isShowing + ? widget.colorPallet.iconPressedColor + : widget.disabled + ? widget.colorPallet.iconDisabledColor + : widget.colorPallet.iconColor); + } +} + +class KwPopUpButtonItem { + final String title; + final VoidCallback onTap; + final Color color; + + KwPopUpButtonItem( + {required this.title, + required this.onTap, + this.color = AppColors.blackBlack}); +} + +class KwPopupButtonColorPallet { + final Color textColor; + final Color textPressedColor; + final Color textDisabledColor; + final Color bgColor; + final Color pressedBdColor; + final Color disabledBdColor; + final Color iconColor; + final Color iconPressedColor; + final Color iconDisabledColor; + final Color dropDownBgColor; + final Color dropDownPressedBgColor; + final Color dropDownDisabledBgColor; + + const KwPopupButtonColorPallet._( + {required this.textColor, + required this.textPressedColor, + required this.textDisabledColor, + required this.bgColor, + required this.pressedBdColor, + required this.disabledBdColor, + required this.iconColor, + required this.iconPressedColor, + required this.iconDisabledColor, + required this.dropDownBgColor, + required this.dropDownPressedBgColor, + required this.dropDownDisabledBgColor}); + + factory KwPopupButtonColorPallet.dark() { + return const KwPopupButtonColorPallet._( + textColor: AppColors.grayWhite, + textPressedColor: AppColors.grayWhite, + textDisabledColor: AppColors.grayWhite, + bgColor: AppColors.bgColorDark, + pressedBdColor: AppColors.darkBgActiveButtonState, + disabledBdColor: AppColors.grayDisable, + iconColor: AppColors.grayWhite, + iconPressedColor: AppColors.grayWhite, + iconDisabledColor: AppColors.grayWhite, + dropDownBgColor: AppColors.darkBgBgElements, + dropDownPressedBgColor: AppColors.darkBgStroke, + dropDownDisabledBgColor: AppColors.grayDisable, + ); + } + + factory KwPopupButtonColorPallet.yellow() { + return const KwPopupButtonColorPallet._( + textColor: AppColors.blackBlack, + textPressedColor: AppColors.blackBlack, + textDisabledColor: AppColors.grayWhite, + bgColor: AppColors.primaryYellow, + pressedBdColor: AppColors.buttonPrimaryYellowActive, + disabledBdColor: AppColors.grayDisable, + iconColor: AppColors.blackBlack, + iconPressedColor: AppColors.blackBlack, + iconDisabledColor: AppColors.grayWhite, + dropDownBgColor: AppColors.buttonPrimaryYellowDrop, + dropDownPressedBgColor: AppColors.buttonPrimaryYellowActiveDrop, + dropDownDisabledBgColor: AppColors.grayDisable, + ); + } + + factory KwPopupButtonColorPallet.transparent() { + return const KwPopupButtonColorPallet._( + textColor: AppColors.blackBlack, + textPressedColor: AppColors.blackBlack, + textDisabledColor: AppColors.grayDisable, + bgColor: Colors.transparent, + pressedBdColor: Colors.transparent, + disabledBdColor: Colors.transparent, + iconColor: AppColors.blackBlack, + iconPressedColor: AppColors.grayWhite, + iconDisabledColor: AppColors.grayWhite, + dropDownBgColor: AppColors.buttonOutline, + dropDownPressedBgColor: AppColors.darkBgActiveButtonState, + dropDownDisabledBgColor: AppColors.grayDisable, + ); + } + + KwPopupButtonColorPallet copyWith({ + Color? textColor, + Color? textPressedColor, + Color? textDisabledColor, + Color? bgColor, + Color? pressedBdColor, + Color? disabledBdColor, + Color? iconColor, + Color? iconPressedColor, + Color? iconDisabledColor, + Color? dropDownBgColor, + Color? dropDownPressedBgColor, + Color? dropDownDisabledBgColor, + }) { + return KwPopupButtonColorPallet._( + textColor: textColor ?? this.textColor, + textPressedColor: textPressedColor ?? this.textPressedColor, + textDisabledColor: textDisabledColor ?? this.textDisabledColor, + bgColor: bgColor ?? this.bgColor, + pressedBdColor: pressedBdColor ?? this.pressedBdColor, + disabledBdColor: disabledBdColor ?? this.disabledBdColor, + iconColor: iconColor ?? this.iconColor, + iconPressedColor: iconPressedColor ?? this.iconPressedColor, + iconDisabledColor: iconDisabledColor ?? this.iconDisabledColor, + dropDownBgColor: dropDownBgColor ?? this.dropDownBgColor, + dropDownPressedBgColor: + dropDownPressedBgColor ?? this.dropDownPressedBgColor, + dropDownDisabledBgColor: + dropDownDisabledBgColor ?? this.dropDownDisabledBgColor, + ); + } +} + +class _KwButtonPopUpOverlayMenu extends StatefulWidget { + const _KwButtonPopUpOverlayMenu({ + required this.child, + required this.controller, + required this.opacity, + required this.layerLink, + required this.popUpPadding, + required this.items, + }); + + final Widget child; + final _KwButtonListenableOverlayPortalController controller; + + final double opacity; + + final LayerLink layerLink; + + final double popUpPadding; + + final List items; + + @override + State<_KwButtonPopUpOverlayMenu> createState() => + _KwButtonPopUpOverlayMenuState(); +} + +class _KwButtonPopUpOverlayMenuState extends State<_KwButtonPopUpOverlayMenu> { + late final _KwButtonListenableOverlayPortalController _controller; + + @override + void initState() { + _controller = widget.controller; + + _controller.addListener(() { + try { + if (context.mounted) { + setState(() {}); + } + } catch (e) { + print(e); + } + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return OverlayPortal( + controller: _controller, + overlayChildBuilder: (context) { + return CompositedTransformFollower( + followerAnchor: Alignment.bottomCenter, + targetAnchor: Alignment.topCenter, + offset: const Offset(0, -8), + link: widget.layerLink, + child: GestureDetector( + onTap: () { + _controller.hide(); + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: widget.popUpPadding), + child: AnimatedOpacity( + duration: const Duration(milliseconds: 150), + opacity: widget.opacity, + child: Align( + alignment: Alignment.bottomCenter, + child: Container( + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: AppColors.grayTintStroke, width: 1), + boxShadow: [ + BoxShadow( + color: + Colors.black.withAlpha((255 * 0.07).toInt()), + offset: const Offset(0, 8), + blurRadius: 17, + ), + BoxShadow( + color: + Colors.black.withAlpha((255 * 0.06).toInt()), + offset: const Offset(0, 30), + blurRadius: 30, + ) + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisSize: MainAxisSize.min, + children: widget.items + .expand((e) => [ + _buildItem(e.title, e.onTap, e.color), + if (widget.items.last != e) + const Divider( + color: AppColors.grayTintStroke, + height: 0, + ), + ]) + .toList(), + ), + ), + ), + ), + ), + )), + ); + }, + child: widget.child, + ); + } + + Widget _buildItem(String title, VoidCallback onTap, Color color) { + return GestureDetector( + onTap: () { + onTap(); + _controller.hide(); + }, + child: Container( + height: 52, + color: Colors.transparent, + child: Center( + child: Text( + title, + style: AppTextStyles.bodyMediumMed.copyWith(color: color), + ), + ), + ), + ); + } + + @override + void dispose() { + if (context.mounted) _controller.hide(); + super.dispose(); + } +} + +class _KwButtonListenableOverlayPortalController + extends OverlayPortalController { + List listeners = []; + Future Function()? onShow; + Future Function()? onHide; + + _KwButtonListenableOverlayPortalController(); + + addOnShowListener(Future Function() listener) { + onShow = listener; + } + + addOnHideListener(Future Function() listener) { + onHide = listener; + } + + @override + void show() async { + super.show(); + try { + for (var element in listeners) { + element(); + } + } catch (e) { + if (kDebugMode) { + print(e); + } + } + + if (onShow != null) { + await onShow!(); + } + } + + @override + void hide() async { + if (onHide != null) { + await onHide!(); + } + try { + super.hide(); + } catch (e) { + if (kDebugMode) { + print(e); + } + } + for (var element in listeners) { + try { + element(); + } catch (e) { + if (kDebugMode) { + print(e); + } + } + } + } + + void addListener(VoidCallback listener) { + listeners.add(listener); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart new file mode 100644 index 00000000..eb2a0524 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart @@ -0,0 +1,169 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/_custom_popup_menu.dart'; + +enum KwPopupMenuFit { expand, loose } + +class KwPopupMenu extends StatefulWidget { + final Widget Function(BuildContext, bool menuIsShowmn)? customButtonBuilder; + final List menuItems; + final double? horizontalMargin; + final KwPopupMenuFit fit; + final double horizontalPadding; + final CustomPopupMenuController? controller; + + + const KwPopupMenu({ + this.customButtonBuilder, + required this.menuItems, + this.fit = KwPopupMenuFit.loose, + this.horizontalMargin, + this.horizontalPadding = 0, + this.controller, + super.key, + }); + + @override + State createState() => _KwPopupMenuState(); +} + +class _KwPopupMenuState extends State { + late CustomPopupMenuController _controller; + + @override + void initState() { + _controller = widget.controller ?? CustomPopupMenuController(); + super.initState(); + _controller.addListener(() { + if (mounted) setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return CustomPopupMenu( + horizontalMargin: widget.horizontalMargin ?? 0, + controller: _controller, + verticalMargin: 4, + position: PreferredPosition.bottom, + showArrow: false, + enablePassEvent: false, + barrierColor: Colors.transparent, + menuBuilder: widget.menuItems.isEmpty + ? null + : () { + return Row( + mainAxisSize: widget.fit == KwPopupMenuFit.expand + ? MainAxisSize.max + : MainAxisSize.min, + children: [ + widget.fit == KwPopupMenuFit.expand + ? Expanded( + child: _buildItem(), + ) + : _buildItem() + ], + ); + }, + pressType: PressType.singleClick, + child: widget.customButtonBuilder + ?.call(context, _controller.menuIsShowing) ?? + AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: 32, + width: 32, + decoration: BoxDecoration( + color: _controller.menuIsShowing + ? AppColors.grayTintStroke + : AppColors.grayWhite, + shape: BoxShape.circle, + border: _controller.menuIsShowing + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1)), + child: Center(child: Assets.images.icons.more.svg()), + ), + ); + } + + Container _buildItem() { + return Container( + margin: EdgeInsets.symmetric(horizontal: widget.horizontalPadding), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all(color: AppColors.grayTintStroke, width: 1), + color: AppColors.grayWhite, + ), + child: Container( + constraints: const BoxConstraints( + maxHeight: 210, + ), + child: SingleChildScrollView( + child: IntrinsicWidth( + child: Column( + children: [ + for (var i = 0; i < widget.menuItems.length; i++) + Material( + type: MaterialType.transparency, + child: InkWell( + onTap: () { + widget.menuItems[i].onTap(); + _controller.hideMenu(); + }, + child: Container( + height: 42, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: i == 0 + ? null + : const BoxDecoration( + border: Border( + top: BorderSide( + color: AppColors.grayTintStroke, + width: 1, + ), + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.menuItems[i].icon != null) ...[ + widget.menuItems[i].icon!, + const Gap(4), + ], + Expanded( + child: Text( + widget.menuItems[i].title, + style: widget.menuItems[i].textStyle ?? + AppTextStyles.bodyMediumReg, + )), + ], + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class KwPopupMenuItem { + final String title; + final Widget? icon; + + final VoidCallback onTap; + + final TextStyle? textStyle; + + const KwPopupMenuItem({ + required this.title, + required this.onTap, + this.icon, + this.textStyle, + }); +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart new file mode 100644 index 00000000..dac6e932 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart @@ -0,0 +1,133 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/_custom_popup_menu.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +@immutable +class KwSuggestionInput extends StatefulWidget { + final debounceDuration = const Duration(milliseconds: 400); + + final String? title; + final String? hintText; + final Iterable items; + final String Function(R item) itemToStringBuilder; + final Function(R item) onSelected; + final Function(String query) onQueryChanged; + final String? initialText; + final double horizontalPadding; + final Color? backgroundColor; + final Color? borderColor; + + const KwSuggestionInput({ + super.key, + this.initialText, + required this.hintText, + required this.itemToStringBuilder, + required this.items, + required this.onSelected, + required this.onQueryChanged, + this.horizontalPadding = 0, + this.backgroundColor, + this.borderColor, + this.title, + }); + + @override + State> createState() => _KwSuggestionInputState(); +} + +class _KwSuggestionInputState extends State> { + R? selectedItem; + var dropdownController = CustomPopupMenuController(); + late TextEditingController _textController; + late FocusNode _focusNode; + + Timer? _debounce; + + UniqueKey key = UniqueKey(); + + @override + void initState() { + super.initState(); + _textController = TextEditingController(text: widget.initialText); + _focusNode = FocusNode(); + _textController.addListener(_onTextChanged); + } + + @override + void dispose() { + _textController.removeListener(_onTextChanged); + _textController.dispose(); + _debounce?.cancel(); + dropdownController.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + void _onTextChanged() { + if (_debounce?.isActive ?? false) _debounce?.cancel(); + _debounce = Timer(widget.debounceDuration, () { + if (selectedItem == null || + widget.itemToStringBuilder(selectedItem as R) != + _textController.text) { + widget.onQueryChanged(_textController.text); + } + }); + } + + @override + void didUpdateWidget(covariant KwSuggestionInput oldWidget) { + super.didUpdateWidget(oldWidget); + + if (oldWidget.initialText != widget.initialText) { + _textController.text = widget.initialText!; + } + + WidgetsBinding.instance.addPostFrameCallback( + (_) { + if (oldWidget.items != widget.items) { + dropdownController.showMenu(); + } else { + dropdownController.setState(); + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + KwPopupMenu( + controller: dropdownController, + horizontalPadding: widget.horizontalPadding, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened); + }, + menuItems: widget.items + .map((item) => KwPopupMenuItem( + title: widget.itemToStringBuilder(item), + onTap: () { + selectedItem = item; + _textController.text = widget.itemToStringBuilder(item); + dropdownController.hideMenu(); + widget.onSelected(item); + })) + .toList()), + ], + ); + } + + Widget _buildMenuButton(bool isOpened) { + return KwTextInput( + title: widget.title, + hintText: widget.hintText, + controller: _textController, + focusNode: _focusNode, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart new file mode 100644 index 00000000..72cae2f2 --- /dev/null +++ b/mobile-apps/client-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart @@ -0,0 +1,289 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwTabBar extends StatefulWidget { + final List tabs; + final void Function(int index) onTap; + final List? flexes; + final bool forceScroll; + + const KwTabBar( + {super.key, + required this.tabs, + required this.onTap, + this.flexes, + this.forceScroll = false}); + + @override + State createState() => _KwTabBarState(); +} + +class _KwTabBarState extends State + with SingleTickerProviderStateMixin { + var keyMaps = {}; + var tabPadding = 4.0; + int _selectedIndex = 0; + late AnimationController _controller; + late Animation _animation; + late ScrollController _horScrollController; + + @override + void initState() { + super.initState(); + _horScrollController = ScrollController(); + _controller = AnimationController( + duration: const Duration(milliseconds: 200), + vsync: this, + ); + _animation = Tween(begin: 0, end: 0).animate(_controller); + } + + @override + dispose() { + _controller.dispose(); + _horScrollController.dispose(); + _animation.removeListener(() {}); + super.dispose(); + } + + void _setSelectedIndex(int index) { + if (_horScrollController.hasClients) { + _scrollToSelected(index); + } + + setState(() { + _selectedIndex = index; + _animation = Tween( + begin: _animation.value, + end: index.toDouble(), + ).animate(CurvedAnimation( + parent: _controller, + curve: Curves.easeInOut, + )); + _controller.forward(from: 0); + }); + + widget.onTap(index); + } + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + double totalWidth = widget.tabs + .fold(0, (sum, tab) => sum + _calculateTabWidth(tab, 0, context)); + + totalWidth += (widget.tabs.length) * tabPadding + 26; //who is 26? + bool needScroll = widget.forceScroll || + widget.flexes == null || + totalWidth > constraints.maxWidth; + return _buildTabsRow(context, needScroll, constraints.maxWidth); + }, + ); + } + + Widget _buildTabsRow(BuildContext context, bool needScroll, maxWidth) { + return SizedBox( + width: maxWidth, + child: needScroll + ? SingleChildScrollView( + physics: const BouncingScrollPhysics(), + controller: _horScrollController, + scrollDirection: Axis.horizontal, + child: Stack( + children: [ + _buildAnimatedUnderline(false), + _buildRow( + context, + ), + ], + ), + ) + : Stack( + children: [ + _buildAnimatedUnderline(true), + _buildRow(context, fixedWidth: true), + ], + ), + ); + } + + Widget _buildRow(BuildContext context, {bool fixedWidth = false}) { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: widget.tabs + .asMap() + .map((index, tab) => MapEntry( + index, + _buildSingleTab(index, tab, context, fixedWidth: fixedWidth), + )) + .values + .toList(), + ), + ); + } + + Widget _buildSingleTab(int index, String tab, BuildContext context, + {required bool fixedWidth}) { + double? itemWidth; + + var d = (MediaQuery.of(context).size.width - + (tabPadding * widget.tabs.length) - + 32); + + if (widget.flexes != null) { + itemWidth = d * + (widget.flexes?[index] ?? 1) / + (widget.flexes?.reduce((a, b) => a + b) ?? 1); + } else { + itemWidth = (d / (widget.tabs.length)); + } + if (keyMaps[index] == null) { + keyMaps[index] = GlobalKey(); + } + + return GestureDetector( + key: keyMaps[index], + onTap: () { + _setSelectedIndex(index); + }, + child: AnimatedContainer( + duration: const Duration(milliseconds: 200), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(23), + color: Colors.transparent, + border: Border.all( + color: _selectedIndex != index + ? AppColors.grayStroke + : Colors.transparent, + width: 1, + ), + ), + padding: const EdgeInsets.symmetric(horizontal: 18), + margin: EdgeInsets.only(right: tabPadding), + height: 46, + width: fixedWidth ? itemWidth : null, + alignment: Alignment.center, + child: AnimatedDefaultTextStyle( + duration: const Duration(milliseconds: 200), + style: _selectedIndex == index + ? AppTextStyles.bodySmallReg.copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodySmallMed.copyWith(color: AppColors.blackGray), + child: Text(tab), + ), + ), + ); + } + + Widget _buildAnimatedUnderline(bool fixedWidth) { + double? tabWidth; + + var d = (MediaQuery.of(context).size.width - + (tabPadding * widget.tabs.length) - + 32); + + if (!fixedWidth) { + tabWidth = null; + } else if (widget.flexes != null) { + tabWidth = d * + (widget.flexes?[_selectedIndex] ?? 1) / + (widget.flexes?.reduce((a, b) => a + b) ?? 1); + } else { + tabWidth = (d / (widget.tabs.length)); + } + + var content = AnimatedContainer( + duration: const Duration(milliseconds: 200), + width: tabWidth ?? + _calculateTabWidth( + widget.tabs[_selectedIndex], _selectedIndex, context), + height: 46, + decoration: BoxDecoration( + color: AppColors.bgColorDark, + borderRadius: BorderRadius.circular(23), + ), + ); + + return fixedWidth && widget.flexes == null + ? AnimatedBuilder( + animation: _animation, + builder: (context, child) { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Align( + alignment: Alignment( + (_animation.value * 2 / (widget.tabs.length - 1)) - 1, + 1, + ), + child: content, + ), + ); + }, + ) + : animatedPadding(content); + } + + AnimatedPadding animatedPadding(AnimatedContainer content) { + return AnimatedPadding( + curve: Curves.easeIn, + padding: EdgeInsets.only(left: calcTabOffset(_selectedIndex)), + duration: const Duration(milliseconds: 250), + child: content, + ); + } + + double _calculateTabWidth(String tab, int index, BuildContext context) { + final textPainter = TextPainter( + text: TextSpan( + text: tab, + style: _selectedIndex == index + ? AppTextStyles.bodySmallReg + : AppTextStyles.bodySmallMed, + ), + maxLines: 1, + textDirection: TextDirection.ltr, + )..layout(); + + return textPainter.width + 36; // 36? + } + + double calcTabOffset(index) { + var scrollOffset = + _horScrollController.hasClients ? _horScrollController.offset : 0.0; + final keyContext = keyMaps[index]?.currentContext; + if (keyContext != null) { + final box = keyContext.findRenderObject() as RenderBox; + return (box.localToGlobal(Offset.zero).dx + scrollOffset) + .clamp(0, double.infinity); + } else { + return 0; + } + } + + void _scrollToSelected(int index) { + print(index); + double offset = 0; + double tabWidth = _calculateTabWidth(widget.tabs[index], index, context); + double screenWidth = MediaQuery.of(context).size.width; + + offset = calcTabOffset(index); + + double maxScrollExtent = _horScrollController.position.maxScrollExtent; + double targetOffset = offset - (screenWidth - tabWidth) / 2; + + if (targetOffset < 0) { + targetOffset = 0; + } else if (targetOffset > maxScrollExtent) { + targetOffset = maxScrollExtent; + } + + _horScrollController.animateTo( + targetOffset, + duration: const Duration(milliseconds: 200), + curve: Curves.easeInOut, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/app_update_service.dart b/mobile-apps/client-app/lib/core/sevices/app_update_service.dart new file mode 100644 index 00000000..667f2703 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/app_update_service.dart @@ -0,0 +1,126 @@ +import 'dart:io'; + +import 'package:firebase_remote_config/firebase_remote_config.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:injectable/injectable.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + +@singleton +class AppUpdateService { + Future checkForUpdate(BuildContext context) async { + final remoteConfig = FirebaseRemoteConfig.instance; + + await remoteConfig.setConfigSettings(RemoteConfigSettings( + fetchTimeout: const Duration(seconds: 10), + minimumFetchInterval: const Duration(seconds: 1), + )); + + await remoteConfig.fetchAndActivate(); + + final minBuildNumber = remoteConfig.getInt(Platform.isIOS?'min_build_number_client_ios':'min_build_number_client_android'); + final canSkip = remoteConfig.getBool('can_skip_client'); + final canIgnore = remoteConfig.getBool('can_ignore_client'); + final message = remoteConfig.getString('message_client'); + + final packageInfo = await PackageInfo.fromPlatform(); + final currentBuildNumber = int.parse(packageInfo.buildNumber); + + final prefs = await SharedPreferences.getInstance(); + final skippedVersion = prefs.getInt('skipped_version') ?? 0; + + if (minBuildNumber > currentBuildNumber && + minBuildNumber > skippedVersion) { + await _showUpdateDialog(context, message, canSkip, canIgnore, minBuildNumber); + } + } + + _showUpdateDialog( + BuildContext context, String message, bool canSkip, bool canIgnore, int minBuildNumber) { + return showDialog( + context: context, + barrierDismissible: canIgnore, + builder: (BuildContext context) { + if (Theme.of(context).platform == TargetPlatform.iOS) { + return WillPopScope( + onWillPop: () async => canIgnore, + child: CupertinoAlertDialog( + title: const Text('Update Available'), + content: Text( + message), + actions: [ + if (canSkip) + CupertinoDialogAction( + child: const Text('Skip this version'), + onPressed: () async { + final prefs = await SharedPreferences.getInstance(); + await prefs.setInt('skipped_version', minBuildNumber); + Navigator.of(context).pop(); + }, + ), + CupertinoDialogAction( + onPressed: + canIgnore ? () => Navigator.of(context).pop() : null, + child: const Text('Maybe later'), + ), + CupertinoDialogAction( + child: const Text('Update'), + onPressed: () async { + var url = dotenv.env['IOS_STORE_URL'] ?? + ''; + if (await canLaunchUrlString(url)) { + await launchUrlString(url); + } else { + throw 'Could not launch $url'; + } + }, + ), + ], + ), + ); + } else { + return WillPopScope( + onWillPop: () async => canIgnore, + child: AlertDialog( + title: const Text('Update Available'), + content: Text( + message), + actions: [ + if (canSkip) + TextButton( + child: const Text('Skip this version'), + onPressed: () async { + final prefs = await SharedPreferences.getInstance(); + await prefs.setInt('skipped_version', minBuildNumber); + Navigator.of(context).pop(); + }, + ), + TextButton( + onPressed: + canIgnore ? () => Navigator.of(context).pop() : null, + child: const Text('Maybe later'), + ), + TextButton( + child: const Text('Update'), + onPressed: () async { + var url = dotenv.env['ANDROID_STORE_URL'] ?? + ''; + if (await canLaunchUrlString(url)) { + await launchUrlString(url); + } else { + throw 'Could not launch $url'; + } + + }, + ), + ], + ), + ); + } + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service.dart b/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service.dart new file mode 100644 index 00000000..8f9c7c20 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service.dart @@ -0,0 +1,60 @@ +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service_data_provider.dart'; + +enum AuthStatus { + authenticated, + adminValidation, + prepareProfile, + unauthenticated, + error +} + +@injectable +class AuthService { + final AuthServiceDataProvider _dataProvider; + + AuthService(this._dataProvider); + + Future getAuthStatus() async { + User? user; + try { + user = FirebaseAuth.instance.currentUser; + } catch (e) { + return AuthStatus.error; + } + + if (user == null) { + return AuthStatus.unauthenticated; + } else { + return AuthStatus.authenticated; + } + + //todo get client? check if client is inactive - logout + + // final staffStatus = await getCachedStaffStatus(); + // + // if (staffStatus == StaffStatus.deactivated) { + // return AuthStatus.unauthenticated; + // } else if (staffStatus == StaffStatus.pending) { + // return AuthStatus.adminValidation; + // } else if (staffStatus == StaffStatus.registered || + // staffStatus == StaffStatus.declined) { + // return AuthStatus.prepareProfile; + // } else { + return AuthStatus.authenticated; + // } + } + + void logout() { + FirebaseAuth.instance.signOut(); + getIt().dropCache(); + } + + Future deleteAccount() async { + await FirebaseAuth.instance.currentUser!.delete(); + getIt().dropCache(); + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart b/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart new file mode 100644 index 00000000..3f8410fc --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart @@ -0,0 +1,20 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; + +@injectable +class AuthServiceDataProvider { + final ApiClient _client; + + AuthServiceDataProvider({required ApiClient client}) : _client = client; + +// Future getStaffStatus() async { +// final QueryResult result = await _client.query(schema: getStaffStatusQuery); +// +// if (result.hasException) { +// throw Exception(result.exception.toString()); +// } +// +// final Map data = result.data!['me']; +// return Staff.fromJson(data).status!; +// } +} diff --git a/mobile-apps/client-app/lib/core/sevices/auth_state_service/gql.dart b/mobile-apps/client-app/lib/core/sevices/auth_state_service/gql.dart new file mode 100644 index 00000000..eb935f1a --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/auth_state_service/gql.dart @@ -0,0 +1,8 @@ +const String getStaffStatusQuery = ''' +query GetMe { + me { + id + status + } +} +'''; diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service.dart new file mode 100644 index 00000000..24f392b2 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service.dart @@ -0,0 +1,120 @@ +import 'package:flutter/foundation.dart'; +import 'package:injectable/injectable.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; +import 'package:krow/core/sevices/create_event_service/create_event_service_repository.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_input_model.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_shift_position_input_model.dart'; +import 'package:krow/features/events/domain/events_repository.dart'; + +@lazySingleton +class CreateEventService { + EventsRepository? _eventsRepository; + + set eventsRepository(EventsRepository eventsRepository) { + _eventsRepository = eventsRepository; + } + + Future createEventService(EventEntity entity) async { + late CreateEventInputModel createEventInputModel; + try { + createEventInputModel = createInput(entity); + } catch (e) { + debugPrint('Create event model error: $e'); + throw DisplayableException('Field must be filled'); + } + + var id = await getIt() + .createEvent(createEventInputModel); + + _eventsRepository?.refreshEvents(EventStatus.draft); + return id; + } + + Future validateEventInfo(EventEntity entity) async { + return true; + } + + Future validateShiftInfo(ShiftEntity entity) async { + return true; + } + + Future validateShiftPositionInfo(PositionEntity entity) async { + return true; + } + + Future deleteDraft(EventEntity entity) async { + if (entity.id.isEmpty) { + return; + } + await getIt().deleteDraft(entity.id); + _eventsRepository?.refreshEvents(EventStatus.draft); + } + + Future publishEvent(EventEntity entity) async { + var id; + if (entity.id.isEmpty) { + id = await createEventService(entity); + } else { + await updateEvent(entity); + id = entity.id; + } + + try { + if (entity.status == EventStatus.draft || entity.status == null) { + await getIt().publishEvent(id); + await Future.delayed(const Duration(seconds: 1)); + + _eventsRepository?.refreshEvents(EventStatus.draft); + _eventsRepository?.refreshEvents(EventStatus.pending); + } + } catch (e) { + rethrow; + } + } + + Future updateEvent(EventEntity entity) async { + await getIt() + .updateEvent(createInput(entity)); + _eventsRepository?.refreshEvents(entity.status ?? EventStatus.draft); + } + + CreateEventInputModel createInput(EventEntity entity) { + return CreateEventInputModel( + id: entity.id.isEmpty ? null : entity.id, + name: entity.name, + date: DateFormat('yyyy-MM-dd').format(entity.startDate ?? DateTime.now()), + hubId: entity.hub!.id, + // contractId: entity.contractNumber, + purchaseOrder: entity.poNumber, + contractType: EventContractType.purchaseOrder, + additionalInfo: entity.additionalInfo, + tags: entity.tags?.map((e) => e.id).toList(), + addons: entity.addons?.map((e) => e.id).toList(), + shifts: entity.shifts?.indexed.map((e) { + var (index, shiftState) = e; + return CreateEventShiftInputModel( + name: 'Shift #${index + 1}', + address: shiftState.fullAddress!, + contacts: shiftState.managers.map((e) => e.id).toList(), + positions: shiftState.positions.map((roleEntity) { + return CreateEventShiftPositionInputModel( + businessSkillId: roleEntity.businessSkill!.id!, + hubDepartmentId: roleEntity.department!.id, + count: roleEntity.count!, + startTime: DateFormat('HH:mm').format(roleEntity.startTime!), + endTime: DateFormat('HH:mm').format(roleEntity.endTime!), + rate: roleEntity.businessSkill!.skill!.price!, + breakDuration: roleEntity.breakDuration!, + ); + }).toList()); + }).toList(), + ); + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service_repository.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service_repository.dart new file mode 100644 index 00000000..060229ce --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/create_event_service_repository.dart @@ -0,0 +1,13 @@ +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_input_model.dart'; + +abstract class CreateEventServiceRepository { + Future createEvent(CreateEventInputModel input); + + Future deleteDraft(String id); + Future publishEvent(String id); + + Future updateEvent(CreateEventInputModel input); + + +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_api_provider.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_api_provider.dart new file mode 100644 index 00000000..cff15568 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_api_provider.dart @@ -0,0 +1,67 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/sevices/create_event_service/data/create_event_service_gql.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_input_model.dart'; + +@Injectable() +class CreateEventServiceApiProvider { + final ApiClient _client; + + CreateEventServiceApiProvider({required ApiClient client}) : _client = client; + + Future createEvent(CreateEventInputModel input) async { + var result = await _client.mutate( + schema: createEventMutation, + body: { + 'input': input.toJson()..remove('id'), + }, + ); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + + return result.data?['client_create_event']['id'] ?? ''; + } + + Future deleteDraft(String id) async { + var result = await _client.mutate( + schema: deleteDraftMutation, + body: { + 'id': id, + }, + ); + + if (result.hasException) { + print(result.exception); + throw parseBackendError(result.exception); + } + } + + Future publishEvent(String id) async { + var result = await _client.mutate( + schema: publishDraftMutation, + body: { + 'id': id, + }, + ); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future updateEvent(CreateEventInputModel input) async { + var result = await _client.mutate( + schema: updateEventMutation, + body: { + 'input': input.toJson(), + }, + ); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_gql.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_gql.dart new file mode 100644 index 00000000..e6fc9342 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_gql.dart @@ -0,0 +1,31 @@ +const String createEventMutation = r''' + mutation createEvent ($input: CreateEventInput!) { + client_create_event(input: $input) { + id + } + } +'''; + +const String updateEventMutation = r''' + mutation updateEvent ($input: UpdateEventInput!) { + client_update_event(input: $input) { + id + } + } +'''; + +const String deleteDraftMutation = r''' + mutation deleteDraft ($id: ID!) { + delete_client_event(event_id: $id) { + id + } + } +'''; + +const String publishDraftMutation = r''' + mutation publicsDraft ($id: ID!) { + client_publish_event(id: $id) { + id + } + } +'''; diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_repository_impl.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_repository_impl.dart new file mode 100644 index 00000000..2151b616 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/create_event_service_repository_impl.dart @@ -0,0 +1,34 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/sevices/create_event_service/create_event_service_repository.dart'; +import 'package:krow/core/sevices/create_event_service/data/create_event_service_api_provider.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_input_model.dart'; + +@Singleton(as: CreateEventServiceRepository) +class CreateEventServiceRepositoryImpl extends CreateEventServiceRepository { + final CreateEventServiceApiProvider _apiProvider; + + CreateEventServiceRepositoryImpl( + {required CreateEventServiceApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Future createEvent(CreateEventInputModel input) async { + return _apiProvider.createEvent(input); + } + + @override + Future deleteDraft(String id) { + return _apiProvider.deleteDraft(id); + } + + @override + Future publishEvent(String id) { + return _apiProvider.publishEvent(id); + } + + @override + Future updateEvent(CreateEventInputModel input) { + return _apiProvider.updateEvent(input); + } +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_input_model.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_input_model.dart new file mode 100644 index 00000000..e064b9c7 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_input_model.dart @@ -0,0 +1,40 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart'; + +part 'create_event_input_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class CreateEventInputModel { + final String? id; + final String name; + final String date; + final String hubId; + + // final String? contractId; + final String? purchaseOrder; + final EventContractType contractType; + final String? additionalInfo; + final List? tags; + final List? addons; + final List? shifts; + + CreateEventInputModel( + {this.id, + required this.name, + required this.date, + required this.hubId, + // required this.contractId, + required this.purchaseOrder, + required this.contractType, + required this.additionalInfo, + required this.tags, + required this.addons, + required this.shifts}); + + factory CreateEventInputModel.fromJson(Map json) { + return _$CreateEventInputModelFromJson(json); + } + + Map toJson() => _$CreateEventInputModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart new file mode 100644 index 00000000..374093b9 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart @@ -0,0 +1,25 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/full_address_model.dart'; +import 'package:krow/core/sevices/create_event_service/data/models/create_event_shift_position_input_model.dart'; + +part 'create_event_shift_input_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class CreateEventShiftInputModel { + final String name; + final FullAddress address; + final List? contacts; + final List positions; + + CreateEventShiftInputModel( + {required this.name, + required this.address, + required this.contacts, + required this.positions}); + + factory CreateEventShiftInputModel.fromJson(Map json) { + return _$CreateEventShiftInputModelFromJson(json); + } + + Map toJson() => _$CreateEventShiftInputModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_position_input_model.dart b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_position_input_model.dart new file mode 100644 index 00000000..e06dda44 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/create_event_service/data/models/create_event_shift_position_input_model.dart @@ -0,0 +1,32 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'create_event_shift_position_input_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class CreateEventShiftPositionInputModel { + final String businessSkillId; + final String hubDepartmentId; + final int count; + final String startTime; + final String endTime; + final double rate; + @JsonKey(name: 'break') + final int breakDuration; + + CreateEventShiftPositionInputModel( + {required this.businessSkillId, + required this.hubDepartmentId, + required this.count, + required this.startTime, + required this.endTime, + required this.rate, + required this.breakDuration}); + + factory CreateEventShiftPositionInputModel.fromJson( + Map json) { + return _$CreateEventShiftPositionInputModelFromJson(json); + } + + Map toJson() => + _$CreateEventShiftPositionInputModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/core/sevices/geofencin_service.dart b/mobile-apps/client-app/lib/core/sevices/geofencin_service.dart new file mode 100644 index 00000000..59b90cb2 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/geofencin_service.dart @@ -0,0 +1,89 @@ +import 'dart:developer'; + +import 'package:geolocator/geolocator.dart'; + +class GeofencingService { + Future requestGeolocationPermission() async { + LocationPermission permission; + + permission = await Geolocator.checkPermission(); + if (permission == LocationPermission.denied) { + permission = await Geolocator.requestPermission(); + if (permission == LocationPermission.denied) { + return GeolocationStatus.denied; + } + } + + + if (permission == LocationPermission.deniedForever){ + return GeolocationStatus.prohibited; + } + if (!(await Geolocator.isLocationServiceEnabled())) { + // Location services are not enabled + return GeolocationStatus.disabled; + } + return GeolocationStatus.enabled; + } + + bool _isInRange( + Position currentPosition, + double pointLat, + double pointLon, + int range, + ) { + double distance = Geolocator.distanceBetween( + currentPosition.latitude, + currentPosition.longitude, + pointLat, + pointLon, + ); + + return distance <= range; + } + + /// Checks if the user's current location is within [range] meters + /// of the given [pointLatitude] and [pointLongitude]. + Future isInRangeCheck({ + required double pointLatitude, + required double pointLongitude, + int range = 500, + }) async { + try { + Position position = await Geolocator.getCurrentPosition(); + + return _isInRange(position, pointLatitude, pointLongitude, range); + } catch (except) { + log('Error getting location: $except'); + return false; + } + } + + /// Constantly checks if the user's current location is within [range] meters + /// of the given [pointLatitude] and [pointLongitude]. + Stream isInRangeStream({ + required double pointLatitude, + required double pointLongitude, + int range = 500, + }) async* { + await for (final position in Geolocator.getPositionStream()) { + try { + yield _isInRange(position, pointLatitude, pointLongitude, range); + } catch (except) { + log('Error getting location: $except'); + yield false; + } + } + } +} + +/// [disabled] indicates that the user should enable geolocation on the device. +/// [denied] indicates that permission should be requested or re-requested. +/// [prohibited] indicates that permission is denied and can only be changed +/// via the Settings. +/// [enabled] - geolocation service is allowed and available for usage. +enum GeolocationStatus { + disabled, + denied, + prohibited, + enabled, +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/core/sevices/time_slot_service.dart b/mobile-apps/client-app/lib/core/sevices/time_slot_service.dart new file mode 100644 index 00000000..c7745da9 --- /dev/null +++ b/mobile-apps/client-app/lib/core/sevices/time_slot_service.dart @@ -0,0 +1,26 @@ +class TimeSlotService { + static DateTime calcTime({ + required DateTime? currentStartTime, + required DateTime? currentEndTime, + DateTime? startTime, + DateTime? endTime, + }) { + + try { + if (endTime != null) { + return endTime.difference(currentStartTime!).inHours < 5 || + endTime.isBefore(currentStartTime!) + ? endTime.subtract(const Duration(hours: 5)) + : currentStartTime; + } else if (startTime != null) { + return startTime.difference(currentEndTime!).inHours < 5 || + startTime.isAfter(currentEndTime) + ? startTime.add(const Duration(hours: 5)) + : currentEndTime; + } + } catch (e) { + return DateTime.now().subtract(Duration(minutes: DateTime.now().minute % 10)); + } + return DateTime.now().subtract(Duration(minutes: DateTime.now().minute % 10)); + } +} diff --git a/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_bloc.dart b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_bloc.dart new file mode 100644 index 00000000..5e010f87 --- /dev/null +++ b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_bloc.dart @@ -0,0 +1,15 @@ +import 'package:bloc/bloc.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:meta/meta.dart'; + +part 'assigned_staff_event.dart'; +part 'assigned_staff_state.dart'; + +class AssignedStaffBloc extends Bloc { + AssignedStaffBloc( + {required List staffContacts, required String department}) + : super(AssignedStaffState( + staffContacts: staffContacts, + department: department, + )) {} +} diff --git a/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_event.dart b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_event.dart new file mode 100644 index 00000000..8a29b316 --- /dev/null +++ b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_event.dart @@ -0,0 +1,4 @@ +part of 'assigned_staff_bloc.dart'; + +@immutable +sealed class AssignedStaffEvent {} diff --git a/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_state.dart b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_state.dart new file mode 100644 index 00000000..bf11b10b --- /dev/null +++ b/mobile-apps/client-app/lib/features/assigned_staff_screen/domain/assigned_staff_state.dart @@ -0,0 +1,23 @@ +part of 'assigned_staff_bloc.dart'; + +@immutable +class AssignedStaffState { + final List staffContacts; + final String department; + final bool inLoading; + + const AssignedStaffState({required this.staffContacts, required this.department, this.inLoading = false}); + + copyWith({ + List? staffContacts, + String? department, + bool? canManualAssign, + bool? inLoading, + }) { + return AssignedStaffState( + staffContacts: staffContacts ?? this.staffContacts, + department: department ?? this.department, + inLoading: inLoading ?? this.inLoading, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/assigned_staff_screen/presentation/assigned_staff_screen.dart b/mobile-apps/client-app/lib/features/assigned_staff_screen/presentation/assigned_staff_screen.dart new file mode 100644 index 00000000..59b433b2 --- /dev/null +++ b/mobile-apps/client-app/lib/features/assigned_staff_screen/presentation/assigned_staff_screen.dart @@ -0,0 +1,46 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/widgets/assigned_staff_item_widget.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/assigned_staff_screen/domain/assigned_staff_bloc.dart'; + +@RoutePage() +class AssignedStaffScreen extends StatelessWidget implements AutoRouteWrapper { + final List staffContacts; + + final String department; + + const AssignedStaffScreen( + {super.key, required this.staffContacts, required this.department}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => AssignedStaffBloc( + staffContacts: staffContacts, department: department), + child: this); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Assigned Staff', + ), + body: ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: staffContacts.length, + itemBuilder: (context, index) { + return AssignedStaffItemWidget( + staffContact: staffContacts[index], department: department); + }, + ), + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_api_provider.dart b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_api_provider.dart new file mode 100644 index 00000000..47e76460 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_api_provider.dart @@ -0,0 +1,42 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/features/clock_manual/data/clock_manual_gql.dart'; + +@singleton +class ClockManualApiProvider { + final ApiClient _client; + + ClockManualApiProvider({required ApiClient client}) : _client = client; + + Future trackClientClockin(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: trackClientClockinMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception!); + } + } + + Future trackClientClockout(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: trackClientClockoutMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception!); + } + } + + Future cancelClockin(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: cancelClockinMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception!); + } + } +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_gql.dart b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_gql.dart new file mode 100644 index 00000000..51481a35 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_gql.dart @@ -0,0 +1,23 @@ +const String trackClientClockinMutation = r''' + mutation track_client_clockin($position_staff_id: ID!) { + track_client_clockin(position_staff_id: $position_staff_id) { + id + } + } + '''; + +const String trackClientClockoutMutation = r''' + mutation track_client_clockout($position_staff_id: ID!) { + track_client_clockout(position_staff_id: $position_staff_id) { + id + } + } + '''; + +const String cancelClockinMutation = r''' + mutation cancel_client_clockin($position_staff_id: ID!) { + cancel_client_clockin(position_staff_id: $position_staff_id) { + id + } + } + '''; diff --git a/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_repository_impl.dart b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_repository_impl.dart new file mode 100644 index 00000000..b7dea906 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/data/clock_manual_repository_impl.dart @@ -0,0 +1,43 @@ +import 'package:flutter/foundation.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/features/clock_manual/data/clock_manual_api_provider.dart'; +import 'package:krow/features/clock_manual/domain/clock_manual_repository.dart'; + +@Singleton(as: ClockManualRepository) +class ClockManualRepositoryImpl implements ClockManualRepository { + final ClockManualApiProvider apiProvider; + + ClockManualRepositoryImpl({required this.apiProvider}); + + @override + Future trackClientClockin(String positionStaffId) async { + try { + await apiProvider.trackClientClockin(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future trackClientClockout(String positionStaffId) async { + try { + await apiProvider.trackClientClockout(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future cancelClockin(String positionStaffId) async{ + try { + await apiProvider.cancelClockin(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_bloc.dart b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_bloc.dart new file mode 100644 index 00000000..808b1740 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_bloc.dart @@ -0,0 +1,121 @@ +import 'dart:async'; + +import 'package:bloc/bloc.dart'; +import 'package:flutter/foundation.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/features/clock_manual/domain/clock_manual_repository.dart'; + +part 'clock_manual_event.dart'; +part 'clock_manual_state.dart'; + +class ClockManualBloc extends Bloc { + var staffContacts = []; + + ClockManualBloc({required this.staffContacts}) + : super(ClockManualState( + timers: Map.fromEntries( + staffContacts.map((e) => MapEntry(e.id, ValueNotifier(0)))), + ongoingStaffContacts: staffContacts + .where((element) => element.status == PivotStatus.ongoing) + .toList() + ..sort((a, b) => a.startAt.compareTo(b.startAt)), + confirmedStaffContacts: staffContacts + .where((element) => element.status == PivotStatus.confirmed) + .toList() + ..sort((a, b) => a.startAt.compareTo(b.startAt)), + )) { + on(_onChangeSelectedTabIndexStaffManual); + on(_onClockInStaffManual); + on(_sortStaffContactsClockManual); + on(_onClockOutStaff); + on(_onCancelClockInStaffManual); + } + + void _onChangeSelectedTabIndexStaffManual( + ChangeSelectedTabIndexClockManual event, Emitter emit) { + emit(state.copyWith(selectedTabIndex: event.index)); + } + + void _onClockInStaffManual(ClockInManual event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt() + .trackClientClockin(event.staffContact.id); + + _startCountdownTimer( + state.timers[event.staffContact.id]!, event.staffContact); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith( + errorMessage: e.message, + )); + } + } + emit(state.copyWith(inLoading: false)); + } + + void _onClockOutStaff(ClockOutManual event, emit) async { + emit(state.copyWith(inLoading: false)); + try { + await getIt() + .trackClientClockout(event.staffContact.id); + event.staffContact.status = PivotStatus.completed; + add(SortStaffContactsClockManual()); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith( + errorMessage: e.message, + )); + } + } + emit(state.copyWith(inLoading: false)); + } + + void _onCancelClockInStaffManual(CancelClockInManual event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt().cancelClockin(event.staffContact.id); + state.timers[event.staffContact.id]!.value = -1; + event.staffContact.status = PivotStatus.confirmed; + add(SortStaffContactsClockManual()); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith( + errorMessage: e.message, + )); + } + } + emit(state.copyWith(inLoading: false)); + } + + void _sortStaffContactsClockManual(SortStaffContactsClockManual event, emit) { + emit(state.copyWith( + ongoingStaffContacts: staffContacts + .where((element) => element.status == PivotStatus.ongoing) + .toList() + ..sort((a, b) => a.startAt.compareTo(b.startAt)), + confirmedStaffContacts: staffContacts + .where((element) => element.status == PivotStatus.confirmed) + .toList() + ..sort((a, b) => a.startAt.compareTo(b.startAt)), + )); + } + + void _startCountdownTimer(ValueNotifier cancelTimer, staffContact) { + cancelTimer.value = 5; + Timer.periodic(const Duration(seconds: 1), (timer) { + if (cancelTimer.value > 0) { + cancelTimer.value -= 1; + } else if (cancelTimer.value == 0) { + staffContact.status = PivotStatus.ongoing; + add(SortStaffContactsClockManual()); + timer.cancel(); + } else { + timer.cancel(); + } + }); + } +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_event.dart b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_event.dart new file mode 100644 index 00000000..55184354 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_event.dart @@ -0,0 +1,30 @@ +part of 'clock_manual_bloc.dart'; + +@immutable +sealed class ClockManualEvent {} + +class ChangeSelectedTabIndexClockManual extends ClockManualEvent { + final int index; + + ChangeSelectedTabIndexClockManual(this.index); +} + +class ClockInManual extends ClockManualEvent { + final StaffContact staffContact; + + ClockInManual(this.staffContact); +} + +class SortStaffContactsClockManual extends ClockManualEvent {} + +class ClockOutManual extends ClockManualEvent { + final StaffContact staffContact; + + ClockOutManual(this.staffContact); +} + +class CancelClockInManual extends ClockManualEvent { + final StaffContact staffContact; + + CancelClockInManual(this.staffContact); +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_state.dart b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_state.dart new file mode 100644 index 00000000..ac1c6c08 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/domain/bloc/clock_manual_state.dart @@ -0,0 +1,39 @@ +part of 'clock_manual_bloc.dart'; + +@immutable +class ClockManualState { + final List confirmedStaffContacts; + final List ongoingStaffContacts; + final int selectedTabIndex; + final bool inLoading; + final String? errorMessage; + + final Map> timers ; + + const ClockManualState( + {required this.confirmedStaffContacts, + required this.ongoingStaffContacts, + this.inLoading = false, + this.errorMessage, + this.timers = const {}, + this.selectedTabIndex = 0}); + + copyWith({ + List? confirmedStaffContacts, + List? ongoingStaffContacts, + bool? inLoading, + String? errorMessage, + int? selectedTabIndex, + Map>? timers, + }) { + return ClockManualState( + timers: timers ?? this.timers, + confirmedStaffContacts: + confirmedStaffContacts ?? this.confirmedStaffContacts, + ongoingStaffContacts: ongoingStaffContacts ?? this.ongoingStaffContacts, + inLoading: inLoading ?? this.inLoading, + errorMessage: errorMessage ?? this.errorMessage, + selectedTabIndex: selectedTabIndex ?? this.selectedTabIndex, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/domain/clock_manual_repository.dart b/mobile-apps/client-app/lib/features/clock_manual/domain/clock_manual_repository.dart new file mode 100644 index 00000000..eb8df47a --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/domain/clock_manual_repository.dart @@ -0,0 +1,7 @@ +abstract class ClockManualRepository { + Future trackClientClockin(String positionStaffId); + + Future trackClientClockout(String positionStaffId); + + Future cancelClockin(String positionStaffId); +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_list_item.dart b/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_list_item.dart new file mode 100644 index 00000000..87a1b946 --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_list_item.dart @@ -0,0 +1,180 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/clock_manual/domain/bloc/clock_manual_bloc.dart'; + +class AssignedStaffManualItemWidget extends StatelessWidget { + final StaffContact staffContact; + + final ValueNotifier timer; + + const AssignedStaffManualItemWidget( + {super.key, required this.staffContact, required this.timer}); + + @override + Widget build(BuildContext context) { + return ValueListenableBuilder( + valueListenable: timer, + builder: (BuildContext context, int value, Widget? child) { + return Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(bottom: 8), + decoration: KwBoxDecorations.white8, + child: Column( + children: [ + _staffInfo(), + const Gap(12), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(staffContact.status == PivotStatus.ongoing?'End Time': 'Start Time', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + Text( + DateFormat('hh:mm a').format( + (staffContact.status == PivotStatus.ongoing + ? staffContact.parentPosition?.endTime + : staffContact.parentPosition?.startTime) ?? + DateTime.now()), + style: AppTextStyles.bodySmallMed, + ), + ], + ), + const Gap(12), + if (staffContact.status == PivotStatus.confirmed && value <= 0) + _buildClockIn(context), + if (staffContact.status == PivotStatus.ongoing) + _buildClockOut(context), + if (value > 0) _buildCancel(context), + if (kDebugMode) _buildCancel(context), + ], + ), + ); + }, + ); + } + + KwButton _buildCancel(BuildContext context) { + return KwButton.outlinedPrimary( + onPressed: () { + BlocProvider.of(context) + .add(CancelClockInManual(staffContact)); + }, + label: 'Click again to cancel (${timer.value}) ', + height: 36) + .copyWith( + textColors: AppColors.blackGray, + color: AppColors.grayWhite, + isFilledOutlined: true, + borderColor: AppColors.grayTintStroke, + pressedColor: AppColors.grayWhite); + } + + KwButton _buildClockIn(BuildContext context) { + return KwButton.outlinedPrimary( + onPressed: () { + BlocProvider.of(context) + .add(ClockInManual(staffContact)); + }, + label: 'Clock In', + height: 36) + .copyWith( + textColors: AppColors.statusSuccess, + color: AppColors.tintGreen, + isFilledOutlined: true, + borderColor: AppColors.tintDarkGreen, + pressedColor: AppColors.tintDarkGreen); + } + + KwButton _buildClockOut(BuildContext context) { + return KwButton.outlinedPrimary( + onPressed: () { + BlocProvider.of(context) + .add(ClockOutManual(staffContact)); + }, + label: 'Clock Out', + height: 36) + .copyWith( + textColors: AppColors.statusError, + color: AppColors.tintRed, + isFilledOutlined: true, + borderColor: AppColors.tintDarkRed, + pressedColor: AppColors.tintDarkRed); + } + + Row _staffInfo() { + return Row( + children: [ + if ((staffContact.photoUrl ?? '').isNotEmpty) + CircleAvatar( + radius: 18, + backgroundImage: NetworkImage(staffContact.photoUrl ?? ''), + ), + const Gap(12), + Flexible( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${staffContact.firstName} ${staffContact.lastName}', + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodyMediumMed, + ), + const Gap(4), + Text( + staffContact.phoneNumber ?? '', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + const Gap(8), + SizedBox( + height: 40, + child: Align( + alignment: Alignment.topCenter, + child: Container( + height: 20, + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4), + decoration: BoxDecoration( + border: Border.all( + color: staffContact.status.getStatusBorderColor(), + ), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + Container( + width: 6, + height: 6, + padding: const EdgeInsets.all(0), + decoration: BoxDecoration( + color: staffContact.status.getStatusTextColor(), + borderRadius: BorderRadius.circular(3), + ), + ), + const Gap(2), + Text( + staffContact.status.formattedName.capitalize(), + style: AppTextStyles.bodyTinyMed.copyWith( + color: staffContact.status.getStatusTextColor()), + ) + ], + ), + ), + ), + ) + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_screen.dart b/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_screen.dart new file mode 100644 index 00000000..d69e094f --- /dev/null +++ b/mobile-apps/client-app/lib/features/clock_manual/presentation/clock_manual_screen.dart @@ -0,0 +1,89 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/features/clock_manual/domain/bloc/clock_manual_bloc.dart'; +import 'package:krow/features/clock_manual/presentation/clock_manual_list_item.dart'; + +@RoutePage() +class ClockManualScreen extends StatelessWidget implements AutoRouteWrapper { + final List staffContacts; + + const ClockManualScreen({ + super.key, + required this.staffContacts, + }); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => ClockManualBloc(staffContacts: staffContacts), + child: this); + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listenWhen: (previous, current) => + previous.errorMessage != current.errorMessage, + listener: (context, state) { + if (state.errorMessage != null) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.errorMessage ?? ''), + )); + } + }, + builder: (context, state) { + var items = state.selectedTabIndex == 0 + ? state.confirmedStaffContacts + : state.ongoingStaffContacts; + return Scaffold( + appBar: KwAppBar( + titleText: 'Assigned Staff', + ), + body: SingleChildScrollView( + child: Column( + children: [ + Padding( + padding: const EdgeInsets.only(left: 16, right: 16, top: 16), + child: KwOptionSelector( + selectedIndex: state.selectedTabIndex, + onChanged: (index) { + BlocProvider.of(context) + .add(ChangeSelectedTabIndexClockManual(index)); + }, + height: 26, + selectorHeight: 4, + textStyle: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + selectedTextStyle: AppTextStyles.bodyMediumMed, + itemAlign: Alignment.topCenter, + items: const [ + 'Clock In', + 'Clock Out', + ]), + ), + ListView.builder( + primary: false, + shrinkWrap: true, + padding: const EdgeInsets.all(16), + itemCount: items.length, + itemBuilder: (context, index) { + return AssignedStaffManualItemWidget( + staffContact: items[index], + timer: state.timers[items[index].id]!, + ); + }, + ), + ], + ), + ), + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/create_event_flow.dart b/mobile-apps/client-app/lib/features/create_event/create_event_flow.dart new file mode 100644 index 00000000..9157d248 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/create_event_flow.dart @@ -0,0 +1,12 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class CreateEventFlowScreen extends StatelessWidget { + const CreateEventFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/data/create_event_api_provider.dart b/mobile-apps/client-app/lib/features/create_event/data/create_event_api_provider.dart new file mode 100644 index 00000000..e92eff16 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/data/create_event_api_provider.dart @@ -0,0 +1,119 @@ +import 'package:graphql/client.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/features/create_event/data/create_event_gql.dart'; + +@Injectable() +class CreateEventApiProvider { + final ApiClient _client; + + CreateEventApiProvider({required ApiClient client}) : _client = client; + + Future> getHubs() async { + QueryResult result = await _client.query( + schema: getClientHubsQuery, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!['client_hubs'] == null) { + return []; + } + + return (result.data!['client_hubs'] as List) + .map((e) => HubModel.fromJson(e)) + .toList(); + } + + Future> getAddons() async { + QueryResult result = await _client.query( + schema: getClientAddonsQuery, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!['client_business_addons'] == null) { + return []; + } + + return (result.data!['client_business_addons'] as List) + .map((e) => AddonModel.fromJson(e)) + .toList(); + } + + Future> getTags() async { + QueryResult result = await _client.query( + schema: getClientTagsQuery, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!['client_tags'] == null) { + return []; + } + + return (result.data!['client_tags'] as List) + .map((e) => TagModel.fromJson(e)) + .toList(); + } + + Future> getContacts() async { + QueryResult result = await _client.query( + schema: getClientMembersQuery, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!['client_shift_contacts'] == null) { + return []; + } + + return (result.data!['client_shift_contacts'] as List) + .map((e) => BusinessMemberModel.fromJson(e)) + .toList(); + } + + Future> getSkill() async { + QueryResult result = await _client.query( + schema: getClientBusinessSkillQuery, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!['client_business_skills'] == null) { + return []; + } + + return (result.data!['client_business_skills'] as List) + .map((e) => BusinessSkillModel.fromJson(e)) + .toList(); + } + + Future> getDepartments(String hubId) async { + QueryResult result = await _client.query( + schema: getClientDepartmentsQuery, + body: {'hub_id': hubId}, + ); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + if (result.data == null || result.data!['client_hub_departments'] == null) { + return []; + } + + return (result.data!['client_hub_departments'] as List) + .map((e) => DepartmentModel.fromJson(e)) + .toList(); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/data/create_event_gql.dart b/mobile-apps/client-app/lib/features/create_event/data/create_event_gql.dart new file mode 100644 index 00000000..d68d2ff5 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/data/create_event_gql.dart @@ -0,0 +1,82 @@ +const String getClientHubsQuery = r''' + query getClientHubs() { + client_hubs { + id + name + address + full_address { + street_number + zip_code + latitude + longitude + formatted_address + street + region + city + country + } + } + } + '''; + +const String getClientAddonsQuery = r''' + query getClientAddons() { + client_business_addons { + id + name + } + } + '''; + +const String getClientTagsQuery = r''' + query getClientTags() { + client_tags { + id + name + slug + } + } + '''; + +const String getClientBusinessSkillQuery = r''' + query getClientSkills() { + client_business_skills { + id + skill { + id + name + slug + price + } + price + is_active + } + } + '''; + +const String getClientMembersQuery = r''' + query getClientMembers() { + client_shift_contacts() { + id + first_name + last_name + title + avatar + auth_info { + email + phone + } + } + } + '''; + +const String getClientDepartmentsQuery = r''' + query getClientSkills($hub_id: ID!) { + client_hub_departments(hub_id: $hub_id) { + id + name + } + } + '''; + + diff --git a/mobile-apps/client-app/lib/features/create_event/data/create_event_repository_impl.dart b/mobile-apps/client-app/lib/features/create_event/data/create_event_repository_impl.dart new file mode 100644 index 00000000..09188f33 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/data/create_event_repository_impl.dart @@ -0,0 +1,48 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/features/create_event/data/create_event_api_provider.dart'; +import 'package:krow/features/create_event/domain/create_event_repository.dart'; + +@Singleton(as: CreateEventRepository) +class CreateEventRepositoryImpl extends CreateEventRepository { + final CreateEventApiProvider _apiProvider; + + CreateEventRepositoryImpl({required CreateEventApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Future> getHubs() async { + return _apiProvider.getHubs(); + } + + @override + Future> getAddons() async { + return _apiProvider.getAddons(); + } + + @override + Future> getTags() async { + return _apiProvider.getTags(); + } + + @override + Future> getContacts() async { + return _apiProvider.getContacts(); + } + + @override + Future> getSkills() { + return _apiProvider.getSkill(); + } + + @override + Future> getDepartments(String hubId) { + return _apiProvider.getDepartments(hubId); + } + +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_bloc.dart b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_bloc.dart new file mode 100644 index 00000000..4afd2613 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_bloc.dart @@ -0,0 +1,230 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; +import 'package:krow/core/sevices/create_event_service/create_event_service.dart'; +import 'package:krow/features/create_event/domain/create_event_repository.dart'; +import 'package:krow/features/create_event/domain/input_validator.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; + +part 'create_event_event.dart'; +part 'create_event_state.dart'; + +class CreateEventBloc extends Bloc { + CreateEventBloc() : super(CreateEventState(entity: EventEntity.empty())) { + on(_onInit); + // on(_onChangeContractType); + on(_onChangeHub); + // on(_onChangeContractNumber); + on(_onChangePoNumber); + on(_onTagSelected); + on(_onAddShift); + on(_onRemoveShift); + on(_onAddInfoChange); + on(_onNameChange); + on(_onToggleAddon); + on(_onEntityUpdated); + on(_onValidateAndPreview); + on(_onDeleteDraft); + } + + Future _onInit( + CreateEventInit event, Emitter emit) async { + emit(state.copyWith(inLoading: true)); + late EventEntity entity; + bool? isEdit = event.eventModel != null; + if (isEdit) { + entity = EventEntity.fromEventDto(event.eventModel!); + } else { + entity = EventEntity.empty(); + } + List shiftViewModels = [ + ...entity.shifts?.map((shiftEntity) { + return ShiftViewModel( + id: shiftEntity.id, + bloc: CreateShiftDetailsBloc(expanded: !isEdit) + ..add(CreateShiftInitializeEvent(shiftEntity)), + ); + }).toList() ?? + [], + ]; + + emit(state.copyWith( + recurringType: event.recurringType, + entity: entity, + tags: [ + //placeholder for tags - prevent UI jumping + TagModel(id: '1', name: ' '), + TagModel(id: '2', name: ' '), + TagModel(id: '3', name: ' ') + ], + shifts: shiftViewModels)); + List results; + try { + results = await Future.wait([ + getIt().getHubs().onError((e, s) { + return []; + }), + getIt().getAddons().onError((e, s) => []), + getIt().getTags().onError((e, s) => []), + getIt().getContacts().onError((e, s) => []), + getIt().getSkills().onError((e, s) => []), + ]); + } catch (e) { + emit(state.copyWith(inLoading: false)); + return; + } + var hubs = results[0] as List; + var addons = results[1] as List; + var tags = results[2] as List; + var contacts = results[3] as List; + var skills = results[4] as List; + + emit(state.copyWith( + inLoading: false, + hubs: hubs, + tags: tags, + addons: addons, + contacts: contacts, + skills: skills)); + } + + void _onChangeHub( + CreateEventChangeHub event, Emitter emit) async { + if (event.hub == state.entity.hub) return; + emit(state.copyWith( + entity: state.entity.copyWith(hub: event.hub), + )); + + state.shifts.forEach((element) { + element.bloc + .add(CreateShiftAddressSelectEvent(address: event.hub.fullAddress)); + }); + + var departments = + await getIt().getDepartments(event.hub.id); + + emit(state.copyWith( + departments: departments, + )); + } + + // void _onChangeContractType( + // CreateEventChangeContractType event, Emitter emit) { + // if (event.contractType == state.entity.contractType) return; + // emit(state.copyWith( + // entity: state.entity.copyWith(contractType: event.contractType), + // )); + // } + + // void _onChangeContractNumber( + // CreateEventChangeContractNumber event, Emitter emit) { + // emit(state.copyWith( + // entity: state.entity.copyWith(contractNumber: event.contractNumber), + // )); + // } + // + void _onChangePoNumber( + CreateEventChangePoNumber event, Emitter emit) { + emit(state.copyWith( + entity: state.entity.copyWith(poNumber: event.poNumber), + )); + } + + void _onTagSelected( + CreateEventTagSelected event, Emitter emit) { + final tags = List.of(state.entity.tags ?? []); + if (tags.any((e) => e.id == event.tag.id)) { + tags.removeWhere((e) => e.id == event.tag.id); + } else { + tags.add(event.tag); + } + emit(state.copyWith( + entity: state.entity.copyWith(tags: tags), + )); + } + + void _onAddShift(CreateEventAddShift event, Emitter emit) { + final id = DateTime.now().millisecondsSinceEpoch.toString(); + ShiftEntity newShiftEntity = ShiftEntity.empty(); + + final bloc = CreateShiftDetailsBloc(expanded: true) + ..add(CreateShiftInitializeEvent( + newShiftEntity, + )); + + newShiftEntity.parentEvent = state.entity; + state.entity.shifts?.add(newShiftEntity); + + emit(state.copyWith( + shifts: [ + ...state.shifts, + ShiftViewModel(id: id, bloc: bloc), + ], + )); + } + + void _onRemoveShift( + CreateEventRemoveShift event, Emitter emit) { + emit(state.copyWith( + entity: state.entity.copyWith( + shifts: state.entity.shifts + ?.where((element) => element.id != event.id) + .toList()), + shifts: state.shifts.where((element) => element.id != event.id).toList(), + )); + } + + void _onNameChange( + CreateEventNameChange event, Emitter emit) { + emit(state.copyWith( + entity: state.entity.copyWith(name: event.value), + )); + } + + void _onAddInfoChange( + CreateEventAddInfoChange event, Emitter emit) { + emit(state.copyWith( + entity: state.entity.copyWith(additionalInfo: event.value), + )); + } + + void _onToggleAddon( + CreateEventToggleAddon event, Emitter emit) { + final addons = List.of(state.entity.addons ?? []); + if (addons.any((e) => e.id == event.addon.id)) { + addons.removeWhere((e) => e.id == event.addon.id); + } else { + addons.add(event.addon); + } + emit(state.copyWith( + entity: state.entity.copyWith(addons: addons), + )); + } + + void _onEntityUpdated( + CreateEventEntityUpdatedEvent event, Emitter emit) { + emit(state.copyWith()); + } + + void _onValidateAndPreview( + CreateEventValidateAndPreview event, Emitter emit) { + var newState = CreateEventInputValidator.validateInputs( + state.copyWith(entity: state.entity.copyWith())); + emit(newState); + emit(newState.copyWith(valid: false)); + } + + void _onDeleteDraft( + DeleteDraftEvent event, Emitter emit) async { + await getIt().deleteDraft(state.entity); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_event.dart b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_event.dart new file mode 100644 index 00000000..3b2e30c2 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_event.dart @@ -0,0 +1,81 @@ +part of 'create_event_bloc.dart'; + +@immutable +sealed class CreateEventEvent {} + +class CreateEventInit extends CreateEventEvent { + final EventModel? eventModel; + final EventScheduleType? recurringType; + + CreateEventInit(this.recurringType, this.eventModel); +} + +// class CreateEventChangeContractType extends CreateEventEvent { +// final EventContractType contractType; +// +// CreateEventChangeContractType(this.contractType); +// } + +class CreateEventChangeHub extends CreateEventEvent { + final HubModel hub; + + CreateEventChangeHub(this.hub); +} + +class CreateEventValidateAndPreview extends CreateEventEvent { + CreateEventValidateAndPreview(); +} + +// class CreateEventChangeContractNumber extends CreateEventEvent { +// final String contractNumber; +// +// CreateEventChangeContractNumber(this.contractNumber); +// } + +class CreateEventChangePoNumber extends CreateEventEvent { + final String poNumber; + + CreateEventChangePoNumber(this.poNumber); +} + +class CreateEventNameChange extends CreateEventEvent { + final String value; + + CreateEventNameChange(this.value); +} + +class CreateEventAddInfoChange extends CreateEventEvent { + final String value; + + CreateEventAddInfoChange(this.value); +} + +class CreateEventTagSelected extends CreateEventEvent { + final TagModel tag; + + CreateEventTagSelected(this.tag); +} + +class CreateEventAddShift extends CreateEventEvent { + CreateEventAddShift(); +} + +class CreateEventRemoveShift extends CreateEventEvent { + final String id; + + CreateEventRemoveShift(this.id); +} + +class CreateEventToggleAddon extends CreateEventEvent { + final AddonModel addon; + + CreateEventToggleAddon(this.addon); +} + +class CreateEventEntityUpdatedEvent extends CreateEventEvent { + CreateEventEntityUpdatedEvent(); +} + +class DeleteDraftEvent extends CreateEventEvent { + DeleteDraftEvent(); +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_state.dart b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_state.dart new file mode 100644 index 00000000..44f1f15d --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/bloc/create_event_state.dart @@ -0,0 +1,138 @@ +part of 'create_event_bloc.dart'; + +@immutable +class CreateEventState { + final bool inLoading; + final bool success; + final bool valid; + final EventEntity entity; + final EventScheduleType recurringType; + final List hubs; + final List tags; + final List contacts; + final List shifts; + final List addons; + final List skills; + final List departments; + final EventValidationState? validationState; + + final bool showEmptyFieldError; + + const CreateEventState( + {required this.entity, + this.inLoading = false, + this.valid = false, + this.showEmptyFieldError = false, + this.success = false, + this.recurringType = EventScheduleType.oneTime, + this.hubs = const [], + this.tags = const [], + this.contacts = const [], + this.addons = const [], + this.skills = const [], + this.shifts = const [], + this.departments = const [], + this.validationState}); + + CreateEventState copyWith({ + bool? inLoading, + bool? success, + bool? valid, + bool? showEmptyFieldError, + EventEntity? entity, + EventScheduleType? recurringType, + List? hubs, + List? tags, + List? contacts, + List? shifts, + List? addons, + List? skills, + List? departments, + EventValidationState? validationState, + }) { + return CreateEventState( + success: success ?? this.success, + valid: valid ?? this.valid, + inLoading: inLoading ?? this.inLoading, + showEmptyFieldError: showEmptyFieldError ?? this.showEmptyFieldError, + entity: entity ?? this.entity, + recurringType: recurringType ?? this.recurringType, + hubs: hubs ?? this.hubs, + tags: tags ?? this.tags, + contacts: contacts ?? this.contacts, + shifts: shifts ?? this.shifts, + addons: addons ?? this.addons, + skills: skills ?? this.skills, + departments: departments ?? this.departments, + validationState: validationState, + ); + } +} + +class ShiftViewModel { + final String id; + final CreateShiftDetailsBloc bloc; + + ShiftViewModel({required this.id, required this.bloc}); +} + +class EventValidationState { + final String? nameError; + final String? startDateError; + final String? endDateError; + final String? hubError; + // final String? contractNumberError; + final String? poNumberError; + final String? shiftsError; + + bool showed = false; + + bool get hasError => + nameError != null || + startDateError != null || + endDateError != null || + hubError != null || + // contractNumberError != null || + poNumberError != null || + shiftsError != null; + + String? get message { + return nameError ?? + startDateError ?? + endDateError ?? + hubError ?? + // contractNumberError ?? + poNumberError ?? + shiftsError ?? + ''; + } + + EventValidationState( + {this.nameError, + this.startDateError, + this.endDateError, + this.hubError, + // this.contractNumberError, + this.poNumberError, + this.shiftsError}); + + EventValidationState copyWith({ + String? nameError, + String? startDateError, + String? endDateError, + String? hubError, + // String? contractNumberError, + String? poNumberError, + String? shiftsError, + }) { + return EventValidationState( + nameError: nameError ?? this.nameError, + startDateError: startDateError ?? this.startDateError, + endDateError: endDateError ?? this.endDateError, + hubError: hubError ?? this.hubError, + // contractNumberError: contractNumberError ?? this.contractNumberError, + poNumberError: poNumberError ?? this.poNumberError, + shiftsError: shiftsError ?? this.shiftsError, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/create_event_repository.dart b/mobile-apps/client-app/lib/features/create_event/domain/create_event_repository.dart new file mode 100644 index 00000000..656b57d9 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/create_event_repository.dart @@ -0,0 +1,20 @@ +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; + +abstract class CreateEventRepository { + Future> getHubs(); + + Future> getAddons(); + + Future> getTags(); + + Future> getContacts(); + + Future> getSkills(); + + Future> getDepartments(String hubId); +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/google_places_service.dart b/mobile-apps/client-app/lib/features/create_event/domain/google_places_service.dart new file mode 100644 index 00000000..c1056887 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/google_places_service.dart @@ -0,0 +1,96 @@ +import 'dart:convert'; + +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:http/http.dart' as http; +import 'package:injectable/injectable.dart'; + +@singleton +class GooglePlacesService { + Future> fetchSuggestions(String query) async { + final String apiKey = dotenv.env['GOOGLE_MAP']!; + + const String baseUrl = + 'https://maps.googleapis.com/maps/api/place/autocomplete/json'; + final Uri uri = + Uri.parse('$baseUrl?input=$query&key=$apiKey&types=geocode'); + + final response = await http.get(uri); + if (response.statusCode == 200) { + final data = json.decode(response.body); + final List predictions = data['predictions']; + + return predictions.map((prediction) { + return MapPlace.fromJson(prediction); + }).toList(); + } else { + throw Exception('Failed to fetch place suggestions'); + } + } + + Future> getPlaceDetails(String placeId) async { + final String apiKey = dotenv.env['GOOGLE_MAP']!; + final String url = + 'https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&key=$apiKey'; + + final response = await http.get(Uri.parse(url)); + + if (response.statusCode == 200) { + final data = json.decode(response.body); + final result = data['result']; + final location = result['geometry']['location']; + + Map addressDetails = { + 'lat': location['lat'], // Latitude + 'lng': location['lng'], // Longitude + 'formatted_address': result['formatted_address'], // Full Address + }; + + for (var component in result['address_components']) { + List types = component['types']; + if (types.contains('street_number')) { + addressDetails['street_number'] = component['long_name']; + } + if (types.contains('route')) { + addressDetails['street'] = component['long_name']; + } + if (types.contains('locality')) { + addressDetails['city'] = component['long_name']; + } + if (types.contains('administrative_area_level_1')) { + addressDetails['state'] = component['long_name']; + } + if (types.contains('country')) { + addressDetails['country'] = component['long_name']; + } + if (types.contains('postal_code')) { + addressDetails['postal_code'] = component['long_name']; + } + } + + return addressDetails; + } else { + throw Exception('Failed to fetch place details'); + } + } +} + +class MapPlace { + final String description; + final String placeId; + + MapPlace({required this.description, required this.placeId}); + + toJson() { + return { + 'description': description, + 'place_id': placeId, + }; + } + + factory MapPlace.fromJson(Map json) { + return MapPlace( + description: json['description'], + placeId: json['place_id'], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/domain/input_validator.dart b/mobile-apps/client-app/lib/features/create_event/domain/input_validator.dart new file mode 100644 index 00000000..602cc022 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/domain/input_validator.dart @@ -0,0 +1,106 @@ +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; + +class CreateEventInputValidator { + static CreateEventState validateInputs(CreateEventState state) { + var newState = _validateEvent(state); + newState = _validateShifts(newState); + return newState; + } + + static CreateEventState _validateEvent(CreateEventState state) { + EventValidationState? validationState; + if (state.entity.name.isEmpty) { + validationState = EventValidationState(nameError: 'Name cannot be empty'); + } + + if (state.entity.startDate == null) { + validationState = + EventValidationState(startDateError: 'Start Date cannot be empty'); + } + + if (state.recurringType == EventScheduleType.recurring && + state.entity.endDate == null) { + validationState = + EventValidationState(endDateError: 'End Date cannot be empty'); + } + if (state.entity.hub == null) { + validationState = EventValidationState(hubError: 'Hub cannot be empty'); + } + // if (state.entity.contractType == EventContractType.contract && + // (state.entity.contractNumber?.isEmpty ?? true)) { + // validationState = EventValidationState( + // contractNumberError: 'Contract Number cannot be empty'); + // } + if ((state.entity.poNumber?.isEmpty ?? true)) { + validationState = + EventValidationState(poNumberError: 'PO Number cannot be empty'); + } + + if (state.shifts.isEmpty) { + validationState = + EventValidationState(shiftsError: 'Shifts cannot be empty'); + } + + if (state.validationState == null && validationState == null) { + return state.copyWith(valid: true); + } else { + return state.copyWith(validationState: validationState); + } + } + + static CreateEventState _validateShifts(CreateEventState state) { + for (var shift in state.shifts) { + ShiftValidationState? validationState; + if (!(shift.bloc.state.shift.fullAddress?.isValid() ?? false)) { + validationState = ShiftValidationState(addressError: 'Invalid Address'); + } + + if (shift.bloc.state.shift.managers.isEmpty) { + validationState = + ShiftValidationState(contactsError: 'Managers cannot be empty'); + } + + if (validationState != null) { + shift.bloc.add(ValidationFailedEvent(validationState)); + return state.copyWith( + valid: false, validationState: state.validationState); + } + + if (validatePosition(shift.bloc.state.roles)) { + return state.copyWith( + valid: false, validationState: state.validationState); + } + } + return state; + } + + static bool validatePosition(List roles) { + for (var position in roles) { + PositionValidationState? validationState; + + if (position.bloc.state.entity.businessSkill == null) { + validationState = + PositionValidationState(skillError: 'Skill cannot be empty'); + } + + if (position.bloc.state.entity.department == null) { + validationState = PositionValidationState( + departmentError: 'Department cannot be empty'); + } + + if (position.bloc.state.entity.count == null) { + validationState = + PositionValidationState(countError: 'Count cannot be empty'); + } + + if (validationState != null) { + position.bloc.add(ValidationPositionFailedEvent(validationState)); + return true; + } + } + return false; + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_event_screen.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_event_screen.dart new file mode 100644 index 00000000..5dc9396b --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_event_screen.dart @@ -0,0 +1,187 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:collection/collection.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_button.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/create_shifts_list.dart'; +import 'package:krow/features/create_event/presentation/event_date_section/bloc/date_selector_bloc.dart'; +import 'package:krow/features/create_event/presentation/widgets/add_info_input_widget.dart'; +import 'package:krow/features/create_event/presentation/widgets/addons_section_widget.dart'; +import 'package:krow/features/create_event/presentation/widgets/create_event_details_card_widget.dart'; +import 'package:krow/features/create_event/presentation/widgets/create_event_tags_card.dart'; +import 'package:krow/features/create_event/presentation/widgets/create_event_title_widget.dart'; +import 'package:krow/features/create_event/presentation/widgets/total_cost_row_widget.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class CreateEventScreen extends StatelessWidget implements AutoRouteWrapper { + final EventScheduleType? eventType; + final EventModel? eventModel; + + const CreateEventScreen({super.key, this.eventType, this.eventModel}); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + if (state.success) { + context.router.maybePop(); + } + + if (state.valid) { + context.router + .push(EventDetailsRoute(event: state.entity, isPreview: true)); + } + _checkValidation(state, context); + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.inLoading, + child: Scaffold( + appBar: KwAppBar( + titleText: 'Create Event', + ), + body: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: CustomScrollView( + primary: false, + slivers: [ + SliverList.list( + children: const [ + CreateEventTitleWidget(), + CreateEventDetailsCardWidget(), + CreateEventTagsCard(), + ], + ), + const CreateShiftsList(), + const SliverGap(24), + sliverWrap( + KwButton.outlinedPrimary( + onPressed: () { + BlocProvider.of(context) + .add(CreateEventAddShift()); + }, + label: 'Add Shift', + leftIcon: Assets.images.icons.add, + ), + ), + const SliverGap(24), + sliverWrap(const AddonsSectionWidget()), + const SliverGap(24), + sliverWrap(const AddInfoInputWidget()), + const SliverGap(24), + sliverWrap( TotalCostRowWidget()), + const SliverGap(24), + SliverSafeArea( + top: false, + sliver: SliverPadding( + padding: const EdgeInsets.only(bottom: 36, top: 36), + sliver: sliverWrap( + KwPopUpButton( + disabled: state.validationState != null, + label: state.entity.id.isEmpty + ? 'Save as Draft' + : state.entity.status == EventStatus.draft + ? 'Update Draft' + : 'Update Event', + popUpPadding: 16, + items: [ + KwPopUpButtonItem( + title: 'Preview', + onTap: () { + BlocProvider.of(context) + .add(CreateEventValidateAndPreview()); + }), + if (state.entity.status == EventStatus.draft) + KwPopUpButtonItem( + title: 'Delete Event Draft', + onTap: () { + BlocProvider.of(context) + .add(DeleteDraftEvent()); + context.router.popUntilRoot(); + context.router.maybePop(); + }, + color: AppColors.statusError), + ], + ), + ), + ), + ), + ], + ), + ), + ), + ); + }, + ); + } + + sliverWrap(Widget widget) { + return SliverToBoxAdapter( + child: widget, + ); + } + + void _checkValidation(CreateEventState state, BuildContext context) { + if (state.validationState != null && !state.validationState!.showed) { + state.validationState?.showed = true; + for (var e in state.shifts) { + e.bloc.state.validationState?.showed = true; + } + + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.validationState?.message ?? ''), + backgroundColor: AppColors.statusError, + )); + } else { + var invalidShift = state.shifts + .firstWhereOrNull((e) => e.bloc.state.validationState != null); + + if (invalidShift != null && + !invalidShift.bloc.state.validationState!.showed) { + invalidShift.bloc.state.validationState?.showed = true; + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(invalidShift.bloc.state.validationState?.message ?? ''), + backgroundColor: AppColors.statusError, + )); + return; + } + + var invalidRole = state.shifts + .expand((shift) => shift.bloc.state.roles) + .firstWhereOrNull((role) => role.bloc.state.validationState != null); + + if(invalidRole != null && !invalidRole.bloc.state.validationState!.showed) { + invalidRole.bloc.state.validationState?.showed = true; + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(invalidRole.bloc.state.validationState?.message ?? ''), + backgroundColor: AppColors.statusError, + )); + } + } + } + + @override + Widget wrappedRoute(BuildContext context) { + return MultiBlocProvider( + providers: [ + BlocProvider( + create: (_) => + CreateEventBloc()..add(CreateEventInit(eventType, eventModel))), + BlocProvider( + create: (_) => DateSelectorBloc() + ..add(DateSelectorEventInit(eventType, eventModel))), + ], + child: this, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart new file mode 100644 index 00000000..dff1a4cb --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart @@ -0,0 +1,74 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/data/models/event/skill.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/entity/role_schedule_entity.dart'; + +part 'create_role_event.dart'; +part 'create_role_state.dart'; + +class CreateRoleBloc extends Bloc { + CreateRoleBloc() + : super(CreateRoleState( + isExpanded: true, + entity: PositionEntity.empty(), + )) { + on(_onRoleInit); + on(_onRoleSelect); + on(_onExpandRole); + on(_onSetRoleStartTime); + on(_onSetRoleEndTime); + on(_onSelectDepartment); + on(_onSelectCount); + on(_onSetRoleSchedule); + on(_onSetRoleBreak); + on(_onValidationFailed); + } + + FutureOr _onRoleInit(CreateRoleInitEvent event, emit) { + emit(state.copyWith(entity: event.role)); + } + + FutureOr _onRoleSelect(CreateRoleSelectSkillEvent event, emit) { + emit(state.copyWith(entity: state.entity.copyWith(businessSkill: event.skill))); + } + + FutureOr _onExpandRole(event, emit) { + emit(state.copyWith(isExpanded: !state.isExpanded)); + } + + FutureOr _onSetRoleStartTime(event, emit) { + emit(state.copyWith( + entity: state.entity.copyWith(startTime: event.startTime))); + } + + FutureOr _onSetRoleEndTime(event, emit) { + emit(state.copyWith(entity: state.entity.copyWith(endTime: event.endTime))); + } + + FutureOr _onSelectDepartment( + CreateRoleSelectDepartmentEvent event, emit) { + emit(state.copyWith(entity: state.entity.copyWith(department: event.item))); + } + + FutureOr _onSelectCount(CreateRoleSelectCountEvent event, emit) { + emit(state.copyWith(entity: state.entity.copyWith(count: event.item))); + } + + FutureOr _onSetRoleSchedule(CreateRoleSetScheduleEvent event, emit) { + emit(state.copyWith( + entity: state.entity.copyWith(schedule: event.schedule))); + } + + FutureOr _onSetRoleBreak(CreateRoleSelectBreak event, emit) { + emit(state.copyWith(entity: state.entity.copyWith(breakDuration: event.item))); + } + + FutureOr _onValidationFailed(ValidationPositionFailedEvent event, emit) { + emit(state.copyWith(validationState: event.validationState)); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_event.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_event.dart new file mode 100644 index 00000000..73ac254c --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_event.dart @@ -0,0 +1,62 @@ +part of 'create_role_bloc.dart'; + +@immutable +sealed class CreateRoleEvent {} + +class CreateRoleInitEvent extends CreateRoleEvent { + final PositionEntity role; + + CreateRoleInitEvent(this.role); +} + +class CreateRoleSelectSkillEvent extends CreateRoleEvent { + final BusinessSkillModel skill; + + CreateRoleSelectSkillEvent(this.skill); +} + +class ExpandRoleEvent extends CreateRoleEvent { + ExpandRoleEvent(); +} + +class SetRoleStartTimeEvent extends CreateRoleEvent { + final DateTime startTime; + + SetRoleStartTimeEvent(this.startTime); +} + +class SetRoleEndTimeEvent extends CreateRoleEvent { + final DateTime endTime; + + SetRoleEndTimeEvent(this.endTime); +} + +class CreateRoleSelectDepartmentEvent extends CreateRoleEvent { + final DepartmentModel item; + + CreateRoleSelectDepartmentEvent(this.item); +} + +class CreateRoleSelectCountEvent extends CreateRoleEvent { + final int item; + + CreateRoleSelectCountEvent(this.item); +} + +class CreateRoleSelectBreak extends CreateRoleEvent { + final int item; + + CreateRoleSelectBreak(this.item); +} + +class CreateRoleSetScheduleEvent extends CreateRoleEvent { + final List schedule; + + CreateRoleSetScheduleEvent(this.schedule); +} + +class ValidationPositionFailedEvent extends CreateRoleEvent { + final PositionValidationState validationState; + + ValidationPositionFailedEvent(this.validationState); +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_state.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_state.dart new file mode 100644 index 00000000..2b8a492c --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/bloc/create_role_state.dart @@ -0,0 +1,57 @@ +part of 'create_role_bloc.dart'; + +@immutable +class CreateRoleState { + final bool isExpanded; + final PositionEntity entity; + final PositionValidationState? validationState; + + const CreateRoleState({ + this.isExpanded = true, + required this.entity, + this.validationState, + }); + + CreateRoleState copyWith( + {bool? isExpanded, + PositionEntity? entity, + PositionValidationState? validationState}) { + return CreateRoleState( + isExpanded: isExpanded ?? this.isExpanded, + entity: entity ?? this.entity, + validationState: validationState, + ); + } +} + +class PositionValidationState { + final String? skillError; + final String? departmentError; + final String? countError; + bool showed; + + bool get hasError => + skillError != null || countError != null || departmentError != null; + + String? get message { + return skillError ?? countError ?? departmentError ?? ''; + } + + PositionValidationState( + {this.skillError, + this.countError, + this.departmentError, + this.showed = false}); + + PositionValidationState copyWith({ + String? skillError, + String? countError, + String? departmentError, + }) { + return PositionValidationState( + skillError: skillError ?? this.skillError, + countError: countError ?? this.countError, + departmentError: departmentError ?? this.departmentError, + showed: showed); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_role_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_role_widget.dart new file mode 100644 index 00000000..0da898e3 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_role_widget.dart @@ -0,0 +1,329 @@ +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/data/models/event/skill.dart'; +import 'package:krow/core/data/models/shift/business_skill_model.dart'; +import 'package:krow/core/data/models/shift/department_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/kw_time_slot.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; +import 'package:krow/features/create_event/presentation/role_schedule_dialog/recurring_schedule_widget.dart'; + +class CreateRoleDetailsWidget extends StatefulWidget { + final String id; + + const CreateRoleDetailsWidget({ + super.key, + required this.id, + }); + + @override + State createState() => + _CreateRoleDetailsWidgetState(); +} + +class _CreateRoleDetailsWidgetState extends State { + ExpandableController? _expandableController; + + @override + void initState() { + super.initState(); + _expandableController = ExpandableController(initialExpanded: true); + } + + @override + void dispose() { + super.dispose(); + _expandableController?.dispose(); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, eventState) { + return BlocBuilder( + builder: (context, shiftState) { + return BlocConsumer( + listener: (context, state) { + if (state.isExpanded != _expandableController?.expanded) { + _expandableController!.toggle(); + } + }, + builder: (context, state) { + return AnimatedContainer( + duration: const Duration(milliseconds: 250), + width: double.infinity, + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.primaryLight8.copyWith( + border: state.validationState != null + ? Border.all(color: AppColors.statusError, width: 1) + : null), + child: ExpandableTheme( + data: const ExpandableThemeData( + hasIcon: false, + animationDuration: Duration(milliseconds: 250)), + child: ExpandablePanel( + collapsed: Container(), + controller: _expandableController, + header: _buildHeader(state, shiftState, context), + expanded: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _skillDropDown(state.entity.businessSkill, + eventState.skills, context), + const Gap(8), + _departmentDropDown(state.entity.department, + eventState.departments, context), + const Gap(8), + _timeRow(context, state.entity.startTime, + state.entity.endTime), + const Gap(8), + _countDropDown(state.entity.count, context), + const Gap(8), + _breakDropDown(context, state), + if (eventState.recurringType == + EventScheduleType.recurring) + const RecurringScheduleWidget(), + const Gap(12), + textRow('Cost', + '\$${state.entity.businessSkill?.price?.toStringAsFixed(2) ?? '0'}'), + const Gap(12), + textRow('Value', '\$${state.entity.price.toStringAsFixed(2)}'), + const Gap(12), + KwButton.accent( + label: 'Save Role', + onPressed: () { + context + .read() + .add(ExpandRoleEvent()); + }), + const Gap(12), + ], + ), + ), + ), + ); + }, + ); + }, + ); + }, + ); + } + + Widget _buildHeader(CreateRoleState state, CreateShiftDetailsState shiftState, + BuildContext context) { + return GestureDetector( + onTap: () { + context.read().add(ExpandRoleEvent()); + }, + child: Container( + color: Colors.transparent, + padding: const EdgeInsets.only(bottom: 12, top: 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + state.entity.businessSkill?.skill?.name ?? 'New Role', + style: AppTextStyles.bodyLargeMed, + ), + if (!state.isExpanded) + Center( + child: Assets.images.icons.chevronDown.svg( + height: 24, + width: 24, + colorFilter: const ColorFilter.mode( + AppColors.grayStroke, + BlendMode.srcIn, + ), + ), + ), + if (state.isExpanded && shiftState.roles.length > 1) + GestureDetector( + onTap: () { + context + .read() + .add(DeleteRoleDeleteEvent(widget.id)); + }, + child: Padding( + padding: const EdgeInsets.only(right: 4), + child: Assets.images.icons.delete.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.statusError, BlendMode.srcIn), + ), + ), + ), + ], + ), + ), + ); + } + + _skillDropDown(BusinessSkillModel? selectedSkill, + List allSkills, BuildContext context) { + return KwDropdown( + key: ValueKey('skill_key${widget.id}'), + title: 'Role', + hintText: 'Role name', + horizontalPadding: 40, + selectedItem: selectedSkill != null + ? KwDropDownItem( + data: selectedSkill, title: selectedSkill.skill?.name ?? '') + : null, + items: allSkills + .map((e) => KwDropDownItem(data: e, title: e.skill?.name ?? '')), + onSelected: (item) { + context.read().add(CreateRoleSelectSkillEvent(item)); + Future.delayed( + const Duration(milliseconds: 500), + () => context + .read() + .add(CreateEventEntityUpdatedEvent())); + }); + } + + _departmentDropDown(DepartmentModel? selected, + List allDepartments, BuildContext context) { + return KwDropdown( + title: 'Department', + hintText: 'Department name', + horizontalPadding: 40, + selectedItem: selected != null + ? KwDropDownItem(data: selected, title: selected.name) + : null, + items: + allDepartments.map((e) => KwDropDownItem(data: e, title: e.name)), + onSelected: (item) { + context + .read() + .add(CreateRoleSelectDepartmentEvent(item)); + }); + } + + _countDropDown(int? selected, BuildContext context) { + return KwDropdown( + key: ValueKey('count_key${widget.id}'), + title: 'Number of Employee for one Role', + hintText: 'Person count', + horizontalPadding: 40, + selectedItem: selected != null + ? KwDropDownItem(data: selected, title: selected.toString()) + : null, + items: List.generate(98, (e) => e + 1) + .map((e) => KwDropDownItem(data: e, title: (e).toString())), + onSelected: (item) { + context.read().add(CreateRoleSelectCountEvent(item)); + Future.delayed( + const Duration(milliseconds: 500), + () { + context + .read() + .add(CreateEventEntityUpdatedEvent()); + }); + }); + } + + _timeRow(context, DateTime? startTime, DateTime? endTime) { + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + Expanded( + child: KwTimeSlotInput( + key: ValueKey('start_time_key${widget.id}'), + label: 'Start Time', + initialValue: startTime ?? DateTime(2000,1,1,9,0), + onChange: (value) { + + BlocProvider.of(context) + .add(SetRoleStartTimeEvent(value)); + try { + // Future.delayed( + // const Duration(milliseconds: 100), + // () => context + // .read() + // .add(CreateEventEntityUpdatedEvent())); + } catch (e) { + print(e); + } + }, + ), + ), + const Gap(8), + Expanded( + child: KwTimeSlotInput( + key: ValueKey('end_time_key${widget.id}'), + label: 'End Time', + initialValue: endTime ?? DateTime(2000,1,1,14,0), + onChange: (value) { + BlocProvider.of(context) + .add(SetRoleEndTimeEvent(value)); + try { + // Future.delayed( + // const Duration(milliseconds: 100), + // () => context + // .read() + // .add(CreateEventEntityUpdatedEvent())); + } catch (e) { + print(e); + } + }, + ), + ), + ], + ); + } + + _breakDropDown(BuildContext context,CreateRoleState state) { + String formatBreakDuration(int minutes) { + if (minutes == 60) { + return '1h'; + } else if (minutes > 60) { + final hours = minutes ~/ 60; + final remainder = minutes % 60; + return remainder == 0 ? '${hours}h' : '${hours}h ${remainder} min'; + } + return '${minutes} min'; + } + + + + return KwDropdown( + key: ValueKey('break_key${widget.id}'), + title: 'Break Duration', + hintText: 'Duration', + horizontalPadding: 40, + selectedItem: KwDropDownItem(data: state.entity.breakDuration, title: formatBreakDuration(state.entity.breakDuration??0)), + items: [15, 30].map((e) { + return KwDropDownItem(data: e, title: formatBreakDuration(e)); + }), + onSelected: (item) { + context.read().add(CreateRoleSelectBreak(item??0)); + }); + + + } + + Widget textRow(String key, String value) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(key, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + Text(value, style: AppTextStyles.bodyMediumMed), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_roles_list.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_roles_list.dart new file mode 100644 index 00000000..3c77b620 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_role_section/create_roles_list.dart @@ -0,0 +1,47 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/create_role_widget.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; + +class CreateRolesList extends StatefulWidget { + final String id; + + const CreateRolesList({super.key, required this.id}); + + @override + State createState() => _CreateRolesListState(); +} + +class _CreateRolesListState extends State { + final Map roleKeys = {}; + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return ListView.builder( + padding: const EdgeInsets.all(0), + shrinkWrap: true, + primary: false, + itemCount: state.roles.length, + itemBuilder: (context, index) { + final roleId = state.roles[index].id; + if (roleKeys[roleId] == null) { + roleKeys[roleId] = GlobalKey(); + } + return BlocProvider.value( + value: state.roles[index].bloc, + child: CreateRoleDetailsWidget( + key: roleKeys[roleId], id: state.roles[index].id), + ); + }, + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart new file mode 100644 index 00000000..b3588da0 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart @@ -0,0 +1,125 @@ +import 'package:bloc/bloc.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/data/models/event/full_address_model.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; +import 'package:krow/features/create_event/domain/google_places_service.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart'; +import 'package:meta/meta.dart'; + +part 'create_shift_details_event.dart'; +part 'create_shift_details_state.dart'; + +class CreateShiftDetailsBloc + extends Bloc { + CreateShiftDetailsBloc({required bool expanded}) + : super(CreateShiftDetailsState( + suggestions: [], + isExpanded: expanded, + shift: ShiftEntity.empty(), + roles: [ + RoleViewModel( + id: DateTime.now().millisecondsSinceEpoch.toString(), + bloc: CreateRoleBloc()), + ])) { + on(_onInitialize); + on(_onQueryChanged); + on(_onAddressSelect); + on(_onSelectContact); + on(_onRemoveContact); + on(_onAddRole); + on(_onDeleteRole); + on(_onExpandShift); + on((event, emit) { + emit(state.copyWith(validationState: event.validationState)); + }); + } + + void _onInitialize(CreateShiftInitializeEvent event, emit) async { + emit(CreateShiftDetailsState( + suggestions: [], + isExpanded: state.isExpanded, + shift: event.shift, + roles: [ + ...event.shift.positions.map((roleEntity) => RoleViewModel( + id: roleEntity.id, + bloc: CreateRoleBloc() + ..add( + CreateRoleInitEvent(roleEntity), + ))), + ])); + } + + void _onQueryChanged(CreateShiftAddressQueryChangedEvent event, emit) async { + try { + final googlePlacesService = GooglePlacesService(); + final suggestions = + await googlePlacesService.fetchSuggestions(event.query); + emit(state.copyWith(suggestions: suggestions)); + } catch (e) { + print(e); + } + } + + void _onAddressSelect(CreateShiftAddressSelectEvent event, emit) async { + if (event.address != null) { + emit(state.copyWith( + suggestions: [], + shift: state.shift.copyWith(fullAddress: event.address!))); + return; + } + + if (event.place != null) { + final googlePlacesService = GooglePlacesService(); + final fullAddress = + await googlePlacesService.getPlaceDetails(event.place!.placeId); + FullAddress address = FullAddress.fromGoogle(fullAddress); + emit(state.copyWith( + suggestions: [], shift: state.shift.copyWith(fullAddress: address))); + return; + } + } + + void _onSelectContact(CreateShiftSelectContactEvent event, emit) { + emit(state.copyWith( + shift: state.shift + .copyWith(managers: [...state.shift.managers, event.contact]))); + } + + void _onRemoveContact(CreateShiftRemoveContactEvent event, emit) { + emit(state.copyWith( + shift: state.shift.copyWith( + managers: state.shift.managers + .where((element) => element != event.contact) + .toList()))); + } + + void _onAddRole(CreateEventAddRoleEvent event, emit) { + final id = DateTime.now().millisecondsSinceEpoch.toString(); + final bloc = CreateRoleBloc(); + + PositionEntity newPosition = PositionEntity.empty(); + + bloc.add(CreateRoleInitEvent(newPosition)); + + newPosition.parentShift = state.shift; + state.shift.positions.add(newPosition); + + emit(state.copyWith( + roles: [ + ...state.roles, + RoleViewModel(id: id, bloc: bloc), + ], + )); + } + + void _onDeleteRole(DeleteRoleDeleteEvent event, emit) { + emit(state.copyWith( + roles: state.roles.where((element) => element.id != event.id).toList(), + )); + } + + void _onExpandShift(ExpandShiftEvent event, emit) { + emit(state.copyWith(isExpanded: !state.isExpanded)); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_event.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_event.dart new file mode 100644 index 00000000..cdfc6f4e --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_event.dart @@ -0,0 +1,55 @@ +part of 'create_shift_details_bloc.dart'; + +@immutable +sealed class CreateShiftDetailsEvent {} + +class CreateShiftInitializeEvent extends CreateShiftDetailsEvent { + final ShiftEntity shift; + + CreateShiftInitializeEvent(this.shift); +} + +class CreateShiftAddressSelectEvent extends CreateShiftDetailsEvent { + final MapPlace? place; + final FullAddress? address; + + CreateShiftAddressSelectEvent({this.place, this.address}); +} + +class CreateShiftAddressQueryChangedEvent extends CreateShiftDetailsEvent { + final String query; + + CreateShiftAddressQueryChangedEvent(this.query); +} + +class CreateShiftSelectContactEvent extends CreateShiftDetailsEvent { + final BusinessMemberModel contact; + + CreateShiftSelectContactEvent(this.contact); +} + +class CreateShiftRemoveContactEvent extends CreateShiftDetailsEvent { + final BusinessMemberModel contact; + + CreateShiftRemoveContactEvent(this.contact); +} + +class CreateEventAddRoleEvent extends CreateShiftDetailsEvent { + CreateEventAddRoleEvent(); +} + +class DeleteRoleDeleteEvent extends CreateShiftDetailsEvent { + final String id; + + DeleteRoleDeleteEvent(this.id); +} + +class ExpandShiftEvent extends CreateShiftDetailsEvent { + ExpandShiftEvent(); +} + +class ValidationFailedEvent extends CreateShiftDetailsEvent { + final ShiftValidationState validationState; + + ValidationFailedEvent(this.validationState); +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_state.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_state.dart new file mode 100644 index 00000000..f7c1265a --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_state.dart @@ -0,0 +1,79 @@ +part of 'create_shift_details_bloc.dart'; + +@immutable +class CreateShiftDetailsState { + final bool inLoading; + final bool isExpanded; + final ShiftEntity shift; + final List suggestions; + final List roles; + + final ShiftValidationState? validationState; + + const CreateShiftDetailsState({ + required this.shift, + this.inLoading = false, + required this.suggestions, + required this.roles, + this.isExpanded = true, + this.validationState + }); + + CreateShiftDetailsState copyWith({ + bool? inLoading, + List? suggestions, + ShiftEntity? shift, + String? department, + List? roles, + bool? isExpanded, + ShiftValidationState? validationState, + }) { + return CreateShiftDetailsState( + shift: shift ?? this.shift, + inLoading: inLoading ?? false, + suggestions: suggestions ?? this.suggestions, + roles: roles ?? this.roles, + isExpanded: isExpanded ?? this.isExpanded, + validationState: validationState, + + ); + } +} + +class RoleViewModel { + final String id; + final CreateRoleBloc bloc; + + + RoleViewModel({required this.id, required this.bloc}); +} + +class ShiftValidationState { + + final String? addressError; + final String? contactsError; + bool showed; + + bool get hasError => + addressError != null || + contactsError != null; + + String? get message { + return addressError ?? contactsError ?? ''; + } + + ShiftValidationState({ + this.addressError, + this.contactsError,this.showed = false}); + + ShiftValidationState copyWith({ + String? addressError, + String? contactsError, + }) { + return ShiftValidationState( + addressError: addressError ?? this.addressError, + contactsError: contactsError ?? this.contactsError, + showed: showed + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shift_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shift_widget.dart new file mode 100644 index 00000000..a271004b --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shift_widget.dart @@ -0,0 +1,199 @@ +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_suggestion_input.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/domain/google_places_service.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/create_roles_list.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/widgets/shift_contacts_widget.dart'; + +class CreateShiftDetailsWidget extends StatefulWidget { + final String id; + + final int index; + + final bool expanded; + + const CreateShiftDetailsWidget({ + super.key, + required this.id, + required this.index, + this.expanded = true, + }); + + @override + State createState() => + _CreateShiftDetailsWidgetState(); +} + +class _CreateShiftDetailsWidgetState extends State + with AutomaticKeepAliveClientMixin { + ExpandableController? _expandableController; + + @override + bool get wantKeepAlive => true; + + @override + void initState() { + _expandableController = + ExpandableController(initialExpanded: widget.expanded); + super.initState(); + } + + @override + void dispose() { + super.dispose(); + _expandableController?.dispose(); + } + + @override + Widget build(BuildContext context) { + super.build(context); + return BlocBuilder( + builder: (context, eventState) { + return BlocConsumer( + listener: (context, state) { + if (state.isExpanded != _expandableController?.expanded) { + _expandableController!.toggle(); + } + }, + builder: (context, state) { + return AnimatedContainer( + duration: const Duration(milliseconds: 250), + width: double.infinity, + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.white12.copyWith( + border: state.validationState != null + ? Border.all(color: AppColors.statusError, width: 1) + : null), + child: ExpandableTheme( + data: const ExpandableThemeData( + hasIcon: false, + animationDuration: Duration(milliseconds: 250)), + child: ExpandablePanel( + collapsed: Container(), + controller: _expandableController, + header: _buildHeader( + context, state, eventState.shifts.length > 1), + expanded: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _addressInput(state, context), + ShiftContactsWidget( + allContacts: eventState.contacts, + selectedContacts: state.shift?.managers ?? []), + CreateRolesList(id: widget.id), + const Gap(12), + KwButton.outlinedPrimary( + label: 'Add New Role', + leftIcon: Assets.images.icons.add, + onPressed: () { + context + .read() + .add(CreateEventAddRoleEvent()); + }), + const Gap(12), + ], + ), + ), + ), + ); + }, + ); + }, + ); + } + + Widget _buildHeader( + BuildContext context, + CreateShiftDetailsState state, + bool canBeRemoved, + ) { + return GestureDetector( + onTap: () { + context.read().add(ExpandShiftEvent()); + }, + child: Container( + color: Colors.transparent, + padding: const EdgeInsets.symmetric(vertical: 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Shift Details #${widget.index + 1}', + style: AppTextStyles.bodyMediumMed, + ), + if (!state.isExpanded) + Center( + child: Assets.images.icons.chevronDown.svg( + height: 24, + width: 24, + colorFilter: const ColorFilter.mode( + AppColors.grayStroke, + BlendMode.srcIn, + ), + ), + ), + if (state.isExpanded && canBeRemoved) + GestureDetector( + onTap: () { + context + .read() + .add(CreateEventRemoveShift(widget.id)); + }, + child: Container( + height: 24, + width: 24, + color: Colors.transparent, + child: Padding( + padding: const EdgeInsets.only(right: 4), + child: Center( + child: Assets.images.icons.delete.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.statusError, BlendMode.srcIn), + ), + ), + ), + ), + ) + ], + ), + ), + ); + } + + KwSuggestionInput _addressInput( + CreateShiftDetailsState state, BuildContext context) { + state.suggestions.removeWhere( + (e) => e.description == state.shift.fullAddress?.formattedAddress); + return KwSuggestionInput( + key: ValueKey('address_key${widget.id}'), + title: 'Address', + hintText: 'Hub address', + horizontalPadding: 28, + initialText: state.shift.fullAddress?.formattedAddress, + items: state.suggestions, + onQueryChanged: (query) { + context + .read() + .add(CreateShiftAddressQueryChangedEvent(query)); + }, + itemToStringBuilder: (item) => item.description, + onSelected: (item) { + context + .read() + .add(CreateShiftAddressSelectEvent(place: item)); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shifts_list.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shifts_list.dart new file mode 100644 index 00000000..cac2fdd7 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/create_shifts_list.dart @@ -0,0 +1,40 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/create_shift_widget.dart'; + +class CreateShiftsList extends StatefulWidget { + const CreateShiftsList({super.key}); + + @override + State createState() => _CreateShiftsListState(); +} + +class _CreateShiftsListState extends State { + final Map shiftKeys = {}; + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return SliverList.builder( + itemCount: state.shifts.length, + itemBuilder: (context, index) { + final shiftId = state.shifts[index].id; + if (shiftKeys[shiftId] == null) { + shiftKeys[shiftId] = GlobalKey(); + } + return BlocProvider.value( + value: state.shifts[index].bloc, + child: CreateShiftDetailsWidget( + key: shiftKeys[shiftId], + id: state.shifts[index].id, + expanded: state.shifts[index].bloc.state.isExpanded, + index: index), + ); + }, + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/select_contact_popup.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/select_contact_popup.dart new file mode 100644 index 00000000..0a030f48 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/select_contact_popup.dart @@ -0,0 +1,204 @@ +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class SelectContactPopup extends StatefulWidget { + final List contacts; + final void Function(BusinessMemberModel contact)? onSelect; + final Widget child; + + const SelectContactPopup( + {super.key, + required this.contacts, + required this.onSelect, + required this.child}); + + @override + _SelectContactPopupState createState() => _SelectContactPopupState(); +} + +class _SelectContactPopupState extends State { + OverlayEntry? _overlayEntry; + List _filteredItems = []; + final ScrollController _scrollController = ScrollController(); + final TextEditingController _controller = TextEditingController(); + final GlobalKey _childKey = GlobalKey(); + double? childY; + + StateSetter? overlaySetState; + + @override + initState() { + super.initState(); + } + + void _showPopup(BuildContext context) { + _filteredItems = List.from(widget.contacts); + + _overlayEntry = OverlayEntry( + builder: (context) { + return StatefulBuilder(builder: (context, setState) { + overlaySetState = setState; + return Stack( + children: [ + GestureDetector( + onTap: _hidePopup, + behavior: HitTestBehavior.opaque, + child: Container(color: Colors.transparent), + ), + if (childY != null) + Positioned( + height: + min(320, 82 + (44 * _filteredItems.length).toDouble()), + top: childY, + left: 28, + right: 28, + child: Material( + elevation: 4, + borderRadius: BorderRadius.circular(10), + child: _buildPopupContent(), + ), + ), + ], + ); + }); + }, + ); + + Overlay.of(context).insert(_overlayEntry!); + } + + Widget _buildPopupContent() { + return Container( + decoration: BoxDecoration( + border: Border.all(color: AppColors.grayTintStroke), + ), + padding: const EdgeInsets.all(12), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 40, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(8), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Assets.images.icons.magnifyingGlass.svg(), + const Gap(8), + Expanded( + child: TextField( + controller: _controller, + style: AppTextStyles.bodyLargeMed, + decoration: const InputDecoration( + contentPadding: EdgeInsets.only(bottom: 8), + hintText: 'Search', + hintStyle: AppTextStyles.bodyLargeMed, + border: InputBorder.none, + ), + onChanged: _filterItems, + ), + ), + ], + ), + ), + const SizedBox(height: 16), + SizedBox( + height: min(238, (44 * _filteredItems.length).toDouble()), + child: RawScrollbar( + controller: _scrollController, + thumbVisibility: true, + padding: const EdgeInsets.only(right: 4), + thumbColor: AppColors.grayDisable, + trackColor: AppColors.buttonTertiaryActive, + trackVisibility: true, + radius: const Radius.circular(20), + thickness: 4, + child: ListView.builder( + controller: _scrollController, + itemCount: _filteredItems.length, + shrinkWrap: true, + padding: EdgeInsets.zero, + itemBuilder: (context, index) { + var item = _filteredItems[index]; + return GestureDetector( + onTap: () { + widget.onSelect?.call(item); + _hidePopup(); + }, + child: Container( + padding: const EdgeInsets.all(8), + margin: const EdgeInsets.only(bottom: 4), + child: Row( + children: [ + Container( + width: 24, + height: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + color: Colors.grey, + ), + ), + const Gap(8), + Text( + '${item.firstName} ${item.lastName}', + style: AppTextStyles.bodyMediumMed, + ), + const Gap(8), + Text( + item.authInfo?.phone ?? '', + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + ); + }, + ), + ), + ), + ], + ), + ); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + final RenderBox renderBox = + _childKey.currentContext!.findRenderObject() as RenderBox; + final position = renderBox.localToGlobal(Offset.zero); + childY = position.dy; + _showPopup(context); + }, + key: _childKey, + child: widget.child); + } + + void _hidePopup() { + _overlayEntry?.remove(); + _overlayEntry = null; + _filteredItems = List.from(widget.contacts); + _controller.clear(); + } + + void _filterItems(String query) { + overlaySetState?.call(() { + _filteredItems = widget.contacts.where((item) { + return ('${item.firstName}${item.lastName}${item.authInfo?.phone ?? ''}') + .toLowerCase() + .contains(query.toLowerCase()); + }).toList(); + }); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/shift_contacts_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/shift_contacts_widget.dart new file mode 100644 index 00000000..4d44fcf3 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/create_shift_details_section/widgets/shift_contacts_widget.dart @@ -0,0 +1,167 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/bloc/create_shift_details_bloc.dart'; +import 'package:krow/features/create_event/presentation/create_shift_details_section/widgets/select_contact_popup.dart'; + +class ShiftContactsWidget extends StatelessWidget { + final List allContacts; + final List selectedContacts; + + const ShiftContactsWidget( + {super.key, required this.allContacts, required this.selectedContacts}); + + @override + Widget build(BuildContext context) { + + if (selectedContacts.isEmpty) { + return buildSelectContactPopup(context); + } + return Container( + padding: const EdgeInsets.only(top: 12, left: 12, right: 12), + margin: const EdgeInsets.only(top: 12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Shift Contact', + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.blackGray)), + for (var item in selectedContacts) + _buildContactItem(context, item, selectedContacts), + buildSelectContactPopup(context), + ], + )); + } + + Widget buildSelectContactPopup(BuildContext context) { + return SelectContactPopup( + key: ObjectKey(selectedContacts), + contacts: allContacts + .where((element) => !selectedContacts.contains(element)) + .toList(), + onSelect: (contact) { + BlocProvider.of(context) + .add(CreateShiftSelectContactEvent(contact)); + }, + child: Container( + margin: const EdgeInsets.only(top: 12, bottom: 12), + height: 20, + child: Row( + children: [ + Assets.images.icons.profileAdd.svg(), + const Gap(8), + Text( + 'Shift Contact', + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue), + ), + ], + ), + ), + ); + } + + Container _buildContactItem(BuildContext context, BusinessMemberModel item, + List selectedContacts) { + return Container( + margin: const EdgeInsets.only(top: 12), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + height: 36, + width: 36, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(18), color: Colors.grey), + ), + const Gap(8), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${item.firstName} ${item.lastName}', + style: AppTextStyles.bodyMediumMed, + ), + const Gap(2), + Text( + item.authInfo?.phone ?? '', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + const Spacer(), + SelectContactPopup( + key: ObjectKey(selectedContacts), + contacts: allContacts + .where((element) => !selectedContacts.contains(element)) + .toList(), + onSelect: (contact) { + BlocProvider.of(context) + .add(CreateShiftRemoveContactEvent(item)); + + BlocProvider.of(context) + .add(CreateShiftSelectContactEvent(contact)); + }, + child: Container( + height: 34, + padding: const EdgeInsets.symmetric(horizontal: 12), + alignment: Alignment.center, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(17), + border: Border.all(color: AppColors.grayTintStroke)), + child: Row( + children: [ + Center( + child: Assets.images.icons.edit.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackBlack, BlendMode.srcIn), + ), + ), + const Gap(4), + const Text( + 'Edit', + style: AppTextStyles.bodyMediumMed, + ) + ], + ), + ), + ), + const Gap(4), + GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(CreateShiftRemoveContactEvent(item)); + }, + child: Container( + height: 34, + width: 34, + alignment: Alignment.center, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(17), + border: Border.all(color: AppColors.grayTintStroke)), + child: Center( + child: Assets.images.icons.delete.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.statusError, BlendMode.srcIn), + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_bloc.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_bloc.dart new file mode 100644 index 00000000..edf171d6 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_bloc.dart @@ -0,0 +1,78 @@ +import 'package:bloc/bloc.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:meta/meta.dart'; + +part 'date_selector_event.dart'; +part 'date_selector_state.dart'; + +class DateSelectorBloc extends Bloc { + DateSelectorBloc() : super(const DateSelectorState()) { + on(_onInit); + on(_onChangeStartDate); + on(_onChangeEndDate); + on(_onChangeRepeatType); + on(_onChangeEndType); + on(_onChangeEndsAfterWeeks); + } + + void _onInit(DateSelectorEventInit event, Emitter emit) { + if (event.eventModel != null) { + emit(state.copyWith( + startDate: DateTime.parse(event.eventModel!.date), + )); + return; + } else { + emit(state.copyWith( + recurringType: event.recurringType, + endDateType: EndDateType.endDate, + repeatType: EventRepeatType.daily, + )); + } + } + + void _onChangeStartDate( + DateSelectorEventChangeStartDate event, Emitter emit) { + if (event.startDate == state.startDate) return; + + event.entity.startDate = event.startDate; + + emit(state.copyWith( + startDate: event.startDate, + )); + } + + void _onChangeEndDate( + DateSelectorEventChangeEndDate event, Emitter emit) { + if (event.endDate == state.startDate) return; + event.entity.endDate = event.endDate; + + emit(state.copyWith( + endDate: event.endDate, + )); + } + + void _onChangeRepeatType( + DateSelectorEventRepeatType event, Emitter emit) { + if (event.type == state.repeatType) return; + emit(state.copyWith( + repeatType: event.type, + )); + } + + void _onChangeEndType( + DateSelectorEventEndType event, Emitter emit) { + if (event.type == state.endDateType) return; + emit(state.copyWith( + endDateType: event.type, + )); + } + + void _onChangeEndsAfterWeeks(DateSelectorEventChangeEndsAfterWeeks event, + Emitter emit) { + if (event.weeks == state.andsAfterWeeksCount) return; + emit(state.copyWith( + andsAfterWeeksCount: event.weeks, + )); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_event.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_event.dart new file mode 100644 index 00000000..672c953f --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_event.dart @@ -0,0 +1,44 @@ +part of 'date_selector_bloc.dart'; + +@immutable +sealed class DateSelectorEvent {} + +class DateSelectorEventInit extends DateSelectorEvent { + final EventScheduleType? recurringType; + final EventModel? eventModel; + + DateSelectorEventInit(this.recurringType, this.eventModel); +} + +class DateSelectorEventChangeStartDate extends DateSelectorEvent { + final DateTime startDate; + final EventEntity entity; + + DateSelectorEventChangeStartDate(this.startDate, this.entity); +} + +class DateSelectorEventChangeEndDate extends DateSelectorEvent { + final DateTime endDate; + final EventEntity entity; + + + DateSelectorEventChangeEndDate(this.endDate, this.entity); +} + +class DateSelectorEventRepeatType extends DateSelectorEvent { + final EventRepeatType type; + + DateSelectorEventRepeatType(this.type); +} + +class DateSelectorEventEndType extends DateSelectorEvent { + final EndDateType type; + + DateSelectorEventEndType(this.type); +} + +class DateSelectorEventChangeEndsAfterWeeks extends DateSelectorEvent { + final int weeks; + + DateSelectorEventChangeEndsAfterWeeks(this.weeks); +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_state.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_state.dart new file mode 100644 index 00000000..33c0072c --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/bloc/date_selector_state.dart @@ -0,0 +1,44 @@ +part of 'date_selector_bloc.dart'; + +enum EndDateType { endDate, endsAfter } + +enum EventRepeatType { + weekly, + daily, +} + +@immutable +class DateSelectorState { + final DateTime? startDate; + final DateTime? endDate; + final EventScheduleType? recurringType; + final EndDateType? endDateType; + final EventRepeatType? repeatType; + final int andsAfterWeeksCount; + + const DateSelectorState( + {this.startDate, + this.endDate, + this.recurringType = EventScheduleType.oneTime, + this.endDateType, + this.repeatType, + this.andsAfterWeeksCount = 1}); + + DateSelectorState copyWith({ + DateTime? startDate, + DateTime? endDate, + EventScheduleType? recurringType, + EndDateType? endDateType, + EventRepeatType? repeatType, + int? andsAfterWeeksCount, + }) { + return DateSelectorState( + startDate: startDate ?? this.startDate, + endDate: endDate ?? this.endDate, + recurringType: recurringType ?? this.recurringType, + endDateType: endDateType ?? this.endDateType, + repeatType: repeatType ?? this.repeatType, + andsAfterWeeksCount: andsAfterWeeksCount ?? this.andsAfterWeeksCount, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_calendar_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_calendar_widget.dart new file mode 100644 index 00000000..370ed50c --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_calendar_widget.dart @@ -0,0 +1,203 @@ +import 'package:calendar_date_picker2/calendar_date_picker2.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class CreateEventCalendar extends StatefulWidget { + final DateTime? initialDate; + + final void Function(DateTime value) onDateSelected; + + const CreateEventCalendar( + {super.key, required this.initialDate, required this.onDateSelected}); + + @override + State createState() => _CreateEventCalendarState(); +} + +class _CreateEventCalendarState extends State { + final monthStr = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' + ]; + + final selectedTextStyle = AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.grayWhite, + ); + + final dayTextStyle = AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.bgColorDark, + ); + + @override + Widget build(BuildContext context) { + return CalendarDatePicker2( + value: widget.initialDate == null ? [] : [widget.initialDate], + config: CalendarDatePicker2Config( + hideMonthPickerDividers: false, + modePickersGap: 0, + controlsHeight: 80, + calendarType: CalendarDatePicker2Type.single, + selectedRangeHighlightColor: AppColors.tintGray, + selectedDayTextStyle: selectedTextStyle, + dayTextStyle: dayTextStyle, + selectedMonthTextStyle: selectedTextStyle, + selectedYearTextStyle: selectedTextStyle, + selectedDayHighlightColor: AppColors.bgColorDark, + centerAlignModePicker: true, + monthTextStyle: dayTextStyle, + weekdayLabelBuilder: _dayWeekBuilder, + dayBuilder: _dayBuilder, + monthBuilder: _monthBuilder, + yearBuilder: _yearBuilder, + controlsTextStyle: AppTextStyles.headingH3, + nextMonthIcon: Assets.images.icons.caretRight.svg(width: 24), + lastMonthIcon: Assets.images.icons.caretLeft.svg(width: 24), + customModePickerIcon: Padding( + padding: const EdgeInsets.only(left: 4), + child: Assets.images.icons.caretDown.svg(), + ), + + // modePickerBuilder: _controlBuilder, + ), + onValueChanged: (dates) { + widget.onDateSelected.call(dates.first); + }, + ); + } + + Widget? _monthBuilder({ + required int month, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentMonth, + }) { + return Center( + child: Container( + margin: const EdgeInsets.only(top: 16), + height: 52, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(23), + border: Border.all( + color: AppColors.grayStroke, + width: isSelected == true ? 0 : 1, + ), + ), + child: Center( + child: Text( + monthStr[month - 1], + style: isSelected == true + ? AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ), + ), + ); + } + + Widget? _yearBuilder({ + required int year, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentYear, + }) { + return Container( + margin: const EdgeInsets.only(top: 12), + height: 52, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(23), + border: Border.all( + color: AppColors.grayStroke, + width: isSelected == true ? 0 : 1, + ), + ), + child: Center( + child: Text( + year.toString(), + style: isSelected == true + ? AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ), + ); + } + + Widget? _dayBuilder({ + required DateTime date, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isToday, + }) { + bool past = _isPast(date); + var dayDecoration = BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(20), + ); + var dayTextStyle = AppTextStyles.bodyMediumReg.copyWith( + color: past ? AppColors.blackCaptionText : AppColors.bgColorDark, + ); + return Center( + child: Container( + margin: const EdgeInsets.only(left: 2, right: 2), + alignment: Alignment.center, + decoration: dayDecoration, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + date.day.toString(), + style: isSelected == true ? selectedTextStyle : dayTextStyle, + textAlign: TextAlign.center, + ), + const Gap(2), + ], + ), + ), + ); + } + + bool _isPast(DateTime date) { + var now = DateTime.now(); + var nowOnly = DateTime(now.year, now.month, now.day); + var past = date.isBefore(nowOnly); + return past; + } + + Widget? _dayWeekBuilder({ + required int weekday, + bool? isScrollViewTopHeader, + }) { + return Text( + ['S', 'M', 'T', 'W', 'T', 'F', 'S'][weekday], + style: AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.bgColorDark, + ), + textAlign: TextAlign.center, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_date_popup.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_date_popup.dart new file mode 100644 index 00000000..e08b129a --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/create_event_date_popup.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/create_event/presentation/event_date_section/create_event_calendar_widget.dart'; + +class CreateEventDatePopup extends StatefulWidget { + final DateTime? initDate; + + const CreateEventDatePopup({ + super.key, + this.initDate, + }); + + @override + State createState() => _CreateEventDatePopupState(); + + static Future show( + {required BuildContext context, DateTime? initDate}) async { + return showDialog( + context: context, + builder: (context) => CreateEventDatePopup( + initDate: initDate, + ), + ); + } +} + +class _CreateEventDatePopupState extends State { + DateTime? selectedDate; + + @override + void initState() { + selectedDate = widget.initDate; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Center( + child: Container( + padding: const EdgeInsets.all(24), + margin: const EdgeInsets.all(16), + decoration: KwBoxDecorations.white24, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + buildHeader(), + const Gap(24), + _buildCalendar(), + const Gap(24), + ..._buttonGroup(), + ], + ), + ), + ), + ); + } + + Row buildHeader() { + return const Row( + children: [ + Text('Select Date from Calendar', style: AppTextStyles.headingH3), + ], + ); + } + + List _buttonGroup() { + return [ + KwButton.primary( + disabled: selectedDate == null, + label: 'Pick Date', + onPressed: () { + Navigator.of(context).pop(selectedDate); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'Cancel', + onPressed: () { + Navigator.of(context).pop(widget.initDate); + }, + ), + ]; + } + + _buildCalendar() { + return Container( + decoration: BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColors.grayTintStroke), + ), + child: CreateEventCalendar( + onDateSelected: (date) { + setState(() { + selectedDate = date; + }); + }, + initialDate: selectedDate ?? widget.initDate, + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/event_date_input_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/event_date_input_widget.dart new file mode 100644 index 00000000..08505741 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/event_date_section/event_date_input_widget.dart @@ -0,0 +1,196 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/event_date_section/bloc/date_selector_bloc.dart'; +import 'package:krow/features/create_event/presentation/event_date_section/create_event_date_popup.dart'; + +class EventDateInputWidget extends StatelessWidget { + final EventEntity entity; + + const EventDateInputWidget(this.entity, {super.key}); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + BlocProvider.of(context) + .add(CreateEventEntityUpdatedEvent()); + }, + builder: (context, state) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: state.recurringType == EventScheduleType.oneTime + ? ([ + _buildDateInput(context, 'Date', state.startDate, (newDate) { + BlocProvider.of(context) + .add(DateSelectorEventChangeStartDate(newDate, entity)); + }), + ]) + : [ + const Gap(16), + const Divider( + color: AppColors.grayTintStroke, + thickness: 1, + height: 0, + ), + _buildDateInput(context, 'Start Date', state.startDate, + (newDate) { + BlocProvider.of(context) + .add(DateSelectorEventChangeStartDate(newDate, entity)); + }), + ..._buildRepeatSelector(state, context), + ...buildEndTypeSelector(state, context), + AnimatedCrossFade( + firstChild: _buildDateInput( + context, 'End Date', state.endDate, (newDate) { + BlocProvider.of(context) + .add(DateSelectorEventChangeEndDate(newDate, entity)); + }), + secondChild: _buildEndAfterDropdown(state, context), + crossFadeState: state.endDateType == EndDateType.endDate + ? CrossFadeState.showFirst + : CrossFadeState.showSecond, + duration: const Duration(milliseconds: 200), + ), + const Gap(16), + const Divider( + color: AppColors.grayTintStroke, + thickness: 1, + height: 0, + ), + const Gap(8), + ], + ); + }, + ); + } + + Widget _buildEndAfterDropdown(DateSelectorState state, BuildContext context) { + return Padding( + padding: const EdgeInsets.only(top: 8.0), + child: KwDropdown( + selectedItem: KwDropDownItem( + data: state.andsAfterWeeksCount, + title: '${state.andsAfterWeeksCount} Weeks'), + hintText: '', + title: 'After', + horizontalPadding: 28, + onSelected: (int item) { + BlocProvider.of(context) + .add(DateSelectorEventChangeEndsAfterWeeks(item)); + }, + items: const [ + KwDropDownItem(data: 1, title: '1 Weeks'), + KwDropDownItem(data: 2, title: '2 Weeks'), + KwDropDownItem(data: 3, title: '3 Weeks'), + KwDropDownItem(data: 5, title: '4 Weeks'), + ], + ), + ); + } + + List _buildRepeatSelector( + DateSelectorState state, BuildContext context) { + return [ + Padding( + padding: const EdgeInsets.only(left: 16, top: 8, bottom: 4), + child: Text( + 'Repeat', + style: AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ), + KwOptionSelector( + selectedIndex: state.repeatType?.index, + backgroundColor: AppColors.grayPrimaryFrame, + onChanged: (index) { + BlocProvider.of(context).add( + DateSelectorEventRepeatType(EventRepeatType.values[index])); + }, + items: const [ + 'Weekly', + 'Daily', + ]) + ]; + } + + Widget _buildDateInput(BuildContext context, String title, DateTime? date, + Function(DateTime date) onSelect) { + var formattedDate = date == null + ? 'mm.dd.yyyy' + : DateFormat('MM.dd.yyyy').format(date).toLowerCase(); + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 16, top: 8), + child: Text( + 'Date', + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ), + const Gap(4), + GestureDetector( + onTap: () async { + var newDate = await CreateEventDatePopup.show( + context: context, initDate: date); + if (newDate != null && context.mounted) { + onSelect(newDate); + } + }, + child: Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + border: Border.all(color: AppColors.grayStroke), + borderRadius: BorderRadius.circular(24), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(formattedDate, + style: AppTextStyles.bodyMediumReg.copyWith( + color: date != null ? null : AppColors.blackGray)), + const Gap(10), + Assets.images.icons.calendar.svg(width: 16, height: 16), + ], + ), + ), + ), + ], + ); + } + + List buildEndTypeSelector( + DateSelectorState state, BuildContext context) { + return [ + const Gap(24), + KwOptionSelector( + selectedIndex: state.endDateType?.index, + onChanged: (index) { + BlocProvider.of(context) + .add(DateSelectorEventEndType(EndDateType.values[index])); + }, + height: 26, + selectorHeight: 4, + textStyle: + AppTextStyles.bodyMediumReg.copyWith(color: AppColors.blackGray), + selectedTextStyle: AppTextStyles.bodyMediumMed, + itemAlign: Alignment.topCenter, + items: const [ + 'Ends on Date', + 'Ends After # Weeks', + ]) + ]; + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_bloc.dart b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_bloc.dart new file mode 100644 index 00000000..e96ddcc4 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_bloc.dart @@ -0,0 +1,54 @@ +import 'dart:async'; + +import 'package:bloc/bloc.dart'; +import 'package:krow/core/entity/role_schedule_entity.dart'; +import 'package:meta/meta.dart'; + +part 'role_schedule_dialog_event.dart'; +part 'role_schedule_dialog_state.dart'; + +class RoleScheduleDialogBloc + extends Bloc { + RoleScheduleDialogBloc(List schedule) + : super(RoleScheduleDialogState(schedule: List.from(schedule))) { + on(_onTapOnScheduleDay); + on(_onSetRoleScheduleStartTime); + on(_onSetRoleScheduleEndTime); + } + + FutureOr _onTapOnScheduleDay(TapOnScheduleDayEvent event, emit) { + if (state.schedule.any((element) => element.dayIndex == event.index)) { + emit(state.copyWith( + schedule: state.schedule + .where((element) => element.dayIndex != event.index) + .toList())); + } else { + var today = DateTime.now(); + var defStartTime = DateTime(today.year, today.month, today.day, 9, 0); + var defEndTime = DateTime(today.year, today.month, today.day, 18, 0); + emit(state.copyWith(schedule: [ + ...state.schedule, + RoleScheduleEntity( + dayIndex: event.index, startTime: defStartTime, endTime: defEndTime) + ])); + } + } + + FutureOr _onSetRoleScheduleStartTime(event, emit) { + emit(state.copyWith( + schedule: state.schedule + .map((e) => e.dayIndex == event.schedule.dayIndex + ? e.copyWith(startTime: event.startTime) + : e) + .toList())); + } + + FutureOr _onSetRoleScheduleEndTime(event, emit) { + emit(state.copyWith( + schedule: state.schedule + .map((e) => e.dayIndex == event.schedule.dayIndex + ? e.copyWith(endTime: event.endTime) + : e) + .toList())); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_event.dart b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_event.dart new file mode 100644 index 00000000..b6dd6062 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_event.dart @@ -0,0 +1,28 @@ +part of 'role_schedule_dialog_bloc.dart'; + +@immutable +sealed class RoleScheduleDialogEvent {} + +class TapOnScheduleDayEvent extends RoleScheduleDialogEvent { + final int index; + + TapOnScheduleDayEvent(this.index); +} + +class SetRoleScheduleStartTimeEvent extends RoleScheduleDialogEvent { + final RoleScheduleEntity schedule; + final DateTime startTime; + + SetRoleScheduleStartTimeEvent(this.schedule, this.startTime); +} + +class SetRoleScheduleEndTimeEvent extends RoleScheduleDialogEvent { + final RoleScheduleEntity schedule; + final DateTime endTime; + + SetRoleScheduleEndTimeEvent(this.schedule, this.endTime); +} + +class SaveRoleScheduleEvent extends RoleScheduleDialogEvent { + SaveRoleScheduleEvent(); +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_state.dart b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_state.dart new file mode 100644 index 00000000..2834d950 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_state.dart @@ -0,0 +1,14 @@ +part of 'role_schedule_dialog_bloc.dart'; + +@immutable +class RoleScheduleDialogState { + final List schedule; + + const RoleScheduleDialogState({required this.schedule}); + + RoleScheduleDialogState copyWith({List? schedule}) { + return RoleScheduleDialogState( + schedule: schedule ?? this.schedule, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_dialog.dart b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_dialog.dart new file mode 100644 index 00000000..b17d1f17 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_dialog.dart @@ -0,0 +1,235 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/int_extensions.dart'; +import 'package:krow/core/entity/role_schedule_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/kw_time_slot.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/create_event/presentation/role_schedule_dialog/bloc/role_schedule_dialog_bloc.dart'; + +class RecurringScheduleDialog extends StatefulWidget { + const RecurringScheduleDialog({ + super.key, + }); + + @override + State createState() => + _RecurringScheduleDialogState(); + + static Future?> show( + BuildContext context, List? schedule) { + return showDialog( + context: context, + builder: (BuildContext dialogContext) { + return BlocProvider( + create: (context) => RoleScheduleDialogBloc(schedule ?? []), + child: const RecurringScheduleDialog(), + ); + }, + ); + } +} + +class _RecurringScheduleDialogState extends State { + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Center( + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 24), + decoration: KwBoxDecorations.white24, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + _buildHeader(context), + const Gap(24), + _buildDayTabs(state.schedule), + const Gap(24), + ...state.schedule.map((e) => _buildTimeSlots(e)), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 24), + child: KwButton.primary( + label: 'Save Slots', + onPressed: () { + Navigator.of(context).pop(state.schedule); + }, + ), + ), + const Gap(8), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 24), + child: KwButton.outlinedPrimary( + label: 'Cancel', + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ), + ], + ), + ), + ); + }, + ); + } + + Widget _buildHeader(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Event Schedule', + style: AppTextStyles.bodyLargeMed, + ), + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Assets.images.icons.x.svg(), + ), + ], + ), + const Gap(8), + Padding( + padding: const EdgeInsets.only(right: 24), + child: Text( + 'Select the days and time slots that you want this schedule to recur on', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ) + ], + ), + ); + } + + _buildDayTabs(List schedule) { + return SingleChildScrollView( + padding: const EdgeInsets.only(left: 24, right: 20), + scrollDirection: Axis.horizontal, + child: Row( + children: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] + .indexed + .map((e) { + var (index, item) = e; + var selected = schedule.any((element) => element.dayIndex == index); + return GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(TapOnScheduleDayEvent(index)); + }, + child: AnimatedContainer( + duration: const Duration(milliseconds: 150), + margin: const EdgeInsets.only(right: 4), + height: 46, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(23), + color: selected ? AppColors.bgColorDark : Colors.transparent, + border: Border.all( + color: selected ? AppColors.bgColorDark : AppColors.grayStroke, + ), + ), + child: Center( + child: Text( + item, + style: AppTextStyles.bodyMediumReg.copyWith( + color: selected ? AppColors.grayWhite : AppColors.blackGray), + )), + ), + ); + }).toList()), + ); + } + + Widget _buildTimeSlots(RoleScheduleEntity e) { + return Padding( + padding: const EdgeInsets.only(left: 24, right: 24, bottom: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + RichText( + text: TextSpan( + text: e.dayIndex.getWeekdayId(), + style: AppTextStyles.bodyMediumReg.copyWith(height: 1), + children: [ + TextSpan( + text: ' Time Slot', + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.blackGray, height: 1), + ) + ], + ), + ), + const Gap(8), + _timeRow(context, e), + buildScheduleButton(), + ], + ), + ); + } + + _timeRow(context, RoleScheduleEntity entity) { + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + Expanded( + child: KwTimeSlotInput( + key: ValueKey('dialog_start_time_key_${entity.dayIndex}'), + label: 'Start Time', + initialValue: entity.startTime, + onChange: (value) { + BlocProvider.of(context) + .add(SetRoleScheduleStartTimeEvent(entity, value)); + }, + ), + ), + const Gap(8), + Expanded( + child: KwTimeSlotInput( + key: ValueKey('dialog_start_time_key_${entity.dayIndex}'), + label: 'End Time', + initialValue: entity.endTime, + onChange: (value) { + BlocProvider.of(context) + .add(SetRoleScheduleEndTimeEvent(entity, value)); + }, + ), + ), + ], + ); + } + + GestureDetector buildScheduleButton() { + return GestureDetector( + onTap: () {}, + child: Container( + margin: const EdgeInsets.only(top: 12), + height: 20, + child: Row( + children: [ + Assets.images.icons.copy.svg(), + const Gap(8), + Text( + 'Copy Time to All', + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue), + ), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_widget.dart new file mode 100644 index 00000000..963e4f22 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/role_schedule_dialog/recurring_schedule_widget.dart @@ -0,0 +1,86 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/int_extensions.dart'; +import 'package:krow/core/entity/role_schedule_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/create_event/presentation/create_role_section/bloc/create_role_bloc.dart'; +import 'package:krow/features/create_event/presentation/role_schedule_dialog/recurring_schedule_dialog.dart'; + +class RecurringScheduleWidget extends StatelessWidget { + const RecurringScheduleWidget({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (state.entity.schedule != null && + (state.entity.schedule?.isNotEmpty ?? false)) ...[ + const Gap(12), + Padding( + padding: const EdgeInsets.only(left: 16.0), + child: const Text( + 'Schedule', + style: AppTextStyles.bodyMediumReg, + ), + ), + ...state.entity.schedule!.map((e) => _buildScheduleItem(e)), + const Gap(8), + ], + buildScheduleButton(context, state), + ], + ); + }, + ); + } + + GestureDetector buildScheduleButton( + BuildContext context, CreateRoleState state) { + return GestureDetector( + onTap: () async { + var result = + await RecurringScheduleDialog.show(context, state.entity.schedule); + if (result != null) { + context + .read() + .add(CreateRoleSetScheduleEvent(result)); + } + }, + child: Container( + margin: const EdgeInsets.only(top: 12), + height: 20, + child: Row( + children: [ + Assets.images.icons.calendarEdit.svg(), + const Gap(8), + Text( + 'Set Work Days', + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue), + ), + ], + ), + ), + ); + } + + Widget _buildScheduleItem(RoleScheduleEntity e) { + return Container( + padding: const EdgeInsets.only(left: 16, right: 16), + margin: const EdgeInsets.only(top: 8), + height: 46, + alignment: Alignment.centerLeft, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(23), + border: Border.all(color: AppColors.grayStroke, width: 1), + ), + child: Text(e.dayIndex.getWeekdayId()), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/add_info_input_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/add_info_input_widget.dart new file mode 100644 index 00000000..4ff52d0a --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/add_info_input_widget.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; + +class AddInfoInputWidget extends StatefulWidget { + const AddInfoInputWidget({super.key}); + + @override + State createState() => _AddInfoInputWidgetState(); +} + +class _AddInfoInputWidgetState extends State { + final TextEditingController _addInfoController = TextEditingController(); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + if (state.entity.additionalInfo != _addInfoController.text) { + _addInfoController.text = state.entity.additionalInfo??''; + } + }, + buildWhen: (previous, current) { + return previous.entity.additionalInfo != current.entity.additionalInfo; + }, + builder: (context, state) { + return KwTextInput( + controller: _addInfoController, + onChanged: (value) { + BlocProvider.of(context) + .add(CreateEventAddInfoChange(value)); + }, + maxLength: 300, + showCounter: true, + minHeight: 144, + hintText: 'Enter your main text here...', + title: 'Additional Information', + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/addons_section_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/addons_section_widget.dart new file mode 100644 index 00000000..e1f804dc --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/addons_section_widget.dart @@ -0,0 +1,73 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; + +class AddonsSectionWidget extends StatelessWidget { + const AddonsSectionWidget({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + var allAddons = state.addons; + var selectedAddons = state.entity.addons; + if(context.read().state.addons.isEmpty) { + return const SizedBox.shrink(); + } + return Column( + children: [ + const Divider( + height: 0, + color: AppColors.grayStroke, + ), + for (var addon in allAddons) + _addonStrokeItem( + title: addon.name ?? '', + enabled: selectedAddons + ?.any((selected) => selected.id == addon.id) ?? + false, + onTap: () { + BlocProvider.of(context) + .add(CreateEventToggleAddon(addon)); + }, + ), + const Gap(12), + const Divider( + height: 0, + color: AppColors.grayStroke, + ), + ], + ); + }, + ); + } + + _addonStrokeItem( + {required String title, + required bool enabled, + required VoidCallback onTap}) { + return Padding( + padding: const EdgeInsets.only(top: 12), + child: Row( + children: [ + Expanded( + child: Text( + title, + style: AppTextStyles.bodyMediumMed, + )), + CupertinoSwitch( + value: enabled, + onChanged: (_) { + onTap(); + }, + activeTrackColor: AppColors.bgColorDark, + ) + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_details_card_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_details_card_widget.dart new file mode 100644 index 00000000..1abd5c60 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_details_card_widget.dart @@ -0,0 +1,199 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/hub_model.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; +import 'package:krow/features/create_event/presentation/event_date_section/event_date_input_widget.dart'; + +import '../../../../core/entity/event_entity.dart'; + +class CreateEventDetailsCardWidget extends StatefulWidget { + const CreateEventDetailsCardWidget({super.key}); + + @override + State createState() => + _CreateEventDetailsCardWidgetState(); +} + +class _CreateEventDetailsCardWidgetState + extends State + with AutomaticKeepAliveClientMixin { + TextEditingController poNumberController = TextEditingController(); + // TextEditingController contractNumberController = TextEditingController(); + final TextEditingController _nameController = TextEditingController(); + + @override + bool get wantKeepAlive => true; + + @override + Widget build(BuildContext context) { + super.build(context); + return BlocConsumer( + listener: (context, state) { + if (state.entity.name != _nameController.text) { + _nameController.text = state.entity.name; + } + + // if (state.entity.contractNumber != null && + // state.entity.contractNumber != contractNumberController.text) { + // contractNumberController.text = state.entity.contractNumber!; + // } + // + if (state.entity.poNumber != null && + state.entity.poNumber != poNumberController.text) { + poNumberController.text = state.entity.poNumber!; + } + }, + builder: (context, state) { + return AnimatedContainer( + duration: Duration(milliseconds: 300), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 24), + decoration: KwBoxDecorations.white12.copyWith( + border: state.validationState != null + ? Border.all(color: AppColors.statusError, width: 1) + : null), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Event Details', + style: AppTextStyles.bodyMediumMed, + ), + const Gap(12), + KwTextInput( + controller: _nameController, + title: 'Event Name', + hintText: 'Enter event name', + onChanged: (value) { + BlocProvider.of(context) + .add(CreateEventNameChange(value)); + }, + ), + IgnorePointer( + ignoring: ![EventStatus.draft, EventStatus.pending].contains(state.entity.status) && state.entity.status!=null, + child: EventDateInputWidget(state.entity)), + const Gap(8), + _hubDropdown(state.hubs, state), + const Gap(8), + // _contractDropdown(context, state), + // if (state.entity.contractType == EventContractType.contract) + // _buildContractInput(), + // if (state.entity.contractType == EventContractType.purchaseOrder) + _buildPurchaseInput(), + ], + ), + ); + }, + ); + } + + Column _hubDropdown(List hubs, CreateEventState state) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + 'Location', + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ), + const Gap(4), + KwDropdown( + horizontalPadding: 28, + hintText: 'Hub name', + selectedItem: state.entity.hub != null + ? KwDropDownItem( + data: state.entity.hub, title: state.entity.hub?.name ?? '') + : null, + items: hubs + .map((e) => KwDropDownItem(data: e, title: e.name ?? '')) + .toList(), + onSelected: (item) { + BlocProvider.of(context) + .add(CreateEventChangeHub(item!)); + }), + ], + ); + } + +// Column _contractDropdown(BuildContext context, CreateEventState state) { +// return Column( +// crossAxisAlignment: CrossAxisAlignment.start, +// children: [ +// Padding( +// padding: const EdgeInsets.only(left: 16), +// child: Text( +// 'Payment type', +// style: +// AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), +// ), +// ), +// const Gap(4), +// KwDropdown( +// horizontalPadding: 28, +// hintText: 'Direct', +// selectedItem: KwDropDownItem( +// data: state.entity.contractType, +// title: state.entity.contractType.formattedName), +// items: const [ +// KwDropDownItem(data: EventContractType.direct, title: 'Direct'), +// KwDropDownItem( +// data: EventContractType.purchaseOrder, +// title: 'Purchase Order'), +// KwDropDownItem( +// data: EventContractType.contract, title: 'Contract'), +// ], +// onSelected: (item) { +// BlocProvider.of(context) +// .add(CreateEventChangeContractType(item)); +// }), +// ], +// ); +// } +// +// _buildContractInput() { +// return Padding( +// padding: const EdgeInsets.only(top:8.0), +// child: KwTextInput( +// controller: contractNumberController, +// onChanged: (value) { +// BlocProvider.of(context) +// .add(CreateEventChangeContractNumber(value)); +// }, +// title: 'Contract number', +// hintText: '#00000'), +// ); +// } +// + _buildPurchaseInput() { + return Padding( + padding: const EdgeInsets.only(top:8.0), + child: KwTextInput( + controller: poNumberController, + onChanged: (value) { + BlocProvider.of(context) + .add(CreateEventChangePoNumber(value)); + }, + title: 'PO Reference number', + hintText: 'PO Reference number'), + ); + } +} +// +// extension on EventContractType? { +// String get formattedName { +// return switch (this) { +// EventContractType.direct => 'Direct', +// EventContractType.contract => 'Contract', +// EventContractType.purchaseOrder => 'Purchase Order', +// null => 'null' +// }; +// } +// } diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_tags_card.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_tags_card.dart new file mode 100644 index 00000000..0042fa11 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_tags_card.dart @@ -0,0 +1,136 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/tag_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; + +class CreateEventTagsCard extends StatelessWidget { + const CreateEventTagsCard({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) => + previous.tags != current.tags || + previous.entity.tags != current.entity.tags, + builder: (context, state) { + if(state.tags.isEmpty) return const SizedBox(); + return Container( + width: double.infinity, + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 24), + decoration: KwBoxDecorations.white12, + child: _buildChips(context, state.tags, state.entity.tags ?? []), + ); + }, + ); + } + + Widget _buildChips(BuildContext context, List allTags, + List selectedTags) { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 12), + child: Wrap( + runSpacing: 8, + spacing: 8, + children: allTags + .map((e) => + _buildTag(context, e, selectedTags.any((t) => e.id == t.id))) + .toList(), + ), + ); + } + + Widget _buildTag(BuildContext context, TagModel tag, bool selected) { + const duration = Duration(milliseconds: 150); + return GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(CreateEventTagSelected(tag)); + }, + child: AnimatedContainer( + duration: duration, + padding: const EdgeInsets.all(8), + height: 44, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: selected ? AppColors.blackBlack : AppColors.grayTintStroke, + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + AnimatedContainer( + duration: duration, + height: 28, + width: 28, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: selected ? AppColors.blackBlack : AppColors.tintGray, + ), + child: Center( + child: getImageById(tag.id).svg( + width: 12.0, + height: 12.0, + colorFilter: ColorFilter.mode( + selected ? AppColors.grayWhite : AppColors.blackBlack, + BlendMode.srcIn)), + ), + ), + const Gap(8), + Text( + tag.name, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.bgColorDark), + ), + const Gap(8), + AnimatedContainer( + duration: duration, + height: 16, + width: 16, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all( + color: selected + ? AppColors.blackBlack + : AppColors.grayTintStroke, + width: 1, + ), + ), + child: Center( + child: AnimatedContainer( + duration: duration, + height: 6, + width: 6, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: + selected ? AppColors.blackBlack : Colors.transparent, + )), + ), + ), + ], + ), + ), + ); + } + + getImageById(String id) { + switch (id) { + case '1': + return Assets.images.icons.tags.award; + case '2': + return Assets.images.icons.tags.briefcase; + case '3': + return Assets.images.icons.tags.flash; + } + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_title_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_title_widget.dart new file mode 100644 index 00000000..8b41ba5d --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/create_event_title_widget.dart @@ -0,0 +1,26 @@ +import 'package:flutter/cupertino.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class CreateEventTitleWidget extends StatelessWidget { + const CreateEventTitleWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(8), + const Text('Create Your Event', style: AppTextStyles.headingH1), + const Gap(8), + Text( + 'Bring your vision to life! Share details, set the stage, and connect with your audience—your event starts here.', + style: + AppTextStyles.bodyMediumReg.copyWith(color: AppColors.blackGray), + ), + const Gap(24), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/create_event/presentation/widgets/total_cost_row_widget.dart b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/total_cost_row_widget.dart new file mode 100644 index 00000000..49631252 --- /dev/null +++ b/mobile-apps/client-app/lib/features/create_event/presentation/widgets/total_cost_row_widget.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/create_event/domain/bloc/create_event_bloc.dart'; + +class TotalCostRowWidget extends StatelessWidget { + TotalCostRowWidget({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Approximate Total Costs', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + ValueListenableBuilder( + valueListenable: state.entity.totalCost, + builder: (context, value, child) { + return Text( + '\$${value.toStringAsFixed(2)}', + style: AppTextStyles.bodyMediumMed, + ); + }, + ) + ], + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/data/events_api_provider.dart b/mobile-apps/client-app/lib/features/events/data/events_api_provider.dart new file mode 100644 index 00000000..19d4ea9c --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/data/events_api_provider.dart @@ -0,0 +1,114 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/data/models/pagination_wrapper/pagination_wrapper.dart'; +import 'package:krow/features/events/data/events_gql.dart'; + +@Injectable() +class EventsApiProvider { + final ApiClient _client; + + EventsApiProvider({required ApiClient client}) : _client = client; + + Future fetchEvents(String status, {String? after}) async { + final QueryResult result = await _client.query( + schema: getEventsQuery, + body: {'status': status, 'first': 30, 'after': after}); + if (result.hasException) { + throw parseBackendError(result.exception); + } + + if (result.data == null || result.data!['client_events'] == null) { + return null; + } + + return PaginationWrapper.fromJson( + result.data!['client_events'], (json) { + try { + return EventModel.fromJson(json); + }catch (e) { + print(e); + return null; + } + }); + } + + Future fetchEventById(String id) async { + final QueryResult result = await _client.query(schema: getEventById, body: { + 'id': id, + }); + if (result.hasException) { + throw parseBackendError(result.exception); + } + + if (result.data == null || result.data!['client_event'] == null) { + return null; + } + + return EventModel.fromJson(result.data!['client_event']); + } + + Future cancelClientEvent(String id) async { + final QueryResult result = await _client.mutate( + schema: cancelClientEventMutation, + body: {'event_id': id}, + ); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future completeClientEvent(String id, {String? comment}) async { + final QueryResult result = await _client.mutate( + schema: completeClientEventMutation, + body: {'event_id': id, if(comment!=null)'comment': comment.trim()}, + ); + if (result.hasException) { + print(result.exception.toString()); + throw parseBackendError(result.exception); + } + } + + Future trackClientClockin(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: trackClientClockinMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future trackClientClockout(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: trackClientClockoutMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future notShowedPositionStaff(String positionStaffId) async { + final QueryResult result = await _client.mutate( + schema: notShowedPositionStaffMutation, + body: {'position_staff_id': positionStaffId}, + ); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future replacePositionStaff( + String positionStaffId, String reason) async { + final QueryResult result = await _client.mutate( + schema: replacePositionStaffMutation, + body: {'position_staff_id': positionStaffId, 'reason': reason.trim()}, + ); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } +} diff --git a/mobile-apps/client-app/lib/features/events/data/events_gql.dart b/mobile-apps/client-app/lib/features/events/data/events_gql.dart new file mode 100644 index 00000000..10b41ac1 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/data/events_gql.dart @@ -0,0 +1,272 @@ +String getEventsQuery = ''' +query GetEvents (\$status: EventStatus!, \$first: Int!, \$after: String) { + client_events(status: \$status, first: \$first, after: \$after) { + pageInfo { + hasNextPage + hasPreviousPage + startCursor + endCursor + total + count + currentPage + lastPage + } + edges { + ...node + cursor + } + } +} +$nodeFragment +'''; + +var getEventById = ''' + query GetEventById(\$id: ID!) { + client_event(id: \$id) { + $_eventFields + } + } + + $fragments + +'''; + +var nodeFragment = ''' + fragment node on EventEdge { + node { + $_eventsListFields + } + } +'''; + +const String cancelClientEventMutation = r''' + mutation cancel_client_event($event_id: ID!) { + cancel_client_event(event_id: $event_id) { + id + } + } + '''; + +const String completeClientEventMutation = r''' + mutation complete_client_event($event_id: ID!, $comment: String) { + complete_client_event(event_id: $event_id, comment: $comment) { + id + } + } + '''; + +const String trackClientClockinMutation = r''' + mutation track_client_clockin($position_staff_id: ID!) { + track_client_clockin(position_staff_id: $position_staff_id) { + id + } + } + '''; + +const String trackClientClockoutMutation = r''' + mutation track_client_clockout($position_staff_id: ID!) { + track_client_clockout(position_staff_id: $position_staff_id) { + id + } + } + '''; + +const String notShowedPositionStaffMutation = r''' + mutation not_showed_position_staff($position_staff_id: ID!) { + not_showed_position_staff(position_staff_id: $position_staff_id) { + id + } + } + '''; + +const String replacePositionStaffMutation = r''' + mutation replace_position_staff($position_staff_id: ID!, $reason: String!) { + replace_position_staff(position_staff_id: $position_staff_id, reason: $reason) { + id + } + } + '''; + +String _eventsListFields = ''' + id + business { + id + name + registration + avatar + } + hub { + id + name + address + } + name + status + date + start_time + end_time + purchase_order + contract_type + schedule_type + '''; + +String _eventFields = ''' + id + business { + id + name + registration + avatar + ...addons + } + hub { + id + name + address + } + name + status + date + start_time + end_time + purchase_order + contract_type + schedule_type + additional_info + addons { + id + name + } + tags { + id + name + slug + } + ...shifts + + +'''; + +String fragments = '''fragment addons on Business { + addons { + id + name + } +} + +fragment shifts on Event { + shifts { + id + name + address + ...full_address + contacts { + id + first_name + last_name + title + ...auth_info + } + positions { + id + count + start_time + end_time + rate + break + ...business_skill + ...staff + department { + id + name + } + } + } +} + +fragment auth_info on BusinessMember { + auth_info { + email + phone + } +} + +fragment business_skill on EventShiftPosition { + business_skill { + id + skill { + id + name + slug + price + } + price + is_active + } +} + +fragment full_address on EventShift { + full_address { + street_number + zip_code + latitude + longitude + formatted_address + street + region + city + country + } +} + +fragment staff on EventShiftPosition { + staff { + id + first_name + last_name + middle_name + email + phone + avatar + pivot { + id + status + start_at + end_at + clock_in + clock_out + ...staff_position + ...cancel_reason + rating { + id + rating + } + } + } +} + +fragment cancel_reason on EventShiftPositionStaff { + cancel_reason { + type + reason + details + } +} + +fragment staff_position on EventShiftPositionStaff { + position { + id + count + start_time + end_time + rate + break + business_skill { + id + price + skill{ + name + } + } + } +}'''; diff --git a/mobile-apps/client-app/lib/features/events/data/events_repository_impl.dart b/mobile-apps/client-app/lib/features/events/data/events_repository_impl.dart new file mode 100644 index 00000000..61bb4f0c --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/data/events_repository_impl.dart @@ -0,0 +1,137 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/features/events/data/events_api_provider.dart'; +import 'package:krow/features/events/domain/events_repository.dart'; + +@Singleton(as: EventsRepository) +class EventsRepositoryImpl extends EventsRepository { + final EventsApiProvider _apiProvider; + StreamController? _statusController; + + EventsRepositoryImpl({required EventsApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream get statusStream { + _statusController ??= StreamController.broadcast(); + return _statusController!.stream; + } + + @override + Future> getEvents( + {String? lastItemId, required EventStatus statusFilter}) async { + try { + var paginationWrapper = await _apiProvider.fetchEvents( + statusFilterToGqlString(statusFilter), + after: lastItemId); + return paginationWrapper?.edges + .map((e) => EventEntity.fromEventDto( + e.node, + cursor: paginationWrapper.pageInfo.hasNextPage + ? e.cursor + : null, + )) + .toList() ?? + []; + } catch (e) { + rethrow; + } + } + + @override + void dispose() { + _statusController?.close(); + } + + statusFilterToGqlString(EventStatus statusFilter) { + return statusFilter.name; + } + + @override + Future cancelClientEvent(String id, EventStatus? status) async { + try { + await _apiProvider.cancelClientEvent(id); + if (!(_statusController?.isClosed ?? true)) { + if (status != null) _statusController?.add(status); + } + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future completeClientEvent(String id, {String? comment}) async { + try { + await _apiProvider.completeClientEvent(id, comment: comment); + if (!(_statusController?.isClosed ?? true)) { + _statusController?.add(EventStatus.finished); + _statusController?.add(EventStatus.completed); + } + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future trackClientClockin(String positionStaffId) async { + try { + await _apiProvider.trackClientClockin(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future trackClientClockout(String positionStaffId) async { + try { + await _apiProvider.trackClientClockout(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future notShowedPositionStaff(String positionStaffId) async { + try { + await _apiProvider.notShowedPositionStaff(positionStaffId); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + Future replacePositionStaff( + String positionStaffId, String reason) async { + try { + await _apiProvider.replacePositionStaff(positionStaffId, reason); + } catch (exception) { + debugPrint(exception.toString()); + rethrow; + } + } + + @override + void refreshEvents(EventStatus status) { + if (!(_statusController?.isClosed ?? true)) { + _statusController?.add(status); + } + } + + @override + Future getEventById(String id) async { + return await _apiProvider.fetchEventById(id).then((event) { + if (event != null) { + return EventEntity.fromEventDto(event); + } + return null; + }); + } +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_bloc.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_bloc.dart new file mode 100644 index 00000000..39dc021a --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_bloc.dart @@ -0,0 +1,381 @@ +import 'dart:async'; + +import 'package:bloc/bloc.dart'; +import 'package:collection/collection.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/pivot.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/entity/position_entity.dart'; +import 'package:krow/core/entity/shift_entity.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/sevices/create_event_service/create_event_service.dart'; +import 'package:krow/core/sevices/geofencin_service.dart'; +import 'package:krow/features/events/domain/events_repository.dart'; +import 'package:meta/meta.dart'; + +part 'event_details_event.dart'; +part 'event_details_state.dart'; + +class EventDetailsBloc extends Bloc { + final EventsRepository _repository; + Timer? _timer; + var disabledPolling = false; + + EventDetailsBloc(EventEntity event, this._repository, isPreview) + : super(EventDetailsState(event: event, isPreview: isPreview)) { + + on(_onInit); + on(_onUpdateEntity); + on(_onShiftHeaderTap); + on(_onRoleHeaderTap); + on(_onAssignedStaffHeaderTap); + on(_onCompleteEvent); + on(_onCancelClientEvent); + on(_onTrackClientClockin); + on(_onTrackClientClockout); + on(_onNotShowedPositionStaff); + on(_onReplacePositionStaff); + on(_createEvent); + on(_onDetailsDeleteDraftEvent); + on(_onDetailsPublishEvent); + on(_onGeofencingEvent); + on(_onRefreshEventDetailsEvent); + on(_onDisablePollingEvent); + on(_onEnablePollingEvent); + } + + @override + Future close() { + _timer?.cancel(); + return super.close(); + } + + FutureOr _onShiftHeaderTap(OnShiftHeaderTapEvent event, emit) { + emit(state.copyWith( + shifts: state.shifts + .map((e) => + e.copyWith(isExpanded: e == event.shiftState && !e.isExpanded)) + .toList())); + } + + FutureOr _onRoleHeaderTap(OnRoleHeaderTapEvent event, emit) { + emit(state.copyWith( + shifts: state.shifts + .map((e) => e.copyWith( + positions: e.positions + .map((r) => r.copyWith( + isExpanded: + r.position.id == event.roleState.position.id && + !r.isExpanded)) + .toList())) + .toList())); + } + + FutureOr _onAssignedStaffHeaderTap( + OnAssignedStaffHeaderTapEvent event, emit) { + emit(state.copyWith( + shifts: state.shifts + .map((e) => e.copyWith( + positions: e.positions + .map((r) => r.copyWith( + isStaffExpanded: + r.position.id == event.roleState.position.id && + !r.isStaffExpanded)) + .toList())) + .toList())); + } + + FutureOr _onCompleteEvent(CompleteEventEvent event, emit) async { + try { + emit(state.copyWith(inLoading: true)); + await _repository.completeClientEvent(state.event.id, + comment: event.comment); + emit(state.copyWith( + event: state.event.copyWith(status: EventStatus.completed))); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + return; + } + } + emit(state.copyWith(inLoading: false)); + + } + + FutureOr _onCancelClientEvent(CancelClientEvent event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await _repository.cancelClientEvent(state.event.id, state.event.status); + emit(state.copyWith( + event: state.event.copyWith(status: EventStatus.canceled))); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + } + } + emit(state.copyWith(inLoading: false)); + } + + FutureOr _onInit(EventDetailsInitialEvent event, emit) { + getIt().eventsRepository = _repository; + emit(state.copyWith( + inLoading: true, + shifts: state.event.shifts + ?.map((shift) => ShiftState( + shift: shift, + positions: shift.positions + .map((position) => PositionState(position: position)) + .toList())) + .toList() ?? + [], + )); + + add(RefreshEventDetailsEvent()); + + + + if (!state.isPreview) { + startPoling(); + }else{ + emit(state.copyWith(inLoading: false)); + } + } + + FutureOr _onTrackClientClockin(TrackClientClockin event, emit) async { + emit(state.copyWith(inLoading: true)); + if (!(await checkGeofancing(event.staffContact))) { + emit(state.copyWith(inLoading: false)); + return; + } + try { + await _repository.trackClientClockin(event.staffContact.id); + event.staffContact.status = PivotStatus.ongoing; + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + } + } + emit(state.copyWith(inLoading: false)); + } + + FutureOr _onTrackClientClockout(TrackClientClockout event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await _repository.trackClientClockout(event.staffContact.id); + event.staffContact.status = PivotStatus.confirmed; + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + } + } + emit(state.copyWith(inLoading: false)); + } + + FutureOr _onNotShowedPositionStaff( + NotShowedPositionStaffEvent event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await _repository.notShowedPositionStaff(event.positionStaffId); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + } + } + emit(state.copyWith(inLoading: false)); + } + + FutureOr _onReplacePositionStaff( + ReplacePositionStaffEvent event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await _repository.replacePositionStaff( + event.positionStaffId, event.reason); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(showErrorPopup: e.message)); + }else{ + emit(state.copyWith( + showErrorPopup: 'Something went wrong')); + } + } + emit(state.copyWith(inLoading: false)); + } + + void _createEvent( + CreateEventPostEvent event, Emitter emit) async { + emit(state.copyWith(inLoading: true)); + try { + if (state.event.id.isEmpty) { + await getIt().createEventService( + state.event, + ); + } else { + await getIt().updateEvent( + state.event, + ); + } + // emit(state.copyWith(inLoading: false, )); + emit(state.copyWith(inLoading: false, needDeepPop: true)); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(inLoading: false, showErrorPopup: e.message)); + return; + } else { + print(e); + emit(state.copyWith( + inLoading: false, showErrorPopup: 'Something went wrong')); + return; + } + } + emit(state.copyWith(inLoading: false)); + } + + void _onDetailsDeleteDraftEvent(DetailsDeleteDraftEvent event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt().deleteDraft( + state.event, + ); + emit(state.copyWith(inLoading: false, needDeepPop: true)); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(inLoading: false, showErrorPopup: e.message)); + return; + } else { + emit(state.copyWith( + inLoading: false, showErrorPopup: 'Something went wrong')); + } + } + emit(state.copyWith(inLoading: false)); + + } + + void _onDetailsPublishEvent(DetailsPublishEvent event, emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt().publishEvent( + state.event, + ); + emit(state.copyWith(inLoading: false, needDeepPop: true)); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(inLoading: false, showErrorPopup: e.message)); + return; + } else { + print(e); + emit(state.copyWith( + inLoading: false, showErrorPopup: 'Something went wrong')); + } + } + emit(state.copyWith(inLoading: false)); + + } + + void startPoling() { + _timer = Timer.periodic(const Duration(seconds: 5), (timer) async { + if(state.isPreview) return; + add(RefreshEventDetailsEvent()); + }); + } + + void _onRefreshEventDetailsEvent( + RefreshEventDetailsEvent event, Emitter emit) async { + if(state.isPreview) return; + try { + await _repository.getEventById(state.event.id).then((event) { + if (event != null) { + add(EventDetailsUpdateEvent(event)); + } + }); + } catch (e) { + print(e); + } + } + + void _onUpdateEntity(EventDetailsUpdateEvent event, emit) { + if(disabledPolling) return; + emit( + state.copyWith( + inLoading: false, + event: event.event, + shifts: event.event.shifts?.map( + (shift) { + var oldShift = state.shifts + .firstWhereOrNull((e) => e.shift.id == shift.id); + return ShiftState( + isExpanded: oldShift?.isExpanded ?? false, + shift: shift, + positions: shift.positions.map( + (position) { + var oldPosition = oldShift?.positions.firstWhereOrNull( + (e) => e.position.id == position.id); + return PositionState( + position: position, + isExpanded: oldPosition?.isExpanded ?? false, + isStaffExpanded: + oldPosition?.isStaffExpanded ?? false); + }, + ).toList()); + }, + ).toList() ?? + [], + ), + ); + } + + Future checkGeofancing(StaffContact staffContact) async { + var permissionResult = + await GeofencingService().requestGeolocationPermission(); + + if (permissionResult == GeolocationStatus.enabled) { + var result = await GeofencingService().isInRangeCheck( + pointLatitude: + staffContact.parentPosition?.parentShift?.fullAddress?.latitude ?? + 0, + pointLongitude: + staffContact.parentPosition?.parentShift?.fullAddress?.longitude ?? + 0, + ); + if (result) { + return true; + } else { + add(GeofencingEvent(GeofencingDialogState.tooFar)); + } + } else if (permissionResult == GeolocationStatus.disabled) { + add(GeofencingEvent(GeofencingDialogState.locationDisabled)); + } else if (permissionResult == GeolocationStatus.prohibited) { + add(GeofencingEvent(GeofencingDialogState.goToSettings)); + } else if (permissionResult == GeolocationStatus.denied) { + add(GeofencingEvent(GeofencingDialogState.permissionDenied)); + } + return false; + } + + void _onGeofencingEvent(GeofencingEvent event, emit) { + emit(state.copyWith(geofencingDialogState: event.dialogState)); + if (event.dialogState != GeofencingDialogState.none) { + add(GeofencingEvent(GeofencingDialogState.none)); + } + } + + void _onDisablePollingEvent(DisablePollingEvent event, emit) { + disabledPolling = true; + _timer?.cancel(); + _timer = null; + } + + void _onEnablePollingEvent(EnablePollingEvent event, emit) { + disabledPolling = false; + + if (_timer == null) { + startPoling(); + } + } + + @override + void onEvent(EventDetailsEvent event) { + print(event); + super.onEvent(event); + } +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_event.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_event.dart new file mode 100644 index 00000000..955fe1a0 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_event.dart @@ -0,0 +1,105 @@ +part of 'event_details_bloc.dart'; + +@immutable +abstract class EventDetailsEvent {} + +class EventDetailsInitialEvent extends EventDetailsEvent { + + EventDetailsInitialEvent(); +} + +class EventDetailsUpdateEvent extends EventDetailsEvent { + final EventEntity event; + + EventDetailsUpdateEvent(this.event); +} + +class OnShiftHeaderTapEvent extends EventDetailsEvent { + final ShiftState shiftState; + + OnShiftHeaderTapEvent(this.shiftState); +} + +class OnRoleHeaderTapEvent extends EventDetailsEvent { + final PositionState roleState; + + OnRoleHeaderTapEvent(this.roleState); +} + +class OnAssignedStaffHeaderTapEvent extends EventDetailsEvent { + final PositionState roleState; + + OnAssignedStaffHeaderTapEvent(this.roleState); +} + +class CompleteEventEvent extends EventDetailsEvent { + final String? comment; + + CompleteEventEvent({this.comment}); +} + +class CancelClientEvent extends EventDetailsEvent { + CancelClientEvent(); +} + +class CompleteClientEvent extends EventDetailsEvent { + final String id; + final String? comment; + + CompleteClientEvent(this.id, {this.comment}); +} + +class TrackClientClockin extends EventDetailsEvent { + final StaffContact staffContact; + + TrackClientClockin(this.staffContact); +} + +class TrackClientClockout extends EventDetailsEvent { + final StaffContact staffContact; + + TrackClientClockout(this.staffContact); +} + +class NotShowedPositionStaffEvent extends EventDetailsEvent { + final String positionStaffId; + + NotShowedPositionStaffEvent(this.positionStaffId); +} + +class ReplacePositionStaffEvent extends EventDetailsEvent { + final String positionStaffId; + final String reason; + + ReplacePositionStaffEvent(this.positionStaffId, this.reason); +} + +class CreateEventPostEvent extends EventDetailsEvent { + CreateEventPostEvent(); +} + +class DetailsDeleteDraftEvent extends EventDetailsEvent { + DetailsDeleteDraftEvent(); +} + +class DetailsPublishEvent extends EventDetailsEvent { + DetailsPublishEvent(); +} + +class GeofencingEvent extends EventDetailsEvent { + final GeofencingDialogState dialogState; + + GeofencingEvent(this.dialogState); +} + +class RefreshEventDetailsEvent extends EventDetailsEvent { + RefreshEventDetailsEvent(); +} + +class DisablePollingEvent extends EventDetailsEvent { + DisablePollingEvent(); +} + +class EnablePollingEvent extends EventDetailsEvent { + EnablePollingEvent(); +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_state.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_state.dart new file mode 100644 index 00000000..145d2980 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/details/event_details_state.dart @@ -0,0 +1,99 @@ +part of 'event_details_bloc.dart'; + +enum GeofencingDialogState { + none, + tooFar, + locationDisabled, + goToSettings, + permissionDenied, +} + +@immutable +class EventDetailsState { + final EventEntity event; + final List shifts; + final bool inLoading; + final bool isPreview; + final String? showErrorPopup; + final bool needDeepPop; + final GeofencingDialogState geofencingDialogState; + + const EventDetailsState({ + required this.event, + this.shifts = const [], + this.inLoading = false, + this.isPreview = false, + this.needDeepPop = false, + this.showErrorPopup, + this.geofencingDialogState = GeofencingDialogState.none, + }); + + EventDetailsState copyWith({ + EventEntity? event, + List? shifts, + bool? inLoading, + bool? isPreview, + bool? needDeepPop, + String? showErrorPopup, + GeofencingDialogState? geofencingDialogState, + }) { + return EventDetailsState( + event: event ?? this.event, + shifts: shifts ?? this.shifts, + inLoading: inLoading ?? this.inLoading, + isPreview: isPreview ?? this.isPreview, + needDeepPop: needDeepPop ?? this.needDeepPop, + showErrorPopup: showErrorPopup, + geofencingDialogState: + geofencingDialogState ?? GeofencingDialogState.none, + ); + } +} + +class ShiftState { + final bool isExpanded; + final ShiftEntity shift; + final List positions; + + ShiftState({ + this.isExpanded = false, + required this.shift, + this.positions = const [], + }); + + ShiftState copyWith({ + bool? isExpanded, + ShiftEntity? shift, + List? positions, + DateTime? date, + }) { + return ShiftState( + isExpanded: isExpanded ?? this.isExpanded, + shift: shift ?? this.shift, + positions: positions ?? this.positions, + ); + } +} + +class PositionState { + final PositionEntity position; + final bool isExpanded; + final bool isStaffExpanded; + + PositionState( + {required this.position, + this.isExpanded = false, + this.isStaffExpanded = false}); + + PositionState copyWith({ + PositionEntity? position, + bool? isExpanded, + bool? isStaffExpanded, + }) { + return PositionState( + position: position ?? this.position, + isExpanded: isExpanded ?? this.isExpanded, + isStaffExpanded: isStaffExpanded ?? this.isStaffExpanded, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_bloc.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_bloc.dart new file mode 100644 index 00000000..51e6b75a --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_bloc.dart @@ -0,0 +1,185 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/features/events/domain/blocs/events_list_bloc/events_event.dart'; +import 'package:krow/features/events/domain/blocs/events_list_bloc/events_state.dart'; +import 'package:krow/features/events/domain/events_repository.dart'; + +class EventsBloc extends Bloc { + EventsBloc() + : super(const EventsState(tabs: { + 0: { + 0: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.pending), + 1: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.assigned), + 2: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.confirmed), + }, + 1: { + 0: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.active), + 1: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.finished), + }, + 2: { + 0: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.completed), + 1: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.closed), + 2: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.canceled), + }, + 3: { + 0: EventTabState( + items: [], + inLoading: false, + hasMoreItems: true, + status: EventStatus.draft), + }, + })) { + on(_onInitial); + on(_onTabChanged); + on(_onSubTabChanged); + on(_onLoadTabItems); + on(_onLoadMoreTabItems); + + getIt().statusStream.listen((event) { + (int, int)? pair = findTabIndexForStatus(state.tabs, event); + if (pair != null) { + add(LoadTabEventEvent(tabIndex: pair.$1, subTabIndex: pair.$2)); + } + }); + } + + Future _onInitial(EventsInitialEvent event, emit) async { + add(const LoadTabEventEvent(tabIndex: 0, subTabIndex: 0)); + } + + Future _onTabChanged(EventsTabChangedEvent event, emit) async { + emit(state.copyWith(tabIndex: event.tabIndex, subTabIndex: 0)); + final currentTabState = state.tabs[event.tabIndex]![0]!; + if (currentTabState.items.isEmpty && !currentTabState.inLoading) { + add(LoadTabEventEvent(tabIndex: event.tabIndex, subTabIndex: 0)); + } + } + + Future _onSubTabChanged(EventsSubTabChangedEvent event, emit) async { + emit(state.copyWith(subTabIndex: event.subTabIndex)); + final currentTabState = state.tabs[state.tabIndex]![event.subTabIndex]!; + if (currentTabState.items.isEmpty && !currentTabState.inLoading) { + add(LoadTabEventEvent( + tabIndex: state.tabIndex, subTabIndex: event.subTabIndex)); + } + } + + Future _onLoadTabItems(LoadTabEventEvent event, emit) async { + await _fetchEvents(event.tabIndex, event.subTabIndex, null, emit); + } + + Future _onLoadMoreTabItems(LoadMoreEventEvent event, emit) async { + final currentTabState = state.tabs[event.tabIndex]![event.subTabIndex]!; + if (!currentTabState.hasMoreItems || currentTabState.inLoading) return; + await _fetchEvents( + event.tabIndex, event.subTabIndex, currentTabState.items, emit); + } + + _fetchEvents(int tabIndex, int subTabIndex, List? previousItems, + emit) async { + if (previousItems != null && previousItems.lastOrNull?.cursor == null) { + return; + } + final currentTabState = state.tabs[tabIndex]![subTabIndex]!; + var newState = state.copyWith( + tabs: { + ...state.tabs, + tabIndex: { + ...state.tabs[tabIndex]!, + subTabIndex: currentTabState.copyWith(inLoading: true) + }, + }, + ); + emit(newState); + await Future.delayed(const Duration(seconds: 1)); + try { + var items = await getIt().getEvents( + statusFilter: currentTabState.status, + lastItemId: previousItems?.lastOrNull?.cursor, + ); + + var newState = state.copyWith( + tabs: { + ...state.tabs, + tabIndex: { + ...state.tabs[tabIndex]!, + subTabIndex: currentTabState.copyWith( + items: (previousItems ?? [])..addAll(items), + hasMoreItems: items.isNotEmpty, + inLoading: false, + ) + }, + }, + ); + emit(newState); + } catch (e) { + debugPrint(e.toString()); + emit(state.copyWith(errorMessage: e.toString())); + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: { + ...state.tabs[tabIndex]!, + subTabIndex: currentTabState.copyWith( + items: (previousItems ?? []), + hasMoreItems: false, + inLoading: false, + ) + }, + }, + )); + } + } + + @override + Future close() { + getIt().dispose(); + return super.close(); + } + + (int, int)? findTabIndexForStatus( + Map> tabs, EventStatus status) { + for (var tabEntry in tabs.entries) { + for (var subTabEntry in tabEntry.value.entries) { + if (subTabEntry.value.status == status) { + return (tabEntry.key, subTabEntry.key); + } + } + } + return null; + } +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_event.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_event.dart new file mode 100644 index 00000000..dc9206e8 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_event.dart @@ -0,0 +1,33 @@ +sealed class EventsEvent { + const EventsEvent(); +} + +class EventsInitialEvent extends EventsEvent { + const EventsInitialEvent(); +} + +class EventsTabChangedEvent extends EventsEvent { + final int tabIndex; + + const EventsTabChangedEvent({required this.tabIndex}); +} + +class EventsSubTabChangedEvent extends EventsEvent { + final int subTabIndex; + + const EventsSubTabChangedEvent({required this.subTabIndex}); +} + +class LoadTabEventEvent extends EventsEvent { + final int tabIndex; + final int subTabIndex; + + const LoadTabEventEvent({required this.tabIndex, required this.subTabIndex}); +} + +class LoadMoreEventEvent extends EventsEvent { + final int tabIndex; + final int subTabIndex; + + const LoadMoreEventEvent({required this.tabIndex, required this.subTabIndex}); +} diff --git a/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_state.dart b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_state.dart new file mode 100644 index 00000000..f561a96b --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/blocs/events_list_bloc/events_state.dart @@ -0,0 +1,61 @@ +import 'package:krow/core/entity/event_entity.dart'; + +class EventsState { + final bool inLoading; + final int tabIndex; + final int subTabIndex; + final String? errorMessage; + + final Map> tabs; + + const EventsState( + {this.inLoading = false, + this.tabIndex = 0, + this.subTabIndex = 0, + this.errorMessage, + required this.tabs}); + + EventsState copyWith({ + bool? inLoading, + int? tabIndex, + int? subTabIndex, + String? errorMessage, + Map>? tabs, + }) { + return EventsState( + inLoading: inLoading ?? this.inLoading, + tabIndex: tabIndex ?? this.tabIndex, + subTabIndex: subTabIndex ?? this.subTabIndex, + tabs: tabs ?? this.tabs, + errorMessage: errorMessage, + ); + } +} + +class EventTabState { + final List items; + final bool inLoading; + final bool hasMoreItems; + + final EventStatus status; + + const EventTabState({ + required this.items, + this.inLoading = false, + this.hasMoreItems = true, + required this.status, + }); + + EventTabState copyWith({ + List? items, + bool? inLoading, + bool? hasMoreItems, + }) { + return EventTabState( + items: items ?? this.items, + inLoading: inLoading ?? this.inLoading, + hasMoreItems: hasMoreItems ?? this.hasMoreItems, + status: status, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/domain/events_repository.dart b/mobile-apps/client-app/lib/features/events/domain/events_repository.dart new file mode 100644 index 00000000..7d12d67f --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/domain/events_repository.dart @@ -0,0 +1,26 @@ +import 'package:krow/core/entity/event_entity.dart'; + +abstract class EventsRepository { + Stream get statusStream; + + Future> getEvents( + {String? lastItemId, required EventStatus statusFilter}); + + Future getEventById(String id); + + void dispose(); + + Future cancelClientEvent(String id, EventStatus? status); + + Future completeClientEvent(String id, {String? comment}); + + Future trackClientClockin(String positionStaffId); + + Future trackClientClockout(String positionStaffId); + + Future notShowedPositionStaff(String positionStaffId); + + Future replacePositionStaff(String positionStaffId, String reason); + + void refreshEvents(EventStatus status); +} diff --git a/mobile-apps/client-app/lib/features/events/events_flow.dart b/mobile-apps/client-app/lib/features/events/events_flow.dart new file mode 100644 index 00000000..a1ecb32f --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/events_flow.dart @@ -0,0 +1,12 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class EventsFlowScreen extends StatelessWidget { + const EventsFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/event_details_screen.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/event_details_screen.dart new file mode 100644 index 00000000..93bd1013 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/event_details_screen.dart @@ -0,0 +1,156 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_button.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; +import 'package:krow/features/events/domain/events_repository.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/event_completed_by_card_widget.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/event_info_card_widget.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/shift/shift_widget.dart'; +import 'package:krow/features/home/presentation/home_screen.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +import '../../domain/blocs/events_list_bloc/events_bloc.dart'; +import '../../domain/blocs/events_list_bloc/events_event.dart'; + +@RoutePage() +class EventDetailsScreen extends StatefulWidget implements AutoRouteWrapper { + final EventEntity event; + final bool isPreview; + + const EventDetailsScreen( + {super.key, required this.event, this.isPreview = false}); + + @override + State createState() => _EventDetailsScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + key: Key(event.id), + create: (context) { + return EventDetailsBloc(event, getIt(),isPreview) + ..add(EventDetailsInitialEvent()); + }, + child: this, + ); + } +} + +class _EventDetailsScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: widget.isPreview ? 'Event Preview' : 'Event Details', + ), + body: BlocConsumer( + listenWhen: (previous, current) => + previous.showErrorPopup != current.showErrorPopup || + previous.needDeepPop != current.needDeepPop, + listener: (context, state) { + if (state.needDeepPop) { + context.router.popUntilRoot(); + homeContext?.maybePop(); + return; + } + + if (state.showErrorPopup != null) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.showErrorPopup ?? ''), + )); + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.inLoading, + child: ScrollLayoutHelper( + padding: const EdgeInsets.only(left: 16, right: 16, bottom: 24), + upperWidget: Column( + children: [ + EventInfoCardWidget( + item: state.event, + isPreview: widget.isPreview, + ), + EventCompletedByCardWidget( + completedBy: state.event.completedBy, + completedNote: state.event.completedNode, + ), + ListView.builder( + shrinkWrap: true, + primary: false, + itemCount: state.shifts.length, + itemBuilder: (context, index) { + return ShiftWidget( + index: index, shiftState: state.shifts[index]); + }, + ), + ], + ), + lowerWidget: widget.isPreview + ? _buildPreviewButtons() + : const SizedBox.shrink()), + ); + }, + ), + ); + } + + Widget _buildPreviewButtons() { + return Padding( + padding: const EdgeInsets.only(top: 24), + child: KwPopUpButton( + label: widget.event.status == null || + widget.event.status == EventStatus.draft + ? widget.event.id.isEmpty + ? 'Save as Draft' + : 'Update Draft' + : 'Save Event', + popUpPadding: 16, + items: [ + KwPopUpButtonItem( + title: 'Publish Event', + onTap: () { + BlocProvider.of(context) + .add(DetailsPublishEvent()); + }, + ), + if (widget.event.status == EventStatus.draft || + widget.event.status == null) + KwPopUpButtonItem( + title: widget.event.id.isEmpty ? 'Save as Draft' : 'Update Draft', + onTap: () { + BlocProvider.of(context) + .add(CreateEventPostEvent()); + }, + ), + KwPopUpButtonItem( + title: widget.event.status == null || + widget.event.status == EventStatus.draft + ? 'Edit Event Draft' + : 'Edit Event', + onTap: () { + context.router.maybePop(); + }, + color: AppColors.primaryBlue), + if (widget.event.status == EventStatus.draft || + widget.event.status == null) + KwPopUpButtonItem( + title: 'Delete Event Draft', + onTap: () { + BlocProvider.of(context) + .add(DetailsDeleteDraftEvent()); + BlocProvider.of(context) + .add(LoadTabEventEvent(tabIndex: 3, subTabIndex: 0)); + }, + color: AppColors.statusError), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_button_group_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_button_group_widget.dart new file mode 100644 index 00000000..17f7cc74 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_button_group_widget.dart @@ -0,0 +1,200 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/event_qr_popup.dart'; + +class EventButtonGroupWidget extends StatelessWidget { + final EventEntity item; + + final bool isPreview; + + const EventButtonGroupWidget( + {super.key, required this.item, required this.isPreview}); + + @override + Widget build(BuildContext context) { + if (isPreview) return const SizedBox.shrink(); + + final now = DateTime.now(); + final startTime = + item.startDate ?? DateTime.now(); // adjust property name if needed + final hoursUntilStart = startTime.difference(now).inHours; + final showDraftButton = hoursUntilStart >= 24; + + switch (item.status) { + case EventStatus.confirmed: + return Column(children: [ + _buildActiveButtonGroup(context), + Gap(8), + _buildConfirmedButtonGroup(context) + ]); + case EventStatus.active: + return _buildActiveButtonGroup(context); + case EventStatus.finished: + return _buildCompletedButtonGroup(context); + case EventStatus.pending: + case EventStatus.assigned: + return Column(children: [ + if (showDraftButton) _buildDraftButtonGroup(context), + if (showDraftButton) Gap(8), + _buildConfirmedButtonGroup(context) + ]); + case EventStatus.draft: + return Column(children: [ + _buildDraftButtonGroup(context) + ]); + + case EventStatus.completed: + case EventStatus.closed: + // return _buildClosedButtonGroup(); + default: + return const SizedBox.shrink(); + } + } + + Widget _buildActiveButtonGroup(BuildContext context) { + return Column( + children: [ + KwButton.primary( + label: 'QR Code', + onPressed: () { + EventQrPopup.show(context, item); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'Clock Manually', + onPressed: () { + context.router.push(ClockManualRoute( + staffContacts: item.shifts + ?.expand( + (s) => s.positions.expand((p) => p.staffContacts)) + .toList() ?? + [])); + }, + ), + ], + ); + } + + Widget _buildConfirmedButtonGroup(BuildContext context) { + return KwButton.outlinedPrimary( + label: 'Cancel Event', + onPressed: () { + BlocProvider.of(context).add(CancelClientEvent()); + }, + ).copyWith( + color: AppColors.statusError, + textColors: AppColors.statusError, + borderColor: AppColors.statusError); + } + + Widget _buildDraftButtonGroup(BuildContext context) { + return Column( + children: [ + KwButton.accent( + label: 'Edit Event', + onPressed: () async { + BlocProvider.of(context).add( + DisablePollingEvent(), + ); + await context.router.push( + CreateEventFlowRoute(children: [ + CreateEventRoute( + eventModel: item.dto, + ), + ]), + ); + BlocProvider.of(context).add( + RefreshEventDetailsEvent(), + ); + BlocProvider.of(context).add( + EnablePollingEvent(), + ); + }, + ), + // Gap(8), + // KwButton.outlinedPrimary( + // label: 'Delete Event Draft', + // onPressed: () { + // BlocProvider.of(context) + // .add(DetailsDeleteDraftEvent()); + // }, + // ).copyWith( + // color: AppColors.statusError, + // textColors: AppColors.statusError, + // borderColor: AppColors.statusError), + ], + ); + } + + Widget _buildCompletedButtonGroup(context) { + return Column( + children: [ + KwButton.primary( + label: 'Complete Event', + onPressed: () { + _completeEvent(context); + }, + ), + ], + ); + } + + Widget _buildClosedButtonGroup() { + return Column( + children: [ + KwButton.primary( + label: 'View Invoice', + onPressed: () {}, + ), + ], + ); + } + + void _completeEvent(BuildContext context) async { + var controller = TextEditingController(); + var result = await KwDialog.show( + context: context, + icon: Assets.images.icons.navigation.confetti, + title: 'Complete Event', + message: 'Please tell us how did the event went:', + state: KwDialogState.info, + child: KwTextInput( + controller: controller, + maxLength: 300, + showCounter: true, + minHeight: 144, + hintText: 'Enter your note here...', + title: 'Note (optional)', + ), + primaryButtonLabel: 'Complete Event', + onPrimaryButtonPressed: (dialogContext) { + BlocProvider.of(context) + .add(CompleteEventEvent(comment: controller.text)); + Navigator.of(dialogContext).pop(true); + }, + secondaryButtonLabel: 'Cancel', + ); + + if (result) { + await KwDialog.show( + context: context, + icon: Assets.images.icons.navigation.confetti, + title: 'Thanks!', + message: + 'Thank you for using our app! We hope you’ve had an awesome event!', + primaryButtonLabel: 'Close', + ); + } + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_completed_by_card_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_completed_by_card_widget.dart new file mode 100644 index 00000000..70dfb72e --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_completed_by_card_widget.dart @@ -0,0 +1,80 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class EventCompletedByCardWidget extends StatelessWidget { + final BusinessMemberModel? completedBy; + final String? completedNote; + + const EventCompletedByCardWidget( + {super.key, required this.completedBy, required this.completedNote}); + + @override + Widget build(BuildContext context) { + if (completedBy == null) return Container(); + return Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(top: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Completed by', + style: + AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray), + ), + const Gap(4), + _contact(), + const Gap(12), + Text( + 'Note', + style: + AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray), + ), + const Gap(2), + Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + completedNote ?? '', + style: AppTextStyles.bodyMediumMed, + ), + ], + ) + ], + ), + ); + } + + Container _contact() { + return Container( + height: 28, + padding: const EdgeInsets.only(left: 2, right: 12, top: 2, bottom: 2), + decoration: BoxDecoration( + color: AppColors.tintBlue, + borderRadius: BorderRadius.circular(14), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 24, + width: 24, + decoration: BoxDecoration( + color: AppColors.blackGray, + borderRadius: BorderRadius.circular(12), + )), + const Gap(8), + Text( + '${completedBy?.firstName} ${completedBy?.lastName}', + style: AppTextStyles.bodyMediumMed, + ), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_info_card_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_info_card_widget.dart new file mode 100644 index 00000000..a3358375 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_info_card_widget.dart @@ -0,0 +1,211 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/data/models/event/addon_model.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/event_button_group_widget.dart'; + +class EventInfoCardWidget extends StatelessWidget { + final EventEntity item; + + final bool isPreview; + + const EventInfoCardWidget( + {required this.item, super.key, this.isPreview = false}); + + Color getIconColor(EventStatus? status) { + return switch (status) { + EventStatus.active || EventStatus.finished => AppColors.statusSuccess, + EventStatus.pending || + EventStatus.assigned || + EventStatus.confirmed => + AppColors.primaryBlue, + _ => AppColors.statusWarning + }; + } + + Color getIconBgColor(EventStatus? status) { + switch (status) { + case EventStatus.active: + case EventStatus.finished: + return AppColors.tintGreen; + case EventStatus.pending: + case EventStatus.assigned: + case EventStatus.confirmed: + return AppColors.tintBlue; + default: + return AppColors.tintOrange; + } + } + + @override + Widget build(BuildContext context) { + return Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 24), + margin: const EdgeInsets.only(bottom: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildStatusRow(), + const Gap(24), + Text(item.name, style: AppTextStyles.headingH1), + const Gap(24), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'Date', + value: DateFormat('MM.dd.yyyy') + .format(item.startDate ?? DateTime.now()), + ), + const Gap(12), + IconRowInfoWidget( + icon: Assets.images.icons.location.svg(), + title: 'Location', + value: item.hub?.name ?? 'Hub Name', + ), + const Gap(12), + ValueListenableBuilder( + valueListenable: item.totalCost, + builder: (context, value, child) { + return IconRowInfoWidget( + icon: Assets.images.icons.dollarSquare.svg(), + title: 'Value', + value: '\$${value.toStringAsFixed(2)}', + ); + }), + const Gap(24), + const Divider( + color: AppColors.grayTintStroke, + thickness: 1, + height: 0, + ), + _buildAddons(item.addons), + ..._buildAdditionalInfo(), + if (!isPreview) const Gap(24), + EventButtonGroupWidget(item: item, isPreview: isPreview), + ], + ), + ); + } + + List _buildAdditionalInfo() { + return [ + const Gap(12), + Text('Additional Information', + style: + AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray)), + const Gap(2), + Text( + (item.additionalInfo == null || item.additionalInfo!.trim().isEmpty) + ? 'No additional information' + : item.additionalInfo!, + style: AppTextStyles.bodyMediumMed), + ]; + } + + Widget _buildAddons(List? selectedAddons) { + if (item.addons == null || item.addons!.isEmpty) { + return const SizedBox.shrink(); + } + + return Column( + children: [ + ...selectedAddons?.map((addon) { + var textStyle = AppTextStyles.bodyMediumMed.copyWith(height: 1); + return Padding( + padding: const EdgeInsets.only(top: 12), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(addon.name ?? '', style: textStyle), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Assets.images.icons.addonInclude.svg(), + const Gap(7), + Text('Included', style: textStyle) + ], + ) + ], + ), + ); + }) ?? + [], + ], + ); + } + + Row _buildStatusRow() { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 48, + width: 48, + decoration: BoxDecoration( + color: getIconBgColor(item.status), + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.navigation.confetti.svg( + colorFilter: + ColorFilter.mode(getIconColor(item.status), BlendMode.srcIn), + ), + ), + ), + if (!isPreview) + Container( + height: 28, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: item.status?.color, + borderRadius: BorderRadius.circular(14), + ), + child: Center( + child: Padding( + padding: const EdgeInsets.only(bottom: 2.0), + child: Text( + item.status?.name.capitalize() ?? '', + style: AppTextStyles.bodySmallMed.copyWith( + color: item.status == EventStatus.draft + ? null + : AppColors.grayWhite), + ), + ), + )) + ], + ); + } +} + +extension on EventStatus { + Color get color { + switch (this) { + case EventStatus.active: + case EventStatus.finished: + return AppColors.statusSuccess; + case EventStatus.pending: + return AppColors.blackGray; + case EventStatus.assigned: + return AppColors.statusWarning; + case EventStatus.confirmed: + return AppColors.primaryBlue; + case EventStatus.completed: + return AppColors.statusSuccess; + case EventStatus.closed: + return AppColors.bgColorDark; + case EventStatus.canceled: + return AppColors.statusError; + case EventStatus.draft: + return AppColors.primaryYolk; + } + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_qr_popup.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_qr_popup.dart new file mode 100644 index 00000000..cc13c7f8 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/event_qr_popup.dart @@ -0,0 +1,152 @@ +import 'dart:convert'; +import 'dart:typed_data'; +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:gap/gap.dart'; +import 'package:image/image.dart' as img; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:qr_flutter/qr_flutter.dart'; +import 'package:share_plus/share_plus.dart'; + +class EventQrPopup { + static Future show(BuildContext context, EventEntity item) async { + var qrKey = GlobalKey(); + + return showDialog( + context: context, + builder: (context) { + return Center( + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: KwBoxDecorations.white24, + child: SingleChildScrollView( + child: Column( + children: [ + Padding( + padding: const EdgeInsets.only(top: 24, left: 24, right: 24), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Event QR code', + style: AppTextStyles.headingH3.copyWith(height: 1), + ), + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Assets.images.icons.x.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackCaptionText, + BlendMode.srcIn, + ), + ), + ), + ], + ), + ), + RepaintBoundary( + key: qrKey, + child: Padding( + padding: const EdgeInsets.only(left: 24, right: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + mainAxisSize: MainAxisSize.min, + children: [ + const Gap(8), + Text( + 'The QR code below has been successfully generated for the ${item.name}. You can share this code with staff members to enable them to clock in.', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + QrImageView( + data: jsonEncode({ + 'type': 'event', + 'birth': 'app', + 'eventId': item.id + }), + version: QrVersions.auto, + size: MediaQuery.of(context).size.width - 56, + ), + const Gap(24), + ], + ), + ), + ), + Padding( + padding: const EdgeInsets.only( + bottom: 24, left: 24, right: 24), + child: KwButton.primary( + label: 'Share QR Code', + onPressed: () async { + final params = ShareParams( + text: 'Qr code for ${item.name}', + files: [ + XFile.fromData( + await removeAlphaAndReplaceTransparentWithWhite( + qrKey.currentContext!.findRenderObject() + as RenderRepaintBoundary), + name: 'event_qr.png', + mimeType: 'image/png', + ) + ], + ); + await SharePlus.instance.share(params); + }, + ), + ), + ], + ), + ), + ), + ); + }); + } + + static Future removeAlphaAndReplaceTransparentWithWhite( + RenderRepaintBoundary boundary) async { + final image = await boundary.toImage(pixelRatio: 5.0); + final byteData = await image.toByteData(format: ui.ImageByteFormat.rawRgba); + final Uint8List rgba = byteData!.buffer.asUint8List(); + final int length = rgba.lengthInBytes; + final Uint8List rgb = Uint8List(length ~/ 4 * 3); + + for (int i = 0, j = 0; i < length; i += 4, j += 3) { + int r = rgba[i]; + int g = rgba[i + 1]; + int b = rgba[i + 2]; + int a = rgba[i + 3]; + + if (a < 255) { + // Replace transparent pixel with white + r = 255; + g = 255; + b = 255; + } + rgb[j] = r; + rgb[j + 1] = g; + rgb[j + 2] = b; + } + + final width = image.width; + final height = image.height; + final img.Image rgbImage = img.Image.fromBytes( + width: width, + height: height, + bytes: rgb.buffer, + numChannels: 3, + format: img.Format.uint8, + ); + return Uint8List.fromList(img.encodePng(rgbImage)); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/asigned_staff.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/asigned_staff.dart new file mode 100644 index 00000000..35802d9f --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/asigned_staff.dart @@ -0,0 +1,93 @@ +import 'dart:math'; + +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/assigned_staff_item_widget.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; + +class AssignedStaff extends StatelessWidget { + final PositionState roleState; + + const AssignedStaff({super.key, required this.roleState}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + _buildRoleHeader(context), + if (roleState.isStaffExpanded) + AnimatedContainer( + duration: const Duration(milliseconds: 500), + height: roleState.isStaffExpanded ? null : 0, + child: Column(children: [ + ListView.builder( + shrinkWrap: true, + primary: false, + itemCount: min(3, roleState.position.staffContacts.length), + itemBuilder: (context, index) { + return AssignedStaffItemWidget( + staffContact: roleState.position.staffContacts[index], + department: roleState.position.department?.name ?? '', + ); + }), + KwButton.outlinedPrimary( + label: 'View All', + onPressed: () { + context.pushRoute(AssignedStaffRoute( + staffContacts: roleState.position.staffContacts, + department: roleState.position.department?.name ?? '', + )); + }), + const Gap(8), + ])), + ], + ); + } + + Widget _buildRoleHeader(context) { + return Padding( + padding: const EdgeInsets.only(top: 16, bottom: 16), + child: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(OnAssignedStaffHeaderTapEvent(roleState)); + }, + child: Container( + color: Colors.transparent, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text('Assigned Staff', style: AppTextStyles.bodyLargeMed), + Container( + height: 16, + width: 16, + color: Colors.transparent, + child: AnimatedRotation( + duration: const Duration(milliseconds: 200), + turns: roleState.isStaffExpanded ? 0.5 : 0, + child: Center( + child: Assets.images.icons.chevronDown.svg( + colorFilter: ColorFilter.mode( + roleState.isStaffExpanded + ? AppColors.blackBlack + : AppColors.blackCaptionText, + BlendMode.srcIn, + ), + ), + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/role_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/role_widget.dart new file mode 100644 index 00000000..cc62a3c7 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/role/role_widget.dart @@ -0,0 +1,139 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/role/asigned_staff.dart'; + +class RoleWidget extends StatefulWidget { + final PositionState roleState; + + const RoleWidget({super.key, required this.roleState}); + + @override + State createState() => _RoleWidgetState(); +} + +class _RoleWidgetState extends State { + @override + Widget build(BuildContext context) { + var eventDate = + widget.roleState.position.parentShift?.parentEvent?.startDate ?? + DateTime.now(); + return AnimatedContainer( + duration: const Duration(milliseconds: 150), + padding: const EdgeInsets.only(left: 12, right: 12), + margin: const EdgeInsets.only(top: 8), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildRoleHeader(context), + AnimatedSize( + duration: const Duration(milliseconds: 150), + alignment: Alignment.topCenter, + child: Container( + height: widget.roleState.isExpanded ? null : 0, + decoration: const BoxDecoration(), + child: Column( + children: [ + IconRowInfoWidget( + icon: Assets.images.icons.data.svg(), + title: 'Department', + value: widget.roleState.position.department?.name ?? ''), + const Gap(16), + IconRowInfoWidget( + icon: Assets.images.icons.profile2user.svg(), + title: 'Number of Employee for one Role', + value: '${widget.roleState.position.count} persons'), + const Gap(16), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'Start Date & Time', + value: DateFormat('MM.dd.yyyy, hh:mm a').format( + eventDate.copyWith( + hour: widget.roleState.position.startTime.hour, + minute: + widget.roleState.position.startTime.minute))), + const Gap(16), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'End Date & Time', + value: DateFormat('MM.dd.yyyy, hh:mm a').format( + eventDate.copyWith( + hour: widget.roleState.position.endTime.hour, + minute: + widget.roleState.position.endTime.minute))), + const Gap(16), + Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: IconRowInfoWidget( + icon: Assets.images.icons.dollarSquare.svg(), + title: 'Value', + value: '\$${widget.roleState.position.price.toStringAsFixed(2)}'), + ), + if (widget.roleState.position.staffContacts.isNotEmpty) ...[ + const Gap(16), + const Divider( + color: AppColors.grayTintStroke, + thickness: 1, + height: 0), + AssignedStaff( + roleState: widget.roleState, + ), + ] + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildRoleHeader(context) { + return GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(OnRoleHeaderTapEvent(widget.roleState)); + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: const EdgeInsets.only(top: 24, bottom: 24), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(widget.roleState.position.businessSkill?.skill?.name ?? '', + style: AppTextStyles.headingH3), + Container( + height: 16, + width: 16, + color: Colors.transparent, + child: AnimatedRotation( + duration: const Duration(milliseconds: 200), + turns: widget.roleState.isExpanded ? 0.5 : 0, + child: Center( + child: Assets.images.icons.chevronDown.svg( + colorFilter: ColorFilter.mode( + widget.roleState.isExpanded + ? AppColors.blackBlack + : AppColors.blackCaptionText, + BlendMode.srcIn, + ), + ), + ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/shift/shift_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/shift/shift_widget.dart new file mode 100644 index 00000000..a07fd277 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/event_details/widgets/shift/shift_widget.dart @@ -0,0 +1,162 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/event/business_member_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; +import 'package:krow/features/events/domain/blocs/details/event_details_bloc.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/role/role_widget.dart'; + +class ShiftWidget extends StatefulWidget { + final int index; + final ShiftState shiftState; + + const ShiftWidget({super.key, required this.index, required this.shiftState}); + + @override + State createState() => _ShiftWidgetState(); +} + +class _ShiftWidgetState extends State { + @override + Widget build(BuildContext context) { + return AnimatedContainer( + duration: const Duration(milliseconds: 150), + padding: const EdgeInsets.only(left: 12, right: 12), + margin: const EdgeInsets.only(top: 12), + decoration: KwBoxDecorations.white12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildShiftHeader(context), + AnimatedSize( + duration: const Duration(milliseconds: 150), + alignment: Alignment.topCenter, + child: Container( + height: widget.shiftState.isExpanded ? null : 0, + decoration: const BoxDecoration(), + child: Column( + children: [ + IconRowInfoWidget( + icon: Assets.images.icons.location.svg(), + title: 'Address', + value: widget + .shiftState.shift.fullAddress?.formattedAddress ?? + ''), + const Gap(16), + const Divider( + color: AppColors.grayTintStroke, thickness: 1, height: 0), + const Gap(16), + Stack( + children: [ + IconRowInfoWidget( + icon: Assets.images.icons.userTag.svg(), + title: 'Shift Contact', + value: 'Manager'), + if (widget.shiftState.shift.managers.isNotEmpty) + Positioned( + bottom: 4, + top: 4, + right: 0, + child: _contact( + widget.shiftState.shift.managers.first)) + ], + ), + const Gap(16), + ListView.builder( + itemCount: widget.shiftState.positions.length, + primary: false, + shrinkWrap: true, + itemBuilder: (_, index) { + return RoleWidget( + roleState: widget.shiftState.positions[index], + ); + }, + ), + const Gap(12), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildShiftHeader(context) { + return GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(OnShiftHeaderTapEvent(widget.shiftState)); + }, + child: Container( + color: Colors.transparent, + child: Padding( + padding: const EdgeInsets.only(top: 24, bottom: 24), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Shift Details #${widget.index + 1}', + style: AppTextStyles.headingH1), + Container( + height: 40, + width: 40, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColors.grayTintStroke, + ), + ), + child: AnimatedRotation( + duration: const Duration(milliseconds: 200), + turns: widget.shiftState.isExpanded ? 0.5 : 0, + child: Center( + child: Assets.images.icons.chevronDown.svg( + colorFilter: ColorFilter.mode( + widget.shiftState.isExpanded + ? AppColors.blackBlack + : AppColors.blackCaptionText, + BlendMode.srcIn, + ), + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + Container _contact(BusinessMemberModel contact) { + return Container( + height: 28, + padding: const EdgeInsets.only(left: 2, right: 12, top: 2, bottom: 2), + decoration: BoxDecoration( + color: AppColors.tintBlue, + borderRadius: BorderRadius.circular(14), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 24, + width: 24, + decoration: BoxDecoration( + color: AppColors.blackGray, + borderRadius: BorderRadius.circular(12), + )), + const Gap(8), + Text( + '${contact.firstName} ${contact.lastName}', + style: AppTextStyles.bodyMediumMed, + ), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/lists/event_list_item_widget.dart b/mobile-apps/client-app/lib/features/events/presentation/lists/event_list_item_widget.dart new file mode 100644 index 00000000..a5231f97 --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/lists/event_list_item_widget.dart @@ -0,0 +1,173 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; + +class EventListItemWidget extends StatelessWidget { + final EventEntity item; + + const EventListItemWidget({required this.item, super.key}); + + Color getIconColor(EventStatus? status) { + switch (status) { + case EventStatus.active: + case EventStatus.finished: + return AppColors.statusSuccess; + case EventStatus.pending: + case EventStatus.assigned: + case EventStatus.confirmed: + return AppColors.primaryBlue; + default: + return AppColors.statusWarning; + } + } + + Color getIconBgColor(EventStatus? status) { + switch (status) { + case EventStatus.active: + case EventStatus.finished: + return AppColors.tintGreen; + case EventStatus.pending: + case EventStatus.assigned: + case EventStatus.confirmed: + return AppColors.tintBlue; + default: + return AppColors.tintOrange; + } + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + context.router.push(EventDetailsRoute(event: item)); + }, + child: Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 24), + margin: const EdgeInsets.only(bottom: 12, left: 16, right: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildStatusRow(), + const Gap(12), + Text(item.name, style: AppTextStyles.headingH1), + const Gap(4), + Text('BEO-${item.id}', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'Date', + value: DateFormat('MM.dd.yyyy') + .format(item.startDate ?? DateTime.now()), + ), + const Gap(12), + IconRowInfoWidget( + icon: Assets.images.icons.location.svg(), + title: 'Location', + value: item.hub?.name ?? 'Hub Name', + ), + const Gap(24), + Container( + height: 34, + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.primaryLight8.copyWith(), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Approximate Total Costs', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + ValueListenableBuilder( + valueListenable: item.totalCost, + builder: (context, value, child) { + return Text( + '\$${value.toStringAsFixed(2)}', + style: AppTextStyles.bodyMediumMed, + ); + }) + ], + ), + ) + ], + ), + ), + ); + } + + Row _buildStatusRow() { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 48, + width: 48, + decoration: BoxDecoration( + color: getIconBgColor(item?.status), + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.navigation.confetti.svg( + colorFilter: + ColorFilter.mode(getIconColor(item.status), BlendMode.srcIn), + ), + ), + ), + Container( + height: 28, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: item.status?.color, + borderRadius: BorderRadius.circular(14), + ), + child: Center( + child: Padding( + padding: const EdgeInsets.only(bottom: 2.0), + child: Text( + item.status?.name.capitalize() ?? '', + style: AppTextStyles.bodySmallMed.copyWith( + color: item.status == EventStatus.draft + ? null + : AppColors.grayWhite), + ), + ), + )) + ], + ); + } +} + +extension on EventStatus { + Color get color { + switch (this) { + case EventStatus.active: + case EventStatus.finished: + return AppColors.statusSuccess; + case EventStatus.pending: + return AppColors.blackGray; + case EventStatus.assigned: + return AppColors.statusWarning; + case EventStatus.confirmed: + return AppColors.primaryBlue; + case EventStatus.completed: + return AppColors.statusSuccess; + case EventStatus.closed: + return AppColors.bgColorDark; + case EventStatus.canceled: + return AppColors.statusError; + case EventStatus.draft: + return AppColors.primaryYolk; + } + } +} diff --git a/mobile-apps/client-app/lib/features/events/presentation/lists/events_list_screen.dart b/mobile-apps/client-app/lib/features/events/presentation/lists/events_list_screen.dart new file mode 100644 index 00000000..825b3b9c --- /dev/null +++ b/mobile-apps/client-app/lib/features/events/presentation/lists/events_list_screen.dart @@ -0,0 +1,207 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_tabs.dart'; +import 'package:krow/features/events/domain/blocs/events_list_bloc/events_bloc.dart'; +import 'package:krow/features/events/domain/blocs/events_list_bloc/events_event.dart'; +import 'package:krow/features/events/domain/blocs/events_list_bloc/events_state.dart'; +import 'package:krow/features/events/presentation/lists/event_list_item_widget.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class EventsListMainScreen extends StatefulWidget implements AutoRouteWrapper { + const EventsListMainScreen({super.key}); + + @override + State createState() => _EventsListMainScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => EventsBloc()..add(const EventsInitialEvent()), + child: this, + ); + } +} + +class _EventsListMainScreenState extends State { + final tabs = >{ + 'Upcoming': ['Pending', 'Assigned', 'Confirmed'], + 'Active': ['Ongoing', 'Finished'], + 'Past': ['Completed', 'Closed', 'Canceled'], + 'Drafts': [], + }; + + late ScrollController _scrollController; + + @override + void initState() { + super.initState(); + _scrollController = ScrollController(); + _scrollController.addListener(_onScroll); + } + + @override + void dispose() { + _scrollController.removeListener(_onScroll); + _scrollController.dispose(); + super.dispose(); + } + + void _onScroll() { + if (_scrollController.position.atEdge) { + if (_scrollController.position.pixels != 0) { + BlocProvider.of(context).add( + LoadMoreEventEvent( + tabIndex: BlocProvider.of(context).state.tabIndex, + subTabIndex: + BlocProvider.of(context).state.subTabIndex), + ); + } + } + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listenWhen: (previous, current) => + previous.errorMessage != current.errorMessage, + listener: (context, state) { + if (state.errorMessage != null) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.errorMessage!), + )); + } + }, + builder: (context, state) { + var tabState = state.tabs[state.tabIndex]![state.subTabIndex]!; + List items = tabState.items; + + return Scaffold( + appBar: KwAppBar( + titleText: 'Events', + centerTitle: false, + ), + body: ModalProgressHUD( + inAsyncCall: tabState.inLoading && tabState.items.isNotEmpty, + child: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(vertical: 16), + onRefresh: () async { + BlocProvider.of(context).add(LoadTabEventEvent( + tabIndex: state.tabIndex, subTabIndex: state.subTabIndex)); + }, + controller: _scrollController, + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + KwTabBar( + tabs: tabs.keys.toList(), + flexes: const [7, 5, 5, 5], + onTap: (index) { + BlocProvider.of(context) + .add(EventsTabChangedEvent(tabIndex: index)); + }), + const Gap(24), + _buildSubTab(state, context), + if (tabState.inLoading && tabState.items.isEmpty) + ..._buildListLoading(), + if (!tabState.inLoading && items.isEmpty) + ..._emptyListWidget(), + RefreshIndicator( + onRefresh: () async { + BlocProvider.of(context).add( + LoadTabEventEvent( + tabIndex: state.tabIndex, + subTabIndex: state.subTabIndex)); + }, + child: ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: items.length, + itemBuilder: (context, index) { + return EventListItemWidget( + item: items[index], + ); + }), + ), + ], + ), + lowerWidget: const SizedBox.shrink(), + ), + ), + ); + }, + ); + } + + Widget _buildSubTab(EventsState state, BuildContext context) { + if (state.tabs[state.tabIndex]!.length > 1) { + return Stack( + children: [ + Positioned( + left: 16, + right: 16, + bottom: 25.5, + child: Container( + height: 1, + color: AppColors.blackGray, + )), + Padding( + padding: const EdgeInsets.only(bottom: 24, left: 16, right: 16), + child: KwOptionSelector( + selectedIndex: state.subTabIndex, + onChanged: (index) { + BlocProvider.of(context) + .add(EventsSubTabChangedEvent(subTabIndex: index)); + }, + height: 26, + selectorHeight: 4, + textStyle: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + selectedTextStyle: AppTextStyles.bodyMediumMed, + itemAlign: Alignment.topCenter, + items: tabs[tabs.keys.toList()[state.tabIndex]]!), + ), + ], + ); + } else { + return const SizedBox.shrink(); + } + } + + List _buildListLoading() { + return [ + const Gap(116), + const Center(child: CircularProgressIndicator()), + ]; + } + + List _emptyListWidget() { + return [ + const Gap(100), + Container( + height: 64, + width: 64, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(32), + ), + child: Center(child: Assets.images.icons.xCircle.svg()), + ), + const Gap(24), + const Text( + 'You currently have no event', + textAlign: TextAlign.center, + style: AppTextStyles.headingH2, + ), + ]; + } +} diff --git a/mobile-apps/client-app/lib/features/home/presentation/create_event_widget.dart b/mobile-apps/client-app/lib/features/home/presentation/create_event_widget.dart new file mode 100644 index 00000000..9d0630ee --- /dev/null +++ b/mobile-apps/client-app/lib/features/home/presentation/create_event_widget.dart @@ -0,0 +1,191 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class CreateEventPopup extends StatefulWidget { + const CreateEventPopup({ + super.key, + required this.child, + required this.controller, + required this.opacity, + }); + + final Widget child; + final ListenableOverlayPortalController controller; + + final double opacity; + + @override + State createState() => _CreateEventPopupState(); +} + +class _CreateEventPopupState extends State { + late final ListenableOverlayPortalController _controller; + + @override + void initState() { + _controller = widget.controller; + + _controller.addListener(() { + try { + if (context.mounted) { + setState(() {}); + } + } catch (e) { + print(e); + } + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return OverlayPortal( + controller: _controller, + overlayChildBuilder: (context) { + return AnimatedOpacity( + duration: const Duration(milliseconds: 200), + opacity: widget.opacity, + child: AnimatedScale( + duration: const Duration(milliseconds: 200), + scale: 0.1 + 0.9 * widget.opacity, + alignment: const Alignment(0, 0.8), + child: GestureDetector( + onTap: () { + _controller.hide(); + }, + child: Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: const EdgeInsets.only(bottom: 125), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Column( + mainAxisSize: MainAxisSize.min, + children: [ + // _buildItem('Create Recurrent Event', () { + // context.router.push(CreateEventFlowRoute( + // children: [ + // CreateEventRoute( + // eventType: EventScheduleType.recurring) + // ])); + // }), + // const Gap(8), + _buildItem('Create Event', () { + context.router.push(CreateEventFlowRoute( + children: [ + CreateEventRoute( + eventType: EventScheduleType.oneTime) + ])); + }), + const Gap(6), + Assets.images.icons.navigation.menuArrow.svg(), + ], + ), + ], + ), + ), + )), + ), + ); + }, + child: widget.child, + ); + } + + Widget _buildItem(String title, VoidCallback onTap) { + return GestureDetector( + onTap: () { + onTap(); + _controller.hide(); + }, + child: Container( + width: 215, + alignment: Alignment.center, + decoration: BoxDecoration( + color: AppColors.buttonPrimaryYellowDrop, + borderRadius: BorderRadius.circular(24), + ), + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Text( + title, + style: AppTextStyles.bodyMediumMed, + ), + ), + ); + } + + @override + void dispose() { + if (context.mounted) _controller.hide(); + super.dispose(); + } +} + +class ListenableOverlayPortalController extends OverlayPortalController { + List listeners = []; + Future Function()? onShow; + Future Function()? onHide; + + ListenableOverlayPortalController(); + + addOnShowListener(Future Function() listener) { + onShow = listener; + } + + addOnHideListener(Future Function() listener) { + onHide = listener; + } + + @override + void show() async { + super.show(); + try { + for (var element in listeners) { + element(); + } + } catch (e) { + if (kDebugMode) { + print(e); + } + } + + if (onShow != null) { + await onShow!(); + } + } + + @override + void hide() async { + if (onHide != null) { + await onHide!(); + } + try { + super.hide(); + } catch (e) { + if (kDebugMode) { + print(e); + } + } + for (var element in listeners) { + try { + element(); + } catch (e) { + if (kDebugMode) { + print(e); + } + } + } + } + + void addListener(VoidCallback listener) { + listeners.add(listener); + } +} diff --git a/mobile-apps/client-app/lib/features/home/presentation/home_screen.dart b/mobile-apps/client-app/lib/features/home/presentation/home_screen.dart new file mode 100644 index 00000000..98be0fdf --- /dev/null +++ b/mobile-apps/client-app/lib/features/home/presentation/home_screen.dart @@ -0,0 +1,246 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/sevices/app_update_service.dart'; +import 'package:krow/features/home/presentation/create_event_widget.dart'; + +import '../../notificatins/domain/bloc/notifications_bloc.dart'; + +BuildContext? _nestedContext; +BuildContext? homeContext; + +@RoutePage() +class HomeScreen extends StatefulWidget { + const HomeScreen({super.key}); + + @override + State createState() => _HomeScreenState(); +} + +class _HomeScreenState extends State { + final ListenableOverlayPortalController _controller = + ListenableOverlayPortalController(); + + final List _routes = const [ + EventsFlowRoute(), + InvoiceFlowRoute(), + NotificationFlowRoute(), + ProfileFlowRoute(), + ]; + + bool _shouldHideBottomNavBar(BuildContext nestedContext) { + final currentPath = context.router.currentPath; + return _allowBottomNavBarRoutes + .any((route) => currentPath == route.toString()); + } + + final List _allowBottomNavBarRoutes = [ + '/home/events/list', + '/home/invoice/list', + '/home/notifications/list', + '/home/profile/preview', + ]; + + double opacity = 0.0; + + getMediaQueryData(BuildContext context) { + if (!_shouldHideBottomNavBar(context)) { + return MediaQuery.of(context); + } else { + //76 - navigation height, 22 - bottom padding + var newBottomPadding = MediaQuery.of(context).padding.bottom + 76 + 22; + var newPadding = + MediaQuery.of(context).padding.copyWith(bottom: newBottomPadding); + return MediaQuery.of(context).copyWith(padding: newPadding); + } + } + + @override + void initState() { + super.initState(); + _controller.addListener(() { + setState(() {}); + }); + + _controller.addOnHideListener(_hide); + _controller.addOnShowListener(_show); + + WidgetsBinding.instance.addPostFrameCallback((call) { + getIt().checkForUpdate(context); + }); + } + + @override + Widget build(BuildContext context) { + homeContext = context; + return BlocProvider( + create: (context) => NotificationsBloc()..add(NotificationsInitEvent()), + child: Scaffold( + body: AutoTabsRouter( + duration: const Duration(milliseconds: 250), + routes: _routes, + builder: (context, child) { + _nestedContext = context; + return Stack( + children: [ + MediaQuery( + data: getMediaQueryData(context), + child: child, + ), + _buildBarrier(), + if (_shouldHideBottomNavBar(context)) _bottomNavBar(context), + ], + ); + }, + ), + ), + ); + } + + Widget _buildBarrier() { + return IgnorePointer( + ignoring: opacity == 0.0, + child: AnimatedOpacity( + duration: const Duration(milliseconds: 200), + opacity: opacity, + child: GestureDetector( + onTap: () { + _controller.hide(); + }, + child: const SizedBox( + height: double.maxFinite, + width: double.maxFinite, + child: DecoratedBox( + decoration: BoxDecoration( + color: Colors.black38, + ), + ), + ), + ), + ), + ); + } + + Widget _bottomNavBar(context) { + final tabsRouter = AutoTabsRouter.of(context); + return Positioned( + bottom: 22, + left: 16, + right: 16, + child: SafeArea( + top: false, + child: Container( + height: 76, + padding: const EdgeInsets.symmetric(horizontal: 24), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(38), + color: AppColors.bgColorDark, + ), + child: Row( + children: [ + _navBarItem('Events', Assets.images.icons.navigation.confetti, 0, + tabsRouter), + _navBarItem('Invoice', Assets.images.icons.navigation.emptyWallet, + 1, tabsRouter), + Gap(8), + _createEventButton(), + Gap(8), + _navBarItem('Alerts', Assets.images.icons.appBar.notification, 2, + tabsRouter), + _navBarItem('Profile', Assets.images.icons.navigation.profile, 3, + tabsRouter), + ], + ), + ), + ), + ); + } + + Widget _navBarItem( + String text, + SvgGenImage icon, + int index, + tabsRouter, + ) { + var color = tabsRouter.activeIndex == index + ? AppColors.grayWhite + : AppColors.tintDarkBlue; + return Expanded( + child: GestureDetector( + onTap: () { + if(index<0) return; + if (_controller.isShowing) { + _controller.hide(); + } + tabsRouter.setActiveIndex(index); + }, + child: Container( + color: Colors.transparent, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + icon.svg( + colorFilter: ColorFilter.mode( + color, + BlendMode.srcIn, + ), + ), + const Gap(8), + Text( + text, + style: (tabsRouter.activeIndex == index + ? AppTextStyles.bodyTinyMed + : AppTextStyles.bodyTinyReg) + .copyWith(color: color), + ), + ], + ), + ), + ), + ); + } + + _createEventButton() { + return CreateEventPopup( + opacity: opacity, + controller: _controller, + child: KwButton.accent( + onPressed: () { + if (_controller.isShowing) { + _controller.hide(); + } else { + _controller.show(); + } + }, + fit: KwButtonFit.circular, + iconSize: 24, + leftIcon: Assets.images.icons.navigation.noteFavorite, + ).copyWith( + originalIconsColors: true, + color: _controller.isShowing + ? AppColors.buttonPrimaryYellowDrop + : null)); + } + + Future _hide() async { + setState(() { + opacity = 0.0; + }); + await Future.delayed(const Duration(milliseconds: 200), () {}); + } + + Future _show() async { + WidgetsBinding.instance.addPostFrameCallback((call) { + setState(() { + opacity = 1.0; + }); + }); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/data/invoices_api_provider.dart b/mobile-apps/client-app/lib/features/invoice/data/invoices_api_provider.dart new file mode 100644 index 00000000..f7c972be --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/invoices_api_provider.dart @@ -0,0 +1,61 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/pagination_wrapper/pagination_wrapper.dart'; + +import 'invoices_gql.dart'; +import 'models/invoice_model.dart'; + +@Injectable() +class InvoiceApiProvider { + final ApiClient _client; + + InvoiceApiProvider({required ApiClient client}) : _client = client; + + Future fetchInvoices(String? status, + {String? after}) async { + final QueryResult result = await _client.query( + schema: getInvoicesQuery, + body: { + if (status != null) 'status': status, + 'first': 20, + 'after': after + }); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + return PaginationWrapper.fromJson( + result.data!['client_invoices'], (json) => InvoiceModel.fromJson(json)); + } + + FutureapproveInvoice({required String invoiceId}) async{ + final QueryResult result = await _client.mutate( + schema: approveInvoiceMutation, + body: { + 'id': invoiceId, + }); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } + + Future disputeInvoice({ + required String invoiceId, + required String reason, + required String comment, + }) async { + final QueryResult result = await _client.mutate( + schema: disputeInvoiceMutation, + body: { + 'id': invoiceId, + 'reason': reason, + 'comment': comment, + }); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/data/invoices_gql.dart b/mobile-apps/client-app/lib/features/invoice/data/invoices_gql.dart new file mode 100644 index 00000000..8c7ae6ea --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/invoices_gql.dart @@ -0,0 +1,145 @@ +const String getInvoicesQuery = ''' +query GetInvoices (\$status: InvoiceStatus, \$first: Int!, \$after: String) { + client_invoices( status: \$status, first: \$first, after: \$after) { + pageInfo { + hasNextPage + hasPreviousPage + startCursor + endCursor + total + count + currentPage + lastPage + } + edges { + ...invoice + cursor + } + } +} + + +fragment invoice on InvoiceEdge { + node { + id + business { + id + name + avatar + registration + contact{ + id + first_name + last_name + email + phone + } + } + event { + id + status + start_time + end_time + contract_type + ...hub + name + date + purchase_order + } + status + contract_type + contract_value + total + addons_amount + work_amount + issued_at + due_at + ...items + dispute { + id + reason + details + support_note + } + } +} + +fragment items on Invoice { + items { + id + staff { + id + first_name + last_name + email + phone + address + } + position { + id + start_time + end_time + break + count + rate + ...business_skill + staff{ + id + pivot { + id + status + start_at + end_at + clock_in + clock_out + } + } + } + work_hours + rate + addons_amount + work_amount + total_amount + } +} + +fragment business_skill on EventShiftPosition { + business_skill { + id + skill { + id + name + slug + } + price + is_active + } +} + +fragment hub on Event { + hub { + id + name + full_address { + formatted_address + } + } +} + +'''; + +const String approveInvoiceMutation = ''' +mutation ApproveInvoice(\$id: ID!) { + confirm_client_invoice(id: \$id) { + id + } +} +'''; + +const String disputeInvoiceMutation = ''' +mutation DisputeInvoice(\$id: ID!, \$reason: String!, \$comment: String!) { + dispute_client_invoice(id: \$id, reason: \$reason, details: \$comment) { + id + } +} +'''; diff --git a/mobile-apps/client-app/lib/features/invoice/data/invoices_repository_impl.dart b/mobile-apps/client-app/lib/features/invoice/data/invoices_repository_impl.dart new file mode 100644 index 00000000..bf6a5465 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/invoices_repository_impl.dart @@ -0,0 +1,66 @@ +import 'dart:async'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/features/invoice/data/invoices_api_provider.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; +import 'package:krow/features/invoice/domain/invoices_repository.dart'; + +@Singleton(as: InvoicesRepository) +class InvoicesRepositoryImpl extends InvoicesRepository { + final InvoiceApiProvider _apiProvider; + StreamController? _statusController; + + InvoicesRepositoryImpl({required InvoiceApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream get statusStream { + _statusController ??= StreamController.broadcast(); + return _statusController!.stream; + } + + @override + void dispose() { + _statusController?.close(); + } + + @override + Future> getInvoices( + {String? lastItemId, + required InvoiceStatusFilterType statusFilter}) async { + var paginationWrapper = await _apiProvider.fetchInvoices( + statusFilter == InvoiceStatusFilterType.all ? null : statusFilter.name, + after: lastItemId); + return paginationWrapper.edges.map((e) { + return InvoiceListEntity.fromModel( + e.node, + cursor: (paginationWrapper.pageInfo.hasNextPage) ? e.cursor : null, + ); + }).toList(); + } + + @override + Future approveInvoice({required String invoiceId}) async{ + await _apiProvider.approveInvoice(invoiceId: invoiceId).then((value) { + _statusController?.add(InvoiceStatusFilterType.verified); + }); + _statusController?.add(InvoiceStatusFilterType.all); + _statusController?.add(InvoiceStatusFilterType.open); + } + + @override + Future disputeInvoice({ + required String invoiceId, + required String reason, + required String comment, + }) async { + await _apiProvider.disputeInvoice( + invoiceId: invoiceId, + reason: reason, + comment: comment, + ); + _statusController?.add(InvoiceStatusFilterType.disputed); + _statusController?.add(InvoiceStatusFilterType.all); + _statusController?.add(InvoiceStatusFilterType.open); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/data/models/invoice_decline_model.dart b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_decline_model.dart new file mode 100644 index 00000000..33181074 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_decline_model.dart @@ -0,0 +1,24 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'invoice_decline_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class InvoiceDeclineModel{ + String id; + String? reason; + String? details; + String? supportNote; + + InvoiceDeclineModel({ + required this.id, + required this.reason, + this.details, + this.supportNote, + }); +factory InvoiceDeclineModel.fromJson(Map json) { + return _$InvoiceDeclineModelFromJson(json); + } + +Map toJson() => _$InvoiceDeclineModelToJson(this); + +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/features/invoice/data/models/invoice_item_model.dart b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_item_model.dart new file mode 100644 index 00000000..17b01242 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_item_model.dart @@ -0,0 +1,35 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/shift/event_shift_position_model.dart'; +import 'package:krow/core/data/models/staff/staff_model.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/features/events/presentation/event_details/widgets/role/asigned_staff.dart'; + +part 'invoice_item_model.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class InvoiceItemModel { + final String id; + final StaffModel? staff; + final EventShiftPositionModel? position; + final double? workHours; + final double? rate; + final double? addonsAmount; + final double? workAmount; + final double? totalAmount; + + InvoiceItemModel( + {required this.id, + required this.staff, + required this.position, + required this.workHours, + required this.rate, + required this.addonsAmount, + required this.workAmount, + required this.totalAmount}); + + factory InvoiceItemModel.fromJson(Map json) { + return _$InvoiceItemModelFromJson(json); + } + + Map toJson() => _$InvoiceItemModelToJson(this); +} diff --git a/mobile-apps/client-app/lib/features/invoice/data/models/invoice_model.dart b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_model.dart new file mode 100644 index 00000000..7cd9ee4d --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/data/models/invoice_model.dart @@ -0,0 +1,75 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/event/business_model.dart'; +import 'package:krow/core/data/models/event/event_model.dart'; +import 'package:krow/features/invoice/data/models/invoice_decline_model.dart'; +import 'package:krow/features/invoice/data/models/invoice_item_model.dart'; + +part 'invoice_model.g.dart'; + +enum InvoiceStatus { open, disputed, resolved, paid, overdue, verified } + +@JsonSerializable(fieldRename: FieldRename.snake) +class InvoiceModel { + final String id; + final InvoiceStatus status; + final BusinessModel? business; + final EventModel? event; + final String? contractType; + final String? contractValue; + final String? dueAt; + final double? total; + final double? addonsAmount; + final double? workAmount; + final List? items; + final InvoiceDeclineModel? dispute; + + factory InvoiceModel.fromJson(Map json) { + return _$InvoiceModelFromJson(json); + } + + InvoiceModel( + {required this.id, + required this.status, + required this.business, + required this.event, + required this.contractType, + required this.contractValue, + required this.total, + required this.addonsAmount, + required this.dueAt, + required this.workAmount, + required this.items, + required this.dispute}); + + Map toJson() => _$InvoiceModelToJson(this); + + copyWith({ + String? id, + InvoiceStatus? status, + BusinessModel? business, + EventModel? event, + String? contractType, + String? contractValue, + String? dueAt, + double? total, + double? addonsAmount, + double? workAmount, + List? items, + InvoiceDeclineModel? dispute, + }) { + return InvoiceModel( + id: id ?? this.id, + status: status ?? this.status, + business: business ?? this.business, + event: event ?? this.event, + contractType: contractType ?? this.contractType, + contractValue: contractValue ?? this.contractValue, + total: total ?? this.total, + addonsAmount: addonsAmount ?? this.addonsAmount, + workAmount: workAmount ?? this.workAmount, + items: items ?? this.items, + dueAt: dueAt ?? this.dueAt, + dispute: dispute ?? this.dispute, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart new file mode 100644 index 00000000..c947f6b3 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart @@ -0,0 +1,70 @@ +import 'package:bloc/bloc.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/features/invoice/data/models/invoice_decline_model.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/invoices_repository.dart'; +import 'package:meta/meta.dart'; + +part 'invoice_details_event.dart'; +part 'invoice_details_state.dart'; + +class InvoiceDetailsBloc + extends Bloc { + InvoiceDetailsBloc(InvoiceModel invoice) + : super(InvoiceDetailsState(invoiceModel: invoice)) { + on(_onInvoiceApproveEvent); + on(_onInvoiceDisputeEvent); + } + + void _onInvoiceApproveEvent( + InvoiceApproveEvent event, Emitter emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt().approveInvoice( + invoiceId: state.invoiceModel?.id ?? '', + ); + emit(state.copyWith(inLoading: false, success: true)); + return; + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(inLoading: false, showErrorPopup: e.message)); + return; + } + } + emit(state.copyWith(inLoading: false)); + } + + void _onInvoiceDisputeEvent( + InvoiceDisputeEvent event, Emitter emit) async { + emit(state.copyWith(inLoading: true)); + try { + await getIt().disputeInvoice( + invoiceId: state.invoiceModel?.id ?? '', + reason: event.reason, + comment: event.comment, + ); + emit( + state.copyWith( + inLoading: false, + invoiceModel: state.invoiceModel?.copyWith( + status: InvoiceStatus.disputed, + dispute: InvoiceDeclineModel( + id: '1', + reason: event.reason, + details: event.comment, + ), + ), + ), + ); + return; + } catch (e) { + print(e); + if (e is DisplayableException) { + emit(state.copyWith(inLoading: false, showErrorPopup: e.message)); + return; + } + } + emit(state.copyWith(inLoading: false)); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_event.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_event.dart new file mode 100644 index 00000000..9d01d98f --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_event.dart @@ -0,0 +1,18 @@ +part of 'invoice_details_bloc.dart'; + +@immutable +sealed class InvoiceDetailsEvent {} + +class InvoiceApproveEvent extends InvoiceDetailsEvent { + InvoiceApproveEvent(); +} + +class InvoiceDisputeEvent extends InvoiceDetailsEvent { + final String reason; + final String comment; + + InvoiceDisputeEvent({ + required this.reason, + required this.comment, + }); +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_state.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_state.dart new file mode 100644 index 00000000..931d9b85 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_state.dart @@ -0,0 +1,20 @@ +part of 'invoice_details_bloc.dart'; + +@immutable +class InvoiceDetailsState { + final String? showErrorPopup; + final bool inLoading; + final bool success; + final InvoiceModel? invoiceModel; + + const InvoiceDetailsState( {this.showErrorPopup, this.inLoading = false,this.invoiceModel, this.success = false}); + + InvoiceDetailsState copyWith({String? showErrorPopup, bool? inLoading, InvoiceModel? invoiceModel, bool? success}) { + return InvoiceDetailsState( + showErrorPopup: showErrorPopup ?? this.showErrorPopup, + inLoading: inLoading ?? false, + success: success ?? this.success, + invoiceModel: invoiceModel ?? this.invoiceModel, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_bloc.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_bloc.dart new file mode 100644 index 00000000..19a624fa --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_bloc.dart @@ -0,0 +1,113 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; + +import '../../invoice_entity.dart'; +import '../../invoices_repository.dart'; +import 'invoice_event.dart'; +import 'invoice_state.dart'; + +class InvoiceBloc extends Bloc { + var indexToStatus = { + 0: InvoiceStatusFilterType.all, + 1: InvoiceStatusFilterType.open, + 2: InvoiceStatusFilterType.disputed, + 3: InvoiceStatusFilterType.resolved, + 4: InvoiceStatusFilterType.paid, + 5: InvoiceStatusFilterType.overdue, + 6: InvoiceStatusFilterType.verified, + }; + + InvoiceBloc() + : super(const InvoicesState(tabs: { + 0: InvoiceTabState(items: [], inLoading: true), + 1: InvoiceTabState(items: []), + 2: InvoiceTabState(items: []), + 3: InvoiceTabState(items: []), + 4: InvoiceTabState(items: []), + 5: InvoiceTabState(items: []), + 6: InvoiceTabState(items: []), + })) { + on(_onInitial); + on(_onTabChanged); + on(_onLoadTabItems); + on(_onLoadMoreTabItems); + + getIt().statusStream.listen((event) { + add(LoadTabInvoiceEvent(status: event.index)); + }); + } + + Future _onInitial(InvoiceInitialEvent event, emit) async { + add(const LoadTabInvoiceEvent(status: 0)); + } + + Future _onTabChanged(InvoiceTabChangedEvent event, emit) async { + emit(state.copyWith(tabIndex: event.tabIndex)); + final currentTabState = state.tabs[event.tabIndex]!; + if (currentTabState.items.isEmpty && !currentTabState.inLoading) { + add(LoadTabInvoiceEvent(status: event.tabIndex)); + } + } + + Future _onLoadTabItems(LoadTabInvoiceEvent event, emit) async { + await _fetchInvoices(event.status, null, emit); + } + + Future _onLoadMoreTabItems(LoadMoreInvoiceEvent event, emit) async { + final currentTabState = state.tabs[event.status]!; + if (!currentTabState.hasMoreItems || currentTabState.inLoading) return; + await _fetchInvoices(event.status, currentTabState.items, emit); + } + + _fetchInvoices( + int tabIndex, List? previousItems, emit) async { + if (previousItems != null && previousItems.lastOrNull?.cursor == null) { + return; + } + final currentTabState = state.tabs[tabIndex]!; + + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith(inLoading: true), + }, + )); + + try { + var items = await getIt().getInvoices( + statusFilter: indexToStatus[tabIndex]!, + lastItemId: previousItems?.lastOrNull?.cursor, + ); + + // if(items.isNotEmpty){ + // items = List.generate(20, (i)=>items[0]); + // } + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith( + items: (previousItems ?? [])..addAll(items), + hasMoreItems: items.isNotEmpty, + inLoading: false, + ), + }, + )); + } catch (e, s) { + debugPrint(e.toString()); + debugPrint(s.toString()); + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith(inLoading: false), + }, + )); + } + } + + @override + Future close() { + getIt().dispose(); + return super.close(); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_event.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_event.dart new file mode 100644 index 00000000..2a4cd62b --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_event.dart @@ -0,0 +1,25 @@ +sealed class InvoiceEvent { + const InvoiceEvent(); +} + +class InvoiceInitialEvent extends InvoiceEvent { + const InvoiceInitialEvent(); +} + +class InvoiceTabChangedEvent extends InvoiceEvent { + final int tabIndex; + + const InvoiceTabChangedEvent({required this.tabIndex}); +} + +class LoadTabInvoiceEvent extends InvoiceEvent { + final int status; + + const LoadTabInvoiceEvent({required this.status}); +} + +class LoadMoreInvoiceEvent extends InvoiceEvent { + final int status; + + const LoadMoreInvoiceEvent({required this.status}); +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_state.dart b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_state.dart new file mode 100644 index 00000000..0b0551bc --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/blocs/invoices_list_bloc/invoice_state.dart @@ -0,0 +1,47 @@ +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +class InvoicesState { + final bool inLoading; + final int tabIndex; + + final Map tabs; + + const InvoicesState( + {this.inLoading = false, this.tabIndex = 0, required this.tabs}); + + InvoicesState copyWith({ + bool? inLoading, + int? tabIndex, + Map? tabs, + }) { + return InvoicesState( + inLoading: inLoading ?? this.inLoading, + tabIndex: tabIndex ?? this.tabIndex, + tabs: tabs ?? this.tabs, + ); + } +} + +class InvoiceTabState { + final List items; + final bool inLoading; + final bool hasMoreItems; + + const InvoiceTabState({ + required this.items, + this.inLoading = false, + this.hasMoreItems = true, + }); + + InvoiceTabState copyWith({ + List? items, + bool? inLoading, + bool? hasMoreItems, + }) { + return InvoiceTabState( + items: items ?? this.items, + inLoading: inLoading ?? this.inLoading, + hasMoreItems: hasMoreItems ?? this.hasMoreItems, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/invoice_entity.dart b/mobile-apps/client-app/lib/features/invoice/domain/invoice_entity.dart new file mode 100644 index 00000000..a1e19dd3 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/invoice_entity.dart @@ -0,0 +1,79 @@ +import 'package:krow/features/invoice/data/models/invoice_model.dart'; + +class InvoiceListEntity { + final String id; + final InvoiceStatus status; + String? cursor; + final String invoiceNumber; + final String eventName; + final int count; + final double value; + final DateTime date; + final DateTime dueAt; + final String? poNumber; + + final InvoiceModel? invoiceModel; + + InvoiceListEntity({ + required this.id, + required this.status, + required this.invoiceNumber, + required this.eventName, + required this.count, + required this.value, + required this.date, + required this.dueAt, + this.poNumber, + this.cursor, + this.invoiceModel, + }); + + InvoiceListEntity copyWith({ + String? id, + String? cursor, + InvoiceStatus? status, + String? invoiceNumber, + String? eventName, + int? count, + double? value, + DateTime? date, + DateTime? dueAt, + String? poNumber, + }) { + return InvoiceListEntity( + id: id ?? this.id, + cursor: cursor ?? this.cursor, + status: status ?? this.status, + invoiceNumber: invoiceNumber ?? this.invoiceNumber, + eventName: eventName ?? this.eventName, + count: count ?? this.count, + value: value ?? this.value, + date: date ?? this.date, + dueAt: date ?? this.dueAt, + ); + } + + InvoiceListEntity.fromModel(InvoiceModel model, {this.cursor}) + : id = model.id, + poNumber = model.event?.purchaseOrder, + status = model.status, + invoiceNumber = model.event?.id ?? '', + eventName = model.event!.name, + count = model.items?.length?? 0, + value = (model.total ?? 0.0), + date = DateTime.parse(model.event?.date ?? ''), + dueAt = DateTime.parse(model.dueAt ?? ''), + invoiceModel = model; + + InvoiceListEntity.empty() + : id = 'INV-20250113-12345', + status = InvoiceStatus.open, + invoiceNumber = 'INV-20250113-12345', + eventName = 'Event Name', + count = 16, + value = 1230, + poNumber = 'PO-123456', + date = DateTime.now(), + dueAt = DateTime.now(), + invoiceModel = null; +} diff --git a/mobile-apps/client-app/lib/features/invoice/domain/invoices_repository.dart b/mobile-apps/client-app/lib/features/invoice/domain/invoices_repository.dart new file mode 100644 index 00000000..f56b14a4 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/domain/invoices_repository.dart @@ -0,0 +1,28 @@ +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +enum InvoiceStatusFilterType { + all, + open, + disputed, + resolved, + paid, + overdue, + verified +} + +abstract class InvoicesRepository { + Stream get statusStream; + + Future> getInvoices( + {String? lastItemId, required InvoiceStatusFilterType statusFilter}); + + void dispose(); + + Future approveInvoice({required String invoiceId}); + + Future disputeInvoice({ + required String invoiceId, + required String reason, + required String comment, + }); +} diff --git a/mobile-apps/client-app/lib/features/invoice/invoice_flow_screen.dart b/mobile-apps/client-app/lib/features/invoice/invoice_flow_screen.dart new file mode 100644 index 00000000..a9ddf4bc --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/invoice_flow_screen.dart @@ -0,0 +1,19 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/invoice/domain/blocs/invoices_list_bloc/invoice_bloc.dart'; + +import 'domain/blocs/invoices_list_bloc/invoice_event.dart'; + +@RoutePage() +class InvoiceFlowScreen extends StatelessWidget { + const InvoiceFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (context) => InvoiceBloc()..add(const InvoiceInitialEvent()), + child: AutoRouter(), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/dispute_info_dialog.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/dispute_info_dialog.dart new file mode 100644 index 00000000..f69908ea --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/dispute_info_dialog.dart @@ -0,0 +1,113 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; + +class DisputeInfoDialog extends StatefulWidget { + final String reason; + final String details; + final String? supportNote; + + const DisputeInfoDialog( + {super.key, + required this.reason, + required this.details, + required this.supportNote}); + + static Future?> showCustomDialog(BuildContext context, + {required String reason, + required String details, + required String? supportNote}) async { + return await showDialog>( + context: context, + builder: (context) => DisputeInfoDialog( + reason: reason, details: details, supportNote: supportNote), + ); + } + + @override + State createState() => _DisputeInfoDialogState(); +} + +class _DisputeInfoDialogState extends State { + @override + Widget build(BuildContext context) { + return Center( + child: Container( + decoration: KwBoxDecorations.white24, + margin: const EdgeInsets.all(16), + padding: const EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + 'Dispute Details', + style: AppTextStyles.headingH3, + ) + ], + ), + Gap(24), + Text( + 'The reason why the invoice is being disputed:', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + Gap(2), + Text( + widget.reason, + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.blackGray), + ), + Divider( + color: AppColors.grayTintStroke, + height: 24, + ), + Text('Status', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + Gap(2), + Text('Under Review', + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue)), + Gap(12), + Text( + 'Additional Details', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + Gap(2), + Text( + widget.details, + style: AppTextStyles.bodyMediumMed, + ), + if (widget.supportNote?.isNotEmpty ?? false) ...[ + const Gap(12), + Text( + 'Support Note', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + Gap(2), + Text( + widget.supportNote ?? '', + style: AppTextStyles.bodyMediumMed, + ), + ], + const Gap(24), + KwButton.primary( + label: 'Back to Invoice', + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_dispute_dialog.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_dispute_dialog.dart new file mode 100644 index 00000000..31511329 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_dispute_dialog.dart @@ -0,0 +1,134 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/dialogs/invoice_reason_dropdown.dart'; + +class ShiftDeclineDialog extends StatefulWidget { + const ShiftDeclineDialog({super.key}); + + static Future?> showCustomDialog( + BuildContext context) async { + return await showDialog>( + context: context, + builder: (context) => const ShiftDeclineDialog(), + ); + } + + @override + State createState() => _ShiftDeclineDialogState(); +} + +class _ShiftDeclineDialogState extends State { + String selectedReason = ''; + final _textEditingController = TextEditingController(); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.transparent, + body: Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: KwBoxDecorations.white24, + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 64, + width: 64, + decoration: BoxDecoration( + color: AppColors.tintRed, + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.receiptSearch.svg( + width: 32, + height: 32, + colorFilter: ColorFilter.mode( + AppColors.statusError, BlendMode.srcIn), + ), + ), + ), + Gap(32), + Text( + 'Dispute Invoice', + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + 'If there’s an issue with this invoice, please select a reason below and provide any additional details. We’ll review your dispute and get back to you as soon as possible.', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + const Gap(8), + InvoiceReasonDropdown( + selectedReason: selectedReason, + onReasonSelected: (String reason) { + setState(() { + selectedReason = reason; + }); + }, + ), + const Gap(8), + KwTextInput( + controller: _textEditingController, + minHeight: 144, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'Additional reasons', + hintText: 'Enter your main text here...', + onChanged: (String value) { + setState(() {}); + }, + ), + const Gap(24), + _buttonGroup(context), + ], + ), + ), + ), + ), + ), + ); + } + + Widget _buttonGroup( + BuildContext context, + ) { + return Column( + children: [ + KwButton.primary( + disabled: selectedReason.isEmpty || (_textEditingController.text.isEmpty), + label: 'Submit Request', + onPressed: () { + context.pop({ + 'reason': selectedReason, + 'comment': _textEditingController.text, + }); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'Cancel', + onPressed: () { + context.pop(); + }, + ), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_reason_dropdown.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_reason_dropdown.dart new file mode 100644 index 00000000..2136d260 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/invoice_reason_dropdown.dart @@ -0,0 +1,113 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +const reasons = [ + 'Hours didn’t Match', + 'Calculation Issue', + 'Other (Please specify)', +]; + +class InvoiceReasonDropdown extends StatelessWidget { + final String? selectedReason; + final Function(String reason) onReasonSelected; + + const InvoiceReasonDropdown( + {super.key, + required this.selectedReason, + required this.onReasonSelected}); + + @override + Widget build(BuildContext context) { + return Column( + children: buildReasonInput(context, selectedReason), + ); + } + + List buildReasonInput(BuildContext context, String? selectedReason) { + return [ + const Gap(24), + Row( + children: [ + const Gap(16), + Text( + 'Select reason', + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ], + ), + const Gap(4), + KwPopupMenu( + horizontalPadding: 40, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened, selectedReason); + }, + menuItems: [ + ...reasons + .map((e) => _buildMenuItem(context, e, selectedReason ?? '')) + ]) + ]; + } + + Container _buildMenuButton(bool isOpened, String? selectedReason) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: isOpened ? AppColors.bgColorDark : AppColors.grayTintStroke, + width: 1), + ), + child: Row( + children: [ + Expanded( + child: Text( + selectedReason ?? 'Select reason from a list', + style: AppTextStyles.bodyMediumReg.copyWith( + color: selectedReason == null + ? AppColors.blackGray + : AppColors.blackBlack), + )), + ], + ), + ); + } + + KwPopupMenuItem _buildMenuItem( + BuildContext context, String reason, String selectedReason) { + return KwPopupMenuItem( + title: reason, + onTap: () { + onReasonSelected(reason); + }, + icon: Container( + height: 16, + width: 16, + decoration: BoxDecoration( + color: selectedReason != reason ? null : AppColors.bgColorDark, + shape: BoxShape.circle, + border: selectedReason == reason + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: selectedReason == reason + ? Center( + child: Assets.images.icons.receiptSearch.svg( + height: 10, + width: 10, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, BlendMode.srcIn), + )) + : null, + ), + textStyle: AppTextStyles.bodySmallMed, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/staff_contact_info_popup.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/staff_contact_info_popup.dart new file mode 100644 index 00000000..341f875d --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/dialogs/staff_contact_info_popup.dart @@ -0,0 +1,148 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart' show DateFormat; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/widgets/staff_position_details_widget.dart'; + +import '../../../../../../core/presentation/styles/theme.dart'; + +class StaffInvoiceContactInfoPopup { + static Future show( + BuildContext context, + StaffContact staff, { + String? date, + required double hours, + required double subtotal, + }) async { + return showDialog( + context: context, + builder: (context) { + return Center( + child: _StaffPopupWidget( + staff, + date: date, + hours: hours, + subtotal: subtotal, + ), + ); + }); + } +} + +class _StaffPopupWidget extends StatelessWidget { + final StaffContact staff; + final String? date; + + final double hours; + + final double subtotal; + + const _StaffPopupWidget(this.staff, + {this.date, required this.hours, required this.subtotal}); + + @override + Widget build(BuildContext context) { + return Center( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 12), + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + // margin: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.white24, + child: Column( + mainAxisSize: MainAxisSize.min, + children: _ongoingBtn(context), + ), + ), + ); + } + + List _ongoingBtn(BuildContext context) { + return [ + const Gap(32), + StaffPositionAvatar( + imageUrl: staff.photoUrl, + userName: '${staff.firstName} ${staff.lastName}', + status: staff.status, + ), + const Gap(16), + StaffContactsWidget(staff: staff), + StaffPositionDetailsWidget( + staff: staff, date: date, hours: hours, subtotal: subtotal), + const Gap(12), + ]; + } +} + +class StaffPositionDetailsWidget extends StatelessWidget { + final StaffContact staff; + final String? date; + + final double hours; + + final double subtotal; + + const StaffPositionDetailsWidget({ + super.key, + required this.staff, + this.date, + required this.hours, + required this.subtotal, + }); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + margin: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight8, + child: Column( + children: [ + _textRow('Date', + DateFormat('MM.dd.yyyy').format(DateTime.parse(date ?? ''))), + _textRow( + 'Start Time', + DateFormat('hh:mm a').format( + DateFormat('yyyy-MM-dd hh:mm:ss').parse(staff.startAt))), + _textRow( + 'End Time', + DateFormat('hh:mm a').format( + DateFormat('yyyy-MM-dd hh:mm:ss').parse(staff.endAt))), + if (staff.breakIn.isNotEmpty && staff.breakOut.isNotEmpty) + _textRow( + 'Break', + DateTime.parse(staff.breakIn) + .difference(DateTime.parse(staff.breakOut)) + .inMinutes + .toString() + + ' minutes'), + _textRow('Rate (\$/h)', '\$${staff.rate.toStringAsFixed(2)}/h'), + _textRow('Hours', '${hours.toStringAsFixed(2)}'), + _textRow('Subtotal', '\$${subtotal.toStringAsFixed(2)}'), + ], + ), + ); + } + + Widget _textRow(String title, String value) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + Text( + value, + style: AppTextStyles.bodySmallMed, + ), + ], + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/invoice_details_screen.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/invoice_details_screen.dart new file mode 100644 index 00000000..33c231db --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/invoice_details_screen.dart @@ -0,0 +1,139 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/invoice/data/models/invoice_decline_model.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/dialogs/dispute_info_dialog.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/dialogs/invoice_dispute_dialog.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/widgets/invoice_details_widget.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/widgets/invoice_from_to_widget.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/widgets/invoice_info_card.dart'; +import 'package:krow/features/invoice/presentation/screens/invoice_details/widgets/invoice_total_widget.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class InvoiceDetailsScreen extends StatelessWidget implements AutoRouteWrapper { + final InvoiceListEntity invoice; + + const InvoiceDetailsScreen({required this.invoice, super.key}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => InvoiceDetailsBloc(invoice.invoiceModel!), + child: this); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + resizeToAvoidBottomInset: true, + appBar: KwAppBar( + titleText: 'Invoice Details', + ), + body: BlocConsumer( + listener: (context, state) { + if (state.showErrorPopup != null) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.showErrorPopup ?? ''), + )); + } else if (state.success) { + context.router.maybePop(); + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.inLoading, + child: ScrollLayoutHelper( + padding: const EdgeInsets.only(left: 16, right: 16, bottom: 24), + upperWidget: Column( + children: [ + InvoiceInfoCardWidget(item: state.invoiceModel??invoice.invoiceModel!), + Gap(12), + InvoiceFromToWidget(item: state.invoiceModel??invoice.invoiceModel!), + Gap(12), + InvoiceDetailsWidget(invoice: state.invoiceModel??invoice.invoiceModel!), + Gap(12), + InvoiceTotalWidget(), + Gap(24), + ], + ), + lowerWidget: _buildButtons(context, state), + ), + ); + }, + ), + ); + } + + _buildButtons(BuildContext context, InvoiceDetailsState state) { + return Column( + children: [ + if (invoice.invoiceModel?.status == InvoiceStatus.open) ...[ + KwButton.primary( + label: 'Approve Invoice', + onPressed: () { + context.read().add(InvoiceApproveEvent()); + }, + ), + Gap(8), + KwButton.outlinedPrimary( + label: 'Dispute Invoice', + onPressed: () async { + var result = await ShiftDeclineDialog.showCustomDialog(context); + print(result); + if (result != null) { + context.read().add(InvoiceDisputeEvent( + reason: result['reason'], comment: result['comment'])); + KwDialog.show( + icon: Assets.images.icons.receiptSearch, + state: KwDialogState.negative, + context: context, + title: 'Request is \nUnder Review', + message: + 'Thank you! Your request for invoice issue, it is now under review. You will be notified of the outcome shortly.', + primaryButtonLabel: 'Back to Event', + onPrimaryButtonPressed: (dialogContext) { + dialogContext.pop(); + }, + secondaryButtonLabel: 'Cancel', + onSecondaryButtonPressed: (dialogContext) { + dialogContext.pop(); + context.router.maybePop(); + }, + ); + } + }, + ).copyWith( + color: AppColors.statusError, borderColor: AppColors.statusError), + ], + if (invoice.invoiceModel?.status == InvoiceStatus.disputed) ...[ + _buildViewDispute(context, state.invoiceModel?.dispute), + ], + ], + ); + } + + _buildViewDispute(BuildContext context, InvoiceDeclineModel? dispute) { + return KwButton.primary( + label: 'View Dispute', + onPressed: () { + DisputeInfoDialog.showCustomDialog( + context, + reason: dispute?.reason ?? '', + details: dispute?.details ?? '', + supportNote: dispute?.supportNote, + ); + }, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_details_widget.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_details_widget.dart new file mode 100644 index 00000000..023206fe --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_details_widget.dart @@ -0,0 +1,384 @@ +import 'dart:math'; + +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/shift/event_shift_position_model.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/invoice/data/models/invoice_item_model.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; + +import '../../../../../../core/data/models/staff/pivot.dart'; +import '../../../../../../core/entity/position_entity.dart'; +import '../dialogs/staff_contact_info_popup.dart'; + +class InvoiceDetailsWidget extends StatefulWidget { + final InvoiceModel invoice; + + const InvoiceDetailsWidget({super.key, required this.invoice}); + + @override + State createState() => _InvoiceDetailsWidgetState(); +} + +class _InvoiceDetailsWidgetState extends State { + List controllers = []; + + ExpandableController showMoreController = ExpandableController(); + + Map> staffByPosition = {}; + + @override + void initState() { + staffByPosition = groupByPosition(widget.invoice.items ?? []); + controllers = + List.generate(staffByPosition.length, (_) => ExpandableController()); + + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 12), + Text( + 'Invoice details', + style: AppTextStyles.headingH3, + ), + const SizedBox(height: 12), + Container( + decoration: KwBoxDecorations.white12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + buildTable(), + ], + ), + ), + ], + ); + } + + Widget buildTable() { + final columnWidths = { + 0: const FlexColumnWidth(), + 1: const IntrinsicColumnWidth(), + 2: const IntrinsicColumnWidth(), + 3: const IntrinsicColumnWidth(), + }; + + final rows = []; + + _buildTableHeader(rows); + + var maxVisibleRows = staffByPosition.length; + + for (int index = 0; index < maxVisibleRows; index++) { + final position = staffByPosition.keys.elementAt(index); + final group = staffByPosition[position]!; + final controller = controllers[index]; + + final roleDuration = + group.fold(0.0, (sum, item) => sum + (item.workHours ?? 0)); + final subTotal = + group.fold(0.0, (sum, item) => sum + (item.totalAmount ?? 0)); + + _buildRoleRows(rows, controller, position, roleDuration, subTotal, + isLastRow: index == maxVisibleRows - 1); + + _buildStaffsRows(controller, group, rows, position); + } + + return AnimatedSize( + alignment: Alignment.topCenter, + duration: Duration(milliseconds: 500), + curve: Curves.easeInOut, + child: Table( + columnWidths: columnWidths, + defaultVerticalAlignment: TableCellVerticalAlignment.middle, + children: rows, + ), + ); + } + + void _buildTableHeader(List rows) { + return rows.add( + TableRow( + children: buildRowCells( + [ + Padding( + padding: const EdgeInsets.only(left: 22, top: 12, bottom: 12), + child: Text('Role', style: AppTextStyles.bodyMediumMed), + ), + Padding( + padding: const EdgeInsets.only( + left: 8, right: 16, top: 12, bottom: 12), + child: Text('Rate (\$/h)', style: AppTextStyles.bodyMediumMed), + ), + Padding( + padding: const EdgeInsets.only( + left: 8, right: 16, top: 12, bottom: 12), + child: Text('Hours', style: AppTextStyles.bodyMediumMed), + ), + Padding( + padding: + const EdgeInsets.only(left: 8, right: 8, top: 12, bottom: 12), + child: Text('Subtotal', style: AppTextStyles.bodyMediumMed), + ), + ], + ), + ), + ); + } + + void _buildRoleRows(List rows, ExpandableController controller, + EventShiftPositionModel position, double roleDuration, double subTotal, + {required bool isLastRow}) { + return rows.add( + TableRow( + children: buildRowCells( + isLastRow: isLastRow && !controller.expanded, + [ + expandableCell( + controller: controller, + padding: const EdgeInsets.only(left: 6, top: 16, bottom: 13), + child: Row( + children: [ + AnimatedRotation( + duration: Duration(milliseconds: 300), + turns: controller.expanded ? -0.5 : 0, + child: Assets.images.icons.chevronDown + .svg(width: 12, height: 12), + ), + Gap(4), + Expanded( + child: Text( + position.businessSkill.skill?.name ?? '', + overflow: TextOverflow.ellipsis, + )), + ], + ), + ), + expandableCell( + controller: controller, + padding: const EdgeInsets.only( + left: 12, right: 8, top: 16, bottom: 16), + child: Text( + '\$${position.rate.toStringAsFixed(2)}/h', + style: AppTextStyles.bodyMediumReg, + ), + ), + expandableCell( + controller: controller, + padding: const EdgeInsets.only( + left: 12, right: 8, top: 16, bottom: 16), + child: Text(roleDuration.toStringAsFixed(1), + style: AppTextStyles.bodyMediumReg), + ), + expandableCell( + controller: controller, + padding: const EdgeInsets.only( + left: 12, right: 8, top: 16, bottom: 16), + child: Text('\$${subTotal.toStringAsFixed(2)}', + style: AppTextStyles.bodyMediumReg), + ), + ], + ), + ), + ); + } + + void _buildStaffsRows( + ExpandableController controller, + List group, + List rows, + EventShiftPositionModel position) { + if (controller.expanded) { + for (int i = 0; i < group.length; i++) { + final user = group[i]; + rows.add( + TableRow( + children: buildRowCells(isLastRow: i == group.length - 1, [ + GestureDetector( + onTap: () { + StaffInvoiceContactInfoPopup.show( + context, + makeStaffContact( + user, + position, + ), + date: widget.invoice.event?.date, + hours: user.workHours ?? 0.0, + subtotal: user.totalAmount ?? 0.0); + }, + child: buildAnimatedStaffCell( + visible: controller.expanded, + child: Padding( + padding: const EdgeInsets.only(left: 12.0), + child: Text( + '${user.staff?.firstName ?? ''} ${user.staff?.lastName ?? ''}', + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + ), + ), + buildAnimatedStaffCell( + visible: controller.expanded, + child: Text('\$${(user.rate?.toStringAsFixed(2)) ?? 0}/h', + style: AppTextStyles.bodyTinyReg), + ), + buildAnimatedStaffCell( + visible: controller.expanded, + child: Text('${user.workHours?.toStringAsFixed(1) ?? 0}', + style: AppTextStyles.bodyTinyReg), + ), + buildAnimatedStaffCell( + visible: controller.expanded, + child: Text('\$${user.totalAmount ?? 0}', + style: AppTextStyles.bodyTinyReg), + ), + ]), + ), + ); + } + } + } + + List buildRowCells(List cells, {bool isLastRow = false}) { + return List.generate(cells.length, (i) { + final isLastColumn = i == cells.length - 1; + return buildGridCell( + child: cells[i], + showRight: !isLastColumn, + showBottom: !isLastRow, + ); + }); + } + + Widget expandableCell( + {required Widget child, + required ExpandableController controller, + required EdgeInsets padding}) { + return GestureDetector( + onTap: () { + setState(() { + controller.expanded = !controller.expanded; + }); + }, + child: Container( + color: Colors.transparent, padding: padding, child: child)); + } + + Widget buildGridCell({ + required Widget child, + bool showRight = true, + bool showBottom = true, + EdgeInsets padding = const EdgeInsets.all(8), + }) { + return Container( + padding: padding, + decoration: BoxDecoration( + border: Border( + right: showRight + ? BorderSide(color: Colors.grey.shade300, width: 1) + : BorderSide.none, + bottom: showBottom + ? BorderSide(color: Colors.grey.shade300, width: 1) + : BorderSide.none, + ), + ), + child: child, + ); + } + + Widget buildAnimatedStaffCell({ + required bool visible, + required Widget child, + Duration duration = const Duration(milliseconds: 300), + Curve curve = Curves.easeInOut, + }) { + return AnimatedContainer( + duration: duration, + curve: curve, + color: Colors.transparent, + height: visible ? null : 0, + child: Padding( + padding: const EdgeInsets.only(left: 10, right: 6, top: 10, bottom: 10), + child: AnimatedOpacity( + duration: duration, + opacity: visible ? 1 : 0, + child: visible ? child : IgnorePointer(child: child), + ), + ), + ); + } + + Map> groupByPosition( + List items, + ) { + + final Map positionCache = {}; + final Map> grouped = {}; + + for (final item in items) { + final position = item.position; + + if (position == null) continue; + + final id = position.businessSkill.id ?? ''; + + final existingPosition = positionCache[id]; + + final key = existingPosition ?? + () { + positionCache[id] = position; + return position; + }(); + + grouped.putIfAbsent(key, () => []); + grouped[key]!.add(item); + } + return grouped; + } + + StaffContact makeStaffContact( + InvoiceItemModel user, EventShiftPositionModel position) { + var staff = user.staff!; + var pivot = user.position!.staff! + .firstWhere( + (element) => element.id == user.staff?.id, + ) + .pivot; + + return StaffContact( + id: staff.id ?? '', + photoUrl: staff.avatar ?? '', + firstName: staff.firstName ?? '', + lastName: staff.lastName ?? '', + phoneNumber: staff.phone ?? '', + email: staff.email ?? '', + rate: position.businessSkill.price ?? 0, + status: pivot?.status ?? PivotStatus.assigned, + startAt: pivot?.clockIn ?? '', + endAt: pivot?.clockOut ?? '', + breakIn: pivot?.breakIn ?? '', + breakOut: pivot?.breakOut ?? '', + parentPosition: PositionEntity.fromDto( + position, + DateTime.tryParse(widget.invoice.event?.date ?? '') ?? + DateTime.now()), + skillName: position.businessSkill.skill?.name ?? '', + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_from_to_widget.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_from_to_widget.dart new file mode 100644 index 00000000..3d0a5f65 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_from_to_widget.dart @@ -0,0 +1,148 @@ +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +class InvoiceFromToWidget extends StatefulWidget { + final InvoiceModel item; + + const InvoiceFromToWidget({super.key, required this.item}); + + @override + State createState() => _InvoiceFromToWidgetState(); +} + +class _InvoiceFromToWidgetState extends State { + ExpandableController? _expandableFromController; + ExpandableController? _expandableToController; + + @override + void initState() { + super.initState(); + _expandableFromController = ExpandableController(initialExpanded: true); + _expandableToController = ExpandableController(initialExpanded: true); + } + + @override + void dispose() { + super.dispose(); + _expandableFromController?.dispose(); + _expandableToController?.dispose(); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return ExpandableTheme( + data: ExpandableThemeData( + headerAlignment: ExpandablePanelHeaderAlignment.center, + iconPadding: const EdgeInsets.only(left: 12), + ), + child: Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Gap(12), + ExpandablePanel( + collapsed: Container(), + controller: _expandableFromController, + expanded: _fromInfo(), + header: _buildHeader( + context, _expandableFromController, 'From: Legendary'), + ), + ExpandablePanel( + collapsed: Container(), + controller: _expandableToController, + expanded: _toInfo(state.invoiceModel!), + header: _buildHeader( + context, _expandableToController, 'To: ${state.invoiceModel?.business?.name}'), + ), + Gap(12), + + ], + ), + ), + ); + }, + ); + } + + Widget _buildHeader(BuildContext context, ExpandableController? controller, + String title,) { + return GestureDetector( + onTap: () { + controller?.toggle(); + }, + child: Container( + padding: const EdgeInsets.symmetric(vertical: 12), + color: Colors.transparent, + child: Text( + title, + style: AppTextStyles.headingH3, + ), + ), + ); + } + + Widget _fromInfo() { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Gap(4), + infoElement('Address', '848 E Gish Rd, Suite 1 San Jose, CA 95112'), + Gap(12), + infoElement('Phone Number', '4088360180'), + Gap(12), + infoElement('Email', 'orders@legendaryeventstaff.com'), + Gap(20), + ], + ); + } + + Widget _toInfo(InvoiceModel invoice) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Gap(4), + infoElement('Hub', invoice.event?.hub?.name ?? ''), + Gap(12), + infoElement('Address', invoice.business?.registration ?? ''), + Gap(12), + infoElement('Full Name', '${invoice.business?.contact?.firstName??''} ${invoice.business?.contact?.lastName??''}' ), + Gap(12), + infoElement('Phone Number', invoice.business?.contact?.phone ?? ''), + Gap(12), + infoElement('Email', invoice.business?.contact?.email ?? ''), + Gap(12), + ], + ); + } + + Widget infoElement(String title, String value) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: + AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray), + ), + Gap(2), + Text( + value, + style: AppTextStyles.bodyMediumMed, + ) + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_info_card.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_info_card.dart new file mode 100644 index 00000000..f17110b9 --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_info_card.dart @@ -0,0 +1,128 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/entity/event_entity.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +class InvoiceInfoCardWidget extends StatelessWidget { + final InvoiceModel item; + + const InvoiceInfoCardWidget({ + required this.item, + super.key, + }); + + @override + Widget build(BuildContext context) { + return Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildStatusRow(), + const Gap(24), + Text('INV-${item.id}', style: AppTextStyles.headingH1), + Gap(4), + GestureDetector( + onTap: () { + if(item.event == null) return; + context.router.push(EventDetailsRoute(event: EventEntity.fromEventDto(item.event!))); + }, + child: Text(item.event!.name, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray,decoration: TextDecoration.underline)), + ), + const Gap(24), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'Date', + value: DateFormat('MM.dd.yyyy').format(DateTime.parse(item.event?.date ?? '')), + ), + const Gap(24), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'Due Date', + value: DateFormat('MM.dd.yyyy').format(DateTime.parse(item.dueAt ?? '')), + ), + if (item.event?.purchaseOrder != null) ...[ + const Gap(24), + IconRowInfoWidget( + icon: Assets.images.icons.calendar.svg(), + title: 'PO Number', + value: item.event!.purchaseOrder!, + ), + ], + ], + ), + ); + } + + Row _buildStatusRow() { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 48, + width: 48, + decoration: const BoxDecoration( + color: AppColors.tintGreen, + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.moneySend.svg( + colorFilter: const ColorFilter.mode( + AppColors.statusSuccess, BlendMode.srcIn), + ), + ), + ), + Container( + height: 28, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: item.status.color, + borderRadius: BorderRadius.circular(14), + ), + child: Center( + child: Padding( + padding: const EdgeInsets.only(bottom: 2.0), + child: Text( + item.status.name.capitalize(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite), + ), + ), + )) + ], + ); + } +} + +extension on InvoiceStatus { + Color get color { + switch (this) { + case InvoiceStatus.open: + return AppColors.primaryBlue; + case InvoiceStatus.disputed: + return AppColors.statusWarning; + case InvoiceStatus.resolved: + return AppColors.statusSuccess; + case InvoiceStatus.paid: + return AppColors.blackGray; + case InvoiceStatus.overdue: + return AppColors.statusError; + case InvoiceStatus.verified: + return AppColors.bgColorDark; + } + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_total_widget.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_total_widget.dart new file mode 100644 index 00000000..6cac5f2a --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoice_details/widgets/invoice_total_widget.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/blocs/invoice_details_bloc/invoice_details_bloc.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +class InvoiceTotalWidget extends StatelessWidget { + + const InvoiceTotalWidget({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Total', style: AppTextStyles.headingH3), + Gap(24), + Container( + decoration: KwBoxDecorations.primaryLight8, + padding: const EdgeInsets.symmetric( + horizontal: 12, vertical: 8), + child: Column( + children: [ + totalInfoRow('Sub Total', '\$${state.invoiceModel?.workAmount?.toStringAsFixed(2)??'0'}'), + Gap(8), + totalInfoRow('Other Charges', '\$${state.invoiceModel?.addonsAmount?.toStringAsFixed(2)??'0'}'), + Gap(8), + totalInfoRow('Grand Total', '\$${state.invoiceModel?.total?.toStringAsFixed(2)??'0'}'), + ], + ), + ) + ], + ), + ); + }, + ); + } + + Widget totalInfoRow(String title, String value) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text(title, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + Gap(20), + Text(value, style: AppTextStyles.bodyMediumMed) + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoice_list_item.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoice_list_item.dart new file mode 100644 index 00000000..0db98fff --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoice_list_item.dart @@ -0,0 +1,128 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/icon_row_info_widget.dart'; +import 'package:krow/features/invoice/data/models/invoice_model.dart'; +import 'package:krow/features/invoice/domain/invoice_entity.dart'; + +class InvoiceListItemWidget extends StatelessWidget { + final InvoiceListEntity item; + + const InvoiceListItemWidget({required this.item, super.key}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + context.router.push(InvoiceDetailsRoute( + invoice: item, + )); + }, + child: Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 24), + margin: const EdgeInsets.only(bottom: 12, left: 16, right: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildStatusRow(), + const Gap(12), + Text('INV-${item.id}', style: AppTextStyles.headingH1), + const Gap(4), + Text(item.eventName, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + IconRowInfoWidget( + icon: Assets.images.icons.profile2user.svg(), + title: 'Count', + value: '${item.count} persons', + ), + const Gap(24), + Container( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), + decoration: KwBoxDecorations.primaryLight8.copyWith(), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Value', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + Text( + '\$${item.value}', + style: AppTextStyles.bodyMediumMed, + ) + ], + ), + ) + ], + ), + ), + ); + } + + Row _buildStatusRow() { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 48, + width: 48, + decoration: const BoxDecoration( + color: AppColors.tintGreen, + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.moneySend.svg( + colorFilter: const ColorFilter.mode( + AppColors.statusSuccess, BlendMode.srcIn), + ), + ), + ), + Container( + height: 28, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: item.status.color, + borderRadius: BorderRadius.circular(14), + ), + child: Center( + child: Padding( + padding: const EdgeInsets.only(bottom: 2.0), + child: Text( + item.status.name.capitalize(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite), + ), + ), + )) + ], + ); + } +} + +extension on InvoiceStatus { + Color get color { + switch (this) { + case InvoiceStatus.open: + return AppColors.primaryBlue; + case InvoiceStatus.disputed: + return AppColors.statusWarning; + case InvoiceStatus.resolved: + return AppColors.statusSuccess; + case InvoiceStatus.paid: + return AppColors.blackGray; + case InvoiceStatus.overdue: + return AppColors.statusError; + case InvoiceStatus.verified: + return AppColors.bgColorDark; + } + } +} diff --git a/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoices_list_main_screen.dart b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoices_list_main_screen.dart new file mode 100644 index 00000000..dd91e81b --- /dev/null +++ b/mobile-apps/client-app/lib/features/invoice/presentation/screens/invoices_list/invoices_list_main_screen.dart @@ -0,0 +1,146 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_tabs.dart'; +import 'package:krow/features/invoice/domain/blocs/invoices_list_bloc/invoice_bloc.dart'; +import 'package:krow/features/invoice/domain/blocs/invoices_list_bloc/invoice_state.dart'; +import 'package:krow/features/invoice/presentation/screens/invoices_list/invoice_list_item.dart'; + +import '../../../domain/blocs/invoices_list_bloc/invoice_event.dart'; +import '../../../domain/invoice_entity.dart'; + +@RoutePage() +class InvoicesListMainScreen extends StatefulWidget { + const InvoicesListMainScreen({super.key}); + + @override + State createState() => _InvoicesListMainScreenState(); +} + +class _InvoicesListMainScreenState extends State { + final List tabs = const [ + 'All', + 'Open', + 'Disputed', + 'Resolved', + 'Paid', + 'Overdue', + 'Verified', + ]; + + late ScrollController _scrollController; + + @override + void initState() { + super.initState(); + _scrollController = ScrollController(); + _scrollController.addListener(_onScroll); + } + + @override + void dispose() { + _scrollController.removeListener(_onScroll); + _scrollController.dispose(); + super.dispose(); + } + + void _onScroll() { + if (_scrollController.position.atEdge) { + if (_scrollController.position.pixels != 0) { + BlocProvider.of(context).add( + LoadMoreInvoiceEvent( + status: BlocProvider.of(context).state.tabIndex), + ); + } + } + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + List items = state.tabs[state.tabIndex]!.items; + + return Scaffold( + appBar: KwAppBar( + titleText: 'Invoices', + centerTitle: false, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(vertical: 16), + onRefresh: () async { + BlocProvider.of(context) + .add(LoadTabInvoiceEvent(status: state.tabIndex)); + }, + controller: _scrollController, + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + KwTabBar( + tabs: tabs, + onTap: (index) { + BlocProvider.of(context) + .add(InvoiceTabChangedEvent(tabIndex: index)); + }), + const Gap(16), + if (state.tabs[state.tabIndex]!.inLoading && + state.tabs[state.tabIndex]!.items.isEmpty) + ..._buildListLoading(), + if (!state.tabs[state.tabIndex]!.inLoading && items.isEmpty) + ..._emptyListWidget(), + RefreshIndicator( + onRefresh: () async { + BlocProvider.of(context) + .add(LoadTabInvoiceEvent(status: state.tabIndex)); + }, + child: ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: items.length, + itemBuilder: (context, index) { + return InvoiceListItemWidget(item: items[index]); + }), + ), + ], + ), + lowerWidget: const SizedBox.shrink(), + ), + ); + }, + ); + } + + List _buildListLoading() { + return [ + const Gap(116), + const Center(child: CircularProgressIndicator()), + ]; + } + + List _emptyListWidget() { + return [ + const Gap(100), + Container( + height: 64, + width: 64, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(32), + ), + child: Center(child: Assets.images.icons.xCircle.svg()), + ), + const Gap(24), + const Text( + 'You currently have no Invoices', + textAlign: TextAlign.center, + style: AppTextStyles.headingH2, + ), + ]; + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/data/notification_gql.dart b/mobile-apps/client-app/lib/features/notificatins/data/notification_gql.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/data/notification_gql.dart @@ -0,0 +1 @@ + diff --git a/mobile-apps/client-app/lib/features/notificatins/data/notifications_api_provider.dart b/mobile-apps/client-app/lib/features/notificatins/data/notifications_api_provider.dart new file mode 100644 index 00000000..68c71e77 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/data/notifications_api_provider.dart @@ -0,0 +1,16 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/features/clock_manual/data/clock_manual_gql.dart'; + +@singleton +class NotificationsApiProvider { + final ApiClient _client; + + NotificationsApiProvider({required ApiClient client}) : _client = client; + + Future trackClientClockin(String positionStaffId) async { + } + +} diff --git a/mobile-apps/client-app/lib/features/notificatins/data/notifications_repository_impl.dart b/mobile-apps/client-app/lib/features/notificatins/data/notifications_repository_impl.dart new file mode 100644 index 00000000..6d4afe67 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/data/notifications_repository_impl.dart @@ -0,0 +1,47 @@ +import 'package:flutter/foundation.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/features/notificatins/domain/notification_entity.dart'; + +import '../domain/notification_repository.dart'; +import 'notifications_api_provider.dart'; + +@Singleton(as: NotificationsRepository) +class NotificationsRepositoryImpl implements NotificationsRepository { + final NotificationsApiProvider apiProvider; + + NotificationsRepositoryImpl({required this.apiProvider}); + + @override + Future> fetchNotifications() async { + try { + // final response = await apiProvider.fetchNotifications(); + // return response; + if (!kDebugMode) { + return [ + NotificationEntity( + id: '1', + title: 'Test Notification', + body: 'This is a test notification', + type: NotificationType.general, + dateTime: DateTime.now(), + ), + NotificationEntity( + id: '2', + title: 'Invoice Notification', + body: 'This is an invoice notification', + type: NotificationType.invoice, + dateTime: DateTime.now().subtract(Duration(days: 1)), + ), + ]; + } else { + return []; + } + } catch (e) { + debugPrint('Error fetching notifications: $e'); + rethrow; + } + } + + @override + Future readNotification(String id) async {} +} diff --git a/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_bloc.dart b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_bloc.dart new file mode 100644 index 00000000..a7c26856 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_bloc.dart @@ -0,0 +1,24 @@ +import 'package:bloc/bloc.dart'; +import 'package:meta/meta.dart'; + +import '../../../../core/application/di/injectable.dart'; +import '../notification_entity.dart'; +import '../notification_repository.dart'; + +part 'notifications_event.dart'; +part 'notifications_state.dart'; + +class NotificationsBloc extends Bloc { + NotificationsBloc() : super(NotificationsState()) { + on(_onNotificationsInit); + } + + void _onNotificationsInit(NotificationsInitEvent event, emit) async { + var notifications = + await getIt().fetchNotifications(); + + emit(state.copyWith( + notifications: notifications, + )); + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_event.dart b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_event.dart new file mode 100644 index 00000000..b2344a63 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_event.dart @@ -0,0 +1,7 @@ +part of 'notifications_bloc.dart'; + +@immutable +sealed class NotificationsEvent {} + +class NotificationsInitEvent extends NotificationsEvent { +} diff --git a/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_state.dart b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_state.dart new file mode 100644 index 00000000..32b803c9 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/domain/bloc/notifications_state.dart @@ -0,0 +1,20 @@ +part of 'notifications_bloc.dart'; + +@immutable +class NotificationsState { + final bool inLoading; + final List notifications; + + NotificationsState({this.inLoading = false, this.notifications = const []}); + + + NotificationsState copyWith({ + bool? inLoading, + List? notifications, + }) { + return NotificationsState( + inLoading: inLoading ?? this.inLoading, + notifications: notifications ?? this.notifications, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/domain/notification_entity.dart b/mobile-apps/client-app/lib/features/notificatins/domain/notification_entity.dart new file mode 100644 index 00000000..ca1d1f36 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/domain/notification_entity.dart @@ -0,0 +1,41 @@ +enum NotificationType { + general, + invoice, + event, +} + +class NotificationEntity{ + final String id; + final String title; + final String body; + final NotificationType type; + final DateTime dateTime; + final bool isRead; + + NotificationEntity({ + required this.title, + required this.body, + required this.dateTime, + required this.id, + required this.type, + this.isRead = false, + }); + + NotificationEntity copyWith({ + String? id, + String? title, + String? body, + NotificationType? type, + DateTime? dateTime, + bool? isRead, + }) { + return NotificationEntity( + id: id ?? this.id, + title: title ?? this.title, + body: body ?? this.body, + type: type ?? this.type, + dateTime: dateTime ?? this.dateTime, + isRead: isRead ?? this.isRead, + ); + } +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/features/notificatins/domain/notification_repository.dart b/mobile-apps/client-app/lib/features/notificatins/domain/notification_repository.dart new file mode 100644 index 00000000..f840d87c --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/domain/notification_repository.dart @@ -0,0 +1,6 @@ +import 'notification_entity.dart'; + +abstract class NotificationsRepository { + Future> fetchNotifications(); + Future readNotification(String id); +} \ No newline at end of file diff --git a/mobile-apps/client-app/lib/features/notificatins/presentation/notification_details_screen.dart b/mobile-apps/client-app/lib/features/notificatins/presentation/notification_details_screen.dart new file mode 100644 index 00000000..28a7675d --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/presentation/notification_details_screen.dart @@ -0,0 +1,115 @@ +import 'package:auto_route/annotations.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart' show Gap; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/notificatins/domain/notification_entity.dart'; + +import '../../../core/presentation/gen/assets.gen.dart'; +import '../../../core/presentation/styles/kw_text_styles.dart'; +import '../../../core/presentation/styles/theme.dart'; +import '../../../core/presentation/widgets/ui_kit/kw_button.dart'; + +@RoutePage() +class NotificationDetailsScreen extends StatelessWidget { + final NotificationEntity notification; + + const NotificationDetailsScreen({super.key, required this.notification}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: notification.type.name, + ), + body: ScrollLayoutHelper( + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Gap(16), + _buildTitle(), + Gap(24), + Text(notification.title, style: AppTextStyles.headingH1), + Gap(8), + Text(notification.body, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackBlack)), + ], + ), + lowerWidget: _buildFooter(context), + ), + ); + } + + Widget _buildFooter(BuildContext context) { + return Column( + children: [ + Gap(24), + Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Best regards', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackBlack)), + Gap(2), + Text( + 'KROW Team', + style: AppTextStyles.bodyMediumSmb, + ), + ], + ), + Spacer(), + Assets.images.logo.svg( + colorFilter: const ColorFilter.mode( + AppColors.bgColorDark, + BlendMode.srcIn, + )), + ], + ), + Gap(24), + KwButton.primary( + label: 'Go to', + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + ); + } + + Row _buildTitle() { + return Row( + children: [ + _buildIcon(), + Gap(12), + Text(notification.body, style: AppTextStyles.bodyMediumMed), + Spacer(), + Text(DateFormat('hh:mm a').format(notification.dateTime), + style: AppTextStyles.bodyMediumMed) + ], + ); + } + + Container _buildIcon() { + return Container( + height: 36, + width: 36, + decoration: BoxDecoration( + color: AppColors.bgColorDark, + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.receiptSearch.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.primaryMint, + BlendMode.srcIn, + )), + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/presentation/notification_flow_screen.dart b/mobile-apps/client-app/lib/features/notificatins/presentation/notification_flow_screen.dart new file mode 100644 index 00000000..bfc07ef2 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/presentation/notification_flow_screen.dart @@ -0,0 +1,15 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../domain/bloc/notifications_bloc.dart'; + +@RoutePage() +class NotificationFlowScreen extends StatelessWidget { + const NotificationFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return AutoRouter(); + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/presentation/notifications_list_screen.dart b/mobile-apps/client-app/lib/features/notificatins/presentation/notifications_list_screen.dart new file mode 100644 index 00000000..39437783 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/presentation/notifications_list_screen.dart @@ -0,0 +1,132 @@ +import 'package:auto_route/annotations.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/notificatins/presentation/widgets/notification_list_item.dart'; + +import '../../../core/presentation/gen/assets.gen.dart'; +import '../../../core/presentation/styles/kw_text_styles.dart'; +import '../../../core/presentation/styles/theme.dart'; +import '../domain/bloc/notifications_bloc.dart'; + +@RoutePage() +class NotificationsListScreen extends StatefulWidget { + const NotificationsListScreen({super.key}); + + @override + State createState() => + _NotificationsListScreenState(); +} + +class _NotificationsListScreenState extends State { + @override + void initState() { + super.initState(); + } + + Future _refreshNotifications() async { + context.read().add(NotificationsInitEvent()); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + final notifications = state.notifications; + + final todayNotifications = + notifications.where((n) => isToday(n.dateTime)).toList(); + final thisWeekNotifications = + notifications.where((n) => isThisWeek(n.dateTime)).toList(); + + return Scaffold( + appBar: KwAppBar( + centerTitle: false, + titleText: 'Alerts', + ), + body: RefreshIndicator( + onRefresh: _refreshNotifications, + child: Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: CustomScrollView( + slivers:state.notifications.isEmpty?[ + SliverToBoxAdapter( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Gap(100), + Assets.images.icons.calendar.svg(height: 36,width: 36, colorFilter: const ColorFilter.mode(AppColors.blackGray, BlendMode.srcIn)), + Gap(16), + Text( + 'No notifications yet', + style: AppTextStyles.headingH3.copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + ]: [ + SliverGap(24), + if (todayNotifications.isNotEmpty) + SliverToBoxAdapter( + child: const Padding( + padding: EdgeInsets.all(8.0), + child: Text( + 'Today', + style: AppTextStyles.bodySmallMed, + ), + ), + ), + SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) { + final notification = todayNotifications[index]; + return NotificationListItem(notification: notification); + }, + childCount: todayNotifications.length, + ), + ), + if (thisWeekNotifications.isNotEmpty) + SliverToBoxAdapter( + child: const Padding( + padding: EdgeInsets.only(bottom: 8), + child: Text( + 'This week', + style: AppTextStyles.bodySmallMed, + ), + ), + ), + SliverList( + delegate: SliverChildBuilderDelegate( + (context, index) { + final notification = thisWeekNotifications[index]; + return NotificationListItem(notification: notification); + }, + childCount: thisWeekNotifications.length, + ), + ), + ], + ), + ), + ), + ); + }, + ); + } + + bool isToday(DateTime date) { + final now = DateTime.now(); + return date.year == now.year && + date.month == now.month && + date.day == now.day; + } + + bool isThisWeek(DateTime date) { + final now = DateTime.now(); + final startOfWeek = now.subtract(Duration(days: now.weekday - 1)); + final endOfWeek = startOfWeek.add(Duration(days: 6)); + return date.isAfter(startOfWeek) && + date.isBefore(endOfWeek) && + !isToday(date); + } +} diff --git a/mobile-apps/client-app/lib/features/notificatins/presentation/widgets/notification_list_item.dart b/mobile-apps/client-app/lib/features/notificatins/presentation/widgets/notification_list_item.dart new file mode 100644 index 00000000..465f12e2 --- /dev/null +++ b/mobile-apps/client-app/lib/features/notificatins/presentation/widgets/notification_list_item.dart @@ -0,0 +1,107 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart' show Gap; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/features/notificatins/domain/notification_entity.dart'; + +import '../../../../core/presentation/gen/assets.gen.dart'; +import '../../../../core/presentation/styles/theme.dart'; + +class NotificationListItem extends StatelessWidget { + final NotificationEntity notification; + + NotificationListItem({required this.notification}) + : super(key: Key(notification.id)); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(top: 4.0, bottom: 4.0), + child: GestureDetector( + onTap: () { + context.router.push(NotificationDetailsRoute(notification: notification)); + }, + child: Container( + decoration: KwBoxDecorations.white12, + padding: const EdgeInsets.all(12), + height: 72, + child: Row( + children: [ + _buildIcon(), + Gap(12), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row(children: [ + Text( + notification.title, + style: AppTextStyles.bodyMediumMed, + ), + const Spacer(), + Text( + DateFormat('hh:mm a').format(notification.dateTime), + style: AppTextStyles.bodyMediumMed, + ), + ]), + Gap(8), + Text( + notification.title, + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodySmallMed, + ), + ], + ), + ) + ], + ), + ), + ), + ); + } + + _buildIcon() { + return Stack( + children: [ + Container( + height: 48, + width: 48, + decoration: BoxDecoration( + color: AppColors.bgColorDark, + shape: BoxShape.circle, + ), + child: Center( + child: Assets.images.icons.receiptSearch.svg( + height: 24, + width: 24, + colorFilter: const ColorFilter.mode( + AppColors.primaryMint, + BlendMode.srcIn, + )), + ), + ), + if (notification.isRead == false) + Positioned( + right: 0, + top: 0, + child: Container( + height: 12, + width: 12, + decoration: BoxDecoration( + color: AppColors.statusError, + border: Border.all( + color: AppColors.grayWhite, + width: 2, + ), + shape: BoxShape.circle, + ), + ), + ) + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/profile/data/gql_schemas.dart b/mobile-apps/client-app/lib/features/profile/data/gql_schemas.dart new file mode 100644 index 00000000..236e88b7 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/data/gql_schemas.dart @@ -0,0 +1,57 @@ + +const String getPersonalInfoSchema = ''' +query GetPersonalInfo { + client_profile { + id + first_name + last_name + title + avatar + auth_info { + email + phone + } + } +} +'''; + +const String updateStaffMutationSchema = ''' +mutation UpdateStaffPersonalInfo(\$input: UpdateClientProfileInput!) { + update_client_profile(input: \$input) { + id + first_name + last_name + title + avatar + auth_info { + email + phone + } + } +} +'''; + +const String updateStaffMutationWithAvatarSchema = ''' +mutation UpdateStaffPersonalInfo(\$input: UpdateClientProfileInput!, \$file: Upload!) { + update_client_profile(input: \$input) { + id + first_name + last_name + title + avatar + auth_info { + email + phone + } + } + upload_client_avatar(file: \$file) +} +'''; + +const deactivateClientProfileSchema = ''' +mutation deactivate_client_profile { + deactivate_client_profile(){ + id + } +} +'''; diff --git a/mobile-apps/client-app/lib/features/profile/data/profile_api_source.dart b/mobile-apps/client-app/lib/features/profile/data/profile_api_source.dart new file mode 100644 index 00000000..eb3ce253 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/data/profile_api_source.dart @@ -0,0 +1,94 @@ +import 'dart:developer'; +import 'dart:io'; + +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:http/http.dart'; +import 'package:http_parser/http_parser.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/client/client.dart'; +import 'package:krow/features/profile/data/gql_schemas.dart'; + +@singleton +class ClientProfileApiProvider { + ClientProfileApiProvider(this._client); + + final ApiClient _client; + + Stream getMeWithCache() async* { + await for (var response in _client.queryWithCache( + schema: getPersonalInfoSchema, + )) { + if (response == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + final profileData = + response.data?['client_profile'] as Map? ?? {}; + if (profileData.isEmpty) continue; + + yield ClientModel.fromJson(profileData); + } catch (except) { + log( + 'Exception in StaffApi on getMeWithCache()', + error: except, + ); + continue; + } + } + } + + Future updatePersonalInfo({ + required String firstName, + required String lastName, + required String phone, + String? avatarPath, + }) async { + MultipartFile? multipartFile; + if (avatarPath != null) { + var byteData = File(avatarPath).readAsBytesSync(); + + multipartFile = MultipartFile.fromBytes( + 'file', + byteData, + filename: '${DateTime.now().millisecondsSinceEpoch}.jpg', + contentType: MediaType('image', 'jpg'), + ); + } + + final QueryResult result = await _client.mutate( + schema: multipartFile != null + ? updateStaffMutationWithAvatarSchema + : updateStaffMutationSchema, + body: { + 'input': { + 'first_name': firstName.trim(), + 'last_name': lastName.trim(), + 'phone': phone.trim(), + }, + if (multipartFile != null) 'file': multipartFile, + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return ClientModel.fromJson( + (result.data as Map)['update_client_profile'], + ); + } + + Future deactivateClientProfile() async { + final QueryResult result = await _client.mutate( + schema: deactivateClientProfileSchema, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/client-app/lib/features/profile/data/profile_repository.dart b/mobile-apps/client-app/lib/features/profile/data/profile_repository.dart new file mode 100644 index 00000000..8c02d194 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/data/profile_repository.dart @@ -0,0 +1,14 @@ +import 'package:krow/core/data/models/client/client.dart'; + +abstract class ClientProfileRepository { + Stream getPersonalInfo(); + + Future updatePersonalInfo({ + required String firstName, + required String lastName, + required String phone, + String? avatarPath, + }); + + Future deactivateProfile(); +} diff --git a/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_bloc.dart b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_bloc.dart new file mode 100644 index 00000000..b77384de --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_bloc.dart @@ -0,0 +1,151 @@ +import 'dart:developer'; + +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:krow/core/application/common/validators/email_validator.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/data/models/client/client.dart'; +import 'package:krow/features/profile/data/profile_repository.dart'; + +part 'personal_info_event.dart'; +part 'personal_info_state.dart'; + +class PersonalInfoBloc extends Bloc { + PersonalInfoBloc() : super(const PersonalInfoState()) { + on(_onInitializeProfileInfoEvent); + + on(_onUpdateProfileImage); + + on(_onUpdateFirstName); + + on(_onUpdateLastName); + + on(_onUpdateEmail); + + on(_onUpdatePhoneNumber); + + on(_onSaveProfileChanges); + + on(_onDeactivateProfile); + } + + Future _onInitializeProfileInfoEvent( + InitializeProfileInfoEvent event, + Emitter emit, + ) async { + emit( + state.copyWith( + status: StateStatus.idle, + ), + ); + + await for (final currentProfileData + in getIt().getPersonalInfo()) { + try { + + emit( + state.copyWith( + firstName: currentProfileData.firstName, + lastName: currentProfileData.lastName, + email: currentProfileData.authInfo?.email, + profileImageUrl: currentProfileData.avatar, + phoneNumber: currentProfileData.authInfo?.phone, + isUpdateReceived: true, + status: StateStatus.idle, + ), + ); + } catch (except) { + log(except.toString()); + } finally { + emit(state.copyWith(isUpdateReceived: false)); + } + } + + if (state.status == StateStatus.loading) { + emit(state.copyWith(status: StateStatus.idle)); + } + } + + void _onUpdateProfileImage( + UpdateProfileImage event, + Emitter emit, + ) { + emit(state.copyWith(profileImagePath: event.imagePath)); + } + + void _onUpdateFirstName( + UpdateFirstName event, + Emitter emit, + ) { + emit(state.copyWith(firstName: event.firstName)); + } + + void _onUpdateLastName( + UpdateLastName event, + Emitter emit, + ) { + emit(state.copyWith(lastName: event.lastName)); + } + + void _onUpdateEmail( + UpdateEmail event, + Emitter emit, + ) { + final error = EmailValidator.validate(event.email); + emit( + state.copyWith( + email: event.email, + emailValidationError: error ?? '', + ), + ); + } + + void _onUpdatePhoneNumber( + UpdatePhoneNumber event, + Emitter emit, + ) { + emit(state.copyWith(phoneNumber: event.phoneNumber)); + } + + Future _onSaveProfileChanges( + SaveProfileChanges event, + Emitter emit, + ) async { + if (!state.isValid) { + emit(state.copyWith(status: StateStatus.error)); + return; + } + + emit(state.copyWith(status: StateStatus.loading)); + + ClientModel? response; + try { + response = await getIt().updatePersonalInfo( + firstName: state.firstName, + lastName: state.lastName, + phone: state.phoneNumber, + avatarPath: state.profileImagePath, + ); + } finally { + emit( + state.copyWith( + status: response != null ? StateStatus.success : StateStatus.idle, + ), + ); + } + } + + Future _onDeactivateProfile( + DeactivateProfile event, + Emitter emit, + ) async { + emit(state.copyWith(status: StateStatus.loading)); + + try { + await getIt().deactivateProfile(); + } finally { + emit(state.copyWith(status: StateStatus.idle, deleted: true)); + } + } +} diff --git a/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_event.dart b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_event.dart new file mode 100644 index 00000000..f4a990a6 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_event.dart @@ -0,0 +1,42 @@ +part of 'personal_info_bloc.dart'; + +@immutable +sealed class PersonalInfoEvent {} + +class InitializeProfileInfoEvent extends PersonalInfoEvent { + InitializeProfileInfoEvent(); +} + +class UpdateProfileImage extends PersonalInfoEvent { + UpdateProfileImage(this.imagePath); + + final String imagePath; +} + +class UpdateFirstName extends PersonalInfoEvent { + UpdateFirstName(this.firstName); + + final String firstName; +} + +class UpdateLastName extends PersonalInfoEvent { + UpdateLastName(this.lastName); + + final String lastName; +} + +class UpdateEmail extends PersonalInfoEvent { + UpdateEmail(this.email); + + final String email; +} + +class UpdatePhoneNumber extends PersonalInfoEvent { + UpdatePhoneNumber(this.phoneNumber); + + final String phoneNumber; +} + +class SaveProfileChanges extends PersonalInfoEvent {} + +class DeactivateProfile extends PersonalInfoEvent {} diff --git a/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_state.dart b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_state.dart new file mode 100644 index 00000000..2dc3323e --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/domain/bloc/personal_info_state.dart @@ -0,0 +1,71 @@ +part of 'personal_info_bloc.dart'; + +@immutable +class PersonalInfoState { + const PersonalInfoState({ + this.firstName = '', + this.lastName = '', + this.email = '', + this.phoneNumber = '', + this.profileImageUrl, + this.profileImagePath, + this.isUpdateReceived = false, + this.status = StateStatus.idle, + this.emailValidationError = '', + this.deleted = false + }); + + final String firstName; + final String lastName; + final String email; + final String phoneNumber; + final String? profileImageUrl; + final String? profileImagePath; + final bool isUpdateReceived; + final StateStatus status; + final String emailValidationError; + final bool deleted; + + PersonalInfoState copyWith({ + String? firstName, + String? lastName, + String? email, + String? phoneNumber, + String? profileImageUrl, + String? profileImagePath, + bool? isUpdateReceived, + StateStatus? status, + String? emailValidationError, + bool? deleted, + }) { + return PersonalInfoState( + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + email: email ?? this.email, + phoneNumber: phoneNumber ?? this.phoneNumber, + profileImagePath: profileImagePath ?? this.profileImagePath, + profileImageUrl: profileImageUrl ?? this.profileImageUrl, + isUpdateReceived: isUpdateReceived ?? this.isUpdateReceived, + status: status ?? this.status, + deleted: deleted ?? this.deleted, + emailValidationError: emailValidationError ?? this.emailValidationError, + ); + } + + bool get isFilled { + return firstName.isNotEmpty && lastName.isNotEmpty && email.isNotEmpty; + // Phone should not be validated on initial profile setup + //(!isInEditMode || phoneNumber.isNotEmpty) && + //photo is optional + // (profileImagePath != null || profileImageUrl != null); + } + + bool get isValid { + return firstName.isNotEmpty && + lastName.isNotEmpty && + emailValidationError.isEmpty && + // Phone should not be validated on initial profile setup + //(!isInEditMode || phoneNumber.isNotEmpty) && + (profileImagePath != null || profileImageUrl != null); + } +} diff --git a/mobile-apps/client-app/lib/features/profile/domain/profile_repository_impl.dart b/mobile-apps/client-app/lib/features/profile/domain/profile_repository_impl.dart new file mode 100644 index 00000000..b517e5ec --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/domain/profile_repository_impl.dart @@ -0,0 +1,45 @@ +import 'dart:developer'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/client/client.dart'; +import 'package:krow/features/profile/data/profile_api_source.dart'; +import 'package:krow/features/profile/data/profile_repository.dart'; + +@Singleton(as: ClientProfileRepository) +class ClientProfileRepositoryImpl implements ClientProfileRepository { + ClientProfileRepositoryImpl({ + required ClientProfileApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final ClientProfileApiProvider _apiProvider; + + @override + Stream getPersonalInfo() { + return _apiProvider.getMeWithCache(); + } + + @override + Future updatePersonalInfo({ + required String firstName, + required String lastName, + required String phone, + String? avatarPath, + }) { + try { + return _apiProvider.updatePersonalInfo( + firstName: firstName, + lastName: lastName, + phone: phone, + avatarPath: avatarPath, + ); + } catch (exception) { + log((exception as Error).stackTrace.toString()); + rethrow; + } + } + + @override + Future deactivateProfile() { + return _apiProvider.deactivateClientProfile(); + } +} diff --git a/mobile-apps/client-app/lib/features/profile/presentation/profile_edit_screen.dart b/mobile-apps/client-app/lib/features/profile/presentation/profile_edit_screen.dart new file mode 100644 index 00000000..1f4b51c3 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/presentation/profile_edit_screen.dart @@ -0,0 +1,91 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/domain/bloc/personal_info_bloc.dart'; +import 'package:krow/features/profile/presentation/widgets/personal_info_form.dart'; + +@RoutePage() +class PersonalInfoScreen extends StatelessWidget { + const PersonalInfoScreen({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Edit Profile', + ), + body: ScrollLayoutHelper( + upperWidget: const PersonalInfoForm(), + lowerWidget: BlocConsumer( + buildWhen: (previous, current) => + previous.status != current.status || + previous.isFilled != current.isFilled, + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) {} + + if(state.deleted){ + FirebaseAuth.instance.signOut(); + context.router.replace(const SplashRoute()); + } + }, + builder: (context, state) { + return Column( + children: [ + KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: 'Save edits', + height: 52, + disabled: !state.isFilled, + onPressed: () { + context + .read() + .add(SaveProfileChanges()); + }, + ), + ), + Gap(12), + KwButton.outlinedPrimary( + label: 'Delete Account', onPressed: () { + _showDeleteAccDialog(context); + }) + .copyWith(color: AppColors.statusError) + ], + ); + }, + ), + ), + ); + } + + void _showDeleteAccDialog(BuildContext context) { + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Are you sure you want to delete account?', + message: + 'Deleting your account is permanent and cannot be undone. You will lose all your data, including saved preferences, history, and any content associated with your account', + primaryButtonLabel: 'Delete Account', + secondaryButtonLabel: 'Cancel', + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + BlocProvider.of(context) + .add(DeactivateProfile()); + }); + } +} diff --git a/mobile-apps/client-app/lib/features/profile/presentation/profile_preview_screen.dart b/mobile-apps/client-app/lib/features/profile/presentation/profile_preview_screen.dart new file mode 100644 index 00000000..e5aae778 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/presentation/profile_preview_screen.dart @@ -0,0 +1,177 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/domain/bloc/personal_info_bloc.dart'; + +@RoutePage() +class ProfilePreviewScreen extends StatelessWidget { + const ProfilePreviewScreen({super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Container( + color: AppColors.primaryBlue, + child: Assets.images.bgPattern.svg( + fit: BoxFit.cover, + width: double.infinity, + height: double.infinity, + ), + ), + Scaffold( + backgroundColor: Colors.transparent, + appBar: KwAppBar( + contentColor: AppColors.grayWhite, + titleText: 'Profile', + centerTitle: false, + backgroundColor: Colors.transparent, + ), + body: SingleChildScrollView( + child: Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 24), + decoration: BoxDecoration( + color: AppColors.bgProfileCard, + borderRadius: BorderRadius.circular(12), + ), + child: BlocBuilder( + builder: (context, state) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + _buildUserPhoto(state.profileImageUrl, '${state.firstName} ${state.lastName}'), + const Gap(16), + _buildUserInfo(context, state), + const Gap(24), + KwButton.accent( + label: 'Edit Profile', + onPressed: () { + context.router.push(const PersonalInfoRoute()); + }), + const Gap(12), + KwButton.outlinedPrimary( + label: 'Log Out', + onPressed: ()async { + await FirebaseAuth.instance.signOut(); + context.router.replace(const SplashRoute()); + }).copyWith(color: AppColors.tintDarkRed), + const Gap(12), + ], + ); + }, + ), + ), + ), + ), + ], + ); + } + + Container _buildUserPhoto(String? imageUrl, String? userName) { + return Container( + width: 174, + height: 174, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.darkBgActiveButtonState, + ), + child: imageUrl == null || imageUrl.isEmpty + ? Center( + child: Text( + getInitials(userName), + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + ) + : ClipOval( + child: Image.network( + imageUrl, + fit: BoxFit.cover, + width: 174, + height: 174, + ), + ), + ); + } + + Column _buildUserInfo(BuildContext context, PersonalInfoState state) { + return Column( + children: [ + Text( + '${state.firstName} ${state.lastName}', + style: AppTextStyles.headingH3.copyWith(color: Colors.white), + textAlign: TextAlign.center, + ), + if (state.email.isNotEmpty) ...[ + const Gap(8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.icons.userProfile.sms.svg( + colorFilter: const ColorFilter.mode( + AppColors.tintDropDownButton, + BlendMode.srcIn, + ), + ), + const Gap(4), + Text( + state.email, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.tintDropDownButton), + ) + ], + ), + ], + if (state.phoneNumber.isNotEmpty) ...[ + const Gap(8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.icons.userProfile.call.svg( + colorFilter: const ColorFilter.mode( + AppColors.tintDropDownButton, + BlendMode.srcIn, + ), + ), + const Gap(4), + Text( + state.phoneNumber, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.tintDropDownButton), + ) + ], + ), + ] + ], + ); + } + + String getInitials(String? name) { + if (name == null || name.isEmpty) return ''; + if(name.trim().isEmpty) { + return ''; + } + List nameParts = name.split(' '); + if(nameParts.first.isEmpty) { + return ''; + } + if (nameParts.length == 1) { + return nameParts[0].substring(0, 1).toUpperCase(); + } + + return (nameParts[0][0] + nameParts[1][0]).toUpperCase(); +} +} + + diff --git a/mobile-apps/client-app/lib/features/profile/presentation/widgets/personal_info_form.dart b/mobile-apps/client-app/lib/features/profile/presentation/widgets/personal_info_form.dart new file mode 100644 index 00000000..d82e7672 --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/presentation/widgets/personal_info_form.dart @@ -0,0 +1,140 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/widgets/profile_icon.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_phone_input.dart'; +import 'package:krow/features/profile/domain/bloc/personal_info_bloc.dart'; + +class PersonalInfoForm extends StatefulWidget { + const PersonalInfoForm({ + super.key, + }); + + @override + State createState() => _PersonalInfoFormState(); +} + +class _PersonalInfoFormState extends State { + final _firstNameController = TextEditingController(); + final _lastNameController = TextEditingController(); + final _phoneController = TextEditingController(); + // final _emailController = TextEditingController(); + late final _bloc = context.read(); + + void _syncControllersWithState(PersonalInfoState state) { + _firstNameController.text = state.firstName; + _lastNameController.text = state.lastName; + // _emailController.text = state.email; + _phoneController.text = state.phoneNumber; + } + + @override + void initState() { + super.initState(); + + _syncControllersWithState(_bloc.state); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(16), + BlocBuilder( + buildWhen: (previous, current) => + previous.profileImageUrl != current.profileImageUrl, + builder: (context, state) { + return ProfileIcon( + diameter: 96, + onChange: (imagePath) { + _bloc.add(UpdateProfileImage(imagePath)); + }, + imagePath: state.profileImagePath, + imageUrl: state.profileImageUrl, + imageQuality: 0, + ); + }, + ), + const Gap(24), + BlocConsumer( + buildWhen: (previous, current) => previous.status != current.status, + listenWhen: (previous, current) => + previous.isUpdateReceived != current.isUpdateReceived, + listener: (_, state) { + if (!state.isUpdateReceived) return; + + _syncControllersWithState(state); + }, + builder: (context, state) { + final bool isValidationFailed = state.status == StateStatus.error; + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('Name', style: AppTextStyles.headingH3), + const Gap(12), + KwTextInput( + title: 'First Name', + hintText: 'Enter your first name', + controller: _firstNameController, + keyboardType: TextInputType.name, + onChanged: (firstName) { + _bloc.add(UpdateFirstName(firstName)); + }, + ), + const Gap(8), + KwTextInput( + title: 'Last Name', + hintText: 'Enter your last name', + controller: _lastNameController, + keyboardType: TextInputType.name, + onChanged: (lastName) { + _bloc.add(UpdateLastName(lastName)); + }, + ), + // const Gap(8), + // KwTextInput( + // title: 'Middle Name (optional)', + // hintText: 'Enter your middle name', + // controller: _middleNameController, + // keyboardType: TextInputType.name, + // onChanged: (middleName) { + // _bloc.add(UpdateMiddleName(middleName)); + // }, + // ), + const Gap(24), + const Text('Phone Number', style: AppTextStyles.headingH3), + const Gap(12), + KwPhoneInput( + controller: _phoneController, + onChanged: (phoneNumber) { + _bloc.add(UpdatePhoneNumber(phoneNumber)); + }, + ), + + // const Gap(24), + // const Text('Email', style: AppTextStyles.headingH3), + // const Gap(12), + // KwTextInput( + // hintText: 'email@website.com', + // controller: _emailController, + // keyboardType: TextInputType.emailAddress, + // showError: isValidationFailed && + // state.emailValidationError.isNotEmpty, + // helperText: state.emailValidationError, + // onChanged: (email) { + // _bloc.add(UpdateEmail(email)); + // }, + // ), + ], + ); + }, + ), + const Gap(40), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/profile/profile_flow_screen.dart b/mobile-apps/client-app/lib/features/profile/profile_flow_screen.dart new file mode 100644 index 00000000..45557b2b --- /dev/null +++ b/mobile-apps/client-app/lib/features/profile/profile_flow_screen.dart @@ -0,0 +1,18 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/domain/bloc/personal_info_bloc.dart'; + +@RoutePage() +class ProfileFlowScreen extends StatelessWidget { + const ProfileFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (BuildContext context) => + PersonalInfoBloc()..add(InitializeProfileInfoEvent()), + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/data/gql.dart b/mobile-apps/client-app/lib/features/rate_staff/data/gql.dart new file mode 100644 index 00000000..76119843 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/data/gql.dart @@ -0,0 +1,7 @@ +const String updateStaffRatingMutationSchema = ''' +mutation updateStaffRating(\$input: RateClientStaffInput!) { + rate_client_staff(input: \$input) { + id + } +} +'''; diff --git a/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_provider.dart b/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_provider.dart new file mode 100644 index 00000000..1949e73e --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_provider.dart @@ -0,0 +1,37 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/rate_staff/data/gql.dart'; + +@singleton +class ClientProfileApiProvider { + ClientProfileApiProvider(this._client); + + final ApiClient _client; + + Future updateStaffRating( + {required String positionId, + required int rating, + String? reason, + String? details, + bool? isBlocked , + bool? isFavorite }) async { + final QueryResult result = await _client.mutate( + schema: updateStaffRatingMutationSchema, + body: { + 'input': { + 'position_staff_id': positionId, + 'rating': rating, + if (reason != null && reason.isNotEmpty) 'reason': reason, + if (details != null && details.isNotEmpty) 'details': details.trim(), + 'is_blocked': isBlocked??false, + 'is_favorite': isFavorite??false, + }, + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_repository.dart b/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_repository.dart new file mode 100644 index 00000000..f5e72101 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/data/rating_staff_repository.dart @@ -0,0 +1,9 @@ +abstract class RatingStaffRepository { + Future rateStaff( + {required String positionId, + required int rating, + String? reason, + String? details, + bool isBlocked = false, + bool isFavorite = false}); +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_bloc.dart b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_bloc.dart new file mode 100644 index 00000000..91cd3195 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_bloc.dart @@ -0,0 +1,59 @@ +import 'package:bloc/bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/features/rate_staff/data/rating_staff_repository.dart'; +import 'package:meta/meta.dart'; + +part 'rating_staff_event.dart'; +part 'rating_staff_state.dart'; + +class RatingStaffBloc extends Bloc { + RatingStaffBloc(StaffContact staff) : super(RatingStaffState(staff: staff, favorite: staff.isFavorite, blackListed: staff.isBlackListed)) { + on(_onRatingChanged); + on(_onStaffFavoriteToggle); + on(_onStaffBlacklistToggle); + on(_onStaffReasonSelected); + on(_onStaffReasonDetailsChange); + on(_onRatingSubmit); + } + + void _onRatingChanged(RatingChangedEvent event, emit) { + emit(state.copyWith(rating: event.rating)); + } + + void _onStaffFavoriteToggle(StaffFavoriteToggleEvent event, emit) { + emit(state.copyWith(favorite: !state.favorite)); + } + + void _onStaffBlacklistToggle(StaffBlacklistToggleEvent event, emit) { + emit(state.copyWith(blackListed: !state.blackListed)); + } + + void _onStaffReasonSelected(StaffReasonSelectedEvent event, emit) { + emit(state.copyWith(reason: event.reason)); + } + + void _onStaffReasonDetailsChange( + StaffReasonDetailsChangeEvent event, emit) { + emit(state.copyWith(comment: event.details)); + } + + void _onRatingSubmit(RatingSubmitEvent event, emit) async { + //todo change staff entity; + try { + await getIt().rateStaff( + positionId: state.staff.id, + rating: state.rating, + reason: state.reason, + details: state.comment, + isBlocked: state.blackListed, + isFavorite: state.favorite, + ); + } catch (e) { + emit(state.copyWith(error: e.toString())); + return; + } + state.staff.rating.value = state.rating.toDouble(); + emit(state.copyWith(success: true)); + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_event.dart b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_event.dart new file mode 100644 index 00000000..b63b2062 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_event.dart @@ -0,0 +1,30 @@ +part of 'rating_staff_bloc.dart'; + +@immutable +sealed class RatingStaffEvent {} + +class RatingChangedEvent extends RatingStaffEvent { + final int rating; + + RatingChangedEvent(this.rating); +} + +class StaffFavoriteToggleEvent extends RatingStaffEvent {} + +class StaffBlacklistToggleEvent extends RatingStaffEvent {} + +class StaffReasonSelectedEvent extends RatingStaffEvent { + final String reason; + + StaffReasonSelectedEvent(this.reason); +} + +class StaffReasonDetailsChangeEvent extends RatingStaffEvent { + final String details; + + StaffReasonDetailsChangeEvent(this.details); +} + +class RatingSubmitEvent extends RatingStaffEvent {} + + diff --git a/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_state.dart b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_state.dart new file mode 100644 index 00000000..29bc1510 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/domain/bloc/rating_staff_state.dart @@ -0,0 +1,44 @@ +part of 'rating_staff_bloc.dart'; + +class RatingStaffState { + StaffContact staff; + int rating; + bool favorite = false; + bool blackListed = false; + String? reason; + String comment = ''; + String error = ''; + bool success = false; + + RatingStaffState( + {required this.staff, + this.rating = 5, + this.favorite = false, + this.blackListed = false, + this.reason, + this.comment = '', + this.success = false, + this.error = ''}); + + copyWith({ + StaffContact? staff, + int? rating, + bool? favorite, + bool? blackListed, + String? reason, + String? comment, + String? error, + bool? success, + }) { + return RatingStaffState( + staff: staff ?? this.staff, + rating: rating ?? this.rating, + favorite: favorite ?? this.favorite, + blackListed: blackListed ?? this.blackListed, + reason: reason ?? this.reason, + comment: comment ?? this.comment, + error: error ?? '', + success: success ?? false, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/domain/rating_staff_repository_impl.dart b/mobile-apps/client-app/lib/features/rate_staff/domain/rating_staff_repository_impl.dart new file mode 100644 index 00000000..ecc52cc8 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/domain/rating_staff_repository_impl.dart @@ -0,0 +1,30 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/rate_staff/data/rating_staff_provider.dart'; +import 'package:krow/features/rate_staff/data/rating_staff_repository.dart'; + +@Singleton(as: RatingStaffRepository) +class RatingStaffRepositoryImpl implements RatingStaffRepository { + RatingStaffRepositoryImpl({ + required ClientProfileApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final ClientProfileApiProvider _apiProvider; + + @override + Future rateStaff( + {required String positionId, + required int rating, + String? reason, + String? details, + bool isBlocked = false, + bool isFavorite = false}) { + return _apiProvider.updateStaffRating( + positionId: positionId, + rating: rating, + reason: reason, + details: details, + isBlocked: isBlocked, + isFavorite: isFavorite, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/presentation/rate_staff_screen.dart b/mobile-apps/client-app/lib/features/rate_staff/presentation/rate_staff_screen.dart new file mode 100644 index 00000000..bd8c0dc1 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/presentation/rate_staff_screen.dart @@ -0,0 +1,155 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/entity/staff_contact_entity.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/staff_position_details_widget.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/rate_staff/domain/bloc/rating_staff_bloc.dart'; +import 'package:krow/features/rate_staff/presentation/widgets/rating_widget.dart'; + +@RoutePage() +class RateStaffScreen extends StatelessWidget implements AutoRouteWrapper { + final StaffContact staff; + final TextEditingController _reasonController = TextEditingController(); + + RateStaffScreen({super.key, required this.staff}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Rate Staff', + ), + body: BlocConsumer( + listener: (context, state) { + if (state.error.isNotEmpty) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(state.error), + backgroundColor: AppColors.statusError, + ), + ); + } + + if (state.success) { + context.router.maybePop(); + } + }, + builder: (context, state) { + return ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(horizontal: 0), + upperWidget: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Gap(16), + StaffPositionAvatar( + imageUrl: staff.photoUrl, + userName: '${staff.firstName} ${staff.lastName}'), + const Gap(16), + StaffContactsWidget(staff: staff), + const Gap(12), + StaffPositionDetailsWidget(staff: staff), + const Gap(12), + const RatingWidget(), + if (state.rating < 3) ..._blackListCheckbox(context, state), + const Gap(24), + ], + ), + lowerWidget: Padding( + padding: const EdgeInsets.only(bottom: 36, left: 16, right: 16), + child: KwButton.primary( + disabled: state.rating < 3 && state.reason == null, + onPressed: () { + BlocProvider.of(context).add( + RatingSubmitEvent(), + ); + }, + label: 'Submit Review'), + ), + ); + }, + ), + ); + } + + List _blackListCheckbox( + BuildContext context, RatingStaffState state) { + return [ + const Gap(12), + GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(StaffBlacklistToggleEvent()); + }, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Gap(32), + KWCheckBox( + value: state.blackListed, + style: CheckBoxStyle.black, + ), + const Gap(6), + Text( + 'Don\'t assign to my Events anymore', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(16), + ], + ), + ), + Padding( + padding: const EdgeInsets.only(top: 24, left: 16, right: 16), + child: KwDropdown( + title: 'Reason', + items: ['Lack of responsibility', 'Unpreparedness', 'Poor communication','Unprofessional behavior','Ignoring Responsibilities'] + .map((e) => KwDropDownItem(data: e, title: e)) + .toList(), + horizontalPadding: 16, + hintText: 'Select a reason', + selectedItem: state.reason != null + ? KwDropDownItem(data: state.reason!, title: state.reason!) + : null, + onSelected: (String item) { + BlocProvider.of(context) + .add(StaffReasonSelectedEvent(item)); + }, + ), + ), + const Gap(8), + Padding( + padding: const EdgeInsets.only(top: 8.0, left: 16, right: 16), + child: KwTextInput( + onChanged: (String value) { + BlocProvider.of(context) + .add(StaffReasonDetailsChangeEvent(value)); + }, + minHeight: 144, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'Additional Details', + hintText: 'Enter your reason here...', + controller: _reasonController, + ), + ), + ]; + } + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => RatingStaffBloc(staff), + child: this, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/rate_staff/presentation/widgets/rating_widget.dart b/mobile-apps/client-app/lib/features/rate_staff/presentation/widgets/rating_widget.dart new file mode 100644 index 00000000..e1ce9b00 --- /dev/null +++ b/mobile-apps/client-app/lib/features/rate_staff/presentation/widgets/rating_widget.dart @@ -0,0 +1,84 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/rate_staff/domain/bloc/rating_staff_bloc.dart'; + +class RatingWidget extends StatelessWidget { + const RatingWidget({super.key,}); + + final double maxRating = 5.0; // Maximum rating, e.g., 5 + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Container( + padding: const EdgeInsets.all(12.0), + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Client’s rate'.toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + state.rating >= 3 + ? GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(StaffFavoriteToggleEvent()); + }, + child: state.favorite + ? Assets.images.icons.heart.svg() + : Assets.images.icons.heartEmpty.svg(), + ) + : const SizedBox(height: 20) + ], + ), + const Gap(4), + Center( + child: Text(state.rating.toStringAsFixed(1), + style: AppTextStyles.headingH0), + ), + const Gap(4), + _buildRating(state.rating, context), + ], + ), + ); + }, + ); + } + + _buildRating(int rating, BuildContext context) { + List stars = []; + for (int i = 1; i <= maxRating; i++) { + var star; + if (i <= rating) { + star = (Assets.images.icons.ratingStar.star.svg()); + } else { + star = (Assets.images.icons.ratingStar.starEmpty.svg()); + } + stars.add(GestureDetector( + onTap: () { + BlocProvider.of(context).add(RatingChangedEvent(i)); + }, + child: star, + )); + } + + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [const Gap(28), ...stars, const Gap(28)], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_bloc.dart b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_bloc.dart new file mode 100644 index 00000000..fff10971 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_bloc.dart @@ -0,0 +1,121 @@ +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/common/validators/email_validator.dart'; + +part 'sign_in_event.dart'; +part 'sign_in_state.dart'; + +class SignInBloc extends Bloc { + String? code; + + SignInBloc() : super(const SignInState()) { + on(_onSwitchObscurePassword); + on(_onSignIn); + on(_onResetPassNextStep); + on(_onResetPassBack); + on(_onEmailChanged); + on(_onPassChanged); + on(_onResetVerified); + on(_onConfirmNewPass); + } + + void _onSwitchObscurePassword(SwitchObscurePasswordEvent event, emit) { + emit(state.copyWith(obscurePassword: !state.obscurePassword)); + } + + void _onSignIn(SignInEventSignIn event, emit) async { + emit(state.copyWith(inLoading: true)); + + var validationResult = EmailValidator.validate(state.email); + if (validationResult != null) { + emit(state.copyWith( + emailValidationError: validationResult, inLoading: false)); + return; + } + + if(event.password.length<8){ + emit(state.copyWith( + passValidationError: 'Password must be at least 8 characters long.', inLoading: false)); + return; + } + + try { + await FirebaseAuth.instance.signInWithEmailAndPassword( + email: state.email, password: event.password); + + emit(state.copyWith(authSuccess: true, inLoading: false)); + } catch (e) { + emit(state.copyWith( + emailValidationError: 'Failed to sign in.', inLoading: false)); + } + } + + void _onResetPassNextStep(ResetPassNextStepEvent event, emit) async { + if (state.resetPassStep == ResetPassStep.email) { + var validationResult = EmailValidator.validate(state.email); + if (validationResult != null) { + emit(state.copyWith(inputValidationError: validationResult)); + return; + } + + try { + await FirebaseAuth.instance.sendPasswordResetEmail(email: state.email); + } catch (e) { + emit(state.copyWith( + inputValidationError: 'Failed to send password reset email.')); + return; + } + } + + emit(state.copyWith( + resetPassStep: ResetPassStep.values[state.resetPassStep.index + 1], + inputValidationError: '', + obscurePassword: true)); + } + + void _onResetVerified(SignInEventOnResetVerified event, emit) async { + var email = await FirebaseAuth.instance.verifyPasswordResetCode(event.code); + try { + code = event.code; + emit(state.copyWith( + resetPassStep: ResetPassStep.email, + email: email, + obscurePassword: true)); + return; + } catch (e) { + debugPrint(e.toString()); + } + } + + void _onConfirmNewPass(ConfirmNewPassEvent event, emit) async { + if (event.password != event.passwordDuplicate) { + emit(state.copyWith(inputValidationError: 'Passwords do not match.')); + return; + } + try { + await FirebaseAuth.instance + .confirmPasswordReset(code: code!, newPassword: event.password); + emit(state.copyWith( + resetPassStep: ResetPassStep.success, + email: '', + obscurePassword: true)); + } catch (e) { + emit(state.copyWith(inputValidationError: 'Failed to reset password.')); + return; + } + } + + void _onResetPassBack(ResetPassBackEvent event, emit) { + emit(state.copyWith( + resetPassStep: ResetPassStep.email, email: '', obscurePassword: true)); + } + + void _onEmailChanged(SignInEventEmailChanged event, emit) { + emit(state.copyWith(email: event.email, inputValidationError: '', emailValidationError: '')); + } + + void _onPassChanged(SignInEventPassChanged event, emit) { + emit(state.copyWith(passValidationError: '')); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_event.dart b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_event.dart new file mode 100644 index 00000000..dcff2cc8 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_event.dart @@ -0,0 +1,38 @@ +part of 'sign_in_bloc.dart'; + +@immutable +sealed class SignInEvent {} + +class SignInEventSignIn extends SignInEvent { + final String password; + + SignInEventSignIn(this.password); +} + +class ResetPassNextStepEvent extends SignInEvent {} + +class ResetPassBackEvent extends SignInEvent {} + +class SwitchObscurePasswordEvent extends SignInEvent {} + +class SignInEventEmailChanged extends SignInEvent { + final String email; + + SignInEventEmailChanged(this.email); +} + +class SignInEventPassChanged extends SignInEvent { +} + +class SignInEventOnResetVerified extends SignInEvent { + final String code; + + SignInEventOnResetVerified(this.code); +} + +class ConfirmNewPassEvent extends SignInEvent { + final String password; + final String passwordDuplicate; + + ConfirmNewPassEvent(this.password, this.passwordDuplicate); +} diff --git a/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_state.dart b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_state.dart new file mode 100644 index 00000000..57b28ebc --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/domain/bloc/sign_in_state.dart @@ -0,0 +1,48 @@ +part of 'sign_in_bloc.dart'; + +enum ResetPassStep { email, link, password, success } + +@immutable +class SignInState { + final bool inLoading; + final String inputValidationError; + final String email; + final ResetPassStep resetPassStep; + final bool obscurePassword; + final bool authSuccess; + final String emailValidationError; + final String passValidationError; + + const SignInState({ + this.inLoading = false, + this.inputValidationError = '', + this.emailValidationError = '', + this.passValidationError = '', + this.email = '', + this.resetPassStep = ResetPassStep.email, + this.obscurePassword = true, + this.authSuccess = false, + }); + + SignInState copyWith({ + bool? inLoading, + String? inputValidationError, + String? email, + ResetPassStep? resetPassStep, + bool? obscurePassword, + bool? authSuccess, + String? emailValidationError, + String? passValidationError, + }) { + return SignInState( + inLoading: inLoading ?? this.inLoading, + inputValidationError: inputValidationError ?? this.inputValidationError, + email: email ?? this.email, + resetPassStep: resetPassStep ?? this.resetPassStep, + obscurePassword: obscurePassword ?? this.obscurePassword, + authSuccess: authSuccess ?? this.authSuccess, + emailValidationError: emailValidationError ?? this.emailValidationError, + passValidationError: passValidationError ?? this.passValidationError, + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/enter_new_pass_screen.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/enter_new_pass_screen.dart new file mode 100644 index 00000000..dfdd8e92 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/enter_new_pass_screen.dart @@ -0,0 +1,97 @@ +import 'package:auto_route/annotations.dart'; +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; +import 'package:krow/features/sign_in/presentation/reset_pass_screen/widgets/enter_new_pass_form.dart'; +import 'package:krow/features/sign_in/presentation/reset_pass_screen/widgets/reset_success_form.dart'; + +@RoutePage() +class EnterNewPassScreen extends StatefulWidget { + final String? code; + + const EnterNewPassScreen({super.key, @QueryParam('oobCode') this.code}); + + @override + State createState() => _EnterNewPassScreenState(); +} + +class _EnterNewPassScreenState extends State { + @override + void initState() { + super.initState(); + context + .read() + .add(SignInEventOnResetVerified(widget.code ?? '')); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(), + body: BlocBuilder( + builder: (context, state) { + var form = _getForm(state); + + return ScrollLayoutHelper( + upperWidget: form, + lowerWidget: Column( + children: [ + KwButton.primary( + label: _buttonText(state), + onPressed: () { + context.read().add(ResetPassNextStepEvent()); + }, + ), + const Gap(36), + RichText( + text: TextSpan( + text: 'Remember your password? ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + recognizer: TapGestureRecognizer() + ..onTap = () { + Navigator.maybePop(context); + }, + text: 'Log In', + style: AppTextStyles.bodyMediumSmb, + ), + ], + )), + const Gap(36), + ], + ), + ); + }, + ), + ); + } + + String _buttonText(SignInState state) { + switch (state.resetPassStep) { + case ResetPassStep.password: + return 'Save New Password'; + case ResetPassStep.success: + return 'Go to Login'; + default: + return 'Next'; + } + } + + _getForm(SignInState state) { + if (state.resetPassStep == ResetPassStep.success) { + return const ResetSuccessForm(); + } else { + return EnterNewPassForm(obscurePassword: state.obscurePassword); + } + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/reset_pass_screen.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/reset_pass_screen.dart new file mode 100644 index 00000000..6ffbfc23 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/reset_pass_screen.dart @@ -0,0 +1,92 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; +import 'package:krow/features/sign_in/presentation/reset_pass_screen/widgets/reset_email_form.dart'; +import 'package:krow/features/sign_in/presentation/reset_pass_screen/widgets/waiting_email_link_form.dart'; + +@RoutePage() +class ResetPassScreen extends StatelessWidget { + const ResetPassScreen({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(), + body: BlocConsumer( + listener: (context, state) { + if (state.resetPassStep == ResetPassStep.password) { + context.router.replace(EnterNewPassRoute()); + } + }, + builder: (context, state) { + var form = _getForm(state); + return ScrollLayoutHelper( + upperWidget: form, + lowerWidget: Column( + children: [ + KwButton.primary( + disabled: state.resetPassStep != ResetPassStep.email, + label: _buttonText(state), + onPressed: () { + if (state.resetPassStep == ResetPassStep.email) { + context.read().add(ResetPassNextStepEvent()); + } + }, + ), + const Gap(36), + RichText( + text: TextSpan( + text: 'Remember your password? ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + recognizer: TapGestureRecognizer() + ..onTap = () { + Navigator.maybePop(context); + }, + text: 'Log In', + style: AppTextStyles.bodyMediumSmb, + ), + ], + )), + const Gap(36), + ], + ), + ); + }, + ), + ); + } + + String _buttonText(SignInState state) { + switch (state.resetPassStep) { + case ResetPassStep.email: + return 'Send Reset Link'; + case ResetPassStep.link: + return 'Continue'; + default: + return 'Next'; + } + } + + _getForm(SignInState state) { + switch (state.resetPassStep) { + case ResetPassStep.email: + return const ResetEmailForm(); + case ResetPassStep.link: + return WaitingEmailLinkForm(email: state.email); + default: + return const SizedBox.shrink(); + } + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/enter_new_pass_form.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/enter_new_pass_form.dart new file mode 100644 index 00000000..cee5f01f --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/enter_new_pass_form.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; + +class EnterNewPassForm extends StatelessWidget { + final bool obscurePassword; + + const EnterNewPassForm({super.key, required this.obscurePassword}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + const Text( + 'Reset Your Password', + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + 'Create a new password for your account', + style: + AppTextStyles.bodyMediumReg.copyWith(color: AppColors.blackGray), + ), + const Gap(24), + KwTextInput( + title: 'New Password', + hintText: 'Enter password here', + obscureText: obscurePassword, + maxLines: 1, + suffixIcon: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(SwitchObscurePasswordEvent()); + }, + child: Padding( + padding: const EdgeInsets.only(right: 16), + child: obscurePassword + ? Assets.images.icons.eyeOff.svg() + : Assets.images.icons.eye.svg(), + ), + ), + controller: TextEditingController()), + const Gap(8), + KwTextInput( + title: 'Confirm Password', + hintText: 'Enter password here', + maxLines: 1, + obscureText: obscurePassword, + suffixIcon: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(SwitchObscurePasswordEvent()); + }, + child: Padding( + padding: const EdgeInsets.only(right: 16), + child: obscurePassword + ? Assets.images.icons.eyeOff.svg() + : Assets.images.icons.eye.svg(), + ), + ), + controller: TextEditingController()), + const Gap(24), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_email_form.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_email_form.dart new file mode 100644 index 00000000..8ab7f76c --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_email_form.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; + +class ResetEmailForm extends StatefulWidget { + const ResetEmailForm({super.key}); + + @override + State createState() => _ResetEmailFormState(); +} + +class _ResetEmailFormState extends State { + var textEditingController = TextEditingController(); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + const Text( + 'Forgot Password?', + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + 'Enter the email address associated with your account', + style: + AppTextStyles.bodyMediumReg.copyWith(color: AppColors.blackGray), + ), + const Gap(24), + BlocBuilder( + builder: (context, state) { + return KwTextInput( + title: 'Email', + hintText: 'Enter your email', + keyboardType: TextInputType.emailAddress, + onChanged: (str) { + context.read().add(SignInEventEmailChanged(str)); + }, + helperText: state.inputValidationError, + showError: state.inputValidationError.isNotEmpty, + controller: textEditingController); + }, + ), + const Gap(24), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_success_form.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_success_form.dart new file mode 100644 index 00000000..f5d346d7 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/reset_success_form.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ResetSuccessForm extends StatelessWidget { + const ResetSuccessForm({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + const Text( + 'Password Reset Successful!', + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + 'Your password has been updated. You can now log in with your new password', + style: + AppTextStyles.bodyMediumReg.copyWith(color: AppColors.blackGray), + ), + const Gap(24), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/waiting_email_link_form.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/waiting_email_link_form.dart new file mode 100644 index 00000000..9ea75cd7 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/reset_pass_screen/widgets/waiting_email_link_form.dart @@ -0,0 +1,79 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class WaitingEmailLinkForm extends StatelessWidget { + final String email; + + const WaitingEmailLinkForm({super.key, required this.email}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + const Text( + 'Check Your Email', + style: AppTextStyles.headingH1, + ), + const Gap(8), + RichText( + text: TextSpan( + text: 'We\'ve sent a password reset link to ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: email, + style: AppTextStyles.bodyMediumMed, + ), + TextSpan( + text: + '. Please check your inbox and follow the instructions to reset your password', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + Center( + child: Padding( + padding: EdgeInsets.only( + //на око + top: (MediaQuery.of(context).size.height - 520) / 2), //на око + child: RichText( + textAlign: TextAlign.center, + text: TextSpan( + text: 'Didn\'t receive the email?\n', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: 'Resend', + style: AppTextStyles.bodyMediumSmb + .copyWith(color: AppColors.primaryBlue), + recognizer: TapGestureRecognizer()..onTap = () {}, + ), + TextSpan( + text: ' or ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + TextSpan( + text: 'Contact Support', + style: AppTextStyles.bodyMediumSmb + .copyWith(color: AppColors.primaryBlue), + recognizer: TapGestureRecognizer()..onTap = () {}, + ), + ], + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_flow_screen.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_flow_screen.dart new file mode 100644 index 00000000..f7c55766 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_flow_screen.dart @@ -0,0 +1,19 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; + +@RoutePage() +class SignInFlowScreen extends StatelessWidget { + const SignInFlowScreen({ + super.key, + }); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (_) => SignInBloc(), + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_screen/sign_in_screen.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_screen/sign_in_screen.dart new file mode 100644 index 00000000..1e48b0df --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/sign_in_screen/sign_in_screen.dart @@ -0,0 +1,136 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/sign_in/domain/bloc/sign_in_bloc.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class SignInScreen extends StatefulWidget { + const SignInScreen({super.key}); + + @override + State createState() => _SignInScreenState(); +} + +class _SignInScreenState extends State { + final emailController = TextEditingController(); + final passController = TextEditingController(); + + @override + void initState() { + // TODO: implement initState + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(), + body: BlocConsumer( + listener: (context, state) { + if (state.authSuccess) { + context.router.replace(const SplashRoute()); + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.inLoading, + child: ScrollLayoutHelper( + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + const Text( + 'Welcome Back!', + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + 'Log in to find work opportunities that match your skills', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + KwTextInput( + title: 'Email', + hintText: 'Enter your email', + keyboardType: TextInputType.emailAddress, + helperText: state.emailValidationError, + showError: state.emailValidationError.isNotEmpty, + onChanged: (_) { + BlocProvider.of(context) + .add(SignInEventEmailChanged(emailController.text)); + }, + controller: emailController), + const Gap(8), + KwTextInput( + title: 'Password', + hintText: 'Enter password here', + obscureText: state.obscurePassword, + keyboardType: TextInputType.visiblePassword, + helperText: state.passValidationError, + showError: state.passValidationError.isNotEmpty, + maxLines: 1, + onChanged: (_) { + BlocProvider.of(context) + .add(SignInEventPassChanged()); + }, + suffixIcon: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(SwitchObscurePasswordEvent()); + }, + child: Padding( + padding: const EdgeInsets.only(right: 16), + child: state.obscurePassword + ? Assets.images.icons.eyeOff.svg() + : Assets.images.icons.eye.svg(), + ), + ), + controller: passController), + // GestureDetector( + // onTap: () async { + // await context.router.push(const ResetPassRoute()); + // BlocProvider.of(context) + // .add(ResetPassBackEvent()); + // }, + // child: const Padding( + // padding: EdgeInsets.only(left: 16, top: 12), + // child: Text( + // 'Forgot password', + // style: AppTextStyles.bodyTinyMed, + // ), + // ), + // ), + const Gap(24), + ], + ), + lowerWidget: Padding( + padding: const EdgeInsets.only(bottom: 36), + child: KwButton.primary( + disabled: + emailController.text.isEmpty || passController.text.isEmpty, + label: 'Continue', + onPressed: () { + BlocProvider.of(context).add(SignInEventSignIn( + passController.text, + )); + }, + ), + ), + ), + ); + }, + ), + ); + } +} diff --git a/mobile-apps/client-app/lib/features/sign_in/presentation/welcome_screen/welcome_screen.dart b/mobile-apps/client-app/lib/features/sign_in/presentation/welcome_screen/welcome_screen.dart new file mode 100644 index 00000000..b91ceb77 --- /dev/null +++ b/mobile-apps/client-app/lib/features/sign_in/presentation/welcome_screen/welcome_screen.dart @@ -0,0 +1,125 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; + +@RoutePage() +class WelcomeScreen extends StatelessWidget { + const WelcomeScreen({super.key}); + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Stack(fit: StackFit.expand, children: [ + _background(context), + Align( + alignment: Alignment.topCenter, + child: ClipPath( + clipper: ArcClipper(), + child: Container( + clipBehavior: Clip.none, + height: MediaQuery.of(context).size.height - 280, + decoration: const BoxDecoration( + //unnamed color from figma for this shape + color: Color(0xFF2246EA), + ), + child: Align( + alignment: Alignment.topCenter, + child: Assets.images.bgPattern.svg( + width: MediaQuery.of(context).size.width, + alignment: Alignment.bottomCenter, + fit: BoxFit.fitWidth, + colorFilter: const ColorFilter.mode( + //unnamed color from figma for this image + Color(0xFF2D50EB), + BlendMode.srcIn, + ), + ), + ), + ), + ), + ), + SafeArea( + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Assets.images.logo.svg(), + const Gap(10), + Flexible(child: Assets.images.welcome.image()), + const Gap(24), + Text( + 'Take Control of Your Shifts and Events', + textAlign: TextAlign.center, + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + const Gap(8), + Text( + 'Streamline your operations with powerful tools to manage schedules, track performance, and keep your team on the same page—all in one place', + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumReg.copyWith( + color: Colors.white, + ), + ), + const Gap(24), + KwButton.accent( + label: 'Sign In', + onPressed: () { + context.router.push(const SignInRoute()); + }), + // const Gap(12), + // KwButton.outlinedAccent( + // leftIcon: Assets.images.signInApple, + // label: 'Sign In with Apple', + // onPressed: () {}, + // ), + // const Gap(12), + // KwButton.outlinedAccent( + // leftIcon: Assets.images.signInGoogle, + // label: 'Sign In with Google', + // onPressed: () {}) + // .copyWith(originalIconsColors: true), + const Gap(32), + ], + ), + ), + ), + ]), + ); + } + + Container _background(BuildContext context) { + return Container( + alignment: Alignment.topCenter, + height: MediaQuery.of(context).size.height, + color: AppColors.primaryBlue, + ); + } +} + +class ArcClipper extends CustomClipper { + @override + Path getClip(Size size) { + final path = Path(); + path.lineTo(0, size.height - 120); + path.quadraticBezierTo( + size.width / 2, + size.height, + size.width, + size.height - 120, + ); + path.lineTo(size.width, 0); + path.close(); + return path; + } + + @override + bool shouldReclip(CustomClipper oldClipper) => false; +} diff --git a/mobile-apps/client-app/lib/features/splash/presentation/splash_screen.dart b/mobile-apps/client-app/lib/features/splash/presentation/splash_screen.dart new file mode 100644 index 00000000..8ff72e61 --- /dev/null +++ b/mobile-apps/client-app/lib/features/splash/presentation/splash_screen.dart @@ -0,0 +1,17 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class SplashScreen extends StatefulWidget { + const SplashScreen({super.key}); + + @override + State createState() => _SplashScreenState(); +} + +class _SplashScreenState extends State { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/mobile-apps/client-app/lib/firebase_options_dev.dart b/mobile-apps/client-app/lib/firebase_options_dev.dart new file mode 100644 index 00000000..5a991808 --- /dev/null +++ b/mobile-apps/client-app/lib/firebase_options_dev.dart @@ -0,0 +1,69 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: type=lint +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options_dev.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for macos - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.windows: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for windows - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4', + appId: '1:933560802882:android:edcddb83ea4bbb517757db', + messagingSenderId: '933560802882', + projectId: 'krow-workforce-dev', + storageBucket: 'krow-workforce-dev.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA', + appId: '1:933560802882:ios:7f0632ecbeff8f027757db', + messagingSenderId: '933560802882', + projectId: 'krow-workforce-dev', + storageBucket: 'krow-workforce-dev.firebasestorage.app', + iosClientId: '933560802882-ml2526jqnnsteent4i9li50c00hisoge.apps.googleusercontent.com', + iosBundleId: 'com.krow.app.business.dev', + ); +} diff --git a/mobile-apps/client-app/lib/firebase_options_staging.dart b/mobile-apps/client-app/lib/firebase_options_staging.dart new file mode 100644 index 00000000..b95107f7 --- /dev/null +++ b/mobile-apps/client-app/lib/firebase_options_staging.dart @@ -0,0 +1,68 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: type=lint +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options_staging.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for macos - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.windows: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for windows - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw', + appId: '1:1032971403708:android:d35f6d13a9e03bcb356bb9', + messagingSenderId: '1032971403708', + projectId: 'krow-workforce-staging', + storageBucket: 'krow-workforce-staging.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY', + appId: '1:1032971403708:ios:b1a21a7337a268b3356bb9', + messagingSenderId: '1032971403708', + projectId: 'krow-workforce-staging', + storageBucket: 'krow-workforce-staging.firebasestorage.app', + iosBundleId: 'com.krow.app.business.staging', + ); +} diff --git a/mobile-apps/client-app/lib/main.dart b/mobile-apps/client-app/lib/main.dart new file mode 100644 index 00000000..21349840 --- /dev/null +++ b/mobile-apps/client-app/lib/main.dart @@ -0,0 +1,19 @@ +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter/material.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/app.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'core/application/di/injectable.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(fileName: '.env'); + + await Firebase.initializeApp(); + await initHiveForFlutter(); + + configureDependencies(Environment.prod); + + runApp(const KrowApp()); +} diff --git a/mobile-apps/client-app/lib/main_dev.dart b/mobile-apps/client-app/lib/main_dev.dart new file mode 100644 index 00000000..162cc1d5 --- /dev/null +++ b/mobile-apps/client-app/lib/main_dev.dart @@ -0,0 +1,20 @@ +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/app.dart'; + +import 'core/application/di/injectable.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(fileName: '.env_dev'); + + await Firebase.initializeApp(); + await initHiveForFlutter(); + + configureDependencies(Environment.dev); + + runApp(const KrowApp()); +} diff --git a/mobile-apps/client-app/pubspec.lock b/mobile-apps/client-app/pubspec.lock new file mode 100644 index 00000000..2be772f3 --- /dev/null +++ b/mobile-apps/client-app/pubspec.lock @@ -0,0 +1,1634 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: f0bb5d1648339c8308cc0b9838d8456b3cfe5c91f9dc1a735b4d003269e5da9a + url: "https://pub.dev" + source: hosted + version: "88.0.0" + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: ff0a84a2734d9e1089f8aedd5c0af0061b82fb94e95260d943404e0ef2134b11 + url: "https://pub.dev" + source: hosted + version: "1.3.59" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "0b7b9c329d2879f8f05d6c05b32ee9ec025f39b077864bdb5ac9a7b63418a98f" + url: "https://pub.dev" + source: hosted + version: "8.1.1" + ansicolor: + dependency: transitive + description: + name: ansicolor + sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + archive: + dependency: transitive + description: + name: archive + sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" + url: "https://pub.dev" + source: hosted + version: "4.0.7" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" + source: hosted + version: "2.13.0" + auto_route: + dependency: "direct main" + description: + name: auto_route + sha256: "4916e0fe1cb782e315d0e1ebdd34170f1836a8f6e24cb528083671302b486ace" + url: "https://pub.dev" + source: hosted + version: "10.2.2" + auto_route_generator: + dependency: "direct dev" + description: + name: auto_route_generator + sha256: "4d78093dc102eef57c9d53e43454d735f1552039dc9c595ef8cfc7445d9017f2" + url: "https://pub.dev" + source: hosted + version: "10.2.6" + bloc: + dependency: transitive + description: + name: bloc + sha256: a2cebb899f91d36eeeaa55c7b20b5915db5a9df1b8fd4a3c9c825e22e474537d + url: "https://pub.dev" + source: hosted + version: "9.1.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + build: + dependency: transitive + description: + name: build + sha256: dfb67ccc9a78c642193e0c2d94cb9e48c2c818b3178a86097d644acdcde6a8d9 + url: "https://pub.dev" + source: hosted + version: "4.0.2" + build_config: + dependency: transitive + description: + name: build_config + sha256: "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957 + url: "https://pub.dev" + source: hosted + version: "4.1.1" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "7b5b569f3df370590a85029148d6fc66c7d0201fc6f1847c07dd85d365ae9fcd" + url: "https://pub.dev" + source: hosted + version: "2.10.3" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: a30f0a0e38671e89a492c44d005b5545b830a961575bbd8336d42869ff71066d + url: "https://pub.dev" + source: hosted + version: "8.12.0" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916" + url: "https://pub.dev" + source: hosted + version: "3.4.1" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" + url: "https://pub.dev" + source: hosted + version: "4.1.1" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + calendar_date_picker2: + dependency: "direct main" + description: + name: calendar_date_picker2 + sha256: "9c9b5586fb512bf1181d7f3a6273bffa9e65a4e16689902e112771e7d71d063b" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + characters: + dependency: transitive + description: + name: characters + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c + url: "https://pub.dev" + source: hosted + version: "0.4.2" + clock: + dependency: transitive + description: + name: clock + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" + source: hosted + version: "1.1.2" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: "11654819532ba94c34de52ff5feb52bd81cba1de00ef2ed622fd50295f9d4243" + url: "https://pub.dev" + source: hosted + version: "4.11.0" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + color: + dependency: transitive + description: + name: color + sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb + url: "https://pub.dev" + source: hosted + version: "3.0.0" + connectivity_plus: + dependency: "direct overridden" + description: + name: connectivity_plus + sha256: b5e72753cf63becce2c61fd04dfe0f1c430cc5278b53a1342dc5ad839eab29ec + url: "https://pub.dev" + source: hosted + version: "6.1.5" + connectivity_plus_platform_interface: + dependency: transitive + description: + name: connectivity_plus_platform_interface + sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239" + url: "https://pub.dev" + source: hosted + version: "0.3.5" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + dartx: + dependency: transitive + description: + name: dartx + sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + dbus: + dependency: transitive + description: + name: dbus + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" + url: "https://pub.dev" + source: hosted + version: "0.7.11" + expandable: + dependency: "direct main" + description: + name: expandable + sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2" + url: "https://pub.dev" + source: hosted + version: "5.0.1" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" + source: hosted + version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" + url: "https://pub.dev" + source: hosted + version: "0.9.3+2" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "88707a3bec4b988aaed3b4df5d7441ee4e987f20b286cddca5d6a8270cab23f2" + url: "https://pub.dev" + source: hosted + version: "0.9.4+5" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85" + url: "https://pub.dev" + source: hosted + version: "2.7.0" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b" + url: "https://pub.dev" + source: hosted + version: "0.9.3+4" + firebase_auth: + dependency: "direct main" + description: + name: firebase_auth + sha256: "0fed2133bee1369ee1118c1fef27b2ce0d84c54b7819a2b17dada5cfec3b03ff" + url: "https://pub.dev" + source: hosted + version: "5.7.0" + firebase_auth_platform_interface: + dependency: transitive + description: + name: firebase_auth_platform_interface + sha256: "871c9df4ec9a754d1a793f7eb42fa3b94249d464cfb19152ba93e14a5966b386" + url: "https://pub.dev" + source: hosted + version: "7.7.3" + firebase_auth_web: + dependency: transitive + description: + name: firebase_auth_web + sha256: d9ada769c43261fd1b18decf113186e915c921a811bd5014f5ea08f4cf4bc57e + url: "https://pub.dev" + source: hosted + version: "5.15.3" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: "7be63a3f841fc9663342f7f3a011a42aef6a61066943c90b1c434d79d5c995c5" + url: "https://pub.dev" + source: hosted + version: "3.15.2" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: cccb4f572325dc14904c02fcc7db6323ad62ba02536833dddb5c02cac7341c64 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: "0ed0dc292e8f9ac50992e2394e9d336a0275b6ae400d64163fdf0a8a8b556c37" + url: "https://pub.dev" + source: hosted + version: "2.24.1" + firebase_remote_config: + dependency: "direct main" + description: + name: firebase_remote_config + sha256: e1635b1e8713f4a823920ec3a56a14034b90ce455d47746ab0da994857f370cf + url: "https://pub.dev" + source: hosted + version: "5.5.0" + firebase_remote_config_platform_interface: + dependency: transitive + description: + name: firebase_remote_config_platform_interface + sha256: ce836c5c62056edbe23ef501e6876691ee32476afd12fe95b76e57bba9d25485 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + firebase_remote_config_web: + dependency: transitive + description: + name: firebase_remote_config_web + sha256: "9dbd75024bfcd47c05046c95f9cf648a8fc862b096bcf8ea1e4b855d50ea19ad" + url: "https://pub.dev" + source: hosted + version: "1.8.9" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_bloc: + dependency: "direct main" + description: + name: flutter_bloc + sha256: cf51747952201a455a1c840f8171d273be009b932c75093020f9af64f2123e38 + url: "https://pub.dev" + source: hosted + version: "9.1.1" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" + url: "https://pub.dev" + source: hosted + version: "3.4.1" + flutter_dotenv: + dependency: "direct main" + description: + name: flutter_dotenv + sha256: b7c7be5cd9f6ef7a78429cabd2774d3c4af50e79cb2b7593e3d5d763ef95c61b + url: "https://pub.dev" + source: hosted + version: "5.2.1" + flutter_gen: + dependency: "direct main" + description: + name: flutter_gen + sha256: eac4863b65813aacbf16ecc07e7c271ab82fb2d95181825348f1fb7b03fd52da + url: "https://pub.dev" + source: hosted + version: "5.12.0" + flutter_gen_core: + dependency: transitive + description: + name: flutter_gen_core + sha256: b6bafbbd981da2f964eb45bcb8b8a7676a281084f8922c0c75de4cfbaa849311 + url: "https://pub.dev" + source: hosted + version: "5.12.0" + flutter_gen_runner: + dependency: "direct dev" + description: + name: flutter_gen_runner + sha256: c99b10af9d404e3f46fd1927e7d90099779e935e86022674c4c2a9e6c2a93b29 + url: "https://pub.dev" + source: hosted + version: "5.12.0" + flutter_hooks: + dependency: transitive + description: + name: flutter_hooks + sha256: "8ae1f090e5f4ef5cfa6670ce1ab5dddadd33f3533a7f9ba19d9f958aa2a89f42" + url: "https://pub.dev" + source: hosted + version: "0.21.3+1" + flutter_launcher_icons: + dependency: "direct main" + description: + name: flutter_launcher_icons + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" + url: "https://pub.dev" + source: hosted + version: "0.14.4" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + url: "https://pub.dev" + source: hosted + version: "5.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687" + url: "https://pub.dev" + source: hosted + version: "2.0.32" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "055de8921be7b8e8b98a233c7a5ef84b3a6fcc32f46f1ebf5b9bb3576d108355" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + freezed: + dependency: "direct dev" + description: + name: freezed + sha256: "13065f10e135263a4f5a4391b79a8efc5fb8106f8dd555a9e49b750b45393d77" + url: "https://pub.dev" + source: hosted + version: "3.2.3" + freezed_annotation: + dependency: "direct main" + description: + name: freezed_annotation + sha256: "7294967ff0a6d98638e7acb774aac3af2550777accd8149c90af5b014e6d44d8" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + gap: + dependency: "direct main" + description: + name: gap + sha256: f19387d4e32f849394758b91377f9153a1b41d79513ef7668c088c77dbc6955d + url: "https://pub.dev" + source: hosted + version: "3.0.1" + geolocator: + dependency: "direct main" + description: + name: geolocator + sha256: f62bcd90459e63210bbf9c35deb6a51c521f992a78de19a1fe5c11704f9530e2 + url: "https://pub.dev" + source: hosted + version: "13.0.4" + geolocator_android: + dependency: transitive + description: + name: geolocator_android + sha256: fcb1760a50d7500deca37c9a666785c047139b5f9ee15aa5469fae7dbbe3170d + url: "https://pub.dev" + source: hosted + version: "4.6.2" + geolocator_apple: + dependency: transitive + description: + name: geolocator_apple + sha256: dbdd8789d5aaf14cf69f74d4925ad1336b4433a6efdf2fce91e8955dc921bf22 + url: "https://pub.dev" + source: hosted + version: "2.3.13" + geolocator_platform_interface: + dependency: transitive + description: + name: geolocator_platform_interface + sha256: "30cb64f0b9adcc0fb36f628b4ebf4f731a2961a0ebd849f4b56200205056fe67" + url: "https://pub.dev" + source: hosted + version: "4.2.6" + geolocator_web: + dependency: transitive + description: + name: geolocator_web + sha256: b1ae9bdfd90f861fde8fd4f209c37b953d65e92823cb73c7dee1fa021b06f172 + url: "https://pub.dev" + source: hosted + version: "4.1.3" + geolocator_windows: + dependency: transitive + description: + name: geolocator_windows + sha256: "175435404d20278ffd220de83c2ca293b73db95eafbdc8131fe8609be1421eb6" + url: "https://pub.dev" + source: hosted + version: "0.2.5" + get_it: + dependency: "direct main" + description: + name: get_it + sha256: ae78de7c3f2304b8d81f2bb6e320833e5e81de942188542328f074978cc0efa9 + url: "https://pub.dev" + source: hosted + version: "8.3.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + gql: + dependency: transitive + description: + name: gql + sha256: "67c32325eb55c15f526f0f5e7d8b38a463dbff2ec3c2e046be4a1a95f0dc93d1" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + gql_dedupe_link: + dependency: transitive + description: + name: gql_dedupe_link + sha256: "10bee0564d67c24e0c8bd08bd56e0682b64a135e58afabbeed30d85d5e9fea96" + url: "https://pub.dev" + source: hosted + version: "2.0.4-alpha+1715521079596" + gql_error_link: + dependency: transitive + description: + name: gql_error_link + sha256: dd0f3fbfbcec848ea050507470cdb5d3dc47d29544ae11044a1c883cbe159ccc + url: "https://pub.dev" + source: hosted + version: "1.0.1" + gql_exec: + dependency: transitive + description: + name: gql_exec + sha256: "394944626fae900f1d34343ecf2d62e44eb984826189c8979d305f0ae5846e38" + url: "https://pub.dev" + source: hosted + version: "1.1.1-alpha+1699813812660" + gql_http_link: + dependency: transitive + description: + name: gql_http_link + sha256: "07635e85a4f313836904961904417fd27844fe8f68f77b410a4e6b81d8e9202e" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + gql_link: + dependency: transitive + description: + name: gql_link + sha256: "0730276ce3a6a0ced073194ff923a8d99b3c78e442cbf096eb54fd0c3fa9f974" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + gql_transform_link: + dependency: transitive + description: + name: gql_transform_link + sha256: b3bb06a6991bc5c9d877e2757455f80e2c14dc684b8327bedae4f4ee67afae8b + url: "https://pub.dev" + source: hosted + version: "1.0.1" + graphql: + dependency: "direct main" + description: + name: graphql + sha256: "297a1680520e7b4d3c5784cfcea11a16d599702911b74a8ab50857c6d58741b9" + url: "https://pub.dev" + source: hosted + version: "5.2.3" + graphql_flutter: + dependency: "direct main" + description: + name: graphql_flutter + sha256: "0fef9dc2483c4f21c6ac93cd2ef0b820542fc0ce6db6efa87367326d7f36ade4" + url: "https://pub.dev" + source: hosted + version: "5.2.1" + graphs: + dependency: transitive + description: + name: graphs + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + hashcodes: + dependency: transitive + description: + name: hashcodes + sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + hive: + dependency: "direct main" + description: + name: hive + sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" + url: "https://pub.dev" + source: hosted + version: "2.2.3" + hive_ce: + dependency: transitive + description: + name: hive_ce + sha256: "81d39a03c4c0ba5938260a8c3547d2e71af59defecea21793d57fc3551f0d230" + url: "https://pub.dev" + source: hosted + version: "2.15.1" + hotreloader: + dependency: transitive + description: + name: hotreloader + sha256: bc167a1163807b03bada490bfe2df25b0d744df359227880220a5cbd04e5734b + url: "https://pub.dev" + source: hosted + version: "4.3.0" + http: + dependency: "direct main" + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: "direct main" + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + image: + dependency: transitive + description: + name: image + sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928" + url: "https://pub.dev" + source: hosted + version: "4.5.4" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: "784210112be18ea55f69d7076e2c656a4e24949fa9e76429fe53af0c0f4fa320" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: ca2a3b04d34e76157e9ae680ef16014fb4c2d20484e78417eaed6139330056f6 + url: "https://pub.dev" + source: hosted + version: "0.8.13+7" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: e675c22790bcc24e9abd455deead2b7a88de4b79f7327a281812f14de1a56f58 + url: "https://pub.dev" + source: hosted + version: "0.8.13+1" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4" + url: "https://pub.dev" + source: hosted + version: "0.2.2" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "86f0f15a309de7e1a552c12df9ce5b59fe927e71385329355aec4776c6a8ec91" + url: "https://pub.dev" + source: hosted + version: "0.2.2+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c" + url: "https://pub.dev" + source: hosted + version: "2.11.1" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae + url: "https://pub.dev" + source: hosted + version: "0.2.2" + image_size_getter: + dependency: transitive + description: + name: image_size_getter + sha256: "7c26937e0ae341ca558b7556591fd0cc456fcc454583b7cb665d2f03e93e590f" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + injectable: + dependency: "direct main" + description: + name: injectable + sha256: "29559f7e3daebf0084597de86a825ae7f149d9e30264b7fbc71d1069ae82697d" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + injectable_generator: + dependency: "direct dev" + description: + name: injectable_generator + sha256: "309c3f3546160dd00b575f16b341a6a3025479950441bcc7fcb2f8404a40d326" + url: "https://pub.dev" + source: hosted + version: "2.9.1" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + isolate_channel: + dependency: transitive + description: + name: isolate_channel + sha256: f3d36f783b301e6b312c3450eeb2656b0e7d1db81331af2a151d9083a3f6b18d + url: "https://pub.dev" + source: hosted + version: "0.2.2+1" + json_annotation: + dependency: "direct main" + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + json_serializable: + dependency: "direct dev" + description: + name: json_serializable + sha256: "33a040668b31b320aafa4822b7b1e177e163fc3c1e835c6750319d4ab23aa6fe" + url: "https://pub.dev" + source: hosted + version: "6.11.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + lean_builder: + dependency: transitive + description: + name: lean_builder + sha256: ef5cd5f907157eb7aa87d1704504b5a6386d2cbff88a3c2b3344477bab323ee9 + url: "https://pub.dev" + source: hosted + version: "0.1.2" + lints: + dependency: transitive + description: + name: lints + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + url: "https://pub.dev" + source: hosted + version: "5.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + modal_progress_hud_nsn: + dependency: "direct main" + description: + name: modal_progress_hud_nsn + sha256: "7d1b2eb50da63c994f8ec2da5738183dbc8235a528e840ecbf67439adb7a6cc2" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + nm: + dependency: transitive + description: + name: nm + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + normalize: + dependency: transitive + description: + name: normalize + sha256: f78bf0552b9640c76369253f0b8fdabad4f3fbfc06bdae9359e71bee9a5b071b + url: "https://pub.dev" + source: hosted + version: "0.9.1" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968" + url: "https://pub.dev" + source: hosted + version: "8.3.1" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: e122c5ea805bb6773bb12ce667611265980940145be920cd09a4b0ec0285cb16 + url: "https://pub.dev" + source: hosted + version: "2.2.20" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738 + url: "https://pub.dev" + source: hosted + version: "2.4.3" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" + url: "https://pub.dev" + source: hosted + version: "7.0.1" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" + url: "https://pub.dev" + source: hosted + version: "1.5.2" + posix: + dependency: transitive + description: + name: posix + sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61" + url: "https://pub.dev" + source: hosted + version: "6.0.3" + provider: + dependency: transitive + description: + name: provider + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" + url: "https://pub.dev" + source: hosted + version: "6.1.5+1" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + qr: + dependency: transitive + description: + name: qr + sha256: "5a1d2586170e172b8a8c8470bbbffd5eb0cd38a66c0d77155ea138d3af3a4445" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + qr_flutter: + dependency: "direct main" + description: + name: qr_flutter + sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + recase: + dependency: transitive + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + rxdart: + dependency: "direct main" + description: + name: rxdart + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" + url: "https://pub.dev" + source: hosted + version: "0.28.0" + share_plus: + dependency: "direct main" + description: + name: share_plus + sha256: d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1 + url: "https://pub.dev" + source: hosted + version: "11.1.0" + share_plus_platform_interface: + dependency: transitive + description: + name: share_plus_platform_interface + sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5" + url: "https://pub.dev" + source: hosted + version: "2.5.3" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: "34266009473bf71d748912da4bf62d439185226c03e01e2d9687bc65bbfcb713" + url: "https://pub.dev" + source: hosted + version: "2.4.15" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: "1c33a907142607c40a7542768ec9badfd16293bac51da3a4482623d15845f88b" + url: "https://pub.dev" + source: hosted + version: "2.5.5" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019 + url: "https://pub.dev" + source: hosted + version: "2.4.3" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "9098ab86015c4f1d8af6486b547b11100e73b193e1899015033cb3e14ad20243" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + source_helper: + dependency: transitive + description: + name: source_helper + sha256: "6a3c6cc82073a8797f8c4dc4572146114a39652851c157db37e964d9c7038723" + url: "https://pub.dev" + source: hosted + version: "1.3.8" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: ecd684501ebc2ae9a83536e8b15731642b9570dc8623e0073d227d0ee2bfea88 + url: "https://pub.dev" + source: hosted + version: "2.4.2+2" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "6ef422a4525ecc601db6c0a2233ff448c731307906e92cabc9ba292afaae16a6" + url: "https://pub.dev" + source: hosted + version: "2.5.6" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0 + url: "https://pub.dev" + source: hosted + version: "3.4.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test_api: + dependency: transitive + description: + name: test_api + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + url: "https://pub.dev" + source: hosted + version: "0.7.7" + time: + dependency: transitive + description: + name: time + sha256: "370572cf5d1e58adcb3e354c47515da3f7469dac3a95b447117e728e7be6f461" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "5c8b6c2d89a78f5a1cca70a73d9d5f86c701b36b42f9c9dac7bad592113c28e9" + url: "https://pub.dev" + source: hosted + version: "6.3.24" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "6b63f1441e4f653ae799166a72b50b1767321ecc263a57aadf825a7a2a5477d9" + url: "https://pub.dev" + source: hosted + version: "6.3.5" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "8262208506252a3ed4ff5c0dc1e973d2c0e0ef337d0a074d35634da5d44397c9" + url: "https://pub.dev" + source: hosted + version: "3.2.4" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + uuid: + dependency: transitive + description: + name: uuid + sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8 + url: "https://pub.dev" + source: hosted + version: "4.5.2" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6 + url: "https://pub.dev" + source: hosted + version: "1.1.19" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" + url: "https://pub.dev" + source: hosted + version: "1.1.13" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc + url: "https://pub.dev" + source: hosted + version: "1.1.19" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a" + url: "https://pub.dev" + source: hosted + version: "1.1.4" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + win32: + dependency: transitive + description: + name: win32 + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e + url: "https://pub.dev" + source: hosted + version: "5.15.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" + url: "https://pub.dev" + source: hosted + version: "6.6.1" + xxh3: + dependency: transitive + description: + name: xxh3 + sha256: "399a0438f5d426785723c99da6b16e136f4953fb1e9db0bf270bd41dd4619916" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" diff --git a/mobile-apps/client-app/pubspec.yaml b/mobile-apps/client-app/pubspec.yaml new file mode 100644 index 00000000..8171d08e --- /dev/null +++ b/mobile-apps/client-app/pubspec.yaml @@ -0,0 +1,116 @@ +name: krow +description: "A new Flutter project." +publish_to: 'none' + +version: 1.0.36+116 + +environment: + sdk: ^3.5.4 + +dependencies: + flutter: + sdk: flutter + + + cupertino_icons: ^1.0.8 + injectable: ^2.5.0 + get_it: ^8.0.3 + auto_route: ^10.0.1 + flutter_gen: ^5.10.0 + gap: ^3.0.1 + flutter_svg: ^2.0.17 + firebase_core: ^3.12.1 + firebase_auth: ^5.5.1 + flutter_bloc: ^9.1.0 + url_launcher: ^6.3.1 + image_picker: ^1.1.2 + calendar_date_picker2: ^2.0.0 + intl: ^0.20.2 + graphql_flutter: ^5.1.2 + graphql: ^5.1.3 + hive: ^2.2.3 + shared_preferences: ^2.5.2 + json_annotation: ^4.9.0 + cached_network_image: ^3.4.1 + freezed_annotation: ^3.0.0 + modal_progress_hud_nsn: ^0.5.1 + flutter_dotenv: ^5.2.1 + http: ^1.3.0 + http_parser: ^4.1.2 + rxdart: ^0.28.0 + path_provider: ^2.1.5 + qr_flutter: ^4.1.0 + expandable: ^5.0.1 + flutter_launcher_icons: ^0.14.3 + geolocator: ^13.0.3 + firebase_remote_config: ^5.4.3 + package_info_plus: ^8.3.0 + share_plus: ^11.0.0 + + + + +dependency_overrides: + connectivity_plus: ^6.1.3 + + +dev_dependencies: + flutter_test: + sdk: flutter + injectable_generator: ^2.7.0 + auto_route_generator: ^10.0.1 + build_runner: ^2.4.15 + flutter_gen_runner: ^5.10.0 + flutter_lints: ^5.0.0 + json_serializable: ^6.11.1 + freezed: ^3.0.4 + +flutter: + uses-material-design: true + assets: + - .env + - .env_dev + - assets/fonts/ + - assets/images/ + - assets/images/icons/check_box/ + - assets/images/icons/tags/ + - assets/images/icons/app_bar/ + - assets/images/icons/navigation/ + - assets/images/icons/user_profile/ + - assets/images/icons/rating_star/ + - assets/images/icons/ + + fonts: + - family: Poppins + fonts: + - asset: assets/fonts/poppins/Poppins-Regular.ttf + - asset: assets/fonts/poppins/Poppins-Medium.ttf + - asset: assets/fonts/poppins/Poppins-Bold.ttf + - asset: assets/fonts/poppins/Poppins-SemiBold.ttf + - asset: assets/fonts/poppins/Poppins-Light.ttf + - asset: assets/fonts/poppins/Poppins-ExtraLight.ttf + - asset: assets/fonts/poppins/Poppins-ExtraBold.ttf + - asset: assets/fonts/poppins/Poppins-Thin.ttf + - asset: assets/fonts/poppins/Poppins-Black.ttf + - asset: assets/fonts/poppins/Poppins-Italic.ttf + - asset: assets/fonts/poppins/Poppins-LightItalic.ttf + - asset: assets/fonts/poppins/Poppins-MediumItalic.ttf + - asset: assets/fonts/poppins/Poppins-BoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-SemiBoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-ExtraLightItalic.ttf + - asset: assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-ThinItalic.ttf + - asset: assets/fonts/poppins/Poppins-BlackItalic.ttf + +flutter_gen: + output: lib/core/presentation/gen/ + integrations: + flutter_svg: true + +flutter_launcher_icons: + android: "ic_launcher" + ios: true + image_path: "assets/favicon.png" + image_path_ios: "assets/favicon.png" + min_sdk_android: 21 + remove_alpha_ios: true \ No newline at end of file diff --git a/mobile-apps/client-app/release_prod.sh b/mobile-apps/client-app/release_prod.sh new file mode 100755 index 00000000..75665054 --- /dev/null +++ b/mobile-apps/client-app/release_prod.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + + +cd android +fastlane android release_prod +cd ../ios +fastlane ios release_prod +cd .. + + +VERSION_LINE=$(grep '^version:' pubspec.yaml | head -n 1) +VERSION=$(echo "$VERSION_LINE" | cut -d':' -f2 | cut -d'+' -f1 | xargs) +BUILD=$(echo "$VERSION_LINE" | cut -d'+' -f2 | xargs) +TAG="v${VERSION}+${BUILD}" + +git tag "$TAG" +git push origin "$TAG" \ No newline at end of file diff --git a/mobile-apps/client-app/test/widget_test.dart b/mobile-apps/client-app/test/widget_test.dart new file mode 100644 index 00000000..153f0556 --- /dev/null +++ b/mobile-apps/client-app/test/widget_test.dart @@ -0,0 +1,3 @@ +void main() { + +} diff --git a/mobile-apps/staff-app/.env b/mobile-apps/staff-app/.env new file mode 100644 index 00000000..13910467 --- /dev/null +++ b/mobile-apps/staff-app/.env @@ -0,0 +1,4 @@ +BASE_URL='https://staging.app.krow.develop.express/graphql' +GOOGLE_MAP='AIzaSyDkUk8zB_rzGkQ8fbNACifyvBpSmbkBLXc' +ANDROID_STORE_URL='https://play.google.com/store/apps/details?id=com.krow.app.staff' +IOS_STORE_URL='https://apps.apple.com/us/app/krow-staff/id6742150267' diff --git a/mobile-apps/staff-app/.env_dev b/mobile-apps/staff-app/.env_dev new file mode 100644 index 00000000..13910467 --- /dev/null +++ b/mobile-apps/staff-app/.env_dev @@ -0,0 +1,4 @@ +BASE_URL='https://staging.app.krow.develop.express/graphql' +GOOGLE_MAP='AIzaSyDkUk8zB_rzGkQ8fbNACifyvBpSmbkBLXc' +ANDROID_STORE_URL='https://play.google.com/store/apps/details?id=com.krow.app.staff' +IOS_STORE_URL='https://apps.apple.com/us/app/krow-staff/id6742150267' diff --git a/mobile-apps/staff-app/.gitignore b/mobile-apps/staff-app/.gitignore new file mode 100644 index 00000000..b09e3417 --- /dev/null +++ b/mobile-apps/staff-app/.gitignore @@ -0,0 +1,65 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +lib/injectable.config.dart +**/*.gr.dart +**/*.g.dart +**/*.gen.dart + +.env +.env_dev + +**/*.freezed.dart +**/*injectable.config.dart +/android/app/.cxx + +/ios/Runner.app.dSYM.zip +/ios/Runner.ipa +/ios/fastlane/ +/export_strings.sh + +# FVM Version Cache +.fvm/ \ No newline at end of file diff --git a/mobile-apps/staff-app/.metadata b/mobile-apps/staff-app/.metadata new file mode 100644 index 00000000..3e091192 --- /dev/null +++ b/mobile-apps/staff-app/.metadata @@ -0,0 +1,33 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "603104015dd692ea3403755b55d07813d5cf8965" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + - platform: android + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + - platform: ios + create_revision: 603104015dd692ea3403755b55d07813d5cf8965 + base_revision: 603104015dd692ea3403755b55d07813d5cf8965 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/mobile-apps/staff-app/Makefile b/mobile-apps/staff-app/Makefile new file mode 100644 index 00000000..458f808a --- /dev/null +++ b/mobile-apps/staff-app/Makefile @@ -0,0 +1,5 @@ +DEFAULT := $code_gen + +code_gen: + @echo "Running dart build_runner" + dart run build_runner build --delete-conflicting-outputs diff --git a/mobile-apps/staff-app/README.md b/mobile-apps/staff-app/README.md new file mode 100644 index 00000000..0b2fcff8 --- /dev/null +++ b/mobile-apps/staff-app/README.md @@ -0,0 +1,73 @@ +# Instructions and Console Commands for Building and Running the App + +## 📌 Environment Setup +The project uses `.env` files to manage environment configurations. Available files: + +- `.env` – for the production environment +- `.env_dev` – for the development environment + +Before running or building the app, ensure that the appropriate `.env` file is correctly configured. + +--- + +## 🔧 Code Generation +Before running the app or creating a build, generate the required code: + +```sh +flutter pub get +flutter pub run build_runner build --delete-conflicting-outputs +``` + +To enable automatic code generation on file changes, use: + +```sh +dart run build_runner build --delete-conflicting-outputs +``` + +--- + +## 🚀 Running the App + +### ▶️ Running in Visual Studio Code +Open the project in VS Code and use the `launch.json` configuration, or run the following command: + +```sh +flutter run --flavor dev -t lib/main_dev.dart +``` + +For the production environment: + +```sh +flutter run --flavor prod +``` + +### ▶️ Running in Android Studio +1. Open the project in **Android Studio**. +2. Go to **Edit Configurations**. +3. Add a new run configuration. +4. Set `Environment Variable: ENV=.env_dev` for dev or `ENV=.env` for prod. +5. Run the app via the IDE or using the terminal: + +```sh +flutter run --flavor dev -t lib/main_dev.dart +``` + +--- + +## 📦 Building the App + +### 📲 Building an App Bundle for Release + +```sh +flutter build appbundle --flavor prod --target-platform android-arm,android-arm64,android-x64 +``` + +### 📲 Building an APK for Testing + +```sh +flutter build apk --flavor dev -t lib/main_dev.dart +``` + +These commands ensure the app is correctly set up and built according to the selected environment. + +--- diff --git a/mobile-apps/staff-app/analysis_options.yaml b/mobile-apps/staff-app/analysis_options.yaml new file mode 100644 index 00000000..b69b6d21 --- /dev/null +++ b/mobile-apps/staff-app/analysis_options.yaml @@ -0,0 +1,17 @@ +include: package:flutter_lints/flutter.yaml + +analyzer: + exclude: + # General generated files + - "**/*.g.dart" + - "**/*.gr.dart" + - "**/*.gen.dart" + + # freezed + - "**/*.freezed.dart" + +linter: + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + prefer_single_quotes: true + prefer_const_constructors: true diff --git a/mobile-apps/staff-app/android/.gitignore b/mobile-apps/staff-app/android/.gitignore new file mode 100644 index 00000000..6633bb4d --- /dev/null +++ b/mobile-apps/staff-app/android/.gitignore @@ -0,0 +1,15 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks +fastlane/ +/fastlane/ diff --git a/mobile-apps/staff-app/android/Gemfile b/mobile-apps/staff-app/android/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/mobile-apps/staff-app/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/mobile-apps/staff-app/android/Gemfile.lock b/mobile-apps/staff-app/android/Gemfile.lock new file mode 100644 index 00000000..cf87c81d --- /dev/null +++ b/mobile-apps/staff-app/android/Gemfile.lock @@ -0,0 +1,227 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.2) + aws-partitions (1.1080.0) + aws-sdk-core (3.222.1) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.183.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.227.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.10.2) + jwt (2.10.1) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.1) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.1) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-24 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.6.3 diff --git a/mobile-apps/staff-app/android/app/build.gradle b/mobile-apps/staff-app/android/app/build.gradle new file mode 100644 index 00000000..cd34cd08 --- /dev/null +++ b/mobile-apps/staff-app/android/app/build.gradle @@ -0,0 +1,109 @@ +plugins { + id "com.android.application" + id "com.google.gms.google-services" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file("key.properties") +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + +android { + namespace = "com.krow.app.staff" + compileSdk = flutter.compileSdkVersion + ndkVersion = "26.1.10909125" + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = 17 + } + + defaultConfig { + applicationId = "com.krow.app.staff" + minSdk = 24 + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + def keystorePropertiesFileNameDev = "key_dev.properties" + def keystorePropertiesDev = new Properties() + keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev))) + + def keystorePropertiesFileNameStaging = "key_staging.properties" + def keystorePropertiesStaging = new Properties() + keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging))) + + def keystorePropertiesFileNameProd = "key_prod.properties" + def keystorePropertiesProd = new Properties() + keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd))) + + flavorDimensions "release-type" + + signingConfigs { + configDev { + keyAlias keystorePropertiesDev['keyAlias'] + keyPassword keystorePropertiesDev['keyPassword'] + storeFile file('../key_dev.jks') + storePassword keystorePropertiesDev['storePassword'] + } + + configStaging { + keyAlias keystorePropertiesStaging['keyAlias'] + keyPassword keystorePropertiesStaging['keyPassword'] + storeFile file('../key_staging.jks') + storePassword keystorePropertiesStaging['storePassword'] + } + + configProd { + keyAlias keystorePropertiesProd['keyAlias'] + keyPassword keystorePropertiesProd['keyPassword'] + storeFile file('../key_staging.jks') + storePassword keystorePropertiesProd['storePassword'] + } + } + + productFlavors { + dev { + dimension "release-type" + applicationIdSuffix ".dev" + versionNameSuffix "-dev" + signingConfig signingConfigs.configDev + manifestPlaceholders = [ + appLabel: "Krow Staff dev", + appIcon : "@mipmap/ic_launcher_dev" + ] + } + + staging { + dimension "release-type" + applicationIdSuffix ".staging" + versionNameSuffix "-staging" + signingConfig signingConfigs.configStaging + manifestPlaceholders = [ + appLabel: "Krow Staff staging", + appIcon : "@mipmap/ic_launcher_dev" + ] + } + + prod { + dimension "release-type" + signingConfig signingConfigs.configProd + manifestPlaceholders = [ + appLabel: "Krow Staff", + appIcon : "@mipmap/ic_launcher" + ] + } + } +} + +flutter { + source = "../.." +} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/app/google-services.json b/mobile-apps/staff-app/android/app/google-services.json new file mode 100644 index 00000000..461af975 --- /dev/null +++ b/mobile-apps/staff-app/android/app/google-services.json @@ -0,0 +1,46 @@ +{ + "project_info": { + "project_number": "933560802882", + "project_id": "krow-workforce-dev", + "storage_bucket": "krow-workforce-dev.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:f4587798877cbb917757db", + "android_client_info": { + "package_name": "com.krow.app.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-qgbq6m04moicvkff2b3i6p9agu7i4gou.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.dev" + } + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/app/src/debug/AndroidManifest.xml b/mobile-apps/staff-app/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/mobile-apps/staff-app/android/app/src/dev/google-services.json b/mobile-apps/staff-app/android/app/src/dev/google-services.json new file mode 100644 index 00000000..ca7eb0ce --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/dev/google-services.json @@ -0,0 +1,118 @@ +{ + "project_info": { + "project_number": "933560802882", + "project_id": "krow-workforce-dev", + "storage_bucket": "krow-workforce-dev.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:edcddb83ea4bbb517757db", + "android_client_info": { + "package_name": "com.krow.app.business.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-ml2526jqnnsteent4i9li50c00hisoge.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.business.dev" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:f4587798877cbb917757db", + "android_client_info": { + "package_name": "com.krow.app.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-ml2526jqnnsteent4i9li50c00hisoge.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.business.dev" + } + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:933560802882:android:d49b8c0f4d19e95e7757db", + "android_client_info": { + "package_name": "com.krow.app.staff.dev" + } + }, + "oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", + "client_type": 3 + }, + { + "client_id": "933560802882-ml2526jqnnsteent4i9li50c00hisoge.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "com.krow.app.business.dev" + } + } + ] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/app/src/main/AndroidManifest.xml b/mobile-apps/staff-app/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..41534158 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/kotlin/com/krow/app/staff/MainActivity.kt b/mobile-apps/staff-app/android/app/src/main/kotlin/com/krow/app/staff/MainActivity.kt new file mode 100644 index 00000000..68ba7146 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/kotlin/com/krow/app/staff/MainActivity.kt @@ -0,0 +1,5 @@ +package com.krow.app.staff + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..3091831a Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..8c679a67 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..9fac3fb8 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..f7c076e1 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-v21/launch_background.xml b/mobile-apps/staff-app/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 00000000..c42e9ee8 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..7bd61725 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..be39c120 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..c81445eb Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..d15abf66 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..6fa64c69 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png new file mode 100644 index 00000000..8f452098 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/drawable/launch_background.xml b/mobile-apps/staff-app/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 00000000..304732f8 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..c79c58a3 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml b/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml new file mode 100644 index 00000000..caae4863 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..3091831a Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png new file mode 100644 index 00000000..c0de8400 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-hdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..9fac3fb8 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png new file mode 100644 index 00000000..515e6635 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-mdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..7bd61725 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..7f06c37e Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..c81445eb Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..64208c30 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000..6fa64c69 Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png new file mode 100644 index 00000000..d6b338ba Binary files /dev/null and b/mobile-apps/staff-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_dev.png differ diff --git a/mobile-apps/staff-app/android/app/src/main/res/values-night/colors.xml b/mobile-apps/staff-app/android/app/src/main/res/values-night/colors.xml new file mode 100644 index 00000000..ab983282 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/values-night/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/mobile-apps/staff-app/android/app/src/main/res/values-night/styles.xml b/mobile-apps/staff-app/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 00000000..06952be7 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/main/res/values/colors.xml b/mobile-apps/staff-app/android/app/src/main/res/values/colors.xml new file mode 100644 index 00000000..ab983282 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #ffffff + \ No newline at end of file diff --git a/mobile-apps/staff-app/android/app/src/main/res/values/styles.xml b/mobile-apps/staff-app/android/app/src/main/res/values/styles.xml new file mode 100644 index 00000000..cb1ef880 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/mobile-apps/staff-app/android/app/src/profile/AndroidManifest.xml b/mobile-apps/staff-app/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 00000000..399f6981 --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/mobile-apps/staff-app/android/app/src/staging/google-services.json b/mobile-apps/staff-app/android/app/src/staging/google-services.json new file mode 100644 index 00000000..a22e46ce --- /dev/null +++ b/mobile-apps/staff-app/android/app/src/staging/google-services.json @@ -0,0 +1,67 @@ +{ + "project_info": { + "project_number": "1032971403708", + "project_id": "krow-workforce-staging", + "storage_bucket": "krow-workforce-staging.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:1032971403708:android:d35f6d13a9e03bcb356bb9", + "android_client_info": { + "package_name": "com.krow.app.business.staging" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:1032971403708:android:6e5031c203f01cc2356bb9", + "android_client_info": { + "package_name": "com.krow.app.staff.staging" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:1032971403708:android:87edb39679f806ab356bb9", + "android_client_info": { + "package_name": "com.krow.app.staging" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build.gradle b/mobile-apps/staff-app/android/build.gradle new file mode 100644 index 00000000..d2ffbffa --- /dev/null +++ b/mobile-apps/staff-app/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = "../build" +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d83c4d47534e2fc2e547cc2f4511d05f_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d83c4d47534e2fc2e547cc2f4511d05f_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json new file mode 100644 index 00000000..c66cfa8b --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d83c4d47534e2fc2e547cc2f4511d05f_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json @@ -0,0 +1 @@ +{"appPreferencesBuildSettings":{},"buildConfigurations":[{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_STRICT_OBJC_MSGSEND":"YES","ENABLE_TESTABILITY":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_DYNAMIC_NO_PIC":"NO","GCC_NO_COMMON_BLOCKS":"YES","GCC_OPTIMIZATION_LEVEL":"0","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_DEBUG=1 DEBUG=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"INCLUDE_SOURCE","MTL_FAST_MATH":"YES","ONLY_ACTIVE_ARCH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"DEBUG","SWIFT_OPTIMIZATION_LEVEL":"-Onone","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e9841694db9191404dab0574df10aa4d92c","name":"Debug"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_STRICT_OBJC_MSGSEND":"YES","ENABLE_TESTABILITY":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_DYNAMIC_NO_PIC":"NO","GCC_NO_COMMON_BLOCKS":"YES","GCC_OPTIMIZATION_LEVEL":"0","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_DEBUG_DEV=1 DEBUG=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"INCLUDE_SOURCE","MTL_FAST_MATH":"YES","ONLY_ACTIVE_ARCH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"DEBUG","SWIFT_OPTIMIZATION_LEVEL":"-Onone","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e98cf0f0db26b3f8058be5b89c87840f1bd","name":"Debug-dev"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_STRICT_OBJC_MSGSEND":"YES","ENABLE_TESTABILITY":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_DYNAMIC_NO_PIC":"NO","GCC_NO_COMMON_BLOCKS":"YES","GCC_OPTIMIZATION_LEVEL":"0","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_DEBUG_PROD=1 DEBUG=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"INCLUDE_SOURCE","MTL_FAST_MATH":"YES","ONLY_ACTIVE_ARCH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"DEBUG","SWIFT_OPTIMIZATION_LEVEL":"-Onone","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e9876abe3f6b33e227f6ceffabb1a9ac4a7","name":"Debug-prod"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_PROFILE=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e983e45497ad99b5f0ab9ebcda8afbb048b","name":"Profile"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_PROFILE_DEV=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e982bb850f15b7839881485021c2c1f3411","name":"Profile-dev"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_PROFILE_PROD=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e98a5708e0262c140cb2a847c45b9c7fc08","name":"Profile-prod"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_RELEASE=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e98ab0849b3c8d2627830dfc45f1064e777","name":"Release"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_RELEASE_DEV=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e9811e542b5698c4a83edd7760358d17cb9","name":"Release-dev"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_RELEASE_PROD=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e9821fe426a60191b5175d0092d225bc223","name":"Release-prod"}],"classPrefix":"","defaultConfigurationName":"Release","developmentRegion":"en","groupTree":{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98d0b25d39b515a574839e998df229c3cb","path":"../Podfile","sourceTree":"SOURCE_ROOT","type":"file"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c58b265401ac4154bfd938f6e1c1d0a1","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/app_links-6.4.0/ios/app_links/Sources/app_links/AppLinksIosPlugin.swift","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98d0262d8c8049ae6655eab228fd2929d0","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/app_links-6.4.0/ios/app_links/Sources/app_links/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98c5ec1035896dfbb3c64cf5fc893c9b89","name":"app_links","path":"app_links","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d603b92f178b7a0369720fa8fc584300","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98316bb0c72ecec53b7724ba6b95429963","name":"app_links","path":"app_links","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c729723b41ce8827b62acf3ef817ac15","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9890b3c3701235167c3d8ab8e04ec2991a","name":"app_links","path":"app_links","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bf47c22f3642ecf6f4d9d55e3556cd48","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981cb7bc252480dcd4e5ff62089a6efb64","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c51bf40ad6ac436915559fcc8d1f385e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980e97a24da6a00d1a423cdfa500a11d9c","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6c5e50efe313dfd2caecf00d9bfaa3c","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98357fbc4b035702e0f719c191bb812528","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98caed09aa9a50917c1fa55c853270e916","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989d0c4ff8efb70f5ff0d7db33dd2bb3c0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9810f20a7d481d6a5836ae4cb501c7b8e2","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9820f34ebae797f100a734ec402d0b010b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d67540ca51510076fd176f03b80f985e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989ac5161272aa4b376cd331e686b45618","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9848973c04353d632fbdf21732ffe3d1a0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98abd8eac76f02ef0cb64dcad3987ef4d2","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/app_links-6.4.0/ios/app_links/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9890b0c106d5e00bb7c2949fdee98525b3","path":"../../../../../../../../.pub-cache/hosted/pub.dev/app_links-6.4.0/ios/app_links.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e989d37fb97833bbf7cb6802febe5476105","path":"../../../../../../../../.pub-cache/hosted/pub.dev/app_links-6.4.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e03bc9a534983910f4a9d81d709ede40","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98f1587346e947d543b19657d913ba1b33","path":"app_links.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985ce020834d48d7669b615e21dafebc2b","path":"app_links-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985c65fe4fed15c587d3c6e8110e4f4ac9","path":"app_links-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98491647950db9bd501fbeda783a0baa2c","path":"app_links-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98032f066d08adf2d9f766fa30d28affc9","path":"app_links-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","path":"app_links.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","path":"app_links.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98a6dfb71ccd5f5471161e3c956d4d9d8b","path":"ResourceBundle-app_links_ios_privacy-app_links-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989cff816086b77d86c3b45682d097a373","name":"Support Files","path":"../../../../Pods/Target Support Files/app_links","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fbf7a0919030917aa5c55b59535abf34","name":"app_links","path":"../.symlinks/plugins/app_links/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98647fe11f245bd3f4c17982aaf38f7356","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityPlusPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c0a8fce5e3327a50464d9cec49cd6d2a","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ac8625b51b2d9a3d3b624c4fec90192d","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus/Sources/connectivity_plus/PathMonitorConnectivityProvider.swift","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98b41a3ffd1cf74718d1604ed2e3e28db7","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus/Sources/connectivity_plus/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984e9158cbe38811e161f5689fd6e1bd1f","name":"connectivity_plus","path":"connectivity_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98637e1ba6670e8fcf47e8d436adc05767","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98317dffaf09319710c01f35ae0c5c5478","name":"connectivity_plus","path":"connectivity_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982cb19589b72174e828d3c9b01cdf35b3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984ae047132ae111a60df05dfee5dc4b00","name":"connectivity_plus","path":"connectivity_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d13c0550781dbe9fe25aae61cd146ce4","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9839bcc1c48ac43887d3b7c90316893a48","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984cc9efe52bf0bb13d4f70d65bfca3f0b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98078a2ae736bb4998cef0546b1a567304","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98555998d027f609d2907d5d0d920dcefa","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cde14149cca5249c12bfd5cd8da9a246","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f038c5b6e017923aa27488791af56943","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e02b472b5f5568b38364046e750f81b7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b67213b8a0a70c27177916b7c99dee5f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a7c865eb5ed99df7759f91ccdedfd99d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986fc2632f2ad1405e4111f23fd4fc4fb3","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983dbf1b380e3ff2c557e29cd9277f3eae","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986f7c7f7a2a73a8277146c8ef2990e697","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9889765e47dcdfe855ed94f48a73043c39","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e983093a194fd808227de6c91c9109baf9a","path":"../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/ios/connectivity_plus.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e989779faf65dfbda17552992ca7842cf83","path":"../../../../../../../../.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9807afc316c14b1b581dc39b7e42cdea05","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98ee2b47ec97006107ea347bc1e226f994","path":"connectivity_plus.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d794833ad555486563bb5298aaeb3b28","path":"connectivity_plus-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989059cfc71f58aad8d278d9bb789f7a65","path":"connectivity_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98079f4f24478b9f6b835a9f792b8e1f0c","path":"connectivity_plus-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e98f9c8574d8ce7a35ff3f00cf638df4","path":"connectivity_plus-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","path":"connectivity_plus.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","path":"connectivity_plus.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9873c09601b3d801113661256c53a83546","path":"ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982ac0d4ac254b253aca64024a4fecd982","name":"Support Files","path":"../../../../Pods/Target Support Files/connectivity_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9807a773a1bc22b2e5777bc1e562be8a35","name":"connectivity_plus","path":"../.symlinks/plugins/connectivity_plus/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b76501b854e1bc372bdb8f32f7d686c3","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a9a00fd703c9fa7021213b2ca3685b18","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98015527b7e7faf3499234694c11ff7341","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cc6870d25f97f59c488c591af576066e","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989fcec77a3d16cd1496a1a4fc750e8a88","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d540e6ce35cf996d61570be5aadc3a60","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988f287e49e4ac8ba2a7cd86cb41f86966","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987079f3244a937a72cda03d2b4583e656","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981f15f922a477702584572d52cfbfb219","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985e0876771945b680471eb6c7f3b0a48c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98921fd794fdd6ef5132fa551fd549ed0a","name":"Private","path":"Private","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989b97f5af5925f1e6c5d57f3c10b01c57","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98dae70efd9e5b4e40f2a0e740646b8929","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9826e7e892820c71e730444dbd66609869","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98fd421c7f1d4f85aa235be994ab7752bd","name":"Public","path":"Public","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9820c61443097881ade8a406917d867073","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981c69e4c68712e895aa3c20e0a69b8778","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98539a3d3a0208f63c45002af319b32720","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e702441c64298a683985384136dd70d","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98db3896fdb8fe59fd1a3d0327c84a8642","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985375ba42b5274369789a6f32edd5b6e9","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9832f17b9f4be3f05c65973571ab24dd0f","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b4e613766747b8e47b90f88b62a1bd06","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ff19e42fa14f3ec9af0afd4bd37c953b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9856f2e460bb342b5a73e109dc0a78d09f","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983f29ba13cb23645474407171fe6e2191","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ae1ac32f817f2927db39aa6530b4daa2","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ac1b83200bca0c10957ea461d9f8c1cc","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98823a19e1d0bcb4a81ec34926d0e413f7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bc4db8f93aba7c3658fc8afe4e9c23ee","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987517e8216a3ea694e0603643cb7fac3a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fd98918df22e9bdbe7e75ebc81ee642b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9862160f8453ff80e14faa06e3e36e0fa7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e6cf71b0d06bba9dfb8d55f61cb72eca","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9843a37dae62605d79aa2fd975cb996ae4","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e984ce704a7c9e08332ad75c1df431b6cd9","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/ios/firebase_auth.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e988fd192afad31af748cbf08af2336d79b","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-5.5.2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98104e293c71d309a02d87f62d197450ce","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98ab9a80b1d11e00acde0b40c68eb838d8","path":"firebase_auth.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bc3557ff65a59b0a6c2021a7d682bef1","path":"firebase_auth-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e55623b9ea12bffe932f96cfb1877509","path":"firebase_auth-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9833f1c5dc3671b812a66712ff58aa7e29","path":"firebase_auth-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986782e58eed2f4eb19ad4e2f5b795d220","path":"firebase_auth-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98374b8a771eb90a570b8a4f38289063c2","path":"firebase_auth.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","path":"firebase_auth.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985f6c3fee5212e0a4dfef2398e458eb23","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989f3e00353ef10e77a6d1332739f84355","name":"firebase_auth","path":"../.symlinks/plugins/firebase_auth/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9843dd182a631da78b4b7a410957105a32","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988d6a1b552c77a86061bd7faa536b3ec7","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/FLTFirebaseCorePlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bd09a733ed6136de0cb6030db543d02c","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98543538312b4e7af065253994124d8c02","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d557c1a2e82d672a05e015841007d026","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/messages.g.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988752c0a2b23164ac0b612af543ca8074","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/dummy.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984e47cc3e8361c1267f85dff8dd23dec8","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebaseCorePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985139f4bf07d9a24d5c7d5b7ad1521a95","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98210b5ed009824cdcf108b867a3ec080d","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePluginRegistry.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b1125c2bae6eff6aaeb7a100d54cdac0","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/messages.g.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ee580bc36fce8d1bde6aade9355e039f","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989037d9e9b1a6d28ca40acd7b91a2995c","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98948e456164d58789f64b50a1bf609bf7","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fcac5cd4892a64edf3255546d699d4c0","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b92d4e91b329c0ad37ef96841c0976cc","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce789573744cbb370fc3913b7ac2f040","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982b0425921dafc98e75ffbe82f1bce61c","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d5d15ff1ad2c947aaa644a76eb317eba","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3e364ce0baa518eb423bbc9f4c0f54f","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98133ea3c6ed90bd21a9167338bc7142c7","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98226035fd699a0a15129f385c10a3a3ec","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984ec68d151e661d26a400b23f657c550c","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980ce6f4e165304f9657c4069e245ebde2","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ae123c1fcdb64ebf9e35ba5518a227e7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987ccb06a8278fef4dbdb42d339c4c9a33","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98510e5b2c4e53673a6c68df86bfa4c908","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98476270532192213602ff61702ff1768c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985d69a0eb51ee5ca316cd6118342a47d8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f212eba6e5d7a4ea56d5eb5a89833a04","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9837a3d775345fafaf55e3499dac033ed4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984264515dc276e704f4a79b69b48fcdc5","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98fd53525d27edb4906b4a8a9c134062fb","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/ios/firebase_core.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9841109953448be7fe1d1e512994ab78cc","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-3.13.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982214f7051e0d0cb6740a5ea7c97086e5","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98bb50e25e297725804f842a9724bd07b1","path":"firebase_core.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e2fdc5d2418e4564e87550a9088083c1","path":"firebase_core-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98fb95d4df9113c948aa82042a3fbb7c4e","path":"firebase_core-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989214ae1ccb542d717b47ba858bdff972","path":"firebase_core-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981ca8f3136ec3deb5d84a69120e02dc31","path":"firebase_core-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983e3d01a2c95482d3824e03423e8a11f0","path":"firebase_core.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","path":"firebase_core.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98941db64e501da437f1d06320c93b0f24","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980a34fe616e02cfeb406ee25275ee3853","name":"firebase_core","path":"../.symlinks/plugins/firebase_core/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bd87a2849a32debe7d2fe89fbd39ab8b","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_messaging-15.2.5/ios/firebase_messaging/Sources/firebase_messaging/FLTFirebaseMessagingPlugin.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e18cb04a023811368cc9aae9693d961e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_messaging-15.2.5/ios/firebase_messaging/Sources/firebase_messaging/include/FLTFirebaseMessagingPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f51fadaf85fd9ba23978075a6969dfc1","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987acb36bec01a7a7a92dae1f326e9c2b7","name":"firebase_messaging","path":"firebase_messaging","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980f6420b78edc61df10dd1da3503d2090","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9893761c93a3a84fb521114659a7d7878a","name":"firebase_messaging","path":"firebase_messaging","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988fba866083d9158a588830faa7eb4452","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ed392d2ca3026c167a39b1fb941070a0","name":"firebase_messaging","path":"firebase_messaging","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce591d49ee03da458e83f6f175ea71a7","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f8b5ef75fb4011da2c951fa5e020e114","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9803ea821b76e0186e33c90297b4bef850","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988076c903025bc13302791136967110d9","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98157a36ab4d2c508c3e54a2ece0fdf796","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e0817187c0a6719d617f48a76e6207f","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e0f90196bcdf125294d6020cd2bf514b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98af403bc6176b15de9a0da67825d49188","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fde5fe59eef70c37a2f680457dd87b9d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fb71994513141152392a88e58477adb0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980a0106f75986cfa1efad0f44d81f9ba3","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9814a699b685c8efa0010953675d1f2727","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98048528ce49a9413345f96fa19359f4a3","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984419ce46c945a09fcd79d9c7f8a0e6ad","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_messaging-15.2.5/ios/firebase_messaging/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9875c1ccec6b833ca1610364d8f43e9339","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_messaging-15.2.5/ios/firebase_messaging.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e985c9dd3588818bc5f22cd1448321de307","path":"../../../../../../../../.pub-cache/hosted/pub.dev/firebase_messaging-15.2.5/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982c736eb2ed172dcdaebdc8d3ab447528","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e986558cbd98e423aab56a3ce2ea3a394e8","path":"firebase_messaging.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9881cc8d1fcdb98b86ecf7f423e3bd08dc","path":"firebase_messaging-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9836eb4250265bd6558aa6c07fb40315fa","path":"firebase_messaging-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a1fcb55278ddf55a4fd83d7885e39992","path":"firebase_messaging-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9836f247a949aa48cf3dc1dfee0c34b4ed","path":"firebase_messaging-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","path":"firebase_messaging.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","path":"firebase_messaging.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9864023e9ab47a81c5d9abf63b06475f5f","path":"ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984dc47b9cedad9502e34d912e288c18e3","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_messaging","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ee3a4c687e60c3f5d1b49d51fdfddd0a","name":"firebase_messaging","path":"../.symlinks/plugins/firebase_messaging/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98a59bd1afa7d432ad91adc44c89b92a3b","path":"Flutter.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ced3837040745d21a4a29a5329c3c0e0","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c6c2b7010bbb78f1d438b3375cfc7c5f","path":"Flutter.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","path":"Flutter.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98c7434eca968b7df73131e116263a33ef","name":"Support Files","path":"../Pods/Target Support Files/Flutter","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f76acb299dca1cd17e0f3046cc629ec","name":"Flutter","path":"../Flutter","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eae96731d8d5f2edf17de4ed9d9d68bc","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/ios/Classes/FlutterBackgroundServicePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988ab735b46aa6b66fd7ba7d4d7e5e6c2b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/ios/Classes/FlutterBackgroundServicePlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98012d5f3ac0c9f8d0bb61d80ff14dceaa","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/ios/Classes/SwiftFlutterBackgroundServicePlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983eced4b3235848ec2c025b331e5260b0","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a7faa0452fd1b42f5bf90103ea526c13","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988c7a24a0d56b01235a4e7c3378b6d103","name":"flutter_background_service_ios","path":"flutter_background_service_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985bee5ffde9f7aa651e09be76d32055a0","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a224b22cb0ed87d7ceb6a72caf1d6135","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985efebce2d3d5dc20411c4763cefbde46","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c52764b45fb587290ccf9dc19701b4bf","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6108f88e2f7312484fed6526055a704","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9837bc419c1ffb03fe7baa1e6a48460d63","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989c9fc414016c90e377191851b315fc93","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98edc33fd746d24ca1034e8d9633086155","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98797cc96dec60b731e6f8e2a6cf0fd8e1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a7f6c3c50f24775559f643417d0a769f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9834f81fccb2c0fdc44accb9bab9bf16cb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98adca2570356c72fde54a5ee540aa61b3","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98cc360d10497bf0618d750b1bad558276","path":"../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/ios/flutter_background_service_ios.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e983974ad10b5bea8fcf50993651d88cad2","path":"../../../../../../../../.pub-cache/hosted/pub.dev/flutter_background_service_ios-5.0.3/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98b4c08b6b5fb6642aa72c876e960fa1d0","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e987f29df9507439dfb6ae813b310b5e3eb","path":"flutter_background_service_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ea0eec9d0c0d5c4e47f4dde4e7927abf","path":"flutter_background_service_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981a5ac7511a9a229a381272d813cf40a7","path":"flutter_background_service_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988cb7e512be3a6c30b6a6abad57aa3953","path":"flutter_background_service_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98901b59721d7b4df06a5214a380188a2a","path":"flutter_background_service_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98508b90512580954aee61b7e3b665fd73","path":"flutter_background_service_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","path":"flutter_background_service_ios.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9899feae97fa9b186e0333d93702e8ed94","name":"Support Files","path":"../../../../Pods/Target Support Files/flutter_background_service_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983ea24e43609cc1ebafd4d63cdbb24590","name":"flutter_background_service_ios","path":"../.symlinks/plugins/flutter_background_service_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f3dd7f12b76c8275fc031a60b951ee5e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/geolocator-umbrella.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9855181c7726addce7c7a6431eb2524feb","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/GeolocatorPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989588addba29817a1d671b9a3966642fc","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/GeolocatorPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98208f7e3f2342b874fe19f8ff7d6c9881","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/GeolocatorPlugin_Test.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98892ad1a742f1eab7ebd1a84fdec4d4ec","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Constants/ErrorCodes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ecb2c823f8b9bd1dbd4eba2640fcb439","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Constants/ErrorCodes.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981f57185af27c6e1637edc44a59da2a23","name":"Constants","path":"Constants","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9840db3a58e75d783667c0e04e0fedf779","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/GeolocationHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989fbfa533ad62607ac4e33029f32beed5","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/GeolocationHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98016852e7082e07fa4513740c482d570e","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/GeolocationHandler_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987556dc4439ee2bc3ed390b4c75ddd93d","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/LocationAccuracyHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984988c54a8032960f1d9a08cfde936f3f","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/LocationAccuracyHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9803a945ec2b01996e45648ad4e2546212","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/LocationServiceStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98db07313eb44fcf6b0c4863667f041099","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/LocationServiceStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b9ffd349efc08aa2c7c997f17cbae2b9","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/PermissionHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986eb92f0198f01712c274b5b4248fea9e","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/PermissionHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98974f0484a6c0c79fafa75f489a6f43b4","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/PositionStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ffaac6cf46e326ce99ff3da3498089ed","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Handlers/PositionStreamHandler.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986fb0c2929a5348d3fe2c9e8b2cf60a92","name":"Handlers","path":"Handlers","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e9bd1a07043579b658f244425fd2fbf6","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/ActivityTypeMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9817f233878986f96da8f2c1f6641a7a57","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/ActivityTypeMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9889bffbdc424feab19d74ee65f29a8c72","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/AuthorizationStatusMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cdc501c522d8ac56678390ec8eb453b4","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/AuthorizationStatusMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9825f51de79279476d8655572d8972deda","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationAccuracyMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983b031ab997442e01919ba576f81c07ba","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationAccuracyMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f56802889c34061cffd5d188a09bb156","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationDistanceMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b5d267a199fdfdd8317a1e61b29fe282","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationDistanceMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982512351a1659f45cc985f423f5d07b4b","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9865f964cc8b6fbac3be169835259d67e5","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/LocationMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9825a78f5b8f59069f67004a62c50ed1c9","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/PermissionUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9896d1482a83c89f8a19bd7bcd9209aac9","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/PermissionUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9859b8abfd5a3eba89a0a1110e1e6b89d9","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/Utils/ServiceStatus.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f09fc74fe8d15628d42cdee9cee32097","name":"Utils","path":"Utils","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985d84f81084772c1c81b165e809f84af7","name":"Classes","path":"Classes","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98a9e7788bb890ca6456ba3db8e5839c32","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9815265d57c1daa966e26b1d77fa060d2b","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9898b495e474fd77243a535395a65fd90b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d8efc3dbf6ec142ea753e99157eea2e0","name":"geolocator_apple","path":"geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a255bb5bad29ba0f067f87e8e340e375","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b169f83935aba67a0706cfaacdc76053","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b4f0146833395106b221f948b1e74cca","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cca200770c5a30045e2673dd3ee24589","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98683dd6f8507246602a11ccc34d2f7376","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98736b1abd574b264998fe15be79d05563","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9899f710011e5f51f6b4f47e1b071ebabd","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981a39faa3e919cecea160490f2b528ae4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b1f8690733bccf28714fddc141d01e05","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e86f0544ef7b7c3e96d81c67374e820a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98808ca2a11a844f743769ce85d7b0f0fb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c7814616dcd224195ee9aaa25ebb3583","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98e7683ab50e09587679b2da40907d5b65","path":"../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/geolocator_apple.podspec","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e986cf99db3c2b389ccd745d697013011b7","path":"../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/ios/Classes/GeolocatorPlugin.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98d4eefe82b0be4d1c8230b975da857cfe","path":"../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.12/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9808772f401792aadd98396cc62b216ca3","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98e2a57082705ce99c61bd6de876f87de9","path":"geolocator_apple.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98af5806cc5d03829007e798808ee47cb5","path":"geolocator_apple-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985f7322df9fb0f01fda982130eee85fe4","path":"geolocator_apple-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9871c8f072f5011f7de0a3f0ebea1b4fda","path":"geolocator_apple-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","path":"geolocator_apple.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","path":"geolocator_apple.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9871f4a2bc11a8f9751f589d3f3df53ecd","path":"ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98943d37bca96f5eeaae61153933c4c9ac","name":"Support Files","path":"../../../../Pods/Target Support Files/geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987c468c4f0627752c74f57158e5f0da0d","name":"geolocator_apple","path":"../.symlinks/plugins/geolocator_apple/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98329452cd98c8371c4d1ab952fc299ce1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMCATransactionWrapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98098e7c1037312836e304784ffa9b2470","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMCATransactionWrapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981e5589cdf1f6ca6f9361199b1af44891","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMClusterManagersController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ed646b335b158ed207c9a49a7f1d0d0b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMClusterManagersController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98426bea2586cb7a73e0cef48b0cf79431","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMGroundOverlayController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9816e86ab7871910084ed534c60b1993f2","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMGroundOverlayController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985e55e910ba3c85da92fef35c0ea0e903","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMGroundOverlayController_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988a39c562717c773b7a0fb7a898a5414d","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMImageUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982d5721c074d68e5aafe907be787f0664","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMImageUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980be5167374d61ec74276e84a1c0f9572","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMMarkerUserData.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c327540d9996a6745a5dacfb5ddc1c13","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FGMMarkerUserData.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9865fb2f4a9a6cd25611509d2993169c1b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapHeatmapController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980177bff5dd0d14b344653e4038de0f9b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapHeatmapController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986ed7d6eb6c410cbfc8eb37a028b2d02a","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapJSONConversions.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9874e636944476d5164c4bad5aa4d06669","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapJSONConversions.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986a8013d9ade0ff171d423deeab64d42b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapsPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f424eb9b855bb4989a4f24785f103071","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapsPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981734e330f5dc3690f5405c32c617cf24","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapTileOverlayController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f08166abd780fba22ecbf8d83844b0d9","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/FLTGoogleMapTileOverlayController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b70830afbe10c6b7370c6cf16a6fbd73","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/google_maps_flutter_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fdae5304e6c99d93d38054ebe53f9130","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapCircleController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987efba21b23571c09f55b1969d7952936","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapCircleController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9808d54a15c023939019186e27aee7e1b6","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c4bb153308afdfa211d2784de11eb8a8","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983f89b7f487400872e22f72a4cea71289","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapController_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988880c1713f14213abac3b2566a8ec573","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapMarkerController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c5d8b0d2873e3fb2e082497999475728","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapMarkerController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984f54bd4ad767417793c0b6cc1e894b9b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapMarkerController_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9891c92e6e98072242c32c6bc608c68f41","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapPolygonController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9812391ec05096e691b277cd32bc8ce409","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapPolygonController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985e0b521324908e9025be10b19fd92fc2","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapPolylineController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98591672ef34734d8c3b7348733b641c31","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapPolylineController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9845a6dfe05961a99f7f3f004cd58487ab","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/GoogleMapPolylineController_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c765c183f1107847512b156c678513e1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/messages.g.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f3a616390d8436ba1f9c10f838b851ce","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/messages.g.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986a80f8ed9dfed1763ef6c537a1d707c8","name":"Classes","path":"Classes","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98bdd41d8e5ff77b2721b36f02694ab80b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f9311ca5536114d86d470008f5869844","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f5d8e7027874e63eabf809afe51878ff","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887f1111aa881cda6c52172395d5b7a01","name":"google_maps_flutter_ios","path":"google_maps_flutter_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f981a64832b9b49058515ff7b0767ef9","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9820e7dd76123976efabcfcdfdeea797e2","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e6684f1ac1a549456141fed51c18462","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988b3df593ed68b6764b6a2820cf162075","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7d525008e19a6f4dd4cdc2995415659","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982c0cfe772a6fbabc8d3bcf434ab291e3","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d1112fcd7509f4c3dad02519246a31a1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f3ae87510636646e92adc06789ffb288","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887c76d439dab55f4a492cb1d5b33cb4c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98538bbb89ae5603f1c8a760e74142bf37","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98041ee69fc1633a538dbd93ec762707a9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e11b6c256697baeb53809f190e1065dd","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98394b93b2cc31b59ba482387aa97166ee","path":"../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/Classes/google_maps_flutter_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e980bba6bc3b0187757575ef363ad902e16","path":"../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/ios/google_maps_flutter_ios.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98bd0074a012e181c196b7223a90621a18","path":"../../../../../../../../.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.15.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985a0bfa677838943a3dc3b035d2db8f76","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98c2a085353995044c559c5e69ff86f3ab","path":"google_maps_flutter_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9816d95a1f1b677e3845ff7797b439e9e2","path":"google_maps_flutter_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e986821aaa1d21cc68ac0b0ef1f7f9a23c4","path":"google_maps_flutter_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987d7da021a11241dc2568bfe4542baac2","path":"google_maps_flutter_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","path":"google_maps_flutter_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","path":"google_maps_flutter_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9882f32316818d97a160dac21da836a738","path":"ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9828978557837002faf647e7a9164e764c","name":"Support Files","path":"../../../../Pods/Target Support Files/google_maps_flutter_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c8f3a46044f7f86ba2fc5611cde25600","name":"google_maps_flutter_ios","path":"../.symlinks/plugins/google_maps_flutter_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98d3b3e1bd33e3730a9d3f14104da634ec","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98faa5162c520da442e5d12c54eb8b8c98","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98476e247bc8bb381d3a95d41701cd1a25","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d6498222fb96bd7a8bfb1571fe64e1f7","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9801e1da6e00de90d3b41a59c885d74a0d","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9882bdca20d4c1fe49ed7c7b1b60970ac9","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981250591788839f7d345fb0c4514e8027","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98119f7bef7b03465aa6a6df544a993fe5","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fb08643580619efd5aecee95207167bc","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98779341daf3db92c7456a40a4f7bd3c44","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9819e09654c8f86f6d87e26222fb24a305","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983424dd54aaed85e581c9ac71cb63d820","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988bd33baf6329cc380b82193a81589379","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987bfa642eaafdd796dee39f22ee2c2cf9","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9805cbe4d1bc185cb33071641a965a7b97","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerImageUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98033b3916ad2593c5107371583d552232","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerMetaDataUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b4aeb402b214ccc90b8b9bfc0fc70046","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98412015a9a53bb104cfc3de78a9ec9919","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bd7d556084734a404bd1012696df2ee9","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98086380ff886c4f2997b200232ef1df54","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/messages.g.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982fab7f2b8c389d6af7acb4686e0bd4de","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios-umbrella.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b09f78ca0ab14810b306a98943748294","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerImageUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9829a8816092d4a398df218ef4bc190294","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerMetaDataUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98190e55cecfadcc03ecc78e9d7c35a752","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9898b565a6d9fd81e834e8242032b60b9b","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ce4c3f3899ef60a18e43fb1d0539ebcb","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPlugin_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986445589b74c2a93add4965c05c00ca4c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTPHPickerSaveImageToPathOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9822533878151ceab8fbdb50cc89270163","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/messages.g.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98046f188b9b99b6c992aac2afe6d518f2","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9886a1e7f9f6ef1a259f20eeb238786529","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98df9693ae530423b0d4f28c6c2eee6c09","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c7558b04fb58bef677ae48306cf600dc","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98616596fa64016833167ec705bddc07c8","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980d229b5e7844508a61c1dd064f4a5099","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980ca723a2690fefc8e1a8fa7e908b1a6b","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d177ff38200735beeede1a952b07b74c","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98958ad99ea89b6cb633509d1c6097bc6e","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984dd4bbd48a2fb64d9fe2f6d856d763a2","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9867f2b469312852ebdecc8d159b2f225e","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9851d575aad93e2ef8b956e04d45fce19d","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9873df5d70c1318f2cf3ecd65f9ee056b1","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98042a80a74aa65793a6b6dbbe51791f9d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980236c725c06e3465b5764ce918646b1b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fcfe11fea3295565891f9d505a75df9f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983dc9f97947787de0115f284963012b2a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9879fd963b51a0ae618db2cb2f65078f4b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e13a8977920983c1b74877dae063c90c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987ce952e3ad313ec481485b40ae497262","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e4a2bd04484d0d8ec98880308b7d493b","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9870adf807d381b4c9af3e0c0a78651aa7","path":"../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios.podspec","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98917b0b4b6fee59efff4caf26c7bfa3f8","path":"../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ios/image_picker_ios/Sources/image_picker_ios/include/ImagePickerPlugin.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98700079ee2ff5e4f8b4bf6b08b1a998c8","path":"../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a16024aeee4d32b363e681419f698094","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e981b0a20eaef550f855012ac584b18ab71","path":"image_picker_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e6fb14e8b37ce794b050f298b5749577","path":"image_picker_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9879cba952fbc9672ccbb78d8501039e59","path":"image_picker_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985c24d3c4a7d424d9e8c06d284e150ad9","path":"image_picker_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","path":"image_picker_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","path":"image_picker_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e980fe2e35c6a9b54038bafd28b461a2f68","path":"ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982b9fff5cd371381cd84a21bcb69dd5b0","name":"Support Files","path":"../../../../Pods/Target Support Files/image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9848e007bc838f4d173ec5ac18894389fa","name":"image_picker_ios","path":"../.symlinks/plugins/image_picker_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98219045937adb2ba10bc8dfca94815fd8","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios/Classes/MapLauncherPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98acc4479f5963602a9cec6ed3103c2088","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios/Classes/MapLauncherPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985d21b5e9fede79c443642e0e0439df19","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios/Classes/SwiftMapLauncherPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e71b43a892bb0abb356e558d1447db3e","name":"Classes","path":"Classes","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9893b55d5d6730a1198a69e31afcdea7b6","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985d0bb52d7d59ce79fba9d88621eec4a3","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98058aa0dc1907506f25a5a14940167de9","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e217676ea9bb07b2396b5d43f2e96363","name":"map_launcher","path":"map_launcher","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986dc47a06353975ef4b2619b6f988b488","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985e59f422ab79080603e92c6083b1ed3a","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9815024bf00ce6254d734e8ef7b0287330","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a89cd935222bf58393cb934a9d82e277","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a2f32f08858e6b0fb002cf20ba841b32","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dc0e2c326aabd2aa37f0791dbe2fb8a2","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98879ddea4d4a0e8353eea98dc4d6cc068","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981221ff02793cecc36e3097d3aa81e6dc","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9877e9dc3553b57a6e2e8c6d8f3471c509","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d16534707fff5fd93df8caa94d8df333","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e4c4f75f1c95295596888a37738b7978","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98691f9980bb5d4f3f9f8dcaafe91ad29c","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98ae53ddeb64bdb35bccae22e61b504d7b","path":"../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9808b4f9c5a4c11bced430e7a564cad148","path":"../../../../../../../../.pub-cache/hosted/pub.dev/map_launcher-3.5.0/ios/map_launcher.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9895c9b8be7ea5414277cd16f742f74a3a","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e982ff3cd8413c1626477c4f293b4881900","path":"map_launcher.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a3119627b78c7fa6f93c868f0bb62554","path":"map_launcher-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e986df10c1b774b0cb6b5af8f8df5d694e5","path":"map_launcher-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982ac8f269266dd4552ced00eab67a8c36","path":"map_launcher-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98db2f148b600b5e4dca700b48404bb190","path":"map_launcher-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","path":"map_launcher.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","path":"map_launcher.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98db0365c0c0460c7f9aaca78f808bec48","path":"ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982a4bc38ed13f01ebe7e7baffc6f673b3","name":"Support Files","path":"../../../../Pods/Target Support Files/map_launcher","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9857fd24e549c7203691a84898a417037e","name":"map_launcher","path":"../.symlinks/plugins/map_launcher/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e989a4da8fa8d554a81cedff8686ac4aaa7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986810304c2e1968d4127d436062572c5e","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98de01bc08b975b1ac436e95b0da6079a3","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987e50c4065b55ac81e4a6d3871be05ac1","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e32c212185a1e139b2479e66423960fd","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9840c316e05442464c878e9f6c81652cc4","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98856be7a9efaf31f8e4f436986ae4bf3b","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3e3ae04d2f2a6256d3120990d8a1724","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c83c2d9025f8f95dd27d0e9296719ff2","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980ff5ab8a3685d7c6cc18233aa3e86b94","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98327ced565a87ed6a2e688cef9908986d","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9835c6cd9e7ba893c8d2c35a9ac34804f7","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a2b0c68cef00b7910417b09f0f296681","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98502b0bf426b8fe1235425beb18e1c0bb","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98eefcf79b94e9f33263a081c40294adf8","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f8a8bd3bc913890077d6453adea3fc26","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/PathProviderPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e5b679a099383607cac717149fc948df","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98efd8c7f2bc9ff0702d480cfdbbbf12c1","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e929eaea03d54bbb944e5ec69441e64f","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a2c0b321dda97a8add25de99d00bb7c3","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ad3531166a017feafa74e8c83366a6f3","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f6b149bf3c5337eab9124ca905fcdcc","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98111475a6fefcdf9017cbaf392352d64a","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980a737dd2d31bb6de317db386e009307b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b2f611a2792f51d311809e034f6b446b","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f1af0091ee3725226698d5b5f72f3184","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dca0c5b584c0571730ba1c5b29e68558","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d283714891ec61bce6d9c8528591f308","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989ceeb16fb74a3efc474fe2330dd3ce53","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f779be75ab4941fea3c3fd1f261377f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980200c0dab537544bbf01138cfdfc601d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980d33f135b399438eb51e95bc54517ab9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f82b4c682fa0e4c6a1d427c6013d4211","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988e9482da949ff57401efc8266d1fe9c5","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d6b5c4a980c53639a199b14b7c3c8745","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98bac33e99d0a6dda5ea97279c5688abdb","path":"../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e981cb80f3a219c5cc511a36c74cd3b20e3","path":"../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989f9e2259c0151b84e43d8450c43f5bfd","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e989fbb95175d350cdbb910cff7cee5ea68","path":"path_provider_foundation.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98363eb6532680eb6a501acfc058f06e86","path":"path_provider_foundation-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98a7f0f07eb8e1fd82ce4f8c55b86e42c7","path":"path_provider_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980ec3abb98c9fe0642b9ff91664591f47","path":"path_provider_foundation-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9803a46d27b1c2456ade463851f714180b","path":"path_provider_foundation-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","path":"path_provider_foundation.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","path":"path_provider_foundation.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985f12c8b8039031cac8e734cac3e960e3","path":"ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a4ac0bbda7f65ab3ef90a2579e42a361","name":"Support Files","path":"../../../../Pods/Target Support Files/path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98671c0e0dbf6d5bc1f3b2687fa67fc523","name":"path_provider_foundation","path":"../.symlinks/plugins/path_provider_foundation/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98af32dcd4021d0a5d3fb49b7480de30e7","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/Classes/FlutterQrPlusPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98078a8573e1bd24fae1a5cf7c70935b53","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/Classes/FlutterQrPlusPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9850e5fb1d2bc7ec96f87cb3497958da6e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/Classes/QRView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981c8d29dbc3b84d785de5c69282b00321","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/Classes/QRViewFactory.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d7e711c70530fb730a4db4655f47eeb2","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/Classes/SwiftFlutterQrPlusPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984c95a315088c8cd9a9bce3c3d2bfcaeb","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b9f9c1b5e1adbc2748d1b1d78e773154","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbc3a4e3c16aebb2069535b65deb114f","name":"qr_code_scanner_plus","path":"qr_code_scanner_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98595724a52bae82e19d6c5dc2e327629b","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989390dd75960d85a3d49de22c31293b83","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9844c5157862b7a202b462a66bafc0cc4e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3c49e4db221525ce607f46a97462ebb","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6b3e511331d606846e7044b26bda04a","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985455f3a35ca3a1560375a0fb6529cecc","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98929ffee1a33cb0fe02a6281db22f1baa","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ac04464ce6b22be07bf25e502a775d71","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98033d7f13d845114b10518558fa5266af","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a9bf3e6a743d4cad4929d3d6e668e53b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ab26f7fa99f7825b63f5e3cc786ce09e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c0d8ab1752cec0746e659404415709e2","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e980275cc14a5282e824bce977d5dc9b5fe","path":"../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98686e75cddd2394505e1092bf95630e57","path":"../../../../../../../../.pub-cache/hosted/pub.dev/qr_code_scanner_plus-2.0.10+1/ios/qr_code_scanner_plus.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f51c6e4fd08e06668819de29be3ebc36","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98d41b296a010f226d931a722bf385197b","path":"qr_code_scanner_plus.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b3454af282fdb8bedc300020e236a788","path":"qr_code_scanner_plus-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98139d6bae66ea257f9c9790e076a0efa4","path":"qr_code_scanner_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985912bd8decdc1e9e4f3a3fa4ebd17bd0","path":"qr_code_scanner_plus-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985690a480cece392f45208bc8b8026fbe","path":"qr_code_scanner_plus-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98521aa7192dbd9ddbc0acc7ca330d0fec","path":"qr_code_scanner_plus.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","path":"qr_code_scanner_plus.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985e38a11f50d84b8a8e165785899be1a2","name":"Support Files","path":"../../../../Pods/Target Support Files/qr_code_scanner_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98edf34662a73e0be3fce08b429d2e72c7","name":"qr_code_scanner_plus","path":"../.symlinks/plugins/qr_code_scanner_plus/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98fb591f1d94d8391453433ce5eed8e5c7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e987b0b0114494dcf6379b5c28bb395d2d6","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985e2f524c418e551cece57094dc2c91d6","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988a7f0f5e0d6d9a87d1ee61d3e5e2faf6","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989e62797ed76a1ee26b219917e5704abf","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98981d084fd0341e6a0ce3a15b27dd7130","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989fecf7a473dd62b9dd5ff9eaafa075b8","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c66301161c122049adf290e750934249","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980b3c777d51d21a195d08d402802416f9","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982dea229aeab4f015cb2edbdd25689567","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d17a5494467aa7d69977db6c0ad38bfc","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9835044aec3f1b9fd0c63823c2a79cb1e7","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e58ad1a10e073acc6c93183939981a11","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cbf4a4616fad2000494445e958a8d0b9","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986eb4ec5b1568e829c68d7b079291fce3","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e5273416078cb9b6352754bf8dbced56","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/SharedPreferencesPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98639a252bba36e03720ada80b1521e18e","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983c1a459efe7d11191e61f24f095a55aa","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e027482d109a75c5617e93ee9d18b838","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982a6cf8529b7a5c818dd78ee768a0bfe5","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984c415fd77ad14f893ce685ad8d050014","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ba356b4c3be7ef71a2262cc3477a4508","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98df0f589c87bd2ec62dcc8ea03782fb55","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986e42ffd7018fb201b191096e25d43957","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98127493c22e03f6a317af8d2f5492735a","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9809189d7eca6d32624b73bfa786613915","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cbc8c2e49ebc191bb84417c59b4a7efe","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e3dba945d4471cf9cd59ae4300524fe9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983f5df57ab0c4ba4a2f7e68ee99cee06c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a2b60309aa4714398b9a7ca7c5508250","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9891c5423f726d27a65b7a46a729605a58","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6d8756aa918d050178eb8295a33c1f6","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ba6c48bb5a46e73180f7cb99fdfda657","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f1a7334baffc9a6e6a35adb7ed8a9bf1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98514a6702d64085c98617c6e06b3a2dd1","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9812394b9c4cf9346b01e663f9bd51d0cd","path":"../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98201c82ff9944fb1745f0961dc4ea2c0f","path":"../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98eaffc57617c801a42d220becc88cb03d","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98b28c86dba00d12e97b854099aec18fea","path":"ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e983b9f31dd58c56aefd7479cd9fd84fbe2","path":"shared_preferences_foundation.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984cd26edb429ac9f84dd642d4b2a778b0","path":"shared_preferences_foundation-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98eb5c887f966043d808fb3a8f9fad9621","path":"shared_preferences_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989b8760d0b7727be6d15bc687561f9278","path":"shared_preferences_foundation-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98082af6128f511898d45746e6f7eb2abb","path":"shared_preferences_foundation-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","path":"shared_preferences_foundation.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","path":"shared_preferences_foundation.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98cf802075f217eb6e3592d2bd8898187f","name":"Support Files","path":"../../../../Pods/Target Support Files/shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f025da35ff57d023e6a06a600481116","name":"shared_preferences_foundation","path":"../.symlinks/plugins/shared_preferences_foundation/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98965f8c3f2625a0b1f1099de92b59cd50","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9815fca7dc360e723b00ca744c75ca1582","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98457cf72540dfd7beaed9ec67a6ddd7af","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984a96006de843a004c890db7b52ce1623","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984fc9f5502643d1f2536ab7a83478f23e","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9889c63849d67888a018e700e89dc0426e","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9868eb5e7273954ac3251f7ab6f79268f2","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be8c53bcfcf891a85e2114ff8d3a3480","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9828321496dca80614e095cd90ddfe8861","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f3f28cfecff7163462c35f209cd817bb","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987af52dfbe891fd6b1b57611040139d0a","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984b56072916974e28082b1d9104430a34","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a8218801007291fa2de436964ecdab09","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988107e9fe7d1ba9ce21bd5e61aa9697c7","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987ca3e60d49b40e8c73ceee854166cf24","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteCursor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f948faeba053ba582f8aa8a32e897aaf","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteCursor.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9837643a4f2b034efc5ccf1d5b60e9c2ce","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98eb052ce3be6ab93e5f4cb05490178c6d","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabase.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989713a8e515d05bb5528d6c083b3278d9","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseAdditions.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f31b3487189334254a56c1331fdde029","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseAdditions.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987c59896fd58cbe246cd45c29cf0a11c0","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseQueue.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9884943d5fd65ecdd2bb5c044b65c523dd","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseQueue.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9883d9cf036b22facd99504eda05eed71f","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDB.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982f6b36431a33790a271852d794f70ba2","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinImport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98df95077fe9d75ffe7153f3835e7cf39e","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinResultSet.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980991820eabf4615668e4467a17a73424","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinResultSet.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f0926a85cbb4f5bda2f58b98f2176caa","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDatabase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9828c5cd8408bc07660fbc6893b0ec84b0","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDatabase.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a33949010d682d789eede63e6521e951","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteImport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986e2e877cea4b0791186e3669a7d0d2b7","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c461e42b0c14fe64dd1113c3de30b3b1","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988ea87076782e9b9b00da04e325a40e86","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqflitePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d136a71253fff80ec058ced5e229adab","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/SqflitePlugin.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9822c2b40daa01113455699357679b7c4a","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/include/sqflite_darwin/SqfliteImportPublic.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98064f5a99b04abbf5c34f8719444596ba","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources/sqflite_darwin/include/sqflite_darwin/SqflitePluginPublic.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988175e7abd6ac5e7f10cc503065fec03e","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9842ca829a7714d085ca1aba36bd2211eb","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9817fec2f4257ba4c415d74161cc71e74d","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9808e8085fb0914b8e132af3da478ee233","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a5fff95417c3e8ec711a59dcbb931b4c","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9896ce098406353bdf4f2437e36abde29a","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987b60dbdb28d7a68b0baa12f92a459b1e","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3f1b5e8541138ac6a88feec58d5cb23","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be6d5bca5f54459b3bad143a3a64af3d","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987aed3c06c0d5b2baf9f6c1bd14070d7f","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ec3e6f94f0f5ca9915aeefc4aaa29ceb","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9851e853d925a7fa123778c4227f364916","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be33080b409ad358709456fa24e387a0","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980d3c7d88cc3e9591d4ccf23ca49ebf7e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987e1757d9f47217b5ea0b32b401bb7c7b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e6bb2f1bfccc6a4888b2491eb96e8422","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e34d14893c6ffd382fd3db542a90908","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980bbe98db27901d277cf6c3feaf43345f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980c47059e743bcede9d35c0959b4fecd0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9894245b6a8a3000f348e643ecd7d56fa7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982fe0a6026b1cd2ffe3cd232195e5797a","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e980f19017e23d341d337d5815af688111c","path":"../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/LICENSE","sourceTree":"","type":"file"},{"fileType":"net.daringfireball.markdown","guid":"bfdfe7dc352907fc980b868725387e989c77c4ec7d16d553a129bbf44f639371","path":"../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/README.md","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9807aaf9b9f24e45e7468284eeb50747b9","path":"../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/darwin/sqflite_darwin.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98289d5140fac990fe7542493e33afa41d","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98a60677619254983ad1e616a49c9255ba","path":"ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9893e81235d38142df3bf3b58155a0f3fe","path":"sqflite_darwin.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9806d18ab239d315d38dc488e7bba64cf6","path":"sqflite_darwin-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989848f8b0fef5ff7544480c98622650a0","path":"sqflite_darwin-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98478fbf48f75d7616bb7373097ba782df","path":"sqflite_darwin-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989f2b71b5312c866e862f0655b683d56a","path":"sqflite_darwin-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","path":"sqflite_darwin.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","path":"sqflite_darwin.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983a77a0740a13dfaa4d224321be9e5a93","name":"Support Files","path":"../../../../Pods/Target Support Files/sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989d7122bdc81283c44aa65568e78729c9","name":"sqflite_darwin","path":"../.symlinks/plugins/sqflite_darwin/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98f41eb05d91e070f8b3a79ff9aa2dfaf0","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources/url_launcher_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98397e6899d0f91768a9998bf2d1495466","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989b0de33096f7bd8b1f0aafe4ffe01b22","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ed24b668e3959d56063f740859ff3b2a","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981c5abeface73cddaa8d4a7962ef710d0","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a0399f29aab2f3f4a40148d86bd2e43b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c969c4f40a64b9cd7ff5b1306ff140f8","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a62d7aa0d888f9c3c96e29ba4d55620b","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7cc1a0c9652bab1ffaed58ff891579f","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983a8f4f665bf5850983d552bfb6787b44","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f3ca284da792473d7b8c0b70da929b0","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fb43961ae2dc455694368bfa4f330f94","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ff23bb9b5d5a51c472edf14ec4b1476a","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9846ee4daad96cc494cadb00b5a4fcb27f","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985113a1547d13fc35750c4787cd9089ef","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources/url_launcher_ios/Launcher.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e30390f42952fd182cab9983f27c54fd","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources/url_launcher_ios/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982c913be8a814aa4dd88354079ae946b6","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources/url_launcher_ios/URLLauncherPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9845962f797d79f5b54bee1d093877c509","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources/url_launcher_ios/URLLaunchSession.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d32243c711287da6656ef023f4b544c6","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984532d9e1c4dfe941c3696cd2127f1540","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987a9999350de122850bdfb0eb243c2672","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98118d57f29a6fa396705bfd30be483a08","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981ae56587b70eb52a7c2ce91c6cd4d9dc","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985dfb550c2617198549acf2f24553a159","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9849ec58198a9b09fc31e43ac0b138e39c","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98126e632d8ec6d6d841883bcce1d91e55","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9805fd4dc517d6412d045406e81e231e75","name":"krow-mobile-staff-app","path":"krow-mobile-staff-app","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9839fd530eab34238454f61c4b3603a899","name":"proj","path":"proj","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98db7b5f4935e7e25a854bffda8db115ea","name":"dev","path":"dev","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e2cd021d416e7441d7e935a796206f87","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981d1bd655f8aed786f88087c52d56855d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b605a2688f142b5e68db4d03038daebe","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983cc76b7ca3379f1f2bb1bc007396f10d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98403e967cd0a1b7c8d02be6ac4ef462b8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9868ea69dec7d7a887a268139e87033a58","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9823575708747dd631656e8f684eb068c8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987906e5d73188e7ec828f38020e7207a9","name":"..","path":"../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98f24bd0b60e41e194f978b83a28fb1935","path":"../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98f1ff106e9bf37f8c87ac91dad6308fd4","path":"../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ios/url_launcher_ios.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988291377b295863fbe0ca5dedf629c132","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9828fb3ca2fadeaa22239172310710cd82","path":"ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98cdab219d79cd9c4b3246793ceca51d43","path":"url_launcher_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c41d1e95d10cf04405be787852848651","path":"url_launcher_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e4f715d23945dbe8950a930c154d058d","path":"url_launcher_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98369c89e4c6797c4bbf4b84c7b328c6b3","path":"url_launcher_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98dfdd9972bdb6ce320b0511abc203aab2","path":"url_launcher_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","path":"url_launcher_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","path":"url_launcher_ios.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d9ee5cc6bdc8dc64ea55463410c12781","name":"Support Files","path":"../../../../Pods/Target Support Files/url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9878c1683e8b5bb1b729cf63a56338ec16","name":"url_launcher_ios","path":"../.symlinks/plugins/url_launcher_ios/ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98af3b99ffdd30680c5a48bbdcb4abc876","name":"Development Pods","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e9833d6dcca4711be1abe38c412c1f1001b","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/AVFoundation.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98dca5d46ecd39d86ec0d866b6f36b148c","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/CoreTelephony.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98ae4110dc3a4d01f99544a95b216ce258","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/QuartzCore.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e981f09e74b393c45e9564c73a1a8221c05","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/SafariServices.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98015e080be5b1776bbed059e24eda164c","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Security.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98c72cecabe1bf96e80a743e01c09f56df","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/SystemConfiguration.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e982975bae236382852d3ea8080a20f2396","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/UIKit.framework","sourceTree":"DEVELOPER_DIR","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9827aff172e710539b7655f3559a4b8878","name":"iOS","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98693c8b6afbf1a93971ffd810c5b62d05","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e64d318a731ecacdcb0d64d9e732da26","path":"CoreOnly/Sources/Firebase.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985262bb72e5755a6a0b4d391172a36f59","name":"CoreOnly","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988910fda1fe10cba00582f0dc182009b3","path":"Firebase.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","path":"Firebase.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9831f2c0d564ece0c19d1c4ea441647b9e","name":"Support Files","path":"../Target Support Files/Firebase","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9867447dd702f47b35faade8b46805d705","name":"Firebase","path":"Firebase","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98dd035da34ce483ef145195ffcb780ba2","path":"FirebaseAppCheck/Interop/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9816bc12d33cf0904043765718022f949d","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FIRAppCheckInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f306d5aa8499667b4352515f0d3e71af","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FIRAppCheckTokenResultInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d2d8d119ee96dc7fb7f77ae45baa6f31","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FirebaseAppCheckInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9805bf08b191151a044f3351153d3c09da","path":"FirebaseAppCheckInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98851812a95ac5f557606334652e39b701","path":"FirebaseAppCheckInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e987743f2514f44c6b965538a32767425ef","path":"FirebaseAppCheckInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9897a8ec7f46d01b716567ef7f6a5c77d8","path":"FirebaseAppCheckInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9868daa7ecd79707eca6e2f6166c38efce","path":"FirebaseAppCheckInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d468249a431cb6c7bbd69ad7406fa64a","path":"FirebaseAppCheckInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","path":"FirebaseAppCheckInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d425ea32b792a542328044c7cf7f6523","name":"Support Files","path":"../Target Support Files/FirebaseAppCheckInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9809ea78191b4585bb09fdcfe1adb35327","name":"FirebaseAppCheckInterop","path":"FirebaseAppCheckInterop","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9858cfc6dc564a737f3aace6a5f936d0cf","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ae495108e23ca2629b26c88aa6269859","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeOperation.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985a9ef12287f7bc00e993dead08407d20","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985ece7057b5f997260e9f0ec1eb25d859","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeURL.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c0596df09eda785759d14327069fac3a","path":"FirebaseAuth/Sources/Swift/User/AdditionalUserInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986089ace86bb45de8f149af9691c4211e","path":"FirebaseAuth/Sources/Swift/Auth/Auth.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983fabe322c1ce7a37c9452f3f361169bc","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSToken.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9817ff8e1ba6b9b6c16d584ea8240187ff","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSTokenManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98655a39f706abf9414e7dbe8999b851c9","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSTokenType.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982574e21b03e8d2418ff3899e95dcfdcd","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAppCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ef65cea2be07f822dacf068fd68c0667","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAppCredentialManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ec8fa74abc50296226da6a767975a730","path":"FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a85c268a66e1a9111973f226cbec596c","path":"FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98efa6ca4aa0b253d92460bfaf3a695da0","path":"FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987fc805172be2cfded5da2e0529b9a23d","path":"FirebaseAuth/Sources/Swift/Utilities/AuthCondition.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983a7323ed7ca6250d173000811ab6cd4c","path":"FirebaseAuth/Sources/Swift/AuthProvider/AuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984147d668302568ce246142e7b7fd72ee","path":"FirebaseAuth/Sources/Swift/Auth/AuthDataResult.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989577c176ac68567dd5bd2a18b722fd3b","path":"FirebaseAuth/Sources/Swift/Utilities/AuthDefaultUIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98be59c3b358c8c28e2ae14b10722fd610","path":"FirebaseAuth/Sources/Swift/Auth/AuthDispatcher.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98507d8ba3a8396bdbbd361eacc6a98092","path":"FirebaseAuth/Sources/Swift/Utilities/AuthErrors.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98beb0e5e5ecd4c71c85c847b104e15b8d","path":"FirebaseAuth/Sources/Swift/Utilities/AuthErrorUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9863487e684d1f95e3b580c4dd5665ed8c","path":"FirebaseAuth/Sources/Swift/Auth/AuthGlobalWorkQueue.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985a8451e33e23665057b70c95be43d3f4","path":"FirebaseAuth/Sources/Swift/Utilities/AuthInternalErrors.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98be84e1ca760f8e95b3ece2a47d978a38","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c8455fb9a132725a9577e4f179a2bff8","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainStorage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984a5019452dcca24ff9d480b88adfe283","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainStorageReal.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98950fa55dd677a901c2e49d118a42fda4","path":"FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9860346d28fe7e36b26d9d968a0d59b0e2","path":"FirebaseAuth/Sources/Swift/Backend/RPC/AuthMFAResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f6f7a8a74b4d6bae11bd9779daf7246e","path":"FirebaseAuth/Sources/Swift/SystemService/AuthNotificationManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98145f133ff0b9f31bbbe1890b10c50f85","path":"FirebaseAuth/Sources/Swift/Auth/AuthOperationType.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98192d26ca346932bd1e980e83209b4cbf","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/AuthProto.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bbcbac68ed423f3dd192ee3b598b14e6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoFinalizeMFAPhoneRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9801efd99fc3924c3b3345358266ff6594","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoFinalizeMFAPhoneResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98228ed57582e6a549d21676f0b568226b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPEnrollmentRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d0d50bc45e6681a2e92a118ef934e752","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPEnrollmentResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a8f4af19afd0a00923d7dde5e8ba9720","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPSignInRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988344ad5458ceb6ee0fc8fbb551807217","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/AuthProtoMFAEnrollment.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9854cc39b3151a26f199b659bcec84e0c5","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoStartMFAPhoneRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b2d7aa417b46ce4645fc2d3d021e3f01","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoStartMFAPhoneResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b6313143eb4cc9f155c8b7a0c4275da5","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoStartMFATOTPEnrollmentRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c63a1a2942d0fb3904d414c504fcb2d6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoStartMFATOTPEnrollmentResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98871876f6c50018f680a824f3dc4df624","path":"FirebaseAuth/Sources/Swift/AuthProvider/AuthProviderID.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985b17abc9caae6f4fc1e89d17e34893bd","path":"FirebaseAuth/Sources/Swift/Utilities/AuthRecaptchaVerifier.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bfb663376945bc8c48548d73414113fa","path":"FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98faf43d6ab2a1ca2ad57281e3c1560d70","path":"FirebaseAuth/Sources/Swift/Backend/AuthRPCRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9881d9b10a362c79246a6c4b2e57ae897c","path":"FirebaseAuth/Sources/Swift/Backend/AuthRPCResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98aa313cf7e5cea3df6f1bb98209abfe72","path":"FirebaseAuth/Sources/Swift/Auth/AuthSettings.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9879f27010db5c058b85df224661f38cb6","path":"FirebaseAuth/Sources/Swift/SystemService/AuthStoredUserManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bf559a572c66ca7b740b691df417be23","path":"FirebaseAuth/Sources/Swift/Auth/AuthTokenResult.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98afc3cbce18ed657b7f0b6dd4b63702a2","path":"FirebaseAuth/Sources/Swift/Utilities/AuthUIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ae5013cbf58a2ab5f99cc3574c042186","path":"FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f5be7112fa4d1a6c975c20a431ce4714","path":"FirebaseAuth/Sources/Swift/Storage/AuthUserDefaults.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984699d0be681dff10ef6e5814fec44c94","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b2de10198a86c274cbe596adf03e3706","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9866ad874b9f43b9e201eb1333d5e30cf8","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98deb6170f47a4785e7dfab93c135f15c2","path":"FirebaseAuth/Sources/Swift/Base64URLEncodedStringExtension.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d40ff87e256a0e30ed4bdd9faf9787bb","path":"FirebaseAuth/Sources/Swift/Backend/RPC/CreateAuthURIRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98058b6b728975d84d6d020d56888ae1c4","path":"FirebaseAuth/Sources/Swift/Backend/RPC/CreateAuthURIResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98fdba693218872d4e27ccf7f5c0a57d51","path":"FirebaseAuth/Sources/Swift/Backend/RPC/DeleteAccountRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988e4942d753cbabc08b734beb1a475e46","path":"FirebaseAuth/Sources/Swift/Backend/RPC/DeleteAccountResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b13c22361e9c1be007054f5561bed32f","path":"FirebaseAuth/Sources/Swift/AuthProvider/EmailAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98809bb3eb41222cf1969093a96e027aac","path":"FirebaseAuth/Sources/Swift/Backend/RPC/EmailLinkSignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dd5001cc3ec35c59ac2eee6a163c0a51","path":"FirebaseAuth/Sources/Swift/Backend/RPC/EmailLinkSignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983a8228f354a3dd702f22d863bc768267","path":"FirebaseAuth/Sources/Swift/AuthProvider/FacebookAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d012a6b729e4566f5610455128710ea3","path":"FirebaseAuth/Sources/Swift/AuthProvider/FederatedAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f968b7baaef89f926d8fe3e07e037f67","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/FinalizeMFAEnrollmentRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988cd413bed36e922229eeaef658347020","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/FinalizeMFAEnrollmentResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9864241c15dd325a5934c92e2b2470a90c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/FinalizeMFASignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a7be5f5c365f7d3c12cc7bfe5c3debf1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/FinalizeMFASignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ca4bdeaf6539c2b584e8df58ce9216b8","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRAuth.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d06005986a49e20af8744a96f17a47cd","path":"FirebaseAuth/Sources/ObjC/FIRAuth.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980df57d397f899637eeb114b340284125","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRAuthErrors.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985a2866e2d6a76f1fafb38d1863586228","path":"FirebaseAuth/Sources/ObjC/FIRAuthErrorUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98adf283b231c6e8e3e2f8bda42b4d9446","path":"FirebaseAuth/Sources/ObjC/FIRAuthProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983c7fd2fe636e82b8a9639785d884d5d7","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FirebaseAuth.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9873bf4641d0c279d44b74181de300c97b","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIREmailAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981b3ab4e76ebc3f6213b889b3b3ae2830","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRFacebookAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98209b7ec08fbf200cc37fded389e23e67","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRFederatedAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980c663eff6af7a9f3333d53b05c8b172f","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGameCenterAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982f1977714c2dc8c0950e71de97292568","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGitHubAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9880399da6fcbc514388b69e557fdf34a6","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGoogleAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c46f871e176002ec09fce7740a14b126","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRMultiFactor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981d502c66f20b55a6184e87f6bc34c85d","path":"FirebaseAuth/Sources/ObjC/FIRMultiFactorConstants.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9845f93591fef0bc5ff991ac4d3856a348","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRPhoneAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9897051145e30f2a52060eaa869ed3c1d0","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRTwitterAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e842c1cd43f2d6f936f754e363cd0877","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRUser.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d0ba15578afe916e538ae2bb0d4c1036","path":"FirebaseAuth/Sources/Swift/AuthProvider/GameCenterAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bcae0c2e07abf5ad980167ef701bbe54","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetAccountInfoRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a51ea43593e36090976e9c7584b199a2","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetAccountInfoResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983301c1182c94e50bc02df1af6c5285ff","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetOOBConfirmationCodeRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980e8dcd0e1303a808c551a972d52b47d3","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetOOBConfirmationCodeResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b46cd87ec99c5bb16c9b55655c1b0264","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetProjectConfigRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986e65721ad08bfab536a83ce235cbfaae","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetProjectConfigResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989592abcd40a7246809109169b5ecf2b1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetRecaptchaConfigRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985b61d586b6c94297a01424d43ec2c146","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetRecaptchaConfigResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989e8ba4bf66cfcca7a5aa53a5f7eb7631","path":"FirebaseAuth/Sources/Swift/AuthProvider/GitHubAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ba39e33d45d1135e2fd537a82fa9b637","path":"FirebaseAuth/Sources/Swift/AuthProvider/GoogleAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b981640a874dff6fce7c0a8cd303b7cb","path":"FirebaseAuth/Sources/Swift/Backend/IdentityToolkitRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987ec102477a085585880185d58741c695","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactor.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98fea14035e9b28b5dd8feb3aeb3ba4e16","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988dd158191983ca51da290bc2b5e2de49","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984558db8a62a62d845662fe38ce9ea872","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorResolver.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987a44e287ac1a81c5ad29725c7d1ce88f","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorSession.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986a291c8f1a9ec7396daaaf788e6d3951","path":"FirebaseAuth/Sources/Swift/AuthProvider/OAuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981baea83c15a980344aa568002f993506","path":"FirebaseAuth/Sources/Swift/AuthProvider/OAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9895a9240bc6a5770ea2b40560f9be8264","path":"FirebaseAuth/Sources/Swift/AuthProvider/PhoneAuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985a0dd1dfc3f6d0cc5d770b311473e01a","path":"FirebaseAuth/Sources/Swift/AuthProvider/PhoneAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a8e2fe9b88cc72285248ca7eb5bbe676","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98df9361a6b9d2d98e093fc17b0213b2db","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorGenerator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9801d3b4ace2683de133422d1138ec6bd8","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d0e23d35a214d88128c4c006ea2780f7","path":"FirebaseAuth/Sources/Swift/Backend/RPC/ResetPasswordRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b7b64285e28834dc6e0f44eb974bc9b9","path":"FirebaseAuth/Sources/Swift/Backend/RPC/ResetPasswordResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985d5a788c60de500accef138aca776418","path":"FirebaseAuth/Sources/Swift/Backend/RPC/RevokeTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9883a2bb30e410468f94be56b08ff83cb0","path":"FirebaseAuth/Sources/Swift/Backend/RPC/RevokeTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c3feee913e4f318296b67c0ce4322dd0","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SecureTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b11cf825fe65cf8e50b47f58c5040891","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SecureTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9832091bc5d269d0e3b345c6fdc7b97edc","path":"FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98549a4a2235eabeef8e1a8740cc9053bb","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SendVerificationTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9813f6027c51138e069f829dde67870110","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SendVerificationTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9831c4bd6a11467cd14a901e93e2f2e4b4","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SetAccountInfoRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986f1f0a3f1a76f0522ca103b5ee25d71e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SetAccountInfoResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bf8dd24f0590b9a9758382672613bc54","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignInWithGameCenterRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b5b79a0950e2915371de06e771489575","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignInWithGameCenterResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98897dd769880c82282f66f629a6cce351","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignUpNewUserRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a44446587e37003785450a977971c342","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignUpNewUserResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982961352132fa62846683c884eaadd4ff","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/StartMFAEnrollmentRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98df62a39c1b5b75fb454888eadc31281e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/StartMFAEnrollmentResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b3663b6a5600b30ca573272bcac7ee53","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/StartMFASignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9831216e24eb623b2150b41cb038bc9561","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/StartMFASignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f22df33c493f69a7ba2484380eb9490e","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9899d6cc743efe7d45287102a5609408a1","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultiFactorGenerator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98625df3d8c8fadd5e8db6f78ca9ad8c60","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986b1708337669b2b5097085fcb2525275","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPSecret.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a64dd32f0d5fa8d0deb3b931e26dcf51","path":"FirebaseAuth/Sources/Swift/AuthProvider/TwitterAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d1f019863a1b2e419fe732e09981ca05","path":"FirebaseAuth/Sources/Swift/User/User.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ee6cdd425ea38953c074e826fe871023","path":"FirebaseAuth/Sources/Swift/User/UserInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98943ffeff3f22b8a21014d2e34abdabf5","path":"FirebaseAuth/Sources/Swift/User/UserInfoImpl.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981095bf5a372084696cd57a37205218d6","path":"FirebaseAuth/Sources/Swift/User/UserMetadata.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9830a5bdbdc38ff0caaa03d96b7ecce536","path":"FirebaseAuth/Sources/Swift/User/UserProfileChangeRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c5a728c4996936e2daf8cb20cf1851f1","path":"FirebaseAuth/Sources/Swift/User/UserProfileUpdate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98494f54daa525ba6510ea4f8b1297871e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyAssertionRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f41fc2b64f17ef7938623076a072eb90","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyAssertionResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980b6c0800e2fa31d5b16ac11377cb7e11","path":"FirebaseAuth/Sources/Swift/Backend/VerifyClientRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9833149433c2576323e2cbc61bcbd8ad4d","path":"FirebaseAuth/Sources/Swift/Backend/VerifyClientResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9851673f08eedc4bedfecef5061ab137d9","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyCustomTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9892cf0373a1cf82b89ea6ef501ce7ed43","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyCustomTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b03f0ed9689278c2283cc2e1d5070fa9","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPasswordRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987dc65225bcf873cd8ae90dcb4cd2be9c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPasswordResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d954acf41a6dafe215433655d31d640c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPhoneNumberRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d45f4903df40ee3bd77be88577a412ab","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPhoneNumberResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98380b481754dcac7f9ab8692214601fa1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Unenroll/WithdrawMFARequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ed582f65f1bbfe77070a37c1232a5bad","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Unenroll/WithdrawMFAResponse.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e980260990078c52cdeedd113374940f921","path":"FirebaseAuth/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9815f0331dc89bc88066e8313ae1230d7a","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98903fbd0459d2e5a75024f7aad1339777","path":"FirebaseAuth.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a59f04be57ff7af8166da7ae57b7052a","path":"FirebaseAuth-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985ad9bf64e6d9c16244320fac423df5d7","path":"FirebaseAuth-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989fe4072316cf0fe3b79e8dbf97aeeee0","path":"FirebaseAuth-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","path":"FirebaseAuth.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","path":"FirebaseAuth.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e9c2c17b6d23969646305e706a919c46","path":"ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9804b25dc4a38ec99cc7fd67281c86394f","name":"Support Files","path":"../Target Support Files/FirebaseAuth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9858fcdc18505853dd6f00c107f2708b2f","name":"FirebaseAuth","path":"FirebaseAuth","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c8e8b8cf10823d2dd32a1185810db370","path":"FirebaseAuth/Interop/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d8ecb293eabe34266e9c2acd24084510","path":"FirebaseAuth/Interop/Public/FirebaseAuthInterop/FIRAuthInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98308fec9ee9d15235f6a503f88a64a5f2","path":"FirebaseAuthInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a19547b04db94fdaf5e7db00164193e9","path":"FirebaseAuthInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98044f9af062ff1c183350083c83029182","path":"FirebaseAuthInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9818d7a0ffe6bbcfadff1f8248044a4085","path":"FirebaseAuthInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9841444eef04abc51711ef29fa56c30705","path":"FirebaseAuthInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f43d3996be9ac6d65067ddec0bb95e60","path":"FirebaseAuthInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","path":"FirebaseAuthInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98abfe57b1c3ffc37b7da1aadf8b3a5784","name":"Support Files","path":"../Target Support Files/FirebaseAuthInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983419eafcc9a20c7bb7695c58d0b2b64a","name":"FirebaseAuthInterop","path":"FirebaseAuthInterop","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cd9f07d0b2fb559930c2ae2bf9747e02","path":"FirebaseCore/Sources/FIRAnalyticsConfiguration.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9854a82fbbc5d9d3e36f10650027f0ca39","path":"FirebaseCore/Sources/FIRAnalyticsConfiguration.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f28d1d0cbcb78dda7f7da183d06cbfe5","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cc0a3488ec4fa6f0d81deb8dce9745e7","path":"FirebaseCore/Sources/FIRApp.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a7b920e92c38e1c3682997a9875f535f","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cdb4558ce895cefa53bb484fbbc801fb","path":"FirebaseCore/Sources/FIRBundleUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985ac6a65d1abbd95b3222a959bd3ed1dc","path":"FirebaseCore/Sources/FIRBundleUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98792613733b311471baca7741a892d097","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bfed4627a3206dcca2d43a16da7cf363","path":"FirebaseCore/Sources/FIRComponent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cc0f063713fa5bbd86499265d1aa4801","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986a60689d7688953b3f4e5ae9a06112ef","path":"FirebaseCore/Sources/FIRComponentContainer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984b903d4ef1d452d8dc3706269778b02e","path":"FirebaseCore/Sources/FIRComponentContainerInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c376aa6302ea35864fe14e8ac71f3b75","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98153a962fce840da17bcce2d67d76b439","path":"FirebaseCore/Sources/FIRComponentType.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987a7479ee1b1ab368d41572db79f62527","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d5c378075765a5563670f27deae5726b","path":"FirebaseCore/Sources/FIRConfiguration.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980028225cb6e98d9ac6fd79fa77200429","path":"FirebaseCore/Sources/FIRConfigurationInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9826a5f3a40dbb41a9637c3731a0ed0d26","path":"FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984734eb7f0905cfa7cf1cfa5ba3cd9887","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987986614bb5a7d817d156233d61270aee","path":"FirebaseCore/Sources/FIRFirebaseUserAgent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987807e6b0eebde8d4b0187b68aaf59dd3","path":"FirebaseCore/Sources/FIRFirebaseUserAgent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98454412bbef5bb951f5d15e3a818bdc37","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d65b40371c1248fe2ef87035d75210d3","path":"FirebaseCore/Sources/FIRHeartbeatLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f7606fef05aa1917d01414603ab5cb75","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981946f817ca49b5e3b6b912d5df9ddf84","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98abd739e0c9726c3e38cc54a9b214efa6","path":"FirebaseCore/Sources/FIRLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988e46a09a82d9b4c3f06f70af7534d357","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981befd254138b5d3d4c0e696a3f2cc5a9","path":"FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bd00328ed27f133eb318d5e0816f4e36","path":"FirebaseCore/Sources/FIROptions.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c5c84f1b2927bb0d24fc94c37c35d5bb","path":"FirebaseCore/Sources/FIROptionsInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9847046f81471ab4ec97aaaed06cc61473","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRTimestamp.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e56caeedb0e28f503e0d81c6f8b25b15","path":"FirebaseCore/Sources/FIRTimestamp.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a53e428b8608267d405e5913c61ef5b0","path":"FirebaseCore/Sources/FIRTimestampInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98af88d89829ee580368676591ade30660","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989e785e54e25ad688bff8492ef8682ad6","path":"FirebaseCore/Sources/FIRVersion.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9852962952315417ac66b494a6bfd47e65","path":"FirebaseCore/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f2807ffcbe03e8ae82567c4619ab8fd5","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9823d6390774845687de6d4fb011153c6b","path":"FirebaseCore.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98310e1c5720762d17d391839fb8db42b9","path":"FirebaseCore-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985cb4927fa6a2d08ea8ffa7ead50c109e","path":"FirebaseCore-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a5325873d040ef9c2fa81ed9cc13645f","path":"FirebaseCore-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","path":"FirebaseCore.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","path":"FirebaseCore.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e982dc4846ced2e6e05aff44bdfe6770a4d","path":"ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9844dc030304bd1a637968a4b5d75e5999","name":"Support Files","path":"../Target Support Files/FirebaseCore","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9821882708599249fd09c2ea3269de2dcd","name":"FirebaseCore","path":"FirebaseCore","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986da0403a8eee8b227062a96db4b54cdd","path":"FirebaseCore/Extension/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d9c31787fb20e0d3b726f32d1cae282d","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98deda5d9c8a9db21a8d4ba993c48ba3e8","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989e283024df73d555c84cc8299fe1f700","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a531fc3683a504a421297735c463f0a3","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98821ee9010a3b481479ad6e1475069969","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983a322b00f56b545050f37af5fe8fd5ed","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984ec399767618433b391da15c0e8bfd4b","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c4a73d3419e3db96e94e440ffeede3a1","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e983c5ba958c45c571f2a6558cb872c3b8e","path":"FirebaseCore/Extension/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98aeda445c353f94561486a68909398724","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9810f8031e8daec668535aa427d51a3dfa","path":"FirebaseCoreExtension.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9863dc6a65518cd8552f0bb44f606472f9","path":"FirebaseCoreExtension-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98349457cc5fbddca4840b84b39ca8aa7f","path":"FirebaseCoreExtension-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d223c162f652e6a326861ff9685ed2b9","path":"FirebaseCoreExtension-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9815bbe23cd9ee52d6d69491b2c4256f30","path":"FirebaseCoreExtension-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","path":"FirebaseCoreExtension.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","path":"FirebaseCoreExtension.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98b42f891d7d3a0e6a33e1b59f82461ec2","path":"ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981944208555665a54991546fa9928999b","name":"Support Files","path":"../Target Support Files/FirebaseCoreExtension","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98027463ba77308fe2b8d067526dca4616","name":"FirebaseCoreExtension","path":"FirebaseCoreExtension","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983cdee83bcc43434a8d4a550fdbda5539","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9852a7fb5da0234cd67161d47dfcd9dd8c","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatsPayload.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981f3e1be72342fed558d883a56a70fed8","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/Heartbeat.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98cba19a1f6020b0e08dc154e1d73a320b","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980dacdf384ea1b1678b2e09640de0209a","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatLoggingTestUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981fe362804f9fc34bfe72067228a4a88a","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsBundle.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9833aac730c32122da484f473df99822d2","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsPayload.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e23a819ce27320a90f12d19a70198669","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9843ca16df69baf748d97f2b287a42cd9c","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/RingBuffer.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9826103f2a87e597596b43baac75f561fa","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989c9ea6354267dbee4da66339052634d6","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/StorageFactory.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985b6df9c94831dd8e385a092344987edc","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/WeakContainer.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98ed48d439642264291087d609ec321ad7","path":"FirebaseCore/Internal/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984f4de6520209608c37c0098147b711ac","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e980768375b98ae26bf953dd71ca3a2b888","path":"FirebaseCoreInternal.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98efeeaee17598b7041619fa81e32fcc62","path":"FirebaseCoreInternal-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985b82ee329a192f72f3c0d196e2ad8f24","path":"FirebaseCoreInternal-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987ef4128098e9c8eead8775344913e8c3","path":"FirebaseCoreInternal-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98933ed590ca3118bb324291ec1926151c","path":"FirebaseCoreInternal-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","path":"FirebaseCoreInternal.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","path":"FirebaseCoreInternal.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9805bbd1ce8094e9740b5906b71bb74d0e","path":"ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a0667f89055f47df6c8a4833322d2635","name":"Support Files","path":"../Target Support Files/FirebaseCoreInternal","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bf780f8a857a44b5c60dea57109d8b01","name":"FirebaseCoreInternal","path":"FirebaseCoreInternal","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98366dcb35bce5c21e150fc4fef5edbdc0","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985b3d258bc3a5d3c95e236759f6d8a0dd","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98de53cfd9a9032eea2e138b2cc935c381","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c2fe6acefc98d0eaa2e7f1d87a454830","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c6db408e98772685a545735eaeee3fc4","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980a155416991937c22f291d90b8c89202","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a5d9bebf0b2197cb7018f872acfc9960","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b8880acdcb7d0c70b7901da8c2e58ac1","path":"FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FirebaseInstallations.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98755cf53209653101432d420598cb093a","path":"FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a3a2c313ea4e1b111b5aa10a0b58bf59","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988023468388c7885d011f501c4b495ce3","path":"FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallations.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98674798be77251dc77ec29516cfabb6b2","path":"FirebaseInstallations/Source/Library/FIRInstallations.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e55ae7d1f7cb15ee33f3fda5f40dd1ef","path":"FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b9fcdc282e87069163e187a5f03a3273","path":"FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9834f4b66b78f67e0b025774c5b23fac7e","path":"FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsAuthTokenResult.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985cb1a4a145052701e659a3d065cd2974","path":"FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResult.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ecc8a5926a47fe7d32a29d38a8a9ad6a","path":"FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResultInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9889223479585651a84470a06682772c18","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9863834928bdc87b03c6acdd6636fd495a","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98787bf706ad03f6b1c8dcdeeddcce8b2e","path":"FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsErrors.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98138c9e7862b771a2044adec0ca7bd3e1","path":"FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b57d9b9c1c4f2d9828f7762ca0d67dca","path":"FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986784b2148963760bec5b57ae003a88f7","path":"FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987d4070d62b3998b453e173e1df73466f","path":"FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f885b3f4156a9f09e588ab17d75c08db","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982d7b8cc0bea9e8a0d7f092f62e116914","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9828dd61cd32e6cea8b599874a5ddad0ff","path":"FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981297051b96954e887dbef152465163d3","path":"FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986b5bcabcfbba42ce377ed284767ea64d","path":"FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c293d5c57e8a4b4d5eaa2ac87096af7f","path":"FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987309bde16f1c0d8e1518124c86b58d8a","path":"FirebaseInstallations/Source/Library/FIRInstallationsItem.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e5b2314d5129fa285edfd6d0dd5e1ec3","path":"FirebaseInstallations/Source/Library/FIRInstallationsItem.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c628607bf45d3bc05568bf6b8779bbb9","path":"FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981db90647bfcbb56871b13b1773917a44","path":"FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984807634757659c3c9fd322ad737612b5","path":"FirebaseInstallations/Source/Library/FIRInstallationsLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98920e07da7be85a441c0b3b09a3f5911e","path":"FirebaseInstallations/Source/Library/FIRInstallationsLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98899040ea5c5669cd9cb893fbdf4f825e","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98dcc9735cb34726063f259f8b4968fdc0","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e2ed05d0ebc509e9876fe81109c51432","path":"FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsStatus.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a11b9b4e9a86f16e5ca7af0d43818929","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f27114aeba9e9a79a905775bd76893d4","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e0d855862a2f5990892518cd4aaa0e89","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c804fed2182bc99afab8769ecc2f4ece","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987fa94151886fecdf3ef23a297c12ba85","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f99dd4c047dd359cf154f0d1f8610ca8","path":"FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984a063c9116e6633ab12867f04a8d9280","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9884b1f61f0fcd10fee8470ec05aad3654","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98fa68575ddf33d820495597c838eaca2e","path":"FirebaseInstallations/Source/Library/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d2367709c039e1f719f923774b2ffc35","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98c43d07100f73e0d400188a1dc3b37e86","path":"FirebaseInstallations.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984737ace9ca60d7127081b929c88bb9f3","path":"FirebaseInstallations-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e988e8ac6c5e9f49d1ac40d6d0a473760e8","path":"FirebaseInstallations-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b967b67af61b4f8dca06298ac4918134","path":"FirebaseInstallations-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","path":"FirebaseInstallations.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","path":"FirebaseInstallations.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98848bcd33ca372986e790fe5b7535c808","path":"ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9843999a6538a679801220ba070f028f9b","name":"Support Files","path":"../Target Support Files/FirebaseInstallations","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9869c202be12a8ed53924ba55e4ee4b973","name":"FirebaseInstallations","path":"FirebaseInstallations","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cd32ed8340b3eb70146e18318fcfdb98","path":"Interop/Analytics/Public/FIRAnalyticsInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a32c8d8b3848489785b2d3ed9a3932da","path":"Interop/Analytics/Public/FIRAnalyticsInteropListener.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e5875ef64060635a9f2821382b061f99","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98972f5f1b8856bcc1f9bf01f383857bcf","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98acb2567612a00a979c37e99bf4b76d54","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e68880c5aed3b7206df5d5d052042a57","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9883374847138313714bffa7ac8ecfc0a4","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9858c2721b3ef636171ec6b9d5fff305ff","path":"FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9838677378a6f59118132f3fa221a62877","path":"FirebaseMessaging/Sources/FirebaseMessaging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985ba9faa00c0fa3bebdbbe289ae1dbeb8","path":"FirebaseMessaging/Sources/Public/FirebaseMessaging/FirebaseMessaging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9871297c70ae09bc2f618f8915be5871a1","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f8fa0a888ac614731a5c38c2a07eb77b","path":"Interop/Analytics/Public/FIRInteropEventNames.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989277eaebee817eea5140122f723c57c7","path":"Interop/Analytics/Public/FIRInteropParameterNames.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9847e6ce1e556bc8c2b84525b51dbc83be","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f9b03757826c1ea86e5c29980b51c479","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9890aab2d8bb4bed397e715d06fb22b51c","path":"FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessaging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9807e51dfada62e421615fb9de706cbfd6","path":"FirebaseMessaging/Sources/FIRMessaging.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9888f0571cfb464288a7f4f7850118180d","path":"FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessaging+ExtensionHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984af8f250c4ef5fae89b50b0466e91b74","path":"FirebaseMessaging/Sources/FIRMessaging+ExtensionHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9851d1a5c02e1bfd4ce37100f3330d37af","path":"FirebaseMessaging/Sources/FIRMessaging_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eec991dbe2aa8bbe001c51e1722f307f","path":"FirebaseMessaging/Sources/FIRMessagingAnalytics.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b8d192e56758d261ece63be18bbebb9d","path":"FirebaseMessaging/Sources/FIRMessagingAnalytics.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987993ec8def14812603bd012591daaa83","path":"FirebaseMessaging/Sources/Token/FIRMessagingAPNSInfo.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98445486f606eb9f566681b506f83f4394","path":"FirebaseMessaging/Sources/Token/FIRMessagingAPNSInfo.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c464885dc1ab20764fe76f4afc84baf9","path":"FirebaseMessaging/Sources/Token/FIRMessagingAuthKeychain.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982c68fc83ca1af3b344980ccb2e7f9b45","path":"FirebaseMessaging/Sources/Token/FIRMessagingAuthKeychain.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a48e58763c4571a8c1f72ec3191ff63f","path":"FirebaseMessaging/Sources/Token/FIRMessagingAuthService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f1ff3f4be06cd87d99da4c58c726aac7","path":"FirebaseMessaging/Sources/Token/FIRMessagingAuthService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9842700887e263294ce40b33d6e938a194","path":"FirebaseMessaging/Sources/Token/FIRMessagingBackupExcludedPlist.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cd608b27d6cac7093b16dc53f4900fb9","path":"FirebaseMessaging/Sources/Token/FIRMessagingBackupExcludedPlist.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9898e8c307e5c2c282a749aa794d8001b9","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinPreferences.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d7a931696f8076fd4030fd07de703ed2","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinPreferences.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9891cba8fed310a59082713964f13607d8","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a79fd27738fb9c2d44e39dc087aa8121","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9852973af13c7fb2b17b32619f4022e057","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinStore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984132420fb8429cf4917d6cc794873128","path":"FirebaseMessaging/Sources/Token/FIRMessagingCheckinStore.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cd182e3efbdb47f1c2e09ed28fc139ac","path":"FirebaseMessaging/Sources/FIRMessagingCode.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e123c0000891911e60bba52dcb8d9674","path":"FirebaseMessaging/Sources/FIRMessagingConstants.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e41585cc4527e14402202e0d5b39cc75","path":"FirebaseMessaging/Sources/FIRMessagingConstants.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989609b3a96939c2f3b3f86220f75ef189","path":"FirebaseMessaging/Sources/FIRMessagingContextManagerService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9817b9826b3adf43796360297cbf6e81be","path":"FirebaseMessaging/Sources/FIRMessagingContextManagerService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987f04574339a4728948bbbf2c0adeca10","path":"FirebaseMessaging/Sources/FIRMessagingDefines.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98aaf20babfd0b0b12eba52e4b5bd86a25","path":"FirebaseMessaging/Sources/Public/FirebaseMessaging/FIRMessagingExtensionHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983566f7aa0524d3760df44697e15414d1","path":"FirebaseMessaging/Sources/FIRMessagingExtensionHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984d2e0cd6ac251f6acade3d509ea5a9d9","path":"FirebaseMessaging/Interop/FIRMessagingInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9829a8196c2053fd27ea89f8e74873bde2","path":"FirebaseMessaging/Sources/Token/FIRMessagingKeychain.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9849e23a0454fa94368c2c18e220ff3fc0","path":"FirebaseMessaging/Sources/Token/FIRMessagingKeychain.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987798df032c255556262945a35d020490","path":"FirebaseMessaging/Sources/FIRMessagingLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98763203a01832578cb6ec85f808243c5f","path":"FirebaseMessaging/Sources/FIRMessagingLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c2181d751b8d4a4a627836cbb3e8f7b1","path":"FirebaseMessaging/Sources/FIRMessagingPendingTopicsList.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983ce2221a161b36d3832edb74d2fd36dd","path":"FirebaseMessaging/Sources/FIRMessagingPendingTopicsList.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983633411fc88bf53df0b3f974f0469004","path":"FirebaseMessaging/Sources/FIRMessagingPersistentSyncMessage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a6f00b890ad1e645cc9a6224845b2408","path":"FirebaseMessaging/Sources/FIRMessagingPersistentSyncMessage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983e3d802630b1c5bbf3a1de285f621100","path":"FirebaseMessaging/Sources/FIRMessagingPubSub.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989675415f4bed3dcb9b6ebb2590943fd0","path":"FirebaseMessaging/Sources/FIRMessagingPubSub.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f571c3f56e0d63e15fbb983b80acd514","path":"FirebaseMessaging/Sources/FIRMessagingRemoteNotificationsProxy.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9840ad2b9d4157b57cde5522434d49a808","path":"FirebaseMessaging/Sources/FIRMessagingRemoteNotificationsProxy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f35577e63aa3d51df1356ac51e76230b","path":"FirebaseMessaging/Sources/FIRMessagingRmqManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98353c6e137229ad4d152c7d15b089866f","path":"FirebaseMessaging/Sources/FIRMessagingRmqManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986fc8ac8b06a41ea295e41c3db380fc48","path":"FirebaseMessaging/Sources/FIRMessagingSyncMessageManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a13a79947c125d418dedd813e56cbd57","path":"FirebaseMessaging/Sources/FIRMessagingSyncMessageManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98824f5459d32194eb1bbc6c32e70f96c5","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenDeleteOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f644f34313d77aeb5ad212dae401bac1","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenDeleteOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9835f7bff8075fdd05570909273187a041","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenFetchOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a67c1885492778c4331c91a8ef21e3f7","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenFetchOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980a8fa3935555ec676cca570655abac63","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenInfo.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984218e2b76d6d69dc207f1a606c3770eb","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenInfo.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98443901f02419f4a481ccac7c909c1c0f","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980f094261004656777ea57ac334397f73","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c7e7d35fd5db4324f317f0484bc8ef09","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989962166868edf457db2c076c15ced152","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983bfaa1ade2e7642df86461a3ad9671bb","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenStore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bdc8532a02e88973a34b57751f9c6ccf","path":"FirebaseMessaging/Sources/Token/FIRMessagingTokenStore.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98786536bcf07f06e47a9dab88a24f65c3","path":"FirebaseMessaging/Sources/FIRMessagingTopicOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988dd5ac9c9119e10981d81e20a148dff2","path":"FirebaseMessaging/Sources/FIRMessagingTopicOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c2213e7ff55e61f161632b9c56b2b28b","path":"FirebaseMessaging/Sources/FIRMessagingTopicsCommon.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c44b607e6b037665f27f07f81ecdb7c3","path":"FirebaseMessaging/Sources/FIRMessagingUtilities.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985358a080d88d6060afb794f6af304e61","path":"FirebaseMessaging/Sources/FIRMessagingUtilities.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e9858c9b22a9b22dbb57e44b94f7c2a01ae","path":"FirebaseMessaging/Sources/Protogen/nanopb/me.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98304dcfbd55e7435f5a154e69f6999357","path":"FirebaseMessaging/Sources/Protogen/nanopb/me.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986c9cb34cdb4f63dea43c2334b9cad58b","path":"FirebaseMessaging/Sources/NSDictionary+FIRMessaging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a6ce66012ff76c365b5a5444913e280d","path":"FirebaseMessaging/Sources/NSDictionary+FIRMessaging.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980720680c4a40f53cb9a3565e523066fa","path":"FirebaseMessaging/Sources/NSError+FIRMessaging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983ff2d9b1911e1dc555d12dc64485a737","path":"FirebaseMessaging/Sources/NSError+FIRMessaging.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98110a9ebb30f344b365766f03e6cb0036","path":"FirebaseMessaging/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98b0f65dfe60c913dde228d12bea134ee1","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e986feb5890d19df458735c9382fce98707","path":"FirebaseMessaging.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987dc832df7a2e38775edf00cb9ec4db30","path":"FirebaseMessaging-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98b1c2f33a9f5d1576d72841367598b148","path":"FirebaseMessaging-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9817095993fd223e2f3ddc014f19cfcc18","path":"FirebaseMessaging-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","path":"FirebaseMessaging.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","path":"FirebaseMessaging.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e986cc35261f45c716e1134397a25dc5081","path":"ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982adf3ea359179ae0f6c58b97adae7426","name":"Support Files","path":"../Target Support Files/FirebaseMessaging","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fc46dbcc6ee0a6a6c33bbfa300af4d31","name":"FirebaseMessaging","path":"FirebaseMessaging","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c4afec6183627fa5d8e291b3da23e0fe","path":"Sources/GoogleMapsUtils/GeometryUtils/Internal/CartesianPoint.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982679b6ed0aee74c4426a97664e500a53","path":"Sources/GoogleMapsUtils/GeometryUtils/CLLocationCoordinate2D+GeometryUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981d46cf010a6f823413d1cfbd0294623e","path":"Sources/GoogleMapsUtilsObjC/include/GMSMarker+GMUClusteritem.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98959c46a61a793565e947b9db1476250d","path":"Sources/GoogleMapsUtilsObjC/include/GMSMarker+GMUClusteritem.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981270889c7bf4103d20c0b3ea38e7b0b4","path":"Sources/GoogleMapsUtils/GeometryUtils/GMSPath+GeometryUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983ccd2a835bf366f6dcae9d51c3a0d4b1","path":"Sources/GoogleMapsUtils/GeometryUtils/GMSPolygon+GeometryUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9862f15a55ce32a1c6bef69b0c4b8274ba","path":"Sources/GoogleMapsUtils/GeometryUtils/GMSPolyline+GeometryUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9859c594f40e5dbeb82b9ec48b45f7f4de","path":"Sources/GoogleMapsUtilsObjC/include/GMUCluster.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d84dc68704a3ff3abe7829fe9a6d6304","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterAlgorithm.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b8cf88eda349b6338b7784b45df5777e","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterIconGenerator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98643528d38d42418ca720fe9b41943ccb","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterItem.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98531d484f6e2285dcd61e38a5c141e903","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987f8f7d9405a2d71386401cc7cb9cbe31","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985cc093582d34152a02fe14157b08a6ef","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterManager+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988d4fe666fcaaa45924aee12d36ba80f5","path":"Sources/GoogleMapsUtilsObjC/include/GMUClusterRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985b7d345b72d14e9a156efbf6935b1fb9","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterIconGenerator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cf47056b7b3c1d17d3ba75fa67e672d0","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterIconGenerator.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f5adc953a040ed4fded146adb8b0e9dd","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterIconGenerator+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981da2b1636cf3ef3799de11b024415bd2","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a0c11341a540dcf4c2820f233e1782e9","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterRenderer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98162a3051e7cb2887ab8938409fa992ac","path":"Sources/GoogleMapsUtilsObjC/include/GMUDefaultClusterRenderer+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bd31985aece6e25ef936e5c120a5f01f","path":"Sources/GoogleMapsUtilsObjC/include/GMUFeature.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ff3ff758a7edfc51ac7d6371331c92c4","path":"Sources/GoogleMapsUtilsObjC/include/GMUFeature.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c290ff50b035cda03e4d0faad4b6dfa7","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeoJSONParser.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983e7f51c13d714e344bbbfa2925c978d8","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeoJSONParser.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a29517b70825a299b019001de4378ca7","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometry.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988ac777041ef9a940c52b6b7df1769794","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryCollection.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c53fa61c94cf193895969774e9ab3ba4","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryCollection.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9890f8b040df8e602de8f3f000839bb56c","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9833dde46377f6825b1b66799e81c18a16","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9800889596222c6c409ffeac9d869d3f4c","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryRenderer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a739b6af7bf035af3d53d68a98c7635a","path":"Sources/GoogleMapsUtilsObjC/include/GMUGeometryRenderer+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d8c35f73afc1205e1b22a7ec2d2c51ff","path":"Sources/GoogleMapsUtilsObjC/include/GMUGradient.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98946bfbec479372821d1ef5a7b1540f1b","path":"Sources/GoogleMapsUtilsObjC/include/GMUGradient.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988e185a2a169f891661cbb7e103587290","path":"Sources/GoogleMapsUtilsObjC/include/GMUGridBasedClusterAlgorithm.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98de995dd67acc21c3312f2d3becf9377f","path":"Sources/GoogleMapsUtilsObjC/include/GMUGridBasedClusterAlgorithm.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f7389e47e75f4e70eefdc6c8fa821896","path":"Sources/GoogleMapsUtilsObjC/include/GMUGroundOverlay.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989e711db19f8353b459ea265619cfb6be","path":"Sources/GoogleMapsUtilsObjC/include/GMUGroundOverlay.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985d827910bd6bb40fae41b3b7f4c8d03f","path":"Sources/GoogleMapsUtilsObjC/include/GMUHeatmapTileLayer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981f2f0a7f96e44e261efeb8136645dd42","path":"Sources/GoogleMapsUtilsObjC/include/GMUHeatmapTileLayer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fb5b3e404b4f5422a5f509edbaf9a915","path":"Sources/GoogleMapsUtilsObjC/include/GMUHeatmapTileLayer+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c1e8a6eaf72e23697aaaa176e4c84d2a","path":"Sources/GoogleMapsUtilsObjC/include/GMUKMLParser.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9882a80841df5c6130ab61a58ebbb5a5b2","path":"Sources/GoogleMapsUtilsObjC/include/GMUKMLParser.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98218c9057fb5a16a8b19991a9d518c750","path":"Sources/GoogleMapsUtilsObjC/include/GMULineString.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a8dcaace7e2a9f5841adf3f9bdbf6d2e","path":"Sources/GoogleMapsUtilsObjC/include/GMULineString.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98619643116a66a518f2e6738ff981871c","path":"Sources/GoogleMapsUtilsObjC/include/GMUMarkerClustering.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982f1976121d1cf5b8b13d63b7451d8228","path":"Sources/GoogleMapsUtilsObjC/include/GMUNonHierarchicalDistanceBasedAlgorithm.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98232441729710e4502d173376c5d606af","path":"Sources/GoogleMapsUtilsObjC/include/GMUNonHierarchicalDistanceBasedAlgorithm.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a3e341cf004a3b0e389eec764149105b","path":"Sources/GoogleMapsUtilsObjC/include/GMUPair.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98467958abd4b80f431f6131bbc47319f4","path":"Sources/GoogleMapsUtilsObjC/include/GMUPair.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984f26dcfb8f2f14f0a4983ce0fbed14bc","path":"Sources/GoogleMapsUtilsObjC/include/GMUPlacemark.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9879c711557ccac792857686eab6143e97","path":"Sources/GoogleMapsUtilsObjC/include/GMUPlacemark.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986450842f96832d52fde36fdcd5a0e76f","path":"Sources/GoogleMapsUtilsObjC/include/GMUPoint.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983b2b45d7da8301a44b8d6302c748d970","path":"Sources/GoogleMapsUtilsObjC/include/GMUPoint.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d228f625e16e3667a3eeefa78a63a1b4","path":"Sources/GoogleMapsUtilsObjC/include/GMUPolygon.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c6a100634b4c5e1177b86742401a8e60","path":"Sources/GoogleMapsUtilsObjC/include/GMUPolygon.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988bd095e181159d4c70503cd776c3912f","path":"Sources/GoogleMapsUtilsObjC/include/GMUSimpleClusterAlgorithm.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98789e1895e90e7b7faf175af5796ede8b","path":"Sources/GoogleMapsUtilsObjC/include/GMUSimpleClusterAlgorithm.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d5277e8f66b00f9a7a148dc0318f6d78","path":"Sources/GoogleMapsUtilsObjC/include/GMUStaticCluster.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c69ad2a6c0466eb564e3c9829cc4ed98","path":"Sources/GoogleMapsUtilsObjC/include/GMUStaticCluster.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f009499367c37dbf8d4f5827291e2e67","path":"Sources/GoogleMapsUtilsObjC/include/GMUStyle.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98876d2635aeb4b97a6f5c7b8acd60e8c8","path":"Sources/GoogleMapsUtilsObjC/include/GMUStyle.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9898fb61c4cc575e86384d47d03232d2e3","path":"Sources/GoogleMapsUtilsObjC/include/GMUStyleMap.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c4d2ce5f224970b7a40003a1275b6a3e","path":"Sources/GoogleMapsUtilsObjC/include/GMUStyleMap.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9861df7797a1169e3e717487d57eb972b0","path":"Sources/GoogleMapsUtilsObjC/include/GMUWeightedLatLng.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980996e1944dbfe72d666081416b0750dc","path":"Sources/GoogleMapsUtilsObjC/include/GMUWeightedLatLng.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98993b69a36bd7ab41c52803ff17c538aa","path":"Sources/GoogleMapsUtilsObjC/include/GMUWrappingDictionaryKey.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9863a8f6056a69b4930cb3995e6319c117","path":"Sources/GoogleMapsUtilsObjC/include/GMUWrappingDictionaryKey.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fb59fee34deffa5c1c88817799ff4b14","path":"Sources/GoogleMapsUtilsObjC/include/GoogleMapsUtils-Bridging-Header.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98235c1160a0d582f4486ddcd2a45426b7","path":"Sources/GoogleMapsUtilsObjC/include/GQTBounds.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f9b3eee11a6608d6d5bde581c39940f5","path":"Sources/GoogleMapsUtilsObjC/include/GQTPoint.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98398d7dd35185486a19a8ec5ce1dc1795","path":"Sources/GoogleMapsUtilsObjC/include/GQTPointQuadTree.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c8ee7848c758e947045e7b98f46a5df6","path":"Sources/GoogleMapsUtilsObjC/include/GQTPointQuadTree.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9857924b10538d2c6d983a2606bf9c0345","path":"Sources/GoogleMapsUtilsObjC/include/GQTPointQuadTreeChild.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e6ab6bbf45c8bd2c755396de5e9be019","path":"Sources/GoogleMapsUtilsObjC/include/GQTPointQuadTreeChild.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98060e6840dfb64bd239f2f7e7dab58543","path":"Sources/GoogleMapsUtilsObjC/include/GQTPointQuadTreeItem.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984dc6dda48c9b7d504e6111a1d8c90b52","path":"Sources/GoogleMapsUtils/Heatmap/HeatmapInterpolationPoints.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985c8b1ede30de12670c0d682c2da1c268","path":"Sources/GoogleMapsUtils/GeometryUtils/Internal/LatLngRadians.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e6e626363db3afd8bdc30dabc5962514","path":"Sources/GoogleMapsUtils/GeometryUtils/MapPoint.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e9fba7634c577be673c1c2d8b0a7805b","path":"Sources/GoogleMapsUtils/GeometryUtils/Math.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c403e1d2f3abcf6631286459308c87d3","path":"Sources/GoogleMapsUtils/Helper/MockMapView.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9897f7754174da139eb855e626a3965794","path":"Google-Maps-iOS-Utils.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980018bf44e75276f5fa1a371b524458d5","path":"Google-Maps-iOS-Utils-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9843f8d699268a308489ffa5dc084de370","path":"Google-Maps-iOS-Utils-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989af7d5cbdb643349d91fa78c4def111f","path":"Google-Maps-iOS-Utils-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984b1d0840a904d84c4f12f7ad408eaee1","path":"Google-Maps-iOS-Utils-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98dc8bf1676291fb15b90de40b9de5e839","path":"Google-Maps-iOS-Utils.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","path":"Google-Maps-iOS-Utils.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98448dfdabc69b8a8d5c1dc9fb055ab060","name":"Support Files","path":"../Target Support Files/Google-Maps-iOS-Utils","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a267fc25ec63b264514a26b2a4b061af","name":"Google-Maps-iOS-Utils","path":"Google-Maps-iOS-Utils","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e986d95dcfe3c11de57bb9bb9c897e92f5f","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b1378da862595aa72a4b177ca343c731","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/cct.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e98c903bb33e0bcea67b89a402bdef596bf","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/client_metrics.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98837ac20829152ed77d81bea7eb942fa7","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/client_metrics.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e98c448b46830b8d19149925f27ad347980","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/compliance.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981cada110a0955611310ea868fa638303","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/compliance.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e98885e9a1bdd89d0c067b61adca41c2981","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/external_prequest_context.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986546bc52c0a691dd884c3a849a99a0b5","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/external_prequest_context.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e9801d09ead62d8f6fa8d7fb499e2657ccc","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/external_privacy_context.nanopb.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986f34ced891e25b68eb1496c4020f83a7","path":"GoogleDataTransport/GDTCCTLibrary/Protogen/nanopb/external_privacy_context.nanopb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987933d7ae74c004e950d466c2d2eb2992","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTCompressionHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986ce20e3f4e9229141fe67a96207da9bb","path":"GoogleDataTransport/GDTCCTLibrary/GDTCCTCompressionHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f67d1427edb7ee13913c49404228d7cb","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTNanopbHelpers.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e56dfe289200214f856bdfbf3876d551","path":"GoogleDataTransport/GDTCCTLibrary/GDTCCTNanopbHelpers.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9822cdda7a50fd68b73891e685981c3817","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b800e5d651cbbca33d64f6844df7e266","path":"GoogleDataTransport/GDTCCTLibrary/GDTCCTUploader.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984275568362fd78151722010e89c9ee94","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTUploadOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987478e1b6a22857a8f106e10c4134b038","path":"GoogleDataTransport/GDTCCTLibrary/GDTCCTUploadOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9838517cd36b7076e2896c2efb0949df83","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCCTURLSessionDataResponse.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e11eb6ef06475e912e9fac65eabfb7ec","path":"GoogleDataTransport/GDTCCTLibrary/GDTCCTURLSessionDataResponse.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989c52975dd5d431961b4cd806a510b9e4","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORAssert.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f124da0f368b6f4e340e1c223df9cabc","path":"GoogleDataTransport/GDTCORLibrary/GDTCORAssert.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983c6c72a54ced7d13ed6faea57d14e87a","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORClock.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b8132e198cef6335c4d99fde22e929f9","path":"GoogleDataTransport/GDTCORLibrary/GDTCORClock.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983822645b8748e118f1cccfaa5ac9a1c4","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORConsoleLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9821ed3dee19a41fb9fb9d921581e3ed44","path":"GoogleDataTransport/GDTCORLibrary/GDTCORConsoleLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fe89f25416274237c07d48a82b4ed7f3","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORDirectorySizeTracker.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f2f20bce8b7a6297fc62a381a31fc021","path":"GoogleDataTransport/GDTCORLibrary/GDTCORDirectorySizeTracker.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98de5446c92a00b7d0a9657a67460707d2","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREndpoints.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987f6c43e3a9b481bef4c7952d68efd1ce","path":"GoogleDataTransport/GDTCORLibrary/GDTCOREndpoints.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9841f92211942e45d729d6fe790b405140","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCOREndpoints_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fbea449a882fb45dd31472c2dc425d0e","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREvent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9875aaab549591a78b0d0848ff66f13394","path":"GoogleDataTransport/GDTCORLibrary/GDTCOREvent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9857d8eb97578b03d6c518ea6f431426ef","path":"GoogleDataTransport/GDTCCTLibrary/Public/GDTCOREvent+GDTCCTSupport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987b77d10af99473f8114a2c3bbf3d4f03","path":"GoogleDataTransport/GDTCCTLibrary/GDTCOREvent+GDTCCTSupport.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983f6089888c1944d7089dfaa7d8136a69","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCOREvent+GDTMetricsSupport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98355dfee33c0e8bdae593788390d340f9","path":"GoogleDataTransport/GDTCCTLibrary/GDTCOREvent+GDTMetricsSupport.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985bfd4ba83cccb7787f11a98e37fd63c2","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCOREvent_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9823b8da720b367eeb24da3d66b23768d8","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventDataObject.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984b0b02995c836ef44a761faf37cd4bac","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCOREventDropReason.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e63e8c45d3877c3a8d009fc6916e25af","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCOREventTransformer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980078f30f1e0b2e03ff18914d7c7984cd","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e98c35408b1cfa8249eeba5d77631ae8","path":"GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981020067635c22f835c53d83c512fa785","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORFlatFileStorage+Promises.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983dbfc0a24418c459f7a1847b98886acb","path":"GoogleDataTransport/GDTCORLibrary/GDTCORFlatFileStorage+Promises.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d12110e867e57b467657bcd201fca790","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORLifecycle.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9886656d841ac719fd417783b5cee8876f","path":"GoogleDataTransport/GDTCORLibrary/GDTCORLifecycle.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981000cdfd88f78eb0e6dcae2b8d0b5241","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORLogSourceMetrics.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9870d2a645994b4f81d31220bf309baa57","path":"GoogleDataTransport/GDTCORLibrary/GDTCORLogSourceMetrics.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980d28c5ab11d56be24b8d2c3728987ef2","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORMetrics.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f144629ffefd6482e44cf4c78967f746","path":"GoogleDataTransport/GDTCORLibrary/GDTCORMetrics.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98985ae7d5d5133f5e65e6bce301e3359c","path":"GoogleDataTransport/GDTCCTLibrary/Private/GDTCORMetrics+GDTCCTSupport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98fe4e6a974efaa77f7002e5979ea2770b","path":"GoogleDataTransport/GDTCCTLibrary/GDTCORMetrics+GDTCCTSupport.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9804063be870f1767b2959d790c078eb2b","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORMetricsController.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9869874802735677ef966c9e3f1e2c11ae","path":"GoogleDataTransport/GDTCORLibrary/GDTCORMetricsController.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98563883f538b633553c3789f68d31e136","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORMetricsControllerProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c60861af18f644b3a7576bf92ce97fbc","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORMetricsMetadata.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985df45db98d82b6d44a418deb4738a4ee","path":"GoogleDataTransport/GDTCORLibrary/GDTCORMetricsMetadata.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983a5aff7ce0b9bd7d59e6b7535e8490f3","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORPlatform.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985684893a3ed4aa2fce765ac324eb0fb7","path":"GoogleDataTransport/GDTCORLibrary/GDTCORPlatform.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cb2b0560a1ae246ff5f1494def6599b1","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORProductData.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982c439ae1bd0f0cadd1938d0b3666c06f","path":"GoogleDataTransport/GDTCORLibrary/GDTCORProductData.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989d74fafbc4faca1d458082a555c3d5d0","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORReachability.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9853a17faf3712bf14aa9bbb6ac2e9da62","path":"GoogleDataTransport/GDTCORLibrary/GDTCORReachability.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d853d25084d58e8245ffac331cc1960","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORReachability_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983121cb09896e53f3ab24ddea8ed19d67","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORRegistrar.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985487f06d915551e899462709f1729bda","path":"GoogleDataTransport/GDTCORLibrary/GDTCORRegistrar.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9856c43e7657587c5f604eb76aef08da73","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORRegistrar_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e993636da7badcae2f714afae88a9b17","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageEventSelector.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c33d6a9e4275a8628636dc0a354d1b07","path":"GoogleDataTransport/GDTCORLibrary/GDTCORStorageEventSelector.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98085f22286701a193a6325be1acfe8ecb","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORStorageMetadata.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c2c55bea8e73ec43b39422292a9bd87a","path":"GoogleDataTransport/GDTCORLibrary/GDTCORStorageMetadata.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9882fae6a10e0175ef8cb3394d75b374c4","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981f75fdfe102e1b50ad942a6a80d99df1","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORStorageSizeBytes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983eec549d7b6038ccc7239642ba209468","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTargets.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f4c3879a64e6b585dc3e4868a1a1dfb1","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b8a9a0e104a6a21379c64e59636b10aa","path":"GoogleDataTransport/GDTCORLibrary/GDTCORTransformer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988ea02686c0baf2f6c5bb8076e019371b","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransformer_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984cdf539c948249f80edf10476ce06fcd","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GDTCORTransport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986420246a7b25f18a2bf81a4f76fb269d","path":"GoogleDataTransport/GDTCORLibrary/GDTCORTransport.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986d476cc72634406b319ffa4a08a38002","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORTransport_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980e3755d122357da28e702ee1fd4b8078","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadBatch.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bc88d476b3c6433732620a11364fe014","path":"GoogleDataTransport/GDTCORLibrary/GDTCORUploadBatch.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e82ee5528b6d8c90b43ed0c8b1d1eb23","path":"GoogleDataTransport/GDTCORLibrary/Private/GDTCORUploadCoordinator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98296326ff0c0c397e514bccd5dde4ec21","path":"GoogleDataTransport/GDTCORLibrary/GDTCORUploadCoordinator.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9820d06194440d979ef0d5069770639fb4","path":"GoogleDataTransport/GDTCORLibrary/Internal/GDTCORUploader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9872986c9216ad79ae553f830ba0eefc9d","path":"GoogleDataTransport/GDTCORLibrary/Public/GoogleDataTransport/GoogleDataTransport.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e987aafc744bce704cac028c9ea90b08980","path":"GoogleDataTransport/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e8545cf07c5e2755d115359091fd94c9","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98e5bfc4487ea263ce9864d0ba3feec5ed","path":"GoogleDataTransport.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985398a19ebf9bfc2e9510133df93993f3","path":"GoogleDataTransport-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e988256a93e67774fb371775b213962edbe","path":"GoogleDataTransport-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9820c4155910a529859e5b64271c40f39e","path":"GoogleDataTransport-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","path":"GoogleDataTransport.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","path":"GoogleDataTransport.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e988a6cdcc1ba519ebb722b044ddf33a60f","path":"ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d93e4338c12edc2a3bb12e517f0960b3","name":"Support Files","path":"../Target Support Files/GoogleDataTransport","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988235a00baf58574ae0f4a6e8274552e5","name":"GoogleDataTransport","path":"GoogleDataTransport","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989995e4cda0d38a211b06842ebc003a1a","path":"Maps/Sources/GMSEmpty.h","sourceTree":"","type":"file"},{"children":[{"fileType":"wrapper.xcframework","guid":"bfdfe7dc352907fc980b868725387e9863b52a840c96b33e8d15fc4f2157b6f6","path":"Maps/Frameworks/GoogleMaps.xcframework","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9898732d919ab2ea504a35880e711f9dd3","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"wrapper.plug-in","guid":"bfdfe7dc352907fc980b868725387e98435e69bc90fc6dce326b41235f37ab59","path":"Maps/Resources/GoogleMapsResources/GoogleMaps.bundle","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983968895d146b2206ff4bad66981e2cec","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e1ef04ace61272418c6fc9085061d5e6","name":"Maps","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e982dcae1a42e57eaad5f5b63f18c17d4c2","path":"GoogleMaps-framework-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","path":"GoogleMaps-framework.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","path":"GoogleMaps-framework.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e98f70ef5366311ced634c0ec2a37454b6f","path":"../GoogleMaps-library/GoogleMaps-library-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","path":"../GoogleMaps-library/GoogleMaps-library.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","path":"../GoogleMaps-library/GoogleMaps-library.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98d66a43f46cc8a671ec07caceae1aaff9","path":"ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981c21b9db62364549708d47f28dff2563","path":"../GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98601f4b2c1c86d2ed606a5a239580bdf9","name":"Support Files","path":"../Target Support Files/GoogleMaps-framework","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98343feeb1331bed2ab42954c180c92860","name":"GoogleMaps","path":"GoogleMaps","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fc3958cbf6596b409d78891df4d441ca","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98400d248230b0ba604eeddf73fc498e9a","path":"GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98744c8db002304cd7e436363324775c66","path":"GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983874bf2cd87881d838ea0fced041baf1","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eb510c8c8551c6f9ff9d461401806ace","path":"GoogleUtilities/Common/GULLoggerCodes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98de5b26ffd121f355abeec2572daeb17a","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9802c54c6c86f23cd5874bb29680bf4797","path":"GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980eaf9d7ffbb92a7eae8d20746f7177d9","path":"GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988157c67ce91f2d9976b697c040050c33","name":"AppDelegateSwizzler","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9836a3610db699a7f79e205c7b81d04285","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986486f523d40ca1458fc0f1b3bbc1d83b","path":"GoogleUtilities/Environment/GULAppEnvironmentUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983b69a347400baa3cf19846d03385872d","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98684c0736d342c3cfbcdf4b08812b5e7a","path":"GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a764740997f3bc6f569fc6a3dafac017","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988bf66bd9d5c44b6d09716d2aef44cbe4","path":"GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f651112af008aa4b5fbe8fa828b1e6a8","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULNetworkInfo.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989d417bff50c545e267cc450e49e3b0de","path":"GoogleUtilities/Environment/NetworkInfo/GULNetworkInfo.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980475de3ce36c0467372bdb5be0b630ef","path":"third_party/IsAppEncrypted/Public/IsAppEncrypted.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98eaca194527b5884fb6c3ea8666284288","path":"third_party/IsAppEncrypted/IsAppEncrypted.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98595c7de0db593a5a9d1bc930dff69441","name":"Environment","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986f12981c0e509f935507c4bb35336dc9","path":"GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985763519ae81caa70dfbe6642d3f923bf","path":"GoogleUtilities/Logger/GULLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98524d28be8a466ea3da744c45ab1bd072","path":"GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98590756c9fabe4a28e2ce99493b7b6428","name":"Logger","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984cc68daaeeda5841904529f9a2f40c9d","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98314afcf630f27033f7de01e5b9c4cd0e","path":"GoogleUtilities/Network/GULMutableDictionary.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98efac0b588770f9e62217abd2fc8601f0","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b91ed24cd734d55993aead325ceac38b","path":"GoogleUtilities/Network/GULNetwork.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984b6a0004f85a139d0fb912de5a7d7c2c","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985a235f246df37c18bef1e1cc40e48b5e","path":"GoogleUtilities/Network/GULNetworkConstants.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986cfb96a740675dfa3fee8a019021a326","path":"GoogleUtilities/Network/GULNetworkInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ec032764b3fb320a9af2b0a7d7a375d3","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98312c467c61fa104f058ecb4aa2a0602e","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982b4e83ecfa94011da6c91313b0adefd0","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9898c1cda7bf247d5c5434045cc2d29bb8","path":"GoogleUtilities/Network/GULNetworkURLSession.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980eb8b5787f8070785d2a8cc61f35bce7","name":"Network","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987ef94f4d30b2796afe3c213e35e6e057","path":"GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989edbcf593d93511c99d8e1a5d411e518","path":"GoogleUtilities/NSData+zlib/GULNSData+zlib.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98cb6d96a51269899a695cd2fd0c7ea207","name":"NSData+zlib","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e985a98a02a7cac9ca595673e0f98d1b8ca","path":"GoogleUtilities/Privacy/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d0427c0ae403041e0fd60db497332648","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b2c1e49d4bfa94fbaa9a8e19c3546451","name":"Privacy","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9827b98af6570ea255b0ba0b63d5c36f1b","path":"GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98513b03a97474eff2dabd1462599f8f86","path":"GoogleUtilities/Reachability/GULReachabilityChecker.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fc1dada114868403c88976371952303a","path":"GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985430f9bd0da6cfa274582dab558c9d55","path":"GoogleUtilities/Reachability/GULReachabilityMessageCode.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ef99d99c72c2a42d98605de04e7337ea","name":"Reachability","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e983db6fccd5bcb5aed2b177eefd72eed1d","path":"GoogleUtilities.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989a8b949c2ffa9e2abe2c8e3fca8115ed","path":"GoogleUtilities-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9808b28d66656b66a079d302cb4c16be29","path":"GoogleUtilities-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ea84c76f245c76ea800c8238a60e3d39","path":"GoogleUtilities-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","path":"GoogleUtilities.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","path":"GoogleUtilities.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981bbad95e75bca784e5fc2b5d64653a91","path":"ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989a0842c24021737f6d51193ad1010e59","name":"Support Files","path":"../Target Support Files/GoogleUtilities","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b29a0fd2022d4ed3f1de891cee57b8b7","path":"GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98592b083d6e21e3122d117bd392e9c9d6","path":"GoogleUtilities/UserDefaults/GULUserDefaults.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98bc8ecc7e19cea005cb2e459498f8bf68","name":"UserDefaults","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9866a96e0f478e228ee8e8bb6b1863e3f8","name":"GoogleUtilities","path":"GoogleUtilities","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982a4aea59915fbd5f2c6168b3ca443801","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cfe5bb214cd9862a474ae267c68fc8a0","path":"Sources/Core/GTMSessionFetcher.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f24a59c5f254fa492a22973f0aaaf29a","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcherLogging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981c5c16009d8163683d50c017589c9a76","path":"Sources/Core/GTMSessionFetcherLogging.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9814905074f239f645386eaed7cc40ac91","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcherService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9883bccec5d8c70e3e43d03a5dd149c957","path":"Sources/Core/GTMSessionFetcherService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bfc2367db07f7ded901c51ed83182cf7","path":"Sources/Core/GTMSessionFetcherService+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d243a413f6af3350745b4c604c4fe65e","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionUploadFetcher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986f79e89e102b068e2c74c7ea3477dfcf","path":"Sources/Core/GTMSessionUploadFetcher.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9854af24fd8e94b1e3e8317e9b261cd652","path":"Sources/Core/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989dafbf6bcc161e4452e6c5b4adcc7be0","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9866fb9241ff97b74f83cf3d00777cb6e8","name":"Core","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e985e9ff19984a5ac96a50a82812545ff4e","path":"GTMSessionFetcher.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9839e4feabdf433393c072420cdd0c20bd","path":"GTMSessionFetcher-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e383dda149451490c3e98b32ff459d29","path":"GTMSessionFetcher-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c8ea00fc05109b43d1937aa67ed6c42b","path":"GTMSessionFetcher-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","path":"GTMSessionFetcher.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","path":"GTMSessionFetcher.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9807a158aa81c9bd5bd12654d903ad76a8","path":"ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98fb32e1bcbf9448ebdf3ada89edc3fe93","name":"Support Files","path":"../Target Support Files/GTMSessionFetcher","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985f5bca742cdd3f8b5ae6de320fe3fa4f","name":"GTMSessionFetcher","path":"GTMSessionFetcher","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986641fb6362ea67a4e60395966c9d9f26","path":"Classes/ios/Scanners/MTBBarcodeScanner.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c0dddd1bf8dd13a4025a323be8cecd71","path":"Classes/ios/Scanners/MTBBarcodeScanner.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9898fdeadafa140ce49f7f2c19a3b01c88","path":"MTBBarcodeScanner.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f34363ad37c8701b00e6d16ed15f080a","path":"MTBBarcodeScanner-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e087d92666490b68bd7a97f468e53477","path":"MTBBarcodeScanner-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b713ad5c9b362b49cc38e2f5e94874ad","path":"MTBBarcodeScanner-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bcff99fb74d78d71abf0c4d4dd2a94a6","path":"MTBBarcodeScanner-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e986c9bfa607c0ec63d84408e5beee150b7","path":"MTBBarcodeScanner.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","path":"MTBBarcodeScanner.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98bda9a984ad6bd107913a527022e2a7c8","name":"Support Files","path":"../Target Support Files/MTBBarcodeScanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9809bde53f5ffbc6a991193e39c83fd37b","name":"MTBBarcodeScanner","path":"MTBBarcodeScanner","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985f8fe6398489bf8414bc89b3988144ec","path":"pb.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e98974d5422b4e897b749464a5d5aa990b6","path":"pb_common.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988da620e4210aad6a38ca2b8d94224693","path":"pb_common.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e986c03aca67f53d30dce74b03cb8c00217","path":"pb_decode.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c9e5daf49e1d430c147deddff44ff6ba","path":"pb_decode.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.c","guid":"bfdfe7dc352907fc980b868725387e98636f3e49ed298a6ad9ed16f1b334bc2f","path":"pb_encode.c","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981a233caa835e42a98189c0ba02dcb204","path":"pb_encode.h","sourceTree":"","type":"file"},{"guid":"bfdfe7dc352907fc980b868725387e98a4362cc3be649b26473551de7397d30f","name":"decode","path":"","sourceTree":"","type":"group"},{"guid":"bfdfe7dc352907fc980b868725387e98b3779f43353cdfa626f19504a92733b9","name":"encode","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98a2f1529f9bc7eeb1cec420d33d56c68f","path":"spm_resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98fcb4b926415ee3b492e21def0d5b35d4","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9865dce49c9a40150a5b196b5041f7ea45","path":"nanopb.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bb6f7eeff34b68de2f157f26cf0a318c","path":"nanopb-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98295262383e0ff8b72bd709a415fda903","path":"nanopb-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f085557ce44401194e2328bbabd65635","path":"nanopb-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985f6cf97776d16104c3d5714f60193c1a","path":"nanopb-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","path":"nanopb.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","path":"nanopb.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9899ae4de229ab21b92f8060c1d498c1fe","path":"ResourceBundle-nanopb_Privacy-nanopb-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985206144725508e0b91197fedcedf855d","name":"Support Files","path":"../Target Support Files/nanopb","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987686c6710e835fbf7cf4f2386f7d2299","name":"nanopb","path":"nanopb","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984915e7978c1e2ba2f094a2399d0f5ac2","path":"Sources/FBLPromises/include/FBLPromise.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98122285df5992548328879da4bf8175c5","path":"Sources/FBLPromises/FBLPromise.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984a05cedb13068d312ab4e2e613380c01","path":"Sources/FBLPromises/include/FBLPromise+All.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ada4154c2b9acc9f2f7567b47492ae07","path":"Sources/FBLPromises/FBLPromise+All.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9861a609b4cbbdc8c0dde08895ef429156","path":"Sources/FBLPromises/include/FBLPromise+Always.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980d39906235d198a838d5724d5c235b4d","path":"Sources/FBLPromises/FBLPromise+Always.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9834158971ffc19ac86cc0e68c0114685b","path":"Sources/FBLPromises/include/FBLPromise+Any.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980b031abccf4e179be9af72c6cbf26b0c","path":"Sources/FBLPromises/FBLPromise+Any.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9850a800876fad810852053bd3f4f9bc94","path":"Sources/FBLPromises/include/FBLPromise+Async.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98459ca37a293f0a27468276e2be81e7eb","path":"Sources/FBLPromises/FBLPromise+Async.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9823f99a1c0e2994fce136d96cae5dfeee","path":"Sources/FBLPromises/include/FBLPromise+Await.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ef198eaaf2c6b609876bedcd3fa09096","path":"Sources/FBLPromises/FBLPromise+Await.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98858f27a2ed93f0b69ea0a0dce4e21bf2","path":"Sources/FBLPromises/include/FBLPromise+Catch.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9847a5b3441c13307a0430e07b5b892f18","path":"Sources/FBLPromises/FBLPromise+Catch.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b1b28b7943476287e557cd06d04a9974","path":"Sources/FBLPromises/include/FBLPromise+Delay.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989c44f8fa51f5a21be5f1c749729136b3","path":"Sources/FBLPromises/FBLPromise+Delay.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983513ff4d6520f9e5c4d84e2f214823e9","path":"Sources/FBLPromises/include/FBLPromise+Do.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982e6f932b3c6599f29058fdd65e4b400e","path":"Sources/FBLPromises/FBLPromise+Do.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c1b3c1b7a7d8d55c140b9d6eae699d69","path":"Sources/FBLPromises/include/FBLPromise+Race.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981ba34e8c3c030d591a0442fca780d128","path":"Sources/FBLPromises/FBLPromise+Race.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9860a77f763ba19b35ec91c609cea081fa","path":"Sources/FBLPromises/include/FBLPromise+Recover.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986ce79ea8dfeec88ad74ff5d121a5854f","path":"Sources/FBLPromises/FBLPromise+Recover.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b35d830e5f4eb47e1fd62144120f59cb","path":"Sources/FBLPromises/include/FBLPromise+Reduce.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98066eb635585d8d2150e780f62a1acec7","path":"Sources/FBLPromises/FBLPromise+Reduce.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d1c8f981a173f6621eb3da23a86af961","path":"Sources/FBLPromises/include/FBLPromise+Retry.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ef542304df6b05ddd5359494d767d018","path":"Sources/FBLPromises/FBLPromise+Retry.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9870d010f28105a9c79ac15cf18dea4c77","path":"Sources/FBLPromises/include/FBLPromise+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98875c72e50b3dc162cfc2acb02f6dfeef","path":"Sources/FBLPromises/FBLPromise+Testing.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fbb54e4974fbdd45772ad2825f164d51","path":"Sources/FBLPromises/include/FBLPromise+Then.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9881303d31554a7358e4d613d606d7646e","path":"Sources/FBLPromises/FBLPromise+Then.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982c072e7df06bc11c104da8e86ad6a4cc","path":"Sources/FBLPromises/include/FBLPromise+Timeout.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982e569e31d1dddc725d614e05917dc9d2","path":"Sources/FBLPromises/FBLPromise+Timeout.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e94238caf3d27d5f51098a1231517be5","path":"Sources/FBLPromises/include/FBLPromise+Validate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98039fddc6df3d84e0c76ced32342b17a6","path":"Sources/FBLPromises/FBLPromise+Validate.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e4f676a4948458d79845409b5e2453e7","path":"Sources/FBLPromises/include/FBLPromise+Wrap.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9895d2ea71947cda6665a163bee50fd11d","path":"Sources/FBLPromises/FBLPromise+Wrap.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9886bc44d15889ab1bf9e03295e99c08bb","path":"Sources/FBLPromises/include/FBLPromiseError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ba92992d94c9fe6230c95dcc001b70e2","path":"Sources/FBLPromises/FBLPromiseError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9825db70d25be32f5389ed2679e5367eec","path":"Sources/FBLPromises/include/FBLPromisePrivate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98660f1ef702fe3cbc8cbb2db705da6ed6","path":"Sources/FBLPromises/include/FBLPromises.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98aa8f760c1e7c35160d95a9949204111e","path":"Sources/FBLPromises/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d909d9ec193b6f0822b510e846bfafea","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e987d67d3e0a9e05c2fc54491e262c6462a","path":"PromisesObjC.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f0846d4bf4315a8da980dbcf9bf4eb01","path":"PromisesObjC-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9803c564f45b47c640c4234b1a48acd676","path":"PromisesObjC-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988f7647d570c986d5388e681e9966f300","path":"PromisesObjC-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","path":"PromisesObjC.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","path":"PromisesObjC.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c54b1646f271904bccea52ceb8814dbb","path":"ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9885c6c3ea25888fb21e9b30efb1e82b2e","name":"Support Files","path":"../Target Support Files/PromisesObjC","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce08731989d55ceafcf4cf006fd6f008","name":"PromisesObjC","path":"PromisesObjC","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d020db33a8067442fdc09569a673140d","path":"RecaptchaEnterprise/RecaptchaInterop/placeholder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98da917aa2a04bee0e105051e6597af907","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCAActionProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98398f919b0a5224d553b32ab5b42b0dbc","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCARecaptchaClientProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9803e801ebf228ca04c92b5faf901e233f","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCARecaptchaProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cc9cdf8d04973f096035202531c7e172","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RecaptchaInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e985224f72dc0cbd18e0a8e423b59ce0f58","path":"RecaptchaInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98312a5ffd6f44b118c886da094d18271b","path":"RecaptchaInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989749999d5b8345b2d42afceffe07b74f","path":"RecaptchaInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984265a493c7644ee35b51f299681a0bf5","path":"RecaptchaInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982c91232880b3a8a27a649740ef664d2b","path":"RecaptchaInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9854fba53784167bb239c72bf59e6968a4","path":"RecaptchaInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","path":"RecaptchaInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9856a5ed5c463ae2849c6a780aa60128c8","name":"Support Files","path":"../Target Support Files/RecaptchaInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c4f9327d7354bfca1809fcc78b8d2f7e","name":"RecaptchaInterop","path":"RecaptchaInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b0f5592a7e0ab4c9b8324cdc487f55f1","name":"Pods","path":"","sourceTree":"","type":"group"},{"guid":"bfdfe7dc352907fc980b868725387e988e55b595ee4b3ad45fbb82ee03ee8e80","name":"Products","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e981dd1e7f572d42a9923d4962cb6cb1aef","path":"Pods-Runner.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9825baa0cc61f457d50a497df4b9eda2f4","path":"Pods-Runner-acknowledgements.markdown","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98b780d4585c97d6898f0cf2e50cc7b8ed","path":"Pods-Runner-acknowledgements.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989d6fdeb56ea9e1101e2b7ac826663158","path":"Pods-Runner-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e9887bdbdbf7924080113b9e06a707f154e","path":"Pods-Runner-frameworks.sh","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e988b8dded7d54a104f5e8ab004c96b755e","path":"Pods-Runner-Info.plist","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e98787ecfc21edb7abb377437af635926e5","path":"Pods-Runner-resources.sh","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989338c5cd203fde1d8b54b7a049b0c2dc","path":"Pods-Runner-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9802de8db226910a7c6270562b5f3af9b3","path":"Pods-Runner.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ab6486d63131288dd4b33d24bf1cb3b5","path":"Pods-Runner.debug-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9853e4f9e520e348dad23fef4b18e6d879","path":"Pods-Runner.debug-prod.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d9b34dc2b94dd24fbc9d54a0a11526f0","path":"Pods-Runner.profile.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ff96c8d8e658ac5bb3206ace252751ce","path":"Pods-Runner.profile-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98653ba9896443f38507b765a5bcd39dd2","path":"Pods-Runner.profile-prod.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987e1371e4a1570dedead2664743c4b10f","path":"Pods-Runner.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984f7634b3d4ec61d47c2ebbd4c426e32e","path":"Pods-Runner.release-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9850bef46a833e654f70c298bf1c89f374","path":"Pods-Runner.release-prod.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a5933c045e9145a49e0ccdd84a1a0f65","name":"Pods-Runner","path":"Target Support Files/Pods-Runner","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98c25528e164c37d6f93b2baa4898a5b21","path":"Pods-RunnerTests.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98646d8c5def209f99c4f5358128c262c3","path":"Pods-RunnerTests-acknowledgements.markdown","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985a5d7f46a49b326c846ca7113ad8dc08","path":"Pods-RunnerTests-acknowledgements.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a00e11ad8ef623d254a324e15578ff57","path":"Pods-RunnerTests-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9837f6aa94009fb97dbf989857f198b756","path":"Pods-RunnerTests-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9840427a3d7f56c61c727b54cdf799df0d","path":"Pods-RunnerTests-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e985f94ac8c55ac4b8b35a87ac4c8ea35c9","path":"Pods-RunnerTests.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98717a483e09bfa267aa6e5201b03b1283","path":"Pods-RunnerTests.debug-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987016d0652131524dcf7d1fd5d8af1622","path":"Pods-RunnerTests.debug-prod.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98cef5d3377fb216950898196358e8ecb7","path":"Pods-RunnerTests.profile.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98fcaab3d85407d69c40294f1c865c27a7","path":"Pods-RunnerTests.profile-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9875a9d530e4318ded1925e1495668373d","path":"Pods-RunnerTests.profile-prod.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e982fa6ec7e8fb4ae7e4348962a81653095","path":"Pods-RunnerTests.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981d8378de969c6876860473772b5e407a","path":"Pods-RunnerTests.release-dev.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ebb981d4ec499c13c2ecd49549df6622","path":"Pods-RunnerTests.release-prod.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98b588714bb4f36fa5719b5f5acb2cae37","name":"Pods-RunnerTests","path":"Target Support Files/Pods-RunnerTests","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e9c0f8274277a66722073db47f7fe0fc","name":"Targets Support Files","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98677e601b37074db53aff90e47c8f96d1","name":"Pods","path":"","sourceTree":"","type":"group"},"guid":"bfdfe7dc352907fc980b868725387e98","path":"/Users/artemshkryab/dev/proj/krow-mobile-staff-app/ios/Pods/Pods.xcodeproj","projectDirectory":"/Users/artemshkryab/dev/proj/krow-mobile-staff-app/ios/Pods","targets":["TARGET@v11_hash=ed2f2ab8625303fb352f6eab217e918a","TARGET@v11_hash=85be0369cb17cd73da92da5c5c994ad1","TARGET@v11_hash=623bd85b377ec0dc428160b0a9658908","TARGET@v11_hash=86eab6f462d4fa009b553a9a95c5d38c","TARGET@v11_hash=46ad29350c083d8171dd5f0b93fed0dc","TARGET@v11_hash=fdfc7fdfe9a0c43b20d74b9b42505904","TARGET@v11_hash=0fb3ec2cd895d549dee1afb823c59b89","TARGET@v11_hash=a1ab696eeab8fd5dd4da903fa6e61a3f","TARGET@v11_hash=ab7235b87aadf53706185347fa2a5545","TARGET@v11_hash=563a1683923d83b8e763e2d3b0b79f1c","TARGET@v11_hash=4e40605bf47bc281b2f6100ab3dd7dcd","TARGET@v11_hash=e4c84768e7e6c06661d3320714dbb143","TARGET@v11_hash=da4b000cc4629c5e14b5d82d35052f4b","TARGET@v11_hash=b61ab96c3a1f8854ae6d853c2104fd8f","TARGET@v11_hash=5d7034fee0db2ea018b2ecf9d4a332af","TARGET@v11_hash=56e8de75119e4739e3e94320b5bc4710","TARGET@v11_hash=62eb8a24290ac6ed0fb693004b5ee8fb","TARGET@v11_hash=51b33aaab5ea5165b8d05e6b53292d00","TARGET@v11_hash=abcf54510ac0131803043db3292fb6b0","TARGET@v11_hash=cd49a3d0b914c2ee686f4580e57465d2","TARGET@v11_hash=782b3a6e3cb6557e3155fd9349197563","TARGET@v11_hash=246ff6ae209a1f5f1fe526caa89bbacf","TARGET@v11_hash=c15e51922c23cea6f088bafc072fc4b4","TARGET@v11_hash=94035fa62adffc9cb90c7235781aedcf","TARGET@v11_hash=64f53470ce0cd74d8b56e837748b4195","TARGET@v11_hash=e1c0f2abfbaf800941356dee3fdeced6","TARGET@v11_hash=14b352e8ed4db1b43bccfdc9a82a4dac","TARGET@v11_hash=2c478c540882b4fc0b72f054011f7852","TARGET@v11_hash=50f6ec0af074bdcdc21e8890b2e1cd64","TARGET@v11_hash=15ef4dda2b4d8644bb40b23f2f2625bd","TARGET@v11_hash=55b1b563655e471de66e2e748513e846","TARGET@v11_hash=441a4961543e44bf1e0d5f6ed9f8d75d","TARGET@v11_hash=c7f2001c760b686ac217c7ff6cafbadd","TARGET@v11_hash=556788616ab2ee77cbfa6517893c0089","TARGET@v11_hash=c82cf8d086c0b1eb36a0572b5824461a","TARGET@v11_hash=4b8aac415bf3a5a953e86ac31b869e82","TARGET@v11_hash=05a1eebb903549b68661c35483295b0c","TARGET@v11_hash=9aa24b512c8fa0ba2d4a133b65b828c7","TARGET@v11_hash=71a1eed11a119c7d3b39d161b785ddbe","TARGET@v11_hash=698dc321a9988b0270444ecc74c303cc","TARGET@v11_hash=27c30d6e8fa4810108c186e11436c1c7","TARGET@v11_hash=ee8ae935c94538a2bc3ec0cc9d9dba21","TARGET@v11_hash=8d0dde9f3823650e11c7fdd8ad30f0e4","TARGET@v11_hash=3894bd8ec520dfb9abff987a012ac04e","TARGET@v11_hash=86c648d0626cd4a65b2573c7b4a5ae85","TARGET@v11_hash=8def6df5c6f6833127578379b5431d15","TARGET@v11_hash=07d75b1b30a775fbad3051df615a488f","TARGET@v11_hash=e18d9ac15bdad12b42df7ef436d3e275","TARGET@v11_hash=1c0dca3aebf2334148de946a192143d8","TARGET@v11_hash=9f91101ecac1571d8b82e9a422c353a9","TARGET@v11_hash=9f32b97141ba0d6d36c5a8eeebeb4d98","TARGET@v11_hash=4c5225eb79f5e8852e623b0d96f7260c","TARGET@v11_hash=7255d285c2f68eb67db53f9c24f90ef4","TARGET@v11_hash=79da9f36435ed02249ff2933d4c20d65","TARGET@v11_hash=8502ec014c896cf56194abee4bfcc59c","TARGET@v11_hash=65b9ef6351a3cde66e303c9514b4e168","TARGET@v11_hash=12c6e2cff2479411e99d14e2658f6093","TARGET@v11_hash=6159451c9771eef54493ad4c69348acc","TARGET@v11_hash=7cfed75954bfd3ec24b213d3e973eea9","TARGET@v11_hash=faf5c0600d7f4df98e6744cbc7813b58","TARGET@v11_hash=d2f792121732d531c1192d473cb7fa65"]} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=05a1eebb903549b68661c35483295b0c-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=05a1eebb903549b68661c35483295b0c-json new file mode 100644 index 00000000..eb93258f --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=05a1eebb903549b68661c35483295b0c-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980588c59be436cfa36958460e9c90be94","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b39d2aa5c479637df799899685344341","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b95169285a40a306e590ed13d97f04f8","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9832128eac85c3313bed0747d76eacf0df","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a17fdb08fe537d7c054c5f6360163170","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bb123965037e87db27cf491f3db16cd6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985c213921c5b7b2466ce51518effb97b0","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fbaa4e48a569b799ba981a45ac63728f","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984fe9eeeed401c9acf66485f838ecb6c5","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ea84c76f245c76ea800c8238a60e3d39","guid":"bfdfe7dc352907fc980b868725387e986a96807956e589fadc40ee6fdb273283","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc3958cbf6596b409d78891df4d441ca","guid":"bfdfe7dc352907fc980b868725387e98959f008d58ce12c659547a26cd4b9c33","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98744c8db002304cd7e436363324775c66","guid":"bfdfe7dc352907fc980b868725387e987558d12c6a68497504317a8aa6fdffea"},{"fileReference":"bfdfe7dc352907fc980b868725387e9836a3610db699a7f79e205c7b81d04285","guid":"bfdfe7dc352907fc980b868725387e98705b4a0166dd502b57181a2a42f04e95","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983874bf2cd87881d838ea0fced041baf1","guid":"bfdfe7dc352907fc980b868725387e98cf2e8564e03bcc70bfbd63db1eabdf70","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b69a347400baa3cf19846d03385872d","guid":"bfdfe7dc352907fc980b868725387e98b45dc3c3081ad6e31b45597decf10873","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a764740997f3bc6f569fc6a3dafac017","guid":"bfdfe7dc352907fc980b868725387e98bf295330333df93b39983b76bc030adb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f12981c0e509f935507c4bb35336dc9","guid":"bfdfe7dc352907fc980b868725387e9817bca29c3594682fa35989aad000d656","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eb510c8c8551c6f9ff9d461401806ace","guid":"bfdfe7dc352907fc980b868725387e98d5b52846bb80348e0ba41befdc4b06c9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98524d28be8a466ea3da744c45ab1bd072","guid":"bfdfe7dc352907fc980b868725387e98ac1ec1ba9c1c099a51abfddf922fc9ac","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984cc68daaeeda5841904529f9a2f40c9d","guid":"bfdfe7dc352907fc980b868725387e983654aaeac246a7dfe0068e42918166a2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98efac0b588770f9e62217abd2fc8601f0","guid":"bfdfe7dc352907fc980b868725387e982fc6995409026d173a03553bb50a2d75","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b6a0004f85a139d0fb912de5a7d7c2c","guid":"bfdfe7dc352907fc980b868725387e9804ce292587fb6fccfb1212b41636f27f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f651112af008aa4b5fbe8fa828b1e6a8","guid":"bfdfe7dc352907fc980b868725387e988a465e532fa7dca20f242c31d67a44d7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986cfb96a740675dfa3fee8a019021a326","guid":"bfdfe7dc352907fc980b868725387e981f0e6cb15a80b88958dd43dd72c281d7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ec032764b3fb320a9af2b0a7d7a375d3","guid":"bfdfe7dc352907fc980b868725387e98742e13fe30598bb401bbf11fbff35c14","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98312c467c61fa104f058ecb4aa2a0602e","guid":"bfdfe7dc352907fc980b868725387e98a577dc405d91e964ddf46cd75b2b5a0a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982b4e83ecfa94011da6c91313b0adefd0","guid":"bfdfe7dc352907fc980b868725387e984fc9e0427545069fde2c5c80c31d8458","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987ef94f4d30b2796afe3c213e35e6e057","guid":"bfdfe7dc352907fc980b868725387e983bd3fd9558b95415ad781e1abcc79903","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827b98af6570ea255b0ba0b63d5c36f1b","guid":"bfdfe7dc352907fc980b868725387e9818834ea3033785cf92767dd32053ea29","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc1dada114868403c88976371952303a","guid":"bfdfe7dc352907fc980b868725387e98c8bad01f4307d32b0d09869406e78688"},{"fileReference":"bfdfe7dc352907fc980b868725387e985430f9bd0da6cfa274582dab558c9d55","guid":"bfdfe7dc352907fc980b868725387e98dc5bfc810f0e0e654f8d6cbaa2ccdf2e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de5b26ffd121f355abeec2572daeb17a","guid":"bfdfe7dc352907fc980b868725387e98a57237f35809f6d11857c1588e32deea","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980eaf9d7ffbb92a7eae8d20746f7177d9","guid":"bfdfe7dc352907fc980b868725387e98abaed57279dcfaeff200a39fef56568f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b29a0fd2022d4ed3f1de891cee57b8b7","guid":"bfdfe7dc352907fc980b868725387e986d5ba82af900fd4df0708023588d7e01","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980475de3ce36c0467372bdb5be0b630ef","guid":"bfdfe7dc352907fc980b868725387e98e84405f2e3aa772d5f6545f6d5884aec"}],"guid":"bfdfe7dc352907fc980b868725387e982e94d34567a671df0e55488ab80dbc2a","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989a8b949c2ffa9e2abe2c8e3fca8115ed","guid":"bfdfe7dc352907fc980b868725387e9838412ad931af87341a0c3e3fa724fe23"},{"fileReference":"bfdfe7dc352907fc980b868725387e98400d248230b0ba604eeddf73fc498e9a","guid":"bfdfe7dc352907fc980b868725387e989f88566625bb9908de52f47afdbcde29"},{"fileReference":"bfdfe7dc352907fc980b868725387e986486f523d40ca1458fc0f1b3bbc1d83b","guid":"bfdfe7dc352907fc980b868725387e981a8ec53683471d67b5a78a99f44c97b8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98684c0736d342c3cfbcdf4b08812b5e7a","guid":"bfdfe7dc352907fc980b868725387e9896be1aaf3bf9b76576dd764882f1f5f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e988bf66bd9d5c44b6d09716d2aef44cbe4","guid":"bfdfe7dc352907fc980b868725387e98a2f34596e833ec46b375b0654d6f93f7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985763519ae81caa70dfbe6642d3f923bf","guid":"bfdfe7dc352907fc980b868725387e985a3c5c048ab815641fd1f74fefeb101c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98314afcf630f27033f7de01e5b9c4cd0e","guid":"bfdfe7dc352907fc980b868725387e987f39ce1a99624d2fe84a4bead3577d4b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b91ed24cd734d55993aead325ceac38b","guid":"bfdfe7dc352907fc980b868725387e9834f2c129f2314860cf05a5f3ee2d110e"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a235f246df37c18bef1e1cc40e48b5e","guid":"bfdfe7dc352907fc980b868725387e985a969fec58fc8fac3bceec13e47eb00d"},{"fileReference":"bfdfe7dc352907fc980b868725387e989d417bff50c545e267cc450e49e3b0de","guid":"bfdfe7dc352907fc980b868725387e98027780a5d261ec4edc1465af2de3bd7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9898c1cda7bf247d5c5434045cc2d29bb8","guid":"bfdfe7dc352907fc980b868725387e98787c5206f077dda0925662b576a096f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e989edbcf593d93511c99d8e1a5d411e518","guid":"bfdfe7dc352907fc980b868725387e985f640269096872815220e7c27535f192"},{"fileReference":"bfdfe7dc352907fc980b868725387e98513b03a97474eff2dabd1462599f8f86","guid":"bfdfe7dc352907fc980b868725387e98771efeabbe1bcb7a2badb1cc16101889"},{"fileReference":"bfdfe7dc352907fc980b868725387e9802c54c6c86f23cd5874bb29680bf4797","guid":"bfdfe7dc352907fc980b868725387e98625e33148ecfed1ee45577c325ebd202"},{"fileReference":"bfdfe7dc352907fc980b868725387e98592b083d6e21e3122d117bd392e9c9d6","guid":"bfdfe7dc352907fc980b868725387e9810632b578d1098270b03e4c71998c0e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eaca194527b5884fb6c3ea8666284288","guid":"bfdfe7dc352907fc980b868725387e98e1c26c1107b1acdec9bf2ecb1b970ac3"}],"guid":"bfdfe7dc352907fc980b868725387e98068692d3307b6878597455fea578e10a","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9882b46eb611111125b8e16cdb4c5b9eb6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98015e080be5b1776bbed059e24eda164c","guid":"bfdfe7dc352907fc980b868725387e980a2fde5078083f88e76191e3af3fdca0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c72cecabe1bf96e80a743e01c09f56df","guid":"bfdfe7dc352907fc980b868725387e988a4731293f0edd4a464bf98f8997f1c4"}],"guid":"bfdfe7dc352907fc980b868725387e989687a41843fb44688f5c7d70fd67f0f3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d3ae807e2905fb5e3421dced03dd264d","targetReference":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4"}],"guid":"bfdfe7dc352907fc980b868725387e985de8ad15b2779406c026c3f3f3fab07f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4","name":"GoogleUtilities-GoogleUtilities_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ca49ca851f2777b997a3e74ccb860358","name":"GoogleUtilities.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=07d75b1b30a775fbad3051df615a488f-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=07d75b1b30a775fbad3051df615a488f-json new file mode 100644 index 00000000..86fffe26 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=07d75b1b30a775fbad3051df615a488f-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987f93964beb7ba6f9f4b6bee473b1b39f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986d9342581563277a6d1b959ee513481f","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9821100c43d06a724bc005703ef6a23b9c","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98603e7b7fc429d125a8b84cf61dc7bcd3","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c12b0b19b1e3be3d62c521479a7e2cb4","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e8415b4054b5e09c5aec1e65358c41dc","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a5e2dc5dab6c882606bcc7e9403d9e43","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98775bc16c75d5f59f32a2d377e079afa8","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98906b1622a9e271de9da0789472bb89c1","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e981a86d8bf3ec05d681c0dd418923a8316","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98994b94018c2f60714bed81ddc782851d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a2f1529f9bc7eeb1cec420d33d56c68f","guid":"bfdfe7dc352907fc980b868725387e982c3adf5cbfbdafe9fd6e8cd782271df2"}],"guid":"bfdfe7dc352907fc980b868725387e98ced949e90108e890c0bd191f1351d595","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98c9e4d77647dbd2f60d4df5fb297112b6","name":"nanopb-nanopb_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98eef91895065d6940077eed40aa23053b","name":"nanopb_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0fb3ec2cd895d549dee1afb823c59b89-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0fb3ec2cd895d549dee1afb823c59b89-json new file mode 100644 index 00000000..18010cf1 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0fb3ec2cd895d549dee1afb823c59b89-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983e3d01a2c95482d3824e03423e8a11f0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989334f423306a14dc36b8bc570b432670","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983e3d01a2c95482d3824e03423e8a11f0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986e5e247069f6d84442d4ea3fd5dc428d","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983e3d01a2c95482d3824e03423e8a11f0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985a502a6453998dc39926d024e757b917","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98942c2b67c1b98976eecb8b517545ef0a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f622d7d2cd9c1b16a1f1b29f1e3c7e3b","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98439b24bf24ef0420583367a682e993b0","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98181593b98eb44b5879cd96ed89faabe6","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983e96b1f6f0b5834a5ffea3f07ef94cdb","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987298e094b9d0aeb2cdbefbcd9acf00cc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98378608589da34904fd2cfe357cead5a6","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988752c0a2b23164ac0b612af543ca8074","guid":"bfdfe7dc352907fc980b868725387e98800e450389bb19ffbe55edfcb4a44260","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981ca8f3136ec3deb5d84a69120e02dc31","guid":"bfdfe7dc352907fc980b868725387e980d1dbdf91e61e374f9c1bbf395a04c9d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984e47cc3e8361c1267f85dff8dd23dec8","guid":"bfdfe7dc352907fc980b868725387e98c8149c02e79a0de4c42648dbf9cd9dde","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985139f4bf07d9a24d5c7d5b7ad1521a95","guid":"bfdfe7dc352907fc980b868725387e989af6c74ea82d9c74b017603f27c73d8d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98210b5ed009824cdcf108b867a3ec080d","guid":"bfdfe7dc352907fc980b868725387e9814557f78605b03f83318bd7b6c50cd4d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b1125c2bae6eff6aaeb7a100d54cdac0","guid":"bfdfe7dc352907fc980b868725387e9891a193c3259359a42178c8d4cc912009","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ef4c157e5c5bb6c02904b2b5f6e9f293","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9843dd182a631da78b4b7a410957105a32","guid":"bfdfe7dc352907fc980b868725387e98dd1de6de7d11c88fb67ea4126316c0af"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2fdc5d2418e4564e87550a9088083c1","guid":"bfdfe7dc352907fc980b868725387e98723a6560695438976a3e18e6ed191822"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d6a1b552c77a86061bd7faa536b3ec7","guid":"bfdfe7dc352907fc980b868725387e986bdb978026da166baa81d270aa8d0aa4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd09a733ed6136de0cb6030db543d02c","guid":"bfdfe7dc352907fc980b868725387e989c5c120a2fb99340ff063b95767158b3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98543538312b4e7af065253994124d8c02","guid":"bfdfe7dc352907fc980b868725387e98331315a4c2adbaff61efe721dc797c23"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d557c1a2e82d672a05e015841007d026","guid":"bfdfe7dc352907fc980b868725387e9800a793986cba1c2dce1562ef98336bad"}],"guid":"bfdfe7dc352907fc980b868725387e9886c716436eae94685bcf80909278f62b","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98c97b00eb7be482fcec93d880a27d2683"}],"guid":"bfdfe7dc352907fc980b868725387e983ccd837f60371c0c8a98a8bd9ee63dc4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b6cfbf1846dd726f5780a45c61b7d8ae","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a32fdd082239c9fc7912ba5b473ab170","name":"firebase_core.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=12c6e2cff2479411e99d14e2658f6093-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=12c6e2cff2479411e99d14e2658f6093-json new file mode 100644 index 00000000..f70288a7 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=12c6e2cff2479411e99d14e2658f6093-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9899931e3be48ed24d7ce1a6c3827c5670","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d608a6ce2f89fd51a70d8437e822f66e","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c6c4465f64e9b12642d425a5f81bad00","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980e2d39ff5c9b4cf61971a9fa12619f9b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9827cd2cdc48b7c675ff8ddaac831f480d","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f62824f56fecd9e6eba10a26dfec3b7e","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986a4f624aa05dd366402e08aad333dd10","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98376d74f76b7a57084472c91895ecd0d3","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986cc6787e2971c7defb9f836fe2a15dd4","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9896af9202797429c361a491318fe9e162","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9808a2851dd526e811ebadd289e29f3f57","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fb591f1d94d8391453433ce5eed8e5c7","guid":"bfdfe7dc352907fc980b868725387e9807e1330f1a1c39e300520ed0585a6e5f"}],"guid":"bfdfe7dc352907fc980b868725387e98347178aa4dcdf2a11942cb65b424cfdc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ad625504a4c1e61077bbfd33bd1d1785","name":"shared_preferences_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b352e8ed4db1b43bccfdc9a82a4dac-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b352e8ed4db1b43bccfdc9a82a4dac-json new file mode 100644 index 00000000..ba6dc624 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b352e8ed4db1b43bccfdc9a82a4dac-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ab7ae91b9613849496dca3cb2a444c13","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988db3bf5c72e25391e1c3db7ac9520e37","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980b817ea94635545f5c88d3e26a613ede","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981ded3812267e4a08061c64874799afac","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9880af5940af186eb0092f984ef0c58706","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a306e365cd0ee8f5626d7f90ff22baef","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981f7222540c93aae7c54a1a30f479cb4f","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988ca360b892a410a4e72cf849a2449961","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ca421706f666a62118bca74a1a9bff5e","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9871ae903711f430b53cb7e787a1eaeb56","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984968b6e68c89c5d295e49e5789788ff3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a9e7788bb890ca6456ba3db8e5839c32","guid":"bfdfe7dc352907fc980b868725387e989756029678cd3867d3ff593f87aabb84"}],"guid":"bfdfe7dc352907fc980b868725387e98a1b48622b4b6bf492a1650806b3f037e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3","name":"geolocator_apple-geolocator_apple_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980ae07e1806c3af2f5550d2e89780c766","name":"geolocator_apple_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=15ef4dda2b4d8644bb40b23f2f2625bd-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=15ef4dda2b4d8644bb40b23f2f2625bd-json new file mode 100644 index 00000000..76000bb0 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=15ef4dda2b4d8644bb40b23f2f2625bd-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98db28798358ca2dd6699b32c7cd867aeb","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b9571ff01c3c6a5e7aa05f010d87fbdd","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989684f65ea36f2f3c3f9272bca9417b7f","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c0900e597349b7e943fea0b588f308ee","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9872777e871165b6517d73f512cb0e4e8c","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d4257dced0251104af0069d7bd66773d","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ef07a7cc51fad30858d4841fe74ab37b","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d9e0eb677d5a292047c9d84cbf1ddf3b","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_maps_flutter_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_maps_flutter_ios","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/ResourceBundle-google_maps_flutter_ios_privacy-google_maps_flutter_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"google_maps_flutter_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c1a1748a4320629aac05f364d2ddee43","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ce2c8781bc44fff61f8edb160d00ea0a","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9884f06e5289d09ed7f795b0994f529b6f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98bdd41d8e5ff77b2721b36f02694ab80b","guid":"bfdfe7dc352907fc980b868725387e983906647325ee5955f80369aa29085c7e"}],"guid":"bfdfe7dc352907fc980b868725387e98c1357311ab65311934766cea1ca7b964","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9845fff747e8d3c707f1d7451d71a9982f","name":"google_maps_flutter_ios-google_maps_flutter_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cf9c4c549797cf8d51278c32a04fd48d","name":"google_maps_flutter_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1c0dca3aebf2334148de946a192143d8-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1c0dca3aebf2334148de946a192143d8-json new file mode 100644 index 00000000..015ddfc7 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1c0dca3aebf2334148de946a192143d8-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980a46d941bfe90acbcc57fa568568b239","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fe4076aed71c300e7a9325fe1f9152b0","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e34ca9e105515c542c2dd5e3a003f019","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d605eb3eb00fe8a9ea4ae156207a9529","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98551bbeb6ce2f868282e16e4c30c79b13","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987ac3d7f87de7945e68ebf13d3d40aaa3","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e41caf520875256a7fa638a8cae4455d","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fb62407508064b857fce5314843c806c","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d83a6273ca5924c6885e7495422667b9","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98bf0947e12ffb9998a1f473f1709151ee","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9872ed2f37cd5ec36b6d767d6da61e52f2","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989a4da8fa8d554a81cedff8686ac4aaa7","guid":"bfdfe7dc352907fc980b868725387e98579bcd643d07b1a833ddd5d48db2c408"}],"guid":"bfdfe7dc352907fc980b868725387e9831525bfb504ee1cd0d8c27ddfbb5efbb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=246ff6ae209a1f5f1fe526caa89bbacf-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=246ff6ae209a1f5f1fe526caa89bbacf-json new file mode 100644 index 00000000..d6429731 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=246ff6ae209a1f5f1fe526caa89bbacf-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983337350e1f0ee080fec99797b9d9f73f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983dee23652e16a0b958a74b13cd672fbd","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d3f7e81911905b947e76fae9a27257c7","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c04f0f4c73265b6a80af1996ab1108a9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ff1a6e6764b806090435ed231d675caa","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a3524f34f6acdc06b654d79f5125759f","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988ed2f3f7228ebaadffecccc440b64618","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9821af6be48cad4e650e4e4362f9251d05","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseMessaging/FirebaseMessaging.modulemap","PRODUCT_MODULE_NAME":"FirebaseMessaging","PRODUCT_NAME":"FirebaseMessaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98340138273e6f24a59504dff217b1eddd","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cd32ed8340b3eb70146e18318fcfdb98","guid":"bfdfe7dc352907fc980b868725387e98b61c966697f1fb92fb7e1db117740226"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a32c8d8b3848489785b2d3ed9a3932da","guid":"bfdfe7dc352907fc980b868725387e98a6464db2b7060227dbdf0643331b65cd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5875ef64060635a9f2821382b061f99","guid":"bfdfe7dc352907fc980b868725387e98fb8ff7d665537a2dc041c24a720f7783"},{"fileReference":"bfdfe7dc352907fc980b868725387e98972f5f1b8856bcc1f9bf01f383857bcf","guid":"bfdfe7dc352907fc980b868725387e982ecd4416aefc8399a3b23130b19f8bc5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98acb2567612a00a979c37e99bf4b76d54","guid":"bfdfe7dc352907fc980b868725387e98d96bf1e77528bd7f6e4410636fba3897"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e68880c5aed3b7206df5d5d052042a57","guid":"bfdfe7dc352907fc980b868725387e9813ad33836da767fd0d27874db55aaae5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883374847138313714bffa7ac8ecfc0a4","guid":"bfdfe7dc352907fc980b868725387e98c04e101ab5a0bdcd8e66670412ce92bd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858c2721b3ef636171ec6b9d5fff305ff","guid":"bfdfe7dc352907fc980b868725387e98aeaa23bbcb928a3029909bde87a94b60"},{"fileReference":"bfdfe7dc352907fc980b868725387e9838677378a6f59118132f3fa221a62877","guid":"bfdfe7dc352907fc980b868725387e985bed5ded1183ab8a267e72e6f5366bf0"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ba9faa00c0fa3bebdbbe289ae1dbeb8","guid":"bfdfe7dc352907fc980b868725387e98cb4cf5f1c4d7c5c41021d9d3226b6f05","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817095993fd223e2f3ddc014f19cfcc18","guid":"bfdfe7dc352907fc980b868725387e987b37bb49dab1e72b45e87847a44c68fc","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9871297c70ae09bc2f618f8915be5871a1","guid":"bfdfe7dc352907fc980b868725387e9851fad9d0c7294bfa8d957d0cab59818c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f8fa0a888ac614731a5c38c2a07eb77b","guid":"bfdfe7dc352907fc980b868725387e98f8cb5331084bbc093cdbceec1aceb81d"},{"fileReference":"bfdfe7dc352907fc980b868725387e989277eaebee817eea5140122f723c57c7","guid":"bfdfe7dc352907fc980b868725387e98000ae13881682d6c4bb7f637a539512f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847e6ce1e556bc8c2b84525b51dbc83be","guid":"bfdfe7dc352907fc980b868725387e98e0e5657e72baed19fa842f9461a3d32b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f9b03757826c1ea86e5c29980b51c479","guid":"bfdfe7dc352907fc980b868725387e983996967449d34b54567a198690061e2a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9890aab2d8bb4bed397e715d06fb22b51c","guid":"bfdfe7dc352907fc980b868725387e98e11dd7feecdd56e755b02ee1361ece6a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9888f0571cfb464288a7f4f7850118180d","guid":"bfdfe7dc352907fc980b868725387e9865200ec2d2f51eff5f6c3be1452f7439","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851d1a5c02e1bfd4ce37100f3330d37af","guid":"bfdfe7dc352907fc980b868725387e9837688ea122ba3862919e2c1d14dff684"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eec991dbe2aa8bbe001c51e1722f307f","guid":"bfdfe7dc352907fc980b868725387e9883f440c3110fb840c8a03840f33f7a3b"},{"fileReference":"bfdfe7dc352907fc980b868725387e987993ec8def14812603bd012591daaa83","guid":"bfdfe7dc352907fc980b868725387e9821e027e233582133f6e9f1a1a88cd24e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c464885dc1ab20764fe76f4afc84baf9","guid":"bfdfe7dc352907fc980b868725387e98681ceb435617dad44f471b52952023a3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a48e58763c4571a8c1f72ec3191ff63f","guid":"bfdfe7dc352907fc980b868725387e9883b427bda65eb617398fa90160cfc700"},{"fileReference":"bfdfe7dc352907fc980b868725387e9842700887e263294ce40b33d6e938a194","guid":"bfdfe7dc352907fc980b868725387e9895b47c30756feac017aa7609d90e90bc"},{"fileReference":"bfdfe7dc352907fc980b868725387e9898e8c307e5c2c282a749aa794d8001b9","guid":"bfdfe7dc352907fc980b868725387e983c2abefa88c57a0cd8c594b1b5883edd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9891cba8fed310a59082713964f13607d8","guid":"bfdfe7dc352907fc980b868725387e982b268c244938ff3d687f4c11ad9d0efe"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852973af13c7fb2b17b32619f4022e057","guid":"bfdfe7dc352907fc980b868725387e980eae6395b20508542f761bb3da57568d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cd182e3efbdb47f1c2e09ed28fc139ac","guid":"bfdfe7dc352907fc980b868725387e98c531e994a5d9ce88b81d49a37e56b8de"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e123c0000891911e60bba52dcb8d9674","guid":"bfdfe7dc352907fc980b868725387e9877ae080735d45902f1c114fdce11399c"},{"fileReference":"bfdfe7dc352907fc980b868725387e989609b3a96939c2f3b3f86220f75ef189","guid":"bfdfe7dc352907fc980b868725387e98e7d748edc9bc03d94f8ec8fd58068073"},{"fileReference":"bfdfe7dc352907fc980b868725387e987f04574339a4728948bbbf2c0adeca10","guid":"bfdfe7dc352907fc980b868725387e98e9a1dfb7db64497cb7eef5f1107342e0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aaf20babfd0b0b12eba52e4b5bd86a25","guid":"bfdfe7dc352907fc980b868725387e98801ef09261798008e712beeaf02079d1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984d2e0cd6ac251f6acade3d509ea5a9d9","guid":"bfdfe7dc352907fc980b868725387e98c11d87cec0812895a65dbaf0067b424e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829a8196c2053fd27ea89f8e74873bde2","guid":"bfdfe7dc352907fc980b868725387e98d5ed4eb99a8eba9acfd0e045b3a5f3b6"},{"fileReference":"bfdfe7dc352907fc980b868725387e987798df032c255556262945a35d020490","guid":"bfdfe7dc352907fc980b868725387e984ee347f819160a1273bedcbb5eae9c58"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2181d751b8d4a4a627836cbb3e8f7b1","guid":"bfdfe7dc352907fc980b868725387e9816fb3f07c1f9375264e3bd84f1f61f6f"},{"fileReference":"bfdfe7dc352907fc980b868725387e983633411fc88bf53df0b3f974f0469004","guid":"bfdfe7dc352907fc980b868725387e9860ab51a12fd15a07fdd7712847c98c54"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e3d802630b1c5bbf3a1de285f621100","guid":"bfdfe7dc352907fc980b868725387e98bf89472eb2362fe840262a1fd9b7b73e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f571c3f56e0d63e15fbb983b80acd514","guid":"bfdfe7dc352907fc980b868725387e98680195364fdeb4f91ddf3f80798a8d10"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f35577e63aa3d51df1356ac51e76230b","guid":"bfdfe7dc352907fc980b868725387e98926b51a510d51fc60bdae919179c05ed"},{"fileReference":"bfdfe7dc352907fc980b868725387e986fc8ac8b06a41ea295e41c3db380fc48","guid":"bfdfe7dc352907fc980b868725387e98d1f12de63b02361907698e5d184c531d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98824f5459d32194eb1bbc6c32e70f96c5","guid":"bfdfe7dc352907fc980b868725387e98d43ca8994ef01c655044232c68d5ac75"},{"fileReference":"bfdfe7dc352907fc980b868725387e9835f7bff8075fdd05570909273187a041","guid":"bfdfe7dc352907fc980b868725387e989ec2be1801649d171975dd315b453f9e"},{"fileReference":"bfdfe7dc352907fc980b868725387e980a8fa3935555ec676cca570655abac63","guid":"bfdfe7dc352907fc980b868725387e98fe062236644c9a00343d22e78962a4fa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98443901f02419f4a481ccac7c909c1c0f","guid":"bfdfe7dc352907fc980b868725387e98642656d17efc4d4a97bb872f60704f28"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c7e7d35fd5db4324f317f0484bc8ef09","guid":"bfdfe7dc352907fc980b868725387e98a107ad473b09e991a3f429ddbd3a3be4"},{"fileReference":"bfdfe7dc352907fc980b868725387e983bfaa1ade2e7642df86461a3ad9671bb","guid":"bfdfe7dc352907fc980b868725387e9871562c7b23eef6aa1b2295f5bab965af"},{"fileReference":"bfdfe7dc352907fc980b868725387e98786536bcf07f06e47a9dab88a24f65c3","guid":"bfdfe7dc352907fc980b868725387e9848b5be8020af472f23efaca29551d710"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2213e7ff55e61f161632b9c56b2b28b","guid":"bfdfe7dc352907fc980b868725387e98759f9d890dc0985c8a7cc798aab862e4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c44b607e6b037665f27f07f81ecdb7c3","guid":"bfdfe7dc352907fc980b868725387e986b70c1f3319fa522a654daa540c19ba2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98304dcfbd55e7435f5a154e69f6999357","guid":"bfdfe7dc352907fc980b868725387e981d1b32b750d062baf760d7ae881da4b8"},{"fileReference":"bfdfe7dc352907fc980b868725387e986c9cb34cdb4f63dea43c2334b9cad58b","guid":"bfdfe7dc352907fc980b868725387e9860191b62a7fcf4229940f312b26a98a6"},{"fileReference":"bfdfe7dc352907fc980b868725387e980720680c4a40f53cb9a3565e523066fa","guid":"bfdfe7dc352907fc980b868725387e9881f4da6a93cd68cb7b5464d6c267c927"}],"guid":"bfdfe7dc352907fc980b868725387e981b4adb129eb5db5f8bc04bb0af493c23","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987dc832df7a2e38775edf00cb9ec4db30","guid":"bfdfe7dc352907fc980b868725387e982775f6395dcf2c33027912d93e355c5a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9807e51dfada62e421615fb9de706cbfd6","guid":"bfdfe7dc352907fc980b868725387e981528d346c424089105645c30c401b46d"},{"fileReference":"bfdfe7dc352907fc980b868725387e984af8f250c4ef5fae89b50b0466e91b74","guid":"bfdfe7dc352907fc980b868725387e98a944dcade3109caf82efc66a5c5fff08"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8d192e56758d261ece63be18bbebb9d","guid":"bfdfe7dc352907fc980b868725387e98ece5cb42b5851a7c301635458ef226c8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98445486f606eb9f566681b506f83f4394","guid":"bfdfe7dc352907fc980b868725387e98a2b2d9395da2577fc126bce789ddc36d"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c68fc83ca1af3b344980ccb2e7f9b45","guid":"bfdfe7dc352907fc980b868725387e98de0ae2cfd04f57676d7166a9ab5ee87c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f1ff3f4be06cd87d99da4c58c726aac7","guid":"bfdfe7dc352907fc980b868725387e98423b204d674941117ff1cbef802d08e8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cd608b27d6cac7093b16dc53f4900fb9","guid":"bfdfe7dc352907fc980b868725387e98ef4908eac58ddc6da4b5c4538acb9769"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d7a931696f8076fd4030fd07de703ed2","guid":"bfdfe7dc352907fc980b868725387e988b499e49ebbf2d012ff5feb144d52d28"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a79fd27738fb9c2d44e39dc087aa8121","guid":"bfdfe7dc352907fc980b868725387e985a43413bd02a15459c6d5af7766575c5"},{"fileReference":"bfdfe7dc352907fc980b868725387e984132420fb8429cf4917d6cc794873128","guid":"bfdfe7dc352907fc980b868725387e98ecf5572925caeecf6f4693aeed6f5912"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e41585cc4527e14402202e0d5b39cc75","guid":"bfdfe7dc352907fc980b868725387e98e156a382b0a6c3cd7deff26f04125d8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817b9826b3adf43796360297cbf6e81be","guid":"bfdfe7dc352907fc980b868725387e98fec945f9da14d16306494bf3b782ae30"},{"fileReference":"bfdfe7dc352907fc980b868725387e983566f7aa0524d3760df44697e15414d1","guid":"bfdfe7dc352907fc980b868725387e985ee293d3936b11384d941edabd2e9729"},{"fileReference":"bfdfe7dc352907fc980b868725387e9849e23a0454fa94368c2c18e220ff3fc0","guid":"bfdfe7dc352907fc980b868725387e9895bb2c3227535397ac739220f156d2ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e98763203a01832578cb6ec85f808243c5f","guid":"bfdfe7dc352907fc980b868725387e98d96b228f78dd9d3a728e5ff226223454"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ce2221a161b36d3832edb74d2fd36dd","guid":"bfdfe7dc352907fc980b868725387e9851fae5f9a226d64fdd9dcf019c4d49ab"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a6f00b890ad1e645cc9a6224845b2408","guid":"bfdfe7dc352907fc980b868725387e98de8ad2a19b2130e7f97bbc3f018a7a42"},{"fileReference":"bfdfe7dc352907fc980b868725387e989675415f4bed3dcb9b6ebb2590943fd0","guid":"bfdfe7dc352907fc980b868725387e98890e38f77c4540960fc83335815b6e50"},{"fileReference":"bfdfe7dc352907fc980b868725387e9840ad2b9d4157b57cde5522434d49a808","guid":"bfdfe7dc352907fc980b868725387e988d96ebd55206ac7d903f7a89d3e52943"},{"fileReference":"bfdfe7dc352907fc980b868725387e98353c6e137229ad4d152c7d15b089866f","guid":"bfdfe7dc352907fc980b868725387e983e3f5694ad7d031378ec154436a06bf8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a13a79947c125d418dedd813e56cbd57","guid":"bfdfe7dc352907fc980b868725387e986b9a73bc7085695c3e677a1935b5a739"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f644f34313d77aeb5ad212dae401bac1","guid":"bfdfe7dc352907fc980b868725387e98eb9edec616be7afaf9bde3e422cbc3ea"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a67c1885492778c4331c91a8ef21e3f7","guid":"bfdfe7dc352907fc980b868725387e989c2b918283cfbf68205a697aa592a50a"},{"fileReference":"bfdfe7dc352907fc980b868725387e984218e2b76d6d69dc207f1a606c3770eb","guid":"bfdfe7dc352907fc980b868725387e987e15d65080a17cd6c6790b6739c028b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e980f094261004656777ea57ac334397f73","guid":"bfdfe7dc352907fc980b868725387e98aeb903cf66ba49437d5008f9e3867400"},{"fileReference":"bfdfe7dc352907fc980b868725387e989962166868edf457db2c076c15ced152","guid":"bfdfe7dc352907fc980b868725387e9840408813a197012fb51faf3a4d78ae13"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bdc8532a02e88973a34b57751f9c6ccf","guid":"bfdfe7dc352907fc980b868725387e981d1c8a77e77af94bac464cb130031974"},{"fileReference":"bfdfe7dc352907fc980b868725387e988dd5ac9c9119e10981d81e20a148dff2","guid":"bfdfe7dc352907fc980b868725387e98be550317571f7f792674c2f88702f7b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985358a080d88d6060afb794f6af304e61","guid":"bfdfe7dc352907fc980b868725387e987aa5a0c00fbd01d7975964fa6f9f7857"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858c9b22a9b22dbb57e44b94f7c2a01ae","guid":"bfdfe7dc352907fc980b868725387e986d0778f69c8263a32d24b54e04843f79"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a6ce66012ff76c365b5a5444913e280d","guid":"bfdfe7dc352907fc980b868725387e98e3756e02d768ea815689ef3227d2a713"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ff2d9b1911e1dc555d12dc64485a737","guid":"bfdfe7dc352907fc980b868725387e988ad91d3be31a8be533b5eca76f5b0f8c"}],"guid":"bfdfe7dc352907fc980b868725387e9830715ed58b340f16151acb564f6322a9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9893b7d4d297912cec2e69a7edc8d780b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c72cecabe1bf96e80a743e01c09f56df","guid":"bfdfe7dc352907fc980b868725387e98712f8347eb0872fbb5d5925600c4d9f8"}],"guid":"bfdfe7dc352907fc980b868725387e985f7239a0963faaffb4477d8acfa7bb57","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e983006618716fa14a12449d6297a9eb12d","targetReference":"bfdfe7dc352907fc980b868725387e98974c3b2447afb83a5c25c38d101a48ab"}],"guid":"bfdfe7dc352907fc980b868725387e987ca21049313b654fb36c7a30ba6621d1","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e98566ec9a1d71c4629f4f85ecb735ce614","name":"FirebaseInstallations"},{"guid":"bfdfe7dc352907fc980b868725387e98974c3b2447afb83a5c25c38d101a48ab","name":"FirebaseMessaging-FirebaseMessaging_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98d3c8dfff2c580c352f83d3850ad17775","name":"GoogleDataTransport"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e980062393f91a1d2d94e3e5ed3a5aa5da9","name":"nanopb"}],"guid":"bfdfe7dc352907fc980b868725387e983da17a3564c774dfaa331fa07754d2bc","name":"FirebaseMessaging","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98b3b0fadaedeb0138a07668440d83e3b3","name":"FirebaseMessaging.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=27c30d6e8fa4810108c186e11436c1c7-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=27c30d6e8fa4810108c186e11436c1c7-json new file mode 100644 index 00000000..945c6b5a --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=27c30d6e8fa4810108c186e11436c1c7-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9802cc6dfe58258a5d70a8efd0accbf0f8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b129f43245b1891179109f3d145cbb10","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98001c4f4197126f7e1486ec9852c8f48d","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986b71282bce723172e80390613d08a459","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f41f02fd3dd2254dfb4ae4af9613c390","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9892c33395c72be8af01adfe2f6ca5c91e","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98aeac08f8fe5b111222bfd6335e5f3d5d","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f223b5644213643e483058abbc6703a0","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988bb1e08292f3eeb72bd4651d83077ca8","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b09f78ca0ab14810b306a98943748294","guid":"bfdfe7dc352907fc980b868725387e980955115f01ccb84c1e3aad6cbbf85c42","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829a8816092d4a398df218ef4bc190294","guid":"bfdfe7dc352907fc980b868725387e98935b57b014c9e9d870c05dc24ded2931","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98190e55cecfadcc03ecc78e9d7c35a752","guid":"bfdfe7dc352907fc980b868725387e98f41811e123ce25a85d0ab2fe2e920dda","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9898b565a6d9fd81e834e8242032b60b9b","guid":"bfdfe7dc352907fc980b868725387e98ec3fbaabb8b8ec41d6ba07ef0f6ab90c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce4c3f3899ef60a18e43fb1d0539ebcb","guid":"bfdfe7dc352907fc980b868725387e98c7b69186caa6dc0359f14de6106155ff","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986445589b74c2a93add4965c05c00ca4c","guid":"bfdfe7dc352907fc980b868725387e98e621f3b82b62f71f99f494afff1cabac","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982fab7f2b8c389d6af7acb4686e0bd4de","guid":"bfdfe7dc352907fc980b868725387e981fdd369756f20342c07f7ee40f4586a2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822533878151ceab8fbdb50cc89270163","guid":"bfdfe7dc352907fc980b868725387e984977b4e4b580828695a710bcb49d9a22","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9809c5bedcc3faabf9e6f42e30e489b79d","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9805cbe4d1bc185cb33071641a965a7b97","guid":"bfdfe7dc352907fc980b868725387e9848b00f9a4ed2d96319cf9b2e2d7a2645"},{"fileReference":"bfdfe7dc352907fc980b868725387e98033b3916ad2593c5107371583d552232","guid":"bfdfe7dc352907fc980b868725387e9887496b5e1badba469c0fbaac730fe000"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b4aeb402b214ccc90b8b9bfc0fc70046","guid":"bfdfe7dc352907fc980b868725387e98635866ec4ad4f054dbfa5e7daeb9cf80"},{"fileReference":"bfdfe7dc352907fc980b868725387e98412015a9a53bb104cfc3de78a9ec9919","guid":"bfdfe7dc352907fc980b868725387e98d890358a14a54682031a068df4157f50"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd7d556084734a404bd1012696df2ee9","guid":"bfdfe7dc352907fc980b868725387e989f3d3b7774be42c9e062a3512a02912e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e6fb14e8b37ce794b050f298b5749577","guid":"bfdfe7dc352907fc980b868725387e982de9395136d2849acab1f92055487e9f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98086380ff886c4f2997b200232ef1df54","guid":"bfdfe7dc352907fc980b868725387e98ed001cb0676d79364dd412fc46bf7861"}],"guid":"bfdfe7dc352907fc980b868725387e98142ad819ecac4eabf52bb154751d6eed","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98c495cde4a98704f40b2738801e4d9e0d"}],"guid":"bfdfe7dc352907fc980b868725387e98cb01b684504f17121ddbc56e4442aefa","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98e711fe228a039f7b357866bd38156b9c","targetReference":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d"}],"guid":"bfdfe7dc352907fc980b868725387e98d2b2bfd308561954a1d786a7a1cd0494","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988e06e8c3685b7c12032d8059f412f4cb","name":"image_picker_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2c478c540882b4fc0b72f054011f7852-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2c478c540882b4fc0b72f054011f7852-json new file mode 100644 index 00000000..053ebbe8 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2c478c540882b4fc0b72f054011f7852-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dc8bf1676291fb15b90de40b9de5e839","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98345ce0e68e727bf7c0af78bee722820a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dc8bf1676291fb15b90de40b9de5e839","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983f0b26990c9f94e769dd664b275ee02d","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dc8bf1676291fb15b90de40b9de5e839","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9847245197aee9ca82d8d57396557d787d","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e412fa073ad087fd12902f4974fa2603","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fe1e49d7f0dca39617f3b9998ec781a8","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ee327cff7ca799dccd9907740f9d625a","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a29de8bc7f02c01710699fef9e70eb79","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9831461878c507c35ce1b745c86835bc3d","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7ab37f495e75c70318f993e093b2bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Maps-iOS-Utils/Google-Maps-iOS-Utils.modulemap","PRODUCT_MODULE_NAME":"GoogleMapsUtils","PRODUCT_NAME":"GoogleMapsUtils","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9871c2282527be3e481b46f3a03c29f29d","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981d46cf010a6f823413d1cfbd0294623e","guid":"bfdfe7dc352907fc980b868725387e984f993c20941eba1a925d28b3dc82dc14","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9859c594f40e5dbeb82b9ec48b45f7f4de","guid":"bfdfe7dc352907fc980b868725387e98761807a43db717d5f0d5377ef98bf433","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d84dc68704a3ff3abe7829fe9a6d6304","guid":"bfdfe7dc352907fc980b868725387e9882062cfd547901e6577093860f528086","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8cf88eda349b6338b7784b45df5777e","guid":"bfdfe7dc352907fc980b868725387e98d67bb33fb9aa031fafddf9529b6e5fd9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98643528d38d42418ca720fe9b41943ccb","guid":"bfdfe7dc352907fc980b868725387e98d3e6060d66a53787d085470647c7dc91","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98531d484f6e2285dcd61e38a5c141e903","guid":"bfdfe7dc352907fc980b868725387e98b9c2b312ff9547e23be44816c1fff74d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985cc093582d34152a02fe14157b08a6ef","guid":"bfdfe7dc352907fc980b868725387e988264e2654654471c92bda59022f084d7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d4fe666fcaaa45924aee12d36ba80f5","guid":"bfdfe7dc352907fc980b868725387e987411ab30084a7d543473905d667e7044","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b7d345b72d14e9a156efbf6935b1fb9","guid":"bfdfe7dc352907fc980b868725387e986139a452f4283e73dfe62a6ed78f1a0c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f5adc953a040ed4fded146adb8b0e9dd","guid":"bfdfe7dc352907fc980b868725387e989ce902cec9eabd67c400734e158bc029","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981da2b1636cf3ef3799de11b024415bd2","guid":"bfdfe7dc352907fc980b868725387e9883eff79391a9ecfbe884362d4587c4b7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98162a3051e7cb2887ab8938409fa992ac","guid":"bfdfe7dc352907fc980b868725387e98ec9a3b8abfc3058ba2a8f030d2513448","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd31985aece6e25ef936e5c120a5f01f","guid":"bfdfe7dc352907fc980b868725387e986f6f34830e084d8e581ddbc621c3ad53","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c290ff50b035cda03e4d0faad4b6dfa7","guid":"bfdfe7dc352907fc980b868725387e9819fb8ddacccaea039e92d2c528a7e6f6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a29517b70825a299b019001de4378ca7","guid":"bfdfe7dc352907fc980b868725387e989242d204bd73303c7476f2e2f573d6a6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ac777041ef9a940c52b6b7df1769794","guid":"bfdfe7dc352907fc980b868725387e98c24bcb320432cb1f11eca29fce1109d4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9890f8b040df8e602de8f3f000839bb56c","guid":"bfdfe7dc352907fc980b868725387e986854de6e23911f6cc7a5b9e81a53383f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833dde46377f6825b1b66799e81c18a16","guid":"bfdfe7dc352907fc980b868725387e98e40ca7216420f4176efa2a3f56b7dbfb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a739b6af7bf035af3d53d68a98c7635a","guid":"bfdfe7dc352907fc980b868725387e98225633667397865a01c8650ad596f746","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d8c35f73afc1205e1b22a7ec2d2c51ff","guid":"bfdfe7dc352907fc980b868725387e982a8c359e555bb9e5673b6bdc090b8d48","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e185a2a169f891661cbb7e103587290","guid":"bfdfe7dc352907fc980b868725387e98064a44b211bafd19c67c9c21bd2ab2f9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f7389e47e75f4e70eefdc6c8fa821896","guid":"bfdfe7dc352907fc980b868725387e98fe67ee1d361f5937de0834fb661f2753","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d827910bd6bb40fae41b3b7f4c8d03f","guid":"bfdfe7dc352907fc980b868725387e9848d7d972261a081ab9a87d4050fe1a49","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb5b3e404b4f5422a5f509edbaf9a915","guid":"bfdfe7dc352907fc980b868725387e9877c0b9e7d14f9b6cb324066240f20c45","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c1e8a6eaf72e23697aaaa176e4c84d2a","guid":"bfdfe7dc352907fc980b868725387e98f642e828ea0785b98dfeb3e538280f1a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98218c9057fb5a16a8b19991a9d518c750","guid":"bfdfe7dc352907fc980b868725387e982c28b6c9b3ea3f24d2a9dc1f89adb818","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98619643116a66a518f2e6738ff981871c","guid":"bfdfe7dc352907fc980b868725387e9890c0cff4fed0f5e49892ecd4d3f2a0ec","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982f1976121d1cf5b8b13d63b7451d8228","guid":"bfdfe7dc352907fc980b868725387e98f4ce797d912c88076770635af2a9826c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a3e341cf004a3b0e389eec764149105b","guid":"bfdfe7dc352907fc980b868725387e989a16560adb1e7a780f4ebf4db5106567","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984f26dcfb8f2f14f0a4983ce0fbed14bc","guid":"bfdfe7dc352907fc980b868725387e9852ef9b4e1514fc240a17008fc5a5f09a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986450842f96832d52fde36fdcd5a0e76f","guid":"bfdfe7dc352907fc980b868725387e980788f3aa1a6016693f18f6a67c0aa27e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d228f625e16e3667a3eeefa78a63a1b4","guid":"bfdfe7dc352907fc980b868725387e985d7cc8738dbcc30fa4b3806ab806679a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988bd095e181159d4c70503cd776c3912f","guid":"bfdfe7dc352907fc980b868725387e9823878c3f025bf5759ad1c4f40ab497d9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5277e8f66b00f9a7a148dc0318f6d78","guid":"bfdfe7dc352907fc980b868725387e9868bc2e8a4c47a2b24b6aa30ba0ffc4b8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f009499367c37dbf8d4f5827291e2e67","guid":"bfdfe7dc352907fc980b868725387e98f7dcdf57d36aa89a998e62ef6c16344f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9898fb61c4cc575e86384d47d03232d2e3","guid":"bfdfe7dc352907fc980b868725387e9838af2f2033d7265fa9b0f4b9deb35b9d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9861df7797a1169e3e717487d57eb972b0","guid":"bfdfe7dc352907fc980b868725387e982ba39d7929a63feaf5f0780ed93c4371","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98993b69a36bd7ab41c52803ff17c538aa","guid":"bfdfe7dc352907fc980b868725387e98c5345f3ea4f062e4b1504f38696cc413","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b1d0840a904d84c4f12f7ad408eaee1","guid":"bfdfe7dc352907fc980b868725387e980c9ae195a30ff46082d37a726a9d794c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb59fee34deffa5c1c88817799ff4b14","guid":"bfdfe7dc352907fc980b868725387e98ba3e2f36f75a96f412109fadec0e3629","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98235c1160a0d582f4486ddcd2a45426b7","guid":"bfdfe7dc352907fc980b868725387e980059a3c516fa3e83f7e8d0c0456a1568","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f9b3eee11a6608d6d5bde581c39940f5","guid":"bfdfe7dc352907fc980b868725387e987e4e5a0c11150adc5b74b57fce7b7956","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98398d7dd35185486a19a8ec5ce1dc1795","guid":"bfdfe7dc352907fc980b868725387e982cb7227e61cf98bde53e97928e152e1a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857924b10538d2c6d983a2606bf9c0345","guid":"bfdfe7dc352907fc980b868725387e98e4e8d985a2309cda4c59582429964d9f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98060e6840dfb64bd239f2f7e7dab58543","guid":"bfdfe7dc352907fc980b868725387e9898f253094db4cec383fbf094a344a52e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98365b95cdcbc369597410b4bca71943b7","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c4afec6183627fa5d8e291b3da23e0fe","guid":"bfdfe7dc352907fc980b868725387e98e386089412999fb8cad81de5534ca844"},{"fileReference":"bfdfe7dc352907fc980b868725387e982679b6ed0aee74c4426a97664e500a53","guid":"bfdfe7dc352907fc980b868725387e98377af510fe96fc8515873c90ce813d04"},{"fileReference":"bfdfe7dc352907fc980b868725387e98959c46a61a793565e947b9db1476250d","guid":"bfdfe7dc352907fc980b868725387e981af7698f33d8d195ba610bfbc5ac0d9b"},{"fileReference":"bfdfe7dc352907fc980b868725387e981270889c7bf4103d20c0b3ea38e7b0b4","guid":"bfdfe7dc352907fc980b868725387e984b936bca1a4d84b7ee198eccb0b031b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ccd2a835bf366f6dcae9d51c3a0d4b1","guid":"bfdfe7dc352907fc980b868725387e98b69532ad7ce2b71db5696f530727aea3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9862f15a55ce32a1c6bef69b0c4b8274ba","guid":"bfdfe7dc352907fc980b868725387e98eeb5fd3ebd0f6de8ee31a1c72d3f0ce0"},{"fileReference":"bfdfe7dc352907fc980b868725387e987f8f7d9405a2d71386401cc7cb9cbe31","guid":"bfdfe7dc352907fc980b868725387e986e5a4fbe2733b158ec2981d3adc64f11"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cf47056b7b3c1d17d3ba75fa67e672d0","guid":"bfdfe7dc352907fc980b868725387e986fa2ac13b3a5940fb90ccc1b3bb4ede2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a0c11341a540dcf4c2820f233e1782e9","guid":"bfdfe7dc352907fc980b868725387e98661a10e7a2c57295daafbae834a01ce4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ff3ff758a7edfc51ac7d6371331c92c4","guid":"bfdfe7dc352907fc980b868725387e98b1a01f1bc09f26b4b58e08208e5430d2"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e7f51c13d714e344bbbfa2925c978d8","guid":"bfdfe7dc352907fc980b868725387e982fc5eaf75c6840a7405a134bf38b3bcd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c53fa61c94cf193895969774e9ab3ba4","guid":"bfdfe7dc352907fc980b868725387e98f81581f9a8e1d5497cfe9431038021b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e9800889596222c6c409ffeac9d869d3f4c","guid":"bfdfe7dc352907fc980b868725387e981a1c4fa696b44576357db331b95117b6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98946bfbec479372821d1ef5a7b1540f1b","guid":"bfdfe7dc352907fc980b868725387e98742ca400504911ff4336b08a513d272c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de995dd67acc21c3312f2d3becf9377f","guid":"bfdfe7dc352907fc980b868725387e98134ad273991310cd8265162f05fb35b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e711db19f8353b459ea265619cfb6be","guid":"bfdfe7dc352907fc980b868725387e9801bf7d664012fbbefb58b183e029b275"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f2f0a7f96e44e261efeb8136645dd42","guid":"bfdfe7dc352907fc980b868725387e9896bada2aa5fbdc2975958f9de6376b00"},{"fileReference":"bfdfe7dc352907fc980b868725387e9882a80841df5c6130ab61a58ebbb5a5b2","guid":"bfdfe7dc352907fc980b868725387e98fa238667733be424ee25ee5ee64f1948"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8dcaace7e2a9f5841adf3f9bdbf6d2e","guid":"bfdfe7dc352907fc980b868725387e9840c3ab05e5afb9bfcaf3b5845d892981"},{"fileReference":"bfdfe7dc352907fc980b868725387e98232441729710e4502d173376c5d606af","guid":"bfdfe7dc352907fc980b868725387e98cbd19f863ab46671870d6e2633de323b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98467958abd4b80f431f6131bbc47319f4","guid":"bfdfe7dc352907fc980b868725387e98c9037771cbf5e945fd2965d9d98a9376"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879c711557ccac792857686eab6143e97","guid":"bfdfe7dc352907fc980b868725387e986144e3614e55c87c5d5622eec3282509"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b2b45d7da8301a44b8d6302c748d970","guid":"bfdfe7dc352907fc980b868725387e9864317c51043340feb30959aa9e1833c9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c6a100634b4c5e1177b86742401a8e60","guid":"bfdfe7dc352907fc980b868725387e982cdc10bb79dbd56216f36695409adafc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98789e1895e90e7b7faf175af5796ede8b","guid":"bfdfe7dc352907fc980b868725387e983e74c57420f4c90ac16c4247607b8b0a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c69ad2a6c0466eb564e3c9829cc4ed98","guid":"bfdfe7dc352907fc980b868725387e98afa97b179daa2eb464a269f532fd834a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98876d2635aeb4b97a6f5c7b8acd60e8c8","guid":"bfdfe7dc352907fc980b868725387e98465fed289482e19d53663504e6899fc6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c4d2ce5f224970b7a40003a1275b6a3e","guid":"bfdfe7dc352907fc980b868725387e98bf987bafc31cff43cbce04b802a4722f"},{"fileReference":"bfdfe7dc352907fc980b868725387e980996e1944dbfe72d666081416b0750dc","guid":"bfdfe7dc352907fc980b868725387e98aa741649fc84ae1d91a95b5b54d763eb"},{"fileReference":"bfdfe7dc352907fc980b868725387e9863a8f6056a69b4930cb3995e6319c117","guid":"bfdfe7dc352907fc980b868725387e98306b071324c8b22e70c63fda2aad5cf5"},{"fileReference":"bfdfe7dc352907fc980b868725387e980018bf44e75276f5fa1a371b524458d5","guid":"bfdfe7dc352907fc980b868725387e985f222e0288fc5969015d38731d17741b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c8ee7848c758e947045e7b98f46a5df6","guid":"bfdfe7dc352907fc980b868725387e9898614d1ce6c2e8a42864ecde96f39b34"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e6ab6bbf45c8bd2c755396de5e9be019","guid":"bfdfe7dc352907fc980b868725387e980e39eacc24e53058bf050d3b8417eb98"},{"fileReference":"bfdfe7dc352907fc980b868725387e984dc6dda48c9b7d504e6111a1d8c90b52","guid":"bfdfe7dc352907fc980b868725387e98536fe97ec0f8557f976ef82366d95d72"},{"fileReference":"bfdfe7dc352907fc980b868725387e985c8b1ede30de12670c0d682c2da1c268","guid":"bfdfe7dc352907fc980b868725387e98ca2749fee6ae49d84d8594f17b983644"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e6e626363db3afd8bdc30dabc5962514","guid":"bfdfe7dc352907fc980b868725387e9844ba54c67e3e49a6b32be3dd28c0d088"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e9fba7634c577be673c1c2d8b0a7805b","guid":"bfdfe7dc352907fc980b868725387e98beac43493f71b956dfb6429a4005e80d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c403e1d2f3abcf6631286459308c87d3","guid":"bfdfe7dc352907fc980b868725387e986e58a33307a3d8dd98a4ee9f844f807b"}],"guid":"bfdfe7dc352907fc980b868725387e98e3afae2aeab3904c48be4b99276ccb85","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98cf32d9a8094cdccf98e028ba6246f7c9"}],"guid":"bfdfe7dc352907fc980b868725387e9897d34f4f372add32c558d974ac7eb106","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a72553037212721f6b1fae7a0448d3c0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98313f2493e9d27aabccbb9f9acd43e1e9","name":"GoogleMaps-framework"}],"guid":"bfdfe7dc352907fc980b868725387e98117b13c59de776c223f2f14af197afb1","name":"Google-Maps-iOS-Utils","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988d4f056f23e4e16df108000d3c5e64e7","name":"GoogleMapsUtils.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3894bd8ec520dfb9abff987a012ac04e-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3894bd8ec520dfb9abff987a012ac04e-json new file mode 100644 index 00000000..dd9b27f3 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3894bd8ec520dfb9abff987a012ac04e-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c726f1602a780705c1dc7ca22102b5b6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98054652d3eb9610d9168b0a4cb04b423d","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f58f5d7347df69268c4732e1c306bfb4","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f34c7e0d9eea0e42a868b4ffce58781d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9870dc597a685ee0a21c4e6326007cf6bc","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985d2463cd5684bdae94571b03c7d60901","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b1e779e2236b7e2a95885a8a7cc2ae27","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9846b55d4b6150764c298d66e8bbc3450e","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/map_launcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"map_launcher","INFOPLIST_FILE":"Target Support Files/map_launcher/ResourceBundle-map_launcher_privacy-map_launcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"map_launcher_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985383e704aa51856b93f33e1029c85cfc","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9896ac38e6f9d932135294ef514a13a28b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98470eef52a872433d5238f8b01035906f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9893b55d5d6730a1198a69e31afcdea7b6","guid":"bfdfe7dc352907fc980b868725387e98bd233c641ac2f51afdc23e39bad70a9b"}],"guid":"bfdfe7dc352907fc980b868725387e986b2b521ebe209af719e08bd236adb62d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9820a0632d8bbf6427fc8e7c17c849e614","name":"map_launcher-map_launcher_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98fe3174a662868b12ef81b8ed93445438","name":"map_launcher_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=441a4961543e44bf1e0d5f6ed9f8d75d-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=441a4961543e44bf1e0d5f6ed9f8d75d-json new file mode 100644 index 00000000..6c38ea42 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=441a4961543e44bf1e0d5f6ed9f8d75d-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e1c69f117e0f87947deb3e31e68ed972","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983e22d7f31a5930196219ebe19eba6eb6","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98374e693e16eeb26ad36ecd6d75bd5ed5","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f55485eb56dfcff3da1c657286bdfc8e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a1ff1b63b62db00a9ff20fcf00638ca1","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e3438b03c5372b9eb6c6d9884377cd73","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988234dd73b6efef1d38f62bda389b3735","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fa9bd1e9ab8bb5c1df6c82d2a7976eed","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9813aa32b7f166321cbf90636cc19c7e8a","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98055b4433dfff1a11c0549c356962d202","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985a7441bc36b6f1820b456e3b49fe2ef9","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987aafc744bce704cac028c9ea90b08980","guid":"bfdfe7dc352907fc980b868725387e98aabe3df339aa265ee42a8457d848ca8b"}],"guid":"bfdfe7dc352907fc980b868725387e98ebb8c2165d3a64c0579d8ce924a3456f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98bb3e3ebadbb0b9a8a4f20f605e3cb3cb","name":"GoogleDataTransport-GoogleDataTransport_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988384e3ef3584a97142df3583f18d4cf4","name":"GoogleDataTransport_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46ad29350c083d8171dd5f0b93fed0dc-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46ad29350c083d8171dd5f0b93fed0dc-json new file mode 100644 index 00000000..4690cd24 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46ad29350c083d8171dd5f0b93fed0dc-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988910fda1fe10cba00582f0dc182009b3","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98cc09b87d7d57f297bf9da55329681eef","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988910fda1fe10cba00582f0dc182009b3","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e9814102c52db14e1711dd08affa093405a","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988910fda1fe10cba00582f0dc182009b3","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e985ea90f3a3a56c691cf38cb85a8f0e7ad","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98973c034e537bb6a468202e45d76ad8bd","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98fae4d600fa1da1336798e5a9f9f0d0c0","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98e6eea5fb73bf85f5f4ed64de2652d2ca","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e986343ce6988feb85b89c5eeb1273fc449","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98e2b6ff818c41ec312ce585a3ff52d881","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcb48630a351ad8ecff9953305dbd1cc","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98e071a4912f9bb3fae745671898ac0d6c","name":"Release-prod"}],"buildPhases":[],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e983da17a3564c774dfaa331fa07754d2bc","name":"FirebaseMessaging"}],"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-prod","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b8aac415bf3a5a953e86ac31b869e82-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b8aac415bf3a5a953e86ac31b869e82-json new file mode 100644 index 00000000..c9d2c011 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b8aac415bf3a5a953e86ac31b869e82-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f7fa254dd2b2f8b5d5cbcd8ac534d42b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a9b53fbb52a977fca701c595e3497c71","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981d70d2077ef0d1ead2906beea195d81c","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980ef5249f9f8fa704ad6c73be01c2cbae","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d0a479ff7a8ae2ee9c6ccd828195d09a","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f01dde37e5cc8c25a03b25cf79b87dc8","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-library","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-library/ResourceBundle-GoogleMapsResources-GoogleMaps-library-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9846ae4c34168521b8eb4f5468e69c90a0","name":"Release-prod"},{"buildSettings":{"PRODUCT_NAME":"GoogleMapsResources"},"guid":"bfdfe7dc352907fc980b868725387e9880c12d662fe06cde8bb8b59f42054752","name":"Profile-dev"},{"buildSettings":{"PRODUCT_NAME":"GoogleMapsResources"},"guid":"bfdfe7dc352907fc980b868725387e981616de617acdd91a6146525304cf40c2","name":"Profile-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98989c13b41cf0cc8a362242246c2a82b5","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b0e92f1b32e45cd983b6f8f51c874246","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98435e69bc90fc6dce326b41235f37ab59","guid":"bfdfe7dc352907fc980b868725387e986ae951013ecfe3e24d61d6d83aa6f81e"}],"guid":"bfdfe7dc352907fc980b868725387e9831987768e3635c7179d786d6a55424a4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981f5d3ee932617258e97888d8bf6a9f13","name":"GoogleMaps-library-GoogleMapsResources","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985ebe706e40145dbbaf91b2d73743be2a","name":"GoogleMapsResources.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4c5225eb79f5e8852e623b0d96f7260c-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4c5225eb79f5e8852e623b0d96f7260c-json new file mode 100644 index 00000000..7083da94 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4c5225eb79f5e8852e623b0d96f7260c-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98de7604cbbf095781b00af7fb33aedecc","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98943907567b05cf7c9f95ff60c1db679f","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d69508b89f5cd919168580aa64fc720d","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b2fac88864c08df40e91e8692820b74c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98abe67b478603ee3fbc11a4820ca7c9f4","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980b07c347954fea3d457d798d5855c506","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985c71f147630f39b2030e7e46af54d647","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9864e3d58ffd3458b910b5d9de7f849a8c","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984dde13b9488db867c0f6ed7000cba9c0","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e984915e7978c1e2ba2f094a2399d0f5ac2","guid":"bfdfe7dc352907fc980b868725387e981ef6d214fa7714845f2d4a9ada97a873","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a05cedb13068d312ab4e2e613380c01","guid":"bfdfe7dc352907fc980b868725387e9837da28d464bc6751a2c3b9cd3abb971e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9861a609b4cbbdc8c0dde08895ef429156","guid":"bfdfe7dc352907fc980b868725387e98d1a8347e2e65991f266e06b606763d4d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9834158971ffc19ac86cc0e68c0114685b","guid":"bfdfe7dc352907fc980b868725387e98c7150977403377d8f7a51913cd15b99c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9850a800876fad810852053bd3f4f9bc94","guid":"bfdfe7dc352907fc980b868725387e985dde006d04cefc8ba344b5785ae5dbe8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9823f99a1c0e2994fce136d96cae5dfeee","guid":"bfdfe7dc352907fc980b868725387e982945cee7591e0065427f902a08ac4d06","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98858f27a2ed93f0b69ea0a0dce4e21bf2","guid":"bfdfe7dc352907fc980b868725387e98382f62410714e7caea2ab7bdad0fedc5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b1b28b7943476287e557cd06d04a9974","guid":"bfdfe7dc352907fc980b868725387e9802df70c33150d4ad783b696bfe1f7e58","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983513ff4d6520f9e5c4d84e2f214823e9","guid":"bfdfe7dc352907fc980b868725387e98f24cb87022abcd768ebc49104c9c7632","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c1b3c1b7a7d8d55c140b9d6eae699d69","guid":"bfdfe7dc352907fc980b868725387e98ac9f22a10394da0c7861a8f032356792","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9860a77f763ba19b35ec91c609cea081fa","guid":"bfdfe7dc352907fc980b868725387e98726a51537e02a0de934851a228257173","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b35d830e5f4eb47e1fd62144120f59cb","guid":"bfdfe7dc352907fc980b868725387e982509894ce698b0e52b9f4b28b3e49a72","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d1c8f981a173f6621eb3da23a86af961","guid":"bfdfe7dc352907fc980b868725387e98aa80e74f4cd8df47f8249beb62e55ed3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9870d010f28105a9c79ac15cf18dea4c77","guid":"bfdfe7dc352907fc980b868725387e98a2c37c500ff2c25bce34114df6f6fc79","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fbb54e4974fbdd45772ad2825f164d51","guid":"bfdfe7dc352907fc980b868725387e98fc4c1f55b24e4734dcde9a0933d4c0e4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c072e7df06bc11c104da8e86ad6a4cc","guid":"bfdfe7dc352907fc980b868725387e985088f02a60873c6a1a516ed7aeb2cf3d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e94238caf3d27d5f51098a1231517be5","guid":"bfdfe7dc352907fc980b868725387e98f1398d328cdff7a93ea7c12e19f2414b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e4f676a4948458d79845409b5e2453e7","guid":"bfdfe7dc352907fc980b868725387e98fcc40a715403fe6d1f29f830959a53d3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9886bc44d15889ab1bf9e03295e99c08bb","guid":"bfdfe7dc352907fc980b868725387e989b810ca051fb90ed4c678a1104d61ab3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9825db70d25be32f5389ed2679e5367eec","guid":"bfdfe7dc352907fc980b868725387e98c2cdd1495720e8c3a66d495a0ccf1393","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98660f1ef702fe3cbc8cbb2db705da6ed6","guid":"bfdfe7dc352907fc980b868725387e98389aa1182a3a9545421f0092731f6033","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f7647d570c986d5388e681e9966f300","guid":"bfdfe7dc352907fc980b868725387e9861fa8235e416b4af67b636e2ef7d03e3","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ebe8bdaf78f625e5cd9ea01349e93c1e","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98122285df5992548328879da4bf8175c5","guid":"bfdfe7dc352907fc980b868725387e9886b059be992caa5208a4307abfb354fe"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ada4154c2b9acc9f2f7567b47492ae07","guid":"bfdfe7dc352907fc980b868725387e982f3060d69c80f87108c2a31b68e656f7"},{"fileReference":"bfdfe7dc352907fc980b868725387e980d39906235d198a838d5724d5c235b4d","guid":"bfdfe7dc352907fc980b868725387e98a93676f5b0b0baaf7c4ceae529ee9b34"},{"fileReference":"bfdfe7dc352907fc980b868725387e980b031abccf4e179be9af72c6cbf26b0c","guid":"bfdfe7dc352907fc980b868725387e98dca7a597eb6dfd9b5ab9538b300d08ff"},{"fileReference":"bfdfe7dc352907fc980b868725387e98459ca37a293f0a27468276e2be81e7eb","guid":"bfdfe7dc352907fc980b868725387e9803c4559204d143330936648ab3c205c2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ef198eaaf2c6b609876bedcd3fa09096","guid":"bfdfe7dc352907fc980b868725387e98f3904ab617e64c0e8b7be9137d5be75e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847a5b3441c13307a0430e07b5b892f18","guid":"bfdfe7dc352907fc980b868725387e98514ca18a79d65bdaa40bfd84a393d535"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c44f8fa51f5a21be5f1c749729136b3","guid":"bfdfe7dc352907fc980b868725387e98bd07358b320fb55c5fe259a14c5dafd0"},{"fileReference":"bfdfe7dc352907fc980b868725387e982e6f932b3c6599f29058fdd65e4b400e","guid":"bfdfe7dc352907fc980b868725387e98e8dbad89304788a5573d269523459aab"},{"fileReference":"bfdfe7dc352907fc980b868725387e981ba34e8c3c030d591a0442fca780d128","guid":"bfdfe7dc352907fc980b868725387e9802388f029e4ac2ab16bc73de255596ee"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ce79ea8dfeec88ad74ff5d121a5854f","guid":"bfdfe7dc352907fc980b868725387e98837103d2829ebfd39d486b66d262964d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98066eb635585d8d2150e780f62a1acec7","guid":"bfdfe7dc352907fc980b868725387e986ebe9c0493dd66e8429b563098bfd9bb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ef542304df6b05ddd5359494d767d018","guid":"bfdfe7dc352907fc980b868725387e9823029f4ecf8aa4f749731ecbad000590"},{"fileReference":"bfdfe7dc352907fc980b868725387e98875c72e50b3dc162cfc2acb02f6dfeef","guid":"bfdfe7dc352907fc980b868725387e980977e02525c6a5fe6ecbb5c6362e46d6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9881303d31554a7358e4d613d606d7646e","guid":"bfdfe7dc352907fc980b868725387e98b00ce0ab6e22b5af5368982cb66d6e2a"},{"fileReference":"bfdfe7dc352907fc980b868725387e982e569e31d1dddc725d614e05917dc9d2","guid":"bfdfe7dc352907fc980b868725387e9882e9bd150b73374beb008377854733d3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98039fddc6df3d84e0c76ced32342b17a6","guid":"bfdfe7dc352907fc980b868725387e98dc776e4fb60de0b606db6e565ad661bd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9895d2ea71947cda6665a163bee50fd11d","guid":"bfdfe7dc352907fc980b868725387e98e549006c2e438bd421a7c4a44a703426"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ba92992d94c9fe6230c95dcc001b70e2","guid":"bfdfe7dc352907fc980b868725387e98375a273a275863184166ccdcade09d91"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0846d4bf4315a8da980dbcf9bf4eb01","guid":"bfdfe7dc352907fc980b868725387e984a88f70914f570d32327e1d3784973e4"}],"guid":"bfdfe7dc352907fc980b868725387e98ef443026e7a7eac9ac17bd00a50659c2","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e985880046864afead6af64b3b1c7bcab92"}],"guid":"bfdfe7dc352907fc980b868725387e98563546c1b4765fbce1bed5ac3a47fe6e","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98f94221d02152e6a0663dfadc57341d4e","targetReference":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823"}],"guid":"bfdfe7dc352907fc980b868725387e980347b0fb472e1f546ebeb5a593b578ce","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823","name":"PromisesObjC-FBLPromises_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981c795e45f8d875aac88217c6a2a95faa","name":"FBLPromises.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4e40605bf47bc281b2f6100ab3dd7dcd-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4e40605bf47bc281b2f6100ab3dd7dcd-json new file mode 100644 index 00000000..2cf0ae6a --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4e40605bf47bc281b2f6100ab3dd7dcd-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98aa555d52c3b8a7276d8184cd58bba321","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98496b10c353ac9e5efffd0df7897dd06f","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9826958d301591c9314a2e85b4aebae75e","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9809ab4c2f198437f0088b3e3cf62cca6c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a3ead2b19c993d6cf6274d4471b7d093","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98523731ef10a1ae160c7ee282597983f6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982a7609e75ef7bbe2d6473b2af7db758e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9827c9dd4d3c1f03c4f8955cb0ad4c904b","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e4f2803e12fc0e88165e970a056a60ed","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ca4bdeaf6539c2b584e8df58ce9216b8","guid":"bfdfe7dc352907fc980b868725387e9848a5bb7c2380bfcbd6c87d5c32cf6253","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980df57d397f899637eeb114b340284125","guid":"bfdfe7dc352907fc980b868725387e98d7eb9d4bbcbd57510b8b032cd66a1a1c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983c7fd2fe636e82b8a9639785d884d5d7","guid":"bfdfe7dc352907fc980b868725387e98dc6621eb063b2b4460d4028560fd4317","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fe4072316cf0fe3b79e8dbf97aeeee0","guid":"bfdfe7dc352907fc980b868725387e980b015eb8f980f078bfbe06f327b20657","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9873bf4641d0c279d44b74181de300c97b","guid":"bfdfe7dc352907fc980b868725387e9827dd447fe673515b91fd3d4d1b0fc89a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981b3ab4e76ebc3f6213b889b3b3ae2830","guid":"bfdfe7dc352907fc980b868725387e984f9ebbf2452b121b3185632112423437","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98209b7ec08fbf200cc37fded389e23e67","guid":"bfdfe7dc352907fc980b868725387e98078d585d66514850023455859642d493","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980c663eff6af7a9f3333d53b05c8b172f","guid":"bfdfe7dc352907fc980b868725387e989a6c96a60cb08edc22629dc1a25fc6bc","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982f1977714c2dc8c0950e71de97292568","guid":"bfdfe7dc352907fc980b868725387e984369dbf7eec68a15316d84da18666fcd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9880399da6fcbc514388b69e557fdf34a6","guid":"bfdfe7dc352907fc980b868725387e987de2b83dbabc892bd2446c5a1e3a0638","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c46f871e176002ec09fce7740a14b126","guid":"bfdfe7dc352907fc980b868725387e98ca7780dfac87ac88fe44f6369a13cbd4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9845f93591fef0bc5ff991ac4d3856a348","guid":"bfdfe7dc352907fc980b868725387e98df6b9cfb8156c74ef289d05d8d923ffd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9897051145e30f2a52060eaa869ed3c1d0","guid":"bfdfe7dc352907fc980b868725387e980b5e031782610476a35663f5c4b5208f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e842c1cd43f2d6f936f754e363cd0877","guid":"bfdfe7dc352907fc980b868725387e98dc6e774d8444541bf49f72d969a13cba","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e984f67e57f74c100e392d98f2c617dc40b","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9858cfc6dc564a737f3aace6a5f936d0cf","guid":"bfdfe7dc352907fc980b868725387e9822b1a71de186e248e091e9674f6455b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae495108e23ca2629b26c88aa6269859","guid":"bfdfe7dc352907fc980b868725387e987de6cb41cfc90e81d01580a861c7b214"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a9ef12287f7bc00e993dead08407d20","guid":"bfdfe7dc352907fc980b868725387e9853d8ad6092e2b31bf85ef719ce88db51"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ece7057b5f997260e9f0ec1eb25d859","guid":"bfdfe7dc352907fc980b868725387e987c47ab9b3241d2e3e63fed7ad4df0993"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0596df09eda785759d14327069fac3a","guid":"bfdfe7dc352907fc980b868725387e9815cd54e34c0de28940c5d90acd5f7008"},{"fileReference":"bfdfe7dc352907fc980b868725387e986089ace86bb45de8f149af9691c4211e","guid":"bfdfe7dc352907fc980b868725387e987d5d0f7c39ada37d5b67c7efdf7f1416"},{"fileReference":"bfdfe7dc352907fc980b868725387e983fabe322c1ce7a37c9452f3f361169bc","guid":"bfdfe7dc352907fc980b868725387e9832b3cf3d35c87a13782f7c51211c2985"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817ff8e1ba6b9b6c16d584ea8240187ff","guid":"bfdfe7dc352907fc980b868725387e989ba6d55196d4b79f87f4293ee7f1dead"},{"fileReference":"bfdfe7dc352907fc980b868725387e98655a39f706abf9414e7dbe8999b851c9","guid":"bfdfe7dc352907fc980b868725387e98dac7f810610c18a3be73616aa86a4652"},{"fileReference":"bfdfe7dc352907fc980b868725387e982574e21b03e8d2418ff3899e95dcfdcd","guid":"bfdfe7dc352907fc980b868725387e98c9e1f6ed6124207c4e65673d00fcc61d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ef65cea2be07f822dacf068fd68c0667","guid":"bfdfe7dc352907fc980b868725387e98c53c72ffea6326db3d897fcd84f27a61"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ec8fa74abc50296226da6a767975a730","guid":"bfdfe7dc352907fc980b868725387e987eab84b53a2ff3c568f411e8b6783cbd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a85c268a66e1a9111973f226cbec596c","guid":"bfdfe7dc352907fc980b868725387e985e34833bd71563aea8aa361ad79d5f0c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98efa6ca4aa0b253d92460bfaf3a695da0","guid":"bfdfe7dc352907fc980b868725387e98169f57e41d35c8554ee0ce34a840a895"},{"fileReference":"bfdfe7dc352907fc980b868725387e987fc805172be2cfded5da2e0529b9a23d","guid":"bfdfe7dc352907fc980b868725387e982a117fb79b18dde380035584dc0c5864"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a7323ed7ca6250d173000811ab6cd4c","guid":"bfdfe7dc352907fc980b868725387e98d329c616458f18df5f9df987e02d1448"},{"fileReference":"bfdfe7dc352907fc980b868725387e984147d668302568ce246142e7b7fd72ee","guid":"bfdfe7dc352907fc980b868725387e98c611e27a3f36134b30dafc13e59c2802"},{"fileReference":"bfdfe7dc352907fc980b868725387e989577c176ac68567dd5bd2a18b722fd3b","guid":"bfdfe7dc352907fc980b868725387e9883e42f09c59e4fe7f2f251cb249073c5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98be59c3b358c8c28e2ae14b10722fd610","guid":"bfdfe7dc352907fc980b868725387e98f6e43d4417a294a660f9c518fcd0adc6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98507d8ba3a8396bdbbd361eacc6a98092","guid":"bfdfe7dc352907fc980b868725387e984256463713777250a10033cba9911e94"},{"fileReference":"bfdfe7dc352907fc980b868725387e98beb0e5e5ecd4c71c85c847b104e15b8d","guid":"bfdfe7dc352907fc980b868725387e9873ea44e74b747abd40146f1d87b1c59e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9863487e684d1f95e3b580c4dd5665ed8c","guid":"bfdfe7dc352907fc980b868725387e98584695858fb5205a5ede5e7f844da323"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a8451e33e23665057b70c95be43d3f4","guid":"bfdfe7dc352907fc980b868725387e98c17ac9dc6aee4c4ff14fda197787e05c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98be84e1ca760f8e95b3ece2a47d978a38","guid":"bfdfe7dc352907fc980b868725387e985a2c97c0b9ce8ac3aebc943101395b68"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c8455fb9a132725a9577e4f179a2bff8","guid":"bfdfe7dc352907fc980b868725387e984a1a579efb83cc0b0d584416fabefc68"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a5019452dcca24ff9d480b88adfe283","guid":"bfdfe7dc352907fc980b868725387e9837ed08b67a38458b753983da8269a4eb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98950fa55dd677a901c2e49d118a42fda4","guid":"bfdfe7dc352907fc980b868725387e98b4811cdbcc05a181adba60e7b2c84b4d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9860346d28fe7e36b26d9d968a0d59b0e2","guid":"bfdfe7dc352907fc980b868725387e98d63a93048bfa416ebeea8fd5a71a0a9c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f6f7a8a74b4d6bae11bd9779daf7246e","guid":"bfdfe7dc352907fc980b868725387e98a1157839e199ec298b1e68290ac55107"},{"fileReference":"bfdfe7dc352907fc980b868725387e98145f133ff0b9f31bbbe1890b10c50f85","guid":"bfdfe7dc352907fc980b868725387e98bb51d5705f8349d006bd1f7a71befb43"},{"fileReference":"bfdfe7dc352907fc980b868725387e98192d26ca346932bd1e980e83209b4cbf","guid":"bfdfe7dc352907fc980b868725387e98f4720182ea387a321aac1c949ecf0340"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bbcbac68ed423f3dd192ee3b598b14e6","guid":"bfdfe7dc352907fc980b868725387e98d56024a3a3fc00363dc044ff33ce8fa3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9801efd99fc3924c3b3345358266ff6594","guid":"bfdfe7dc352907fc980b868725387e984186dea5ad9b9c809c7066c2dadeeaed"},{"fileReference":"bfdfe7dc352907fc980b868725387e98228ed57582e6a549d21676f0b568226b","guid":"bfdfe7dc352907fc980b868725387e98b9ec6212df4412b80c04fcfdc7d91d51"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d0d50bc45e6681a2e92a118ef934e752","guid":"bfdfe7dc352907fc980b868725387e9881eae470cb12fc1c3b53d4876290e0aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8f4af19afd0a00923d7dde5e8ba9720","guid":"bfdfe7dc352907fc980b868725387e98564d7572b375e34667858c96c375c8c0"},{"fileReference":"bfdfe7dc352907fc980b868725387e988344ad5458ceb6ee0fc8fbb551807217","guid":"bfdfe7dc352907fc980b868725387e98a0153ad50cf778b486581e522cd68125"},{"fileReference":"bfdfe7dc352907fc980b868725387e9854cc39b3151a26f199b659bcec84e0c5","guid":"bfdfe7dc352907fc980b868725387e98a7637278fd5144db58b597d6e0f4157a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b2d7aa417b46ce4645fc2d3d021e3f01","guid":"bfdfe7dc352907fc980b868725387e989154bf370a7e76c65d2ac05fd4de2e16"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b6313143eb4cc9f155c8b7a0c4275da5","guid":"bfdfe7dc352907fc980b868725387e9834c91fadfec53153d9cb07825f7fc563"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c63a1a2942d0fb3904d414c504fcb2d6","guid":"bfdfe7dc352907fc980b868725387e98c1ca2364cbda313c6a0560964f8f9d66"},{"fileReference":"bfdfe7dc352907fc980b868725387e98871876f6c50018f680a824f3dc4df624","guid":"bfdfe7dc352907fc980b868725387e98d44c8a0a0482181a1e2936b57773cf65"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b17abc9caae6f4fc1e89d17e34893bd","guid":"bfdfe7dc352907fc980b868725387e98f4928b77a89af6e9558a9a6185e007a5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfb663376945bc8c48548d73414113fa","guid":"bfdfe7dc352907fc980b868725387e984862013db8e72e02379793ff4de373de"},{"fileReference":"bfdfe7dc352907fc980b868725387e98faf43d6ab2a1ca2ad57281e3c1560d70","guid":"bfdfe7dc352907fc980b868725387e986a51815c7cba81ca12ec45d760e443b4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9881d9b10a362c79246a6c4b2e57ae897c","guid":"bfdfe7dc352907fc980b868725387e988215310ce33a9b471ca796ad8e508ee2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aa313cf7e5cea3df6f1bb98209abfe72","guid":"bfdfe7dc352907fc980b868725387e98f208cbb87e8426fb170c0be32440037c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879f27010db5c058b85df224661f38cb6","guid":"bfdfe7dc352907fc980b868725387e98e258b96029c88d933f9853e942d9b46d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bf559a572c66ca7b740b691df417be23","guid":"bfdfe7dc352907fc980b868725387e98c77132ca8e567cf982694158a029d36a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98afc3cbce18ed657b7f0b6dd4b63702a2","guid":"bfdfe7dc352907fc980b868725387e98a623522d8c039b9053b08c811609c6b5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae5013cbf58a2ab5f99cc3574c042186","guid":"bfdfe7dc352907fc980b868725387e98fd79cd05daeda156404c6b26f2103c74"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f5be7112fa4d1a6c975c20a431ce4714","guid":"bfdfe7dc352907fc980b868725387e98d1ec89adad63bb8546b0a26919b65d26"},{"fileReference":"bfdfe7dc352907fc980b868725387e984699d0be681dff10ef6e5814fec44c94","guid":"bfdfe7dc352907fc980b868725387e9842b76e3ac5b158c7c6dfe60add2a2b23"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b2de10198a86c274cbe596adf03e3706","guid":"bfdfe7dc352907fc980b868725387e9850d238066d4e9c1770b07a88fb63b113"},{"fileReference":"bfdfe7dc352907fc980b868725387e9866ad874b9f43b9e201eb1333d5e30cf8","guid":"bfdfe7dc352907fc980b868725387e9861d27d4e97143e6e63d8f221d0e6fde0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98deb6170f47a4785e7dfab93c135f15c2","guid":"bfdfe7dc352907fc980b868725387e9810880de207a9c7a5ad2d07618c29d7b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d40ff87e256a0e30ed4bdd9faf9787bb","guid":"bfdfe7dc352907fc980b868725387e98fbb53570c2f3ca61b8972353b7ee22f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98058b6b728975d84d6d020d56888ae1c4","guid":"bfdfe7dc352907fc980b868725387e98338445aa98847dd5272ec49a3d8bf48c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fdba693218872d4e27ccf7f5c0a57d51","guid":"bfdfe7dc352907fc980b868725387e98e9e4f1e3aaeeb50872107c82bc22b47f"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e4942d753cbabc08b734beb1a475e46","guid":"bfdfe7dc352907fc980b868725387e98d52bd70798d1498b22282f13f42e80e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b13c22361e9c1be007054f5561bed32f","guid":"bfdfe7dc352907fc980b868725387e981a90be72bbde8c392874ce13bd5ea3ca"},{"fileReference":"bfdfe7dc352907fc980b868725387e98809bb3eb41222cf1969093a96e027aac","guid":"bfdfe7dc352907fc980b868725387e98c5468f8b10c6c7ab5fbde3865e955035"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dd5001cc3ec35c59ac2eee6a163c0a51","guid":"bfdfe7dc352907fc980b868725387e98fd54b6cfccccfa3dd67b8f7a3d8b5277"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a8228f354a3dd702f22d863bc768267","guid":"bfdfe7dc352907fc980b868725387e98b2dab51601db83eb341a681ecd84fbc2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d012a6b729e4566f5610455128710ea3","guid":"bfdfe7dc352907fc980b868725387e98cc74cd614c65cdba22f68efbaaa4d28c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f968b7baaef89f926d8fe3e07e037f67","guid":"bfdfe7dc352907fc980b868725387e98536fc799349bf662aa83c481906d66d5"},{"fileReference":"bfdfe7dc352907fc980b868725387e988cd413bed36e922229eeaef658347020","guid":"bfdfe7dc352907fc980b868725387e9810b3a16fb2c8251b0fa05fb1b882ba60"},{"fileReference":"bfdfe7dc352907fc980b868725387e9864241c15dd325a5934c92e2b2470a90c","guid":"bfdfe7dc352907fc980b868725387e98d7cff9a58ccfdf15000cdecc5d731e03"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a7be5f5c365f7d3c12cc7bfe5c3debf1","guid":"bfdfe7dc352907fc980b868725387e98f19e886999a5ded5434044c4d43ebb13"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d06005986a49e20af8744a96f17a47cd","guid":"bfdfe7dc352907fc980b868725387e9867749cfcf93851958a8b29ab4486ced7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a2866e2d6a76f1fafb38d1863586228","guid":"bfdfe7dc352907fc980b868725387e98989d6bff8b277c028da7ca4091969fdd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98adf283b231c6e8e3e2f8bda42b4d9446","guid":"bfdfe7dc352907fc980b868725387e986c403e291be4c491e8ff9b5477faa148"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a59f04be57ff7af8166da7ae57b7052a","guid":"bfdfe7dc352907fc980b868725387e981dcf3442e7a2134622f65ad42fe05deb"},{"fileReference":"bfdfe7dc352907fc980b868725387e981d502c66f20b55a6184e87f6bc34c85d","guid":"bfdfe7dc352907fc980b868725387e988b8f0f5f8c119cec9281bcf96bdee5db"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d0ba15578afe916e538ae2bb0d4c1036","guid":"bfdfe7dc352907fc980b868725387e9841fbb0a2539b87a563f840a951244ba3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bcae0c2e07abf5ad980167ef701bbe54","guid":"bfdfe7dc352907fc980b868725387e98dd4a2fe22c90d218eb5f8940add36bf1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a51ea43593e36090976e9c7584b199a2","guid":"bfdfe7dc352907fc980b868725387e9849eea33a5b686c76e8e99aed8ca382db"},{"fileReference":"bfdfe7dc352907fc980b868725387e983301c1182c94e50bc02df1af6c5285ff","guid":"bfdfe7dc352907fc980b868725387e9832e9cfeaffbfb1125a163cc0fcba9d36"},{"fileReference":"bfdfe7dc352907fc980b868725387e980e8dcd0e1303a808c551a972d52b47d3","guid":"bfdfe7dc352907fc980b868725387e9807572bced931eade371c6667efae4f05"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b46cd87ec99c5bb16c9b55655c1b0264","guid":"bfdfe7dc352907fc980b868725387e9844af487476e14924ea3d41a19f0748d5"},{"fileReference":"bfdfe7dc352907fc980b868725387e986e65721ad08bfab536a83ce235cbfaae","guid":"bfdfe7dc352907fc980b868725387e982b43823e734b2a7f77f7c3401f220a86"},{"fileReference":"bfdfe7dc352907fc980b868725387e989592abcd40a7246809109169b5ecf2b1","guid":"bfdfe7dc352907fc980b868725387e98b65e4a19c7969a9b02bc59f5e346ae60"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b61d586b6c94297a01424d43ec2c146","guid":"bfdfe7dc352907fc980b868725387e981f142cee0f33b3e00ac992fc9e74eb9a"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e8ba4bf66cfcca7a5aa53a5f7eb7631","guid":"bfdfe7dc352907fc980b868725387e98607512c667e0f552decd999752d80525"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ba39e33d45d1135e2fd537a82fa9b637","guid":"bfdfe7dc352907fc980b868725387e989d4303615e6ba1253997646443f48749"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b981640a874dff6fce7c0a8cd303b7cb","guid":"bfdfe7dc352907fc980b868725387e98cc796b31f1d52f9cfebf102e9e46e2e1"},{"fileReference":"bfdfe7dc352907fc980b868725387e987ec102477a085585880185d58741c695","guid":"bfdfe7dc352907fc980b868725387e9858fa44dedb761ab00f481f9ab6bee350"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fea14035e9b28b5dd8feb3aeb3ba4e16","guid":"bfdfe7dc352907fc980b868725387e9841b844bffb369914ddfea7d4550674f1"},{"fileReference":"bfdfe7dc352907fc980b868725387e988dd158191983ca51da290bc2b5e2de49","guid":"bfdfe7dc352907fc980b868725387e989c6342e9718b7cccf35188916b207545"},{"fileReference":"bfdfe7dc352907fc980b868725387e984558db8a62a62d845662fe38ce9ea872","guid":"bfdfe7dc352907fc980b868725387e98885fb47f2bfbfbbe188058ff6073625e"},{"fileReference":"bfdfe7dc352907fc980b868725387e987a44e287ac1a81c5ad29725c7d1ce88f","guid":"bfdfe7dc352907fc980b868725387e984ef61d8959c13f93fac98b79f1766f36"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a291c8f1a9ec7396daaaf788e6d3951","guid":"bfdfe7dc352907fc980b868725387e98052976395432cc1580b86d030c30fb58"},{"fileReference":"bfdfe7dc352907fc980b868725387e981baea83c15a980344aa568002f993506","guid":"bfdfe7dc352907fc980b868725387e9863d35429d0da114acf7b2429b846089a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9895a9240bc6a5770ea2b40560f9be8264","guid":"bfdfe7dc352907fc980b868725387e98a77f216cee3ccf41eef2a081b8a55625"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a0dd1dfc3f6d0cc5d770b311473e01a","guid":"bfdfe7dc352907fc980b868725387e9884c03e6c38ba4f38edede03288280947"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8e2fe9b88cc72285248ca7eb5bbe676","guid":"bfdfe7dc352907fc980b868725387e989f4d7c40424e0fe57b19350cad43ee8c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df9361a6b9d2d98e093fc17b0213b2db","guid":"bfdfe7dc352907fc980b868725387e98792ff530e861e7bb3f8ad727d8472051"},{"fileReference":"bfdfe7dc352907fc980b868725387e9801d3b4ace2683de133422d1138ec6bd8","guid":"bfdfe7dc352907fc980b868725387e98e5ebf5372a797aa5e1519d344ef54b3b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d0e23d35a214d88128c4c006ea2780f7","guid":"bfdfe7dc352907fc980b868725387e981e709c58af058d8270ffa2788c17efef"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b7b64285e28834dc6e0f44eb974bc9b9","guid":"bfdfe7dc352907fc980b868725387e98151c02dd96743e354a249a61b3596c81"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d5a788c60de500accef138aca776418","guid":"bfdfe7dc352907fc980b868725387e984d4396919f74520d9e205a3002906e6d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883a2bb30e410468f94be56b08ff83cb0","guid":"bfdfe7dc352907fc980b868725387e989b766f8fcce6d3fa2e106a4d2a97f35c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c3feee913e4f318296b67c0ce4322dd0","guid":"bfdfe7dc352907fc980b868725387e987a56d21061819d602d7e363a5eace375"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b11cf825fe65cf8e50b47f58c5040891","guid":"bfdfe7dc352907fc980b868725387e98aec1aa69d385726546cc996b4b391385"},{"fileReference":"bfdfe7dc352907fc980b868725387e9832091bc5d269d0e3b345c6fdc7b97edc","guid":"bfdfe7dc352907fc980b868725387e985fd4fbf478785b28e3a6eb87aca92975"},{"fileReference":"bfdfe7dc352907fc980b868725387e98549a4a2235eabeef8e1a8740cc9053bb","guid":"bfdfe7dc352907fc980b868725387e9803dc6d4ddd3c61aab2f7707dd041659f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9813f6027c51138e069f829dde67870110","guid":"bfdfe7dc352907fc980b868725387e98edaffe749eaeb8631dfa55f08e2a4efc"},{"fileReference":"bfdfe7dc352907fc980b868725387e9831c4bd6a11467cd14a901e93e2f2e4b4","guid":"bfdfe7dc352907fc980b868725387e986e206df7d2f36a3a2e72fbececeb9044"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f1f0a3f1a76f0522ca103b5ee25d71e","guid":"bfdfe7dc352907fc980b868725387e988165c589dfd934c41a64a43af3722c34"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bf8dd24f0590b9a9758382672613bc54","guid":"bfdfe7dc352907fc980b868725387e98f1670e354bf1337e796e74e09e63f9d9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5b79a0950e2915371de06e771489575","guid":"bfdfe7dc352907fc980b868725387e985332d24238b1e26db779f471d1e0657b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98897dd769880c82282f66f629a6cce351","guid":"bfdfe7dc352907fc980b868725387e98e208c265cef7f69cbdaec7ff773260ad"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a44446587e37003785450a977971c342","guid":"bfdfe7dc352907fc980b868725387e9864bff8d9b235b25a14c5f54a8abd9a14"},{"fileReference":"bfdfe7dc352907fc980b868725387e982961352132fa62846683c884eaadd4ff","guid":"bfdfe7dc352907fc980b868725387e98008c3a5fc14aeaf75f62cf04eb4fdde0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df62a39c1b5b75fb454888eadc31281e","guid":"bfdfe7dc352907fc980b868725387e98c3848d58eab5cf2a58853a18e6db05cb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b3663b6a5600b30ca573272bcac7ee53","guid":"bfdfe7dc352907fc980b868725387e98f9be6fd8c9d185bae8d32a5e4353f997"},{"fileReference":"bfdfe7dc352907fc980b868725387e9831216e24eb623b2150b41cb038bc9561","guid":"bfdfe7dc352907fc980b868725387e985b4c48d1658685a440768b14b9676b49"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f22df33c493f69a7ba2484380eb9490e","guid":"bfdfe7dc352907fc980b868725387e988a4444571d2592ca0aa37cce4773fa3d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9899d6cc743efe7d45287102a5609408a1","guid":"bfdfe7dc352907fc980b868725387e98fe26e84dbac07b9b426d076b43bcc31b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98625df3d8c8fadd5e8db6f78ca9ad8c60","guid":"bfdfe7dc352907fc980b868725387e986547cd8fcba27bdc710f2db36a78a7df"},{"fileReference":"bfdfe7dc352907fc980b868725387e986b1708337669b2b5097085fcb2525275","guid":"bfdfe7dc352907fc980b868725387e98f8cda2abbb1f19c4466dc5da5879fcb9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a64dd32f0d5fa8d0deb3b931e26dcf51","guid":"bfdfe7dc352907fc980b868725387e98c7d7f19b5590b6f8088c620d16a58750"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d1f019863a1b2e419fe732e09981ca05","guid":"bfdfe7dc352907fc980b868725387e98738a7d7276808c92676f53eafdb55182"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee6cdd425ea38953c074e826fe871023","guid":"bfdfe7dc352907fc980b868725387e98cedb663a7e054a5c198dc11e144d2ddc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98943ffeff3f22b8a21014d2e34abdabf5","guid":"bfdfe7dc352907fc980b868725387e9895daa3067b0e187d5a5ad5f60d740227"},{"fileReference":"bfdfe7dc352907fc980b868725387e981095bf5a372084696cd57a37205218d6","guid":"bfdfe7dc352907fc980b868725387e98f40ce87f1858b9769e8c48bfb72444c5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9830a5bdbdc38ff0caaa03d96b7ecce536","guid":"bfdfe7dc352907fc980b868725387e9838f33c78dd6ccaf2d3469524cb786826"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c5a728c4996936e2daf8cb20cf1851f1","guid":"bfdfe7dc352907fc980b868725387e98989051f5e1ecd2241f937f0c3b4abf45"},{"fileReference":"bfdfe7dc352907fc980b868725387e98494f54daa525ba6510ea4f8b1297871e","guid":"bfdfe7dc352907fc980b868725387e9838b83f8861e85c6736d2513dd4ff2680"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f41fc2b64f17ef7938623076a072eb90","guid":"bfdfe7dc352907fc980b868725387e98b9a9b7f16a7b70cb0ff1dcbe3f7ed18d"},{"fileReference":"bfdfe7dc352907fc980b868725387e980b6c0800e2fa31d5b16ac11377cb7e11","guid":"bfdfe7dc352907fc980b868725387e98b10c340fb671ef3a2153d0b84f7218cd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833149433c2576323e2cbc61bcbd8ad4d","guid":"bfdfe7dc352907fc980b868725387e98966d12c40b5e17eb5594fcc59f6977a6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851673f08eedc4bedfecef5061ab137d9","guid":"bfdfe7dc352907fc980b868725387e9800f8989ccb830be3a45d429028188c5a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9892cf0373a1cf82b89ea6ef501ce7ed43","guid":"bfdfe7dc352907fc980b868725387e98ae3ec7f6c65b5ad4745e9395acb57160"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b03f0ed9689278c2283cc2e1d5070fa9","guid":"bfdfe7dc352907fc980b868725387e98feae4e9f6f9e2294726857b273bc0975"},{"fileReference":"bfdfe7dc352907fc980b868725387e987dc65225bcf873cd8ae90dcb4cd2be9c","guid":"bfdfe7dc352907fc980b868725387e988e3650ed447bf8f0109c48bd1b6c2621"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d954acf41a6dafe215433655d31d640c","guid":"bfdfe7dc352907fc980b868725387e980696b2e8f99e13045360683920f0d96e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d45f4903df40ee3bd77be88577a412ab","guid":"bfdfe7dc352907fc980b868725387e98aeec35ba7144c10ce0fc42e21d516d7a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98380b481754dcac7f9ab8692214601fa1","guid":"bfdfe7dc352907fc980b868725387e98d5c4cc92c22986c7693705ce8ad0aed9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed582f65f1bbfe77070a37c1232a5bad","guid":"bfdfe7dc352907fc980b868725387e9865f409552f954fcd4b00aad8cad7d821"}],"guid":"bfdfe7dc352907fc980b868725387e983611b261eba2cc9aecd25d0496fd467e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e986c45b5f6c85d890e10d7a64d90741426"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f09e74b393c45e9564c73a1a8221c05","guid":"bfdfe7dc352907fc980b868725387e986801506d510dcf08039b4bec4ddc3c45"},{"fileReference":"bfdfe7dc352907fc980b868725387e98015e080be5b1776bbed059e24eda164c","guid":"bfdfe7dc352907fc980b868725387e98278ce909c041540530ed7f4c90c66e8e"}],"guid":"bfdfe7dc352907fc980b868725387e98b56ca3bae7b9b70c1b61031589c7fbbb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98b3c1c0c293aaff0a1df40f10a3600d68","targetReference":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4"}],"guid":"bfdfe7dc352907fc980b868725387e988b565e9956f18082091fa76271e49431","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4","name":"FirebaseAuth-FirebaseAuth_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension"},{"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop"}],"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985cd3a5a71d9e860191e64012c6d205c4","name":"FirebaseAuth.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=50f6ec0af074bdcdc21e8890b2e1cd64-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=50f6ec0af074bdcdc21e8890b2e1cd64-json new file mode 100644 index 00000000..618317ed --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=50f6ec0af074bdcdc21e8890b2e1cd64-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983bd77ae0f7aa13c9c7b65d0b85fd9167","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d3f9118daa118db8b2c07eac2ecb75d7","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ced08b66448754cb9c825c1636bb6591","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e00e4ea92f74ec293b0a2d1f537244c0","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a8f74cef36a77fe10a09260f94bc584f","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98daabaabdc753d750f0fac9a0a2810b2a","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a6dc7c312a0af9c92b48d3959a872c17","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988d2e6a9a5d56dbaf249f4b2f831f79f9","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e9a1667a73f58685d60e8c4cd48403bf","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98261b7e7827f2275f20cd4960540b9a61","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_maps_flutter_ios/google_maps_flutter_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_maps_flutter_ios","PRODUCT_NAME":"google_maps_flutter_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9815a9b1791293b67ef64c418aa46f66a2","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98329452cd98c8371c4d1ab952fc299ce1","guid":"bfdfe7dc352907fc980b868725387e98dd4ef8de13ad949612ab111f1050ee31","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981e5589cdf1f6ca6f9361199b1af44891","guid":"bfdfe7dc352907fc980b868725387e9845bb7a5753acd1517c67e6832feac051","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98426bea2586cb7a73e0cef48b0cf79431","guid":"bfdfe7dc352907fc980b868725387e988f5356e9350d747cd693cd7dd5f94001","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985e55e910ba3c85da92fef35c0ea0e903","guid":"bfdfe7dc352907fc980b868725387e98575aaa80d599c0342a7dbe518ad99113","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988a39c562717c773b7a0fb7a898a5414d","guid":"bfdfe7dc352907fc980b868725387e989c4f052ce8702eb22614bcf4688ecdea","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980be5167374d61ec74276e84a1c0f9572","guid":"bfdfe7dc352907fc980b868725387e98752b6e2c259dba0af49b50a586b6b80e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9865fb2f4a9a6cd25611509d2993169c1b","guid":"bfdfe7dc352907fc980b868725387e984b60eea51c5e25c294e24a0d84c9fe11","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ed7d6eb6c410cbfc8eb37a028b2d02a","guid":"bfdfe7dc352907fc980b868725387e989bab942a5aa885ab23a66edb4fc84737","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a8013d9ade0ff171d423deeab64d42b","guid":"bfdfe7dc352907fc980b868725387e98a349e5ac9b735cc41a9d4aab505f7349","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981734e330f5dc3690f5405c32c617cf24","guid":"bfdfe7dc352907fc980b868725387e985ccf8fe6d047c8a19cad3c1707fee834","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b70830afbe10c6b7370c6cf16a6fbd73","guid":"bfdfe7dc352907fc980b868725387e9833f19cdd8d5392b0f04894f17924be73","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fdae5304e6c99d93d38054ebe53f9130","guid":"bfdfe7dc352907fc980b868725387e984b92b453fccb8c911363ee4d8710de36","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9808d54a15c023939019186e27aee7e1b6","guid":"bfdfe7dc352907fc980b868725387e98b9f3e4884979aba26c1440054e255b21","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f89b7f487400872e22f72a4cea71289","guid":"bfdfe7dc352907fc980b868725387e98760ba8ec061ac048409e5bcf4823043b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988880c1713f14213abac3b2566a8ec573","guid":"bfdfe7dc352907fc980b868725387e9864962918e68a86b8b2550598d545651e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984f54bd4ad767417793c0b6cc1e894b9b","guid":"bfdfe7dc352907fc980b868725387e988174bdd093ada10903055991aef0fc53","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9891c92e6e98072242c32c6bc608c68f41","guid":"bfdfe7dc352907fc980b868725387e981b4146437bde6fd71202873bb651d596","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985e0b521324908e9025be10b19fd92fc2","guid":"bfdfe7dc352907fc980b868725387e980cd0acfa80eebada3c6a7a4ddb9e70df","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9845a6dfe05961a99f7f3f004cd58487ab","guid":"bfdfe7dc352907fc980b868725387e98d2bb7d9b1437bd7d7261ede4f20b0dec","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c765c183f1107847512b156c678513e1","guid":"bfdfe7dc352907fc980b868725387e98f6a1001ead91fe471a013adce843c00e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e984ed178fdf24caae87e9b6a9cf41c1bc7","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98098e7c1037312836e304784ffa9b2470","guid":"bfdfe7dc352907fc980b868725387e98a01ff0972eba1f72668975867c2f8f7b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed646b335b158ed207c9a49a7f1d0d0b","guid":"bfdfe7dc352907fc980b868725387e983f2de91d3b8553afbc9b3eab3c731b71"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816e86ab7871910084ed534c60b1993f2","guid":"bfdfe7dc352907fc980b868725387e983309191f8cb741dbf14642d7bc845175"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d5721c074d68e5aafe907be787f0664","guid":"bfdfe7dc352907fc980b868725387e98b7120a52b0de75683fb3adc39f2fbf17"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c327540d9996a6745a5dacfb5ddc1c13","guid":"bfdfe7dc352907fc980b868725387e98492d196a7d77cfa262cb69ee9635f364"},{"fileReference":"bfdfe7dc352907fc980b868725387e980177bff5dd0d14b344653e4038de0f9b","guid":"bfdfe7dc352907fc980b868725387e98f87442c2bc0c04a27188a17c4e504d32"},{"fileReference":"bfdfe7dc352907fc980b868725387e9874e636944476d5164c4bad5aa4d06669","guid":"bfdfe7dc352907fc980b868725387e98d013d91f1b8eb03c9c45b059414eabf1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f424eb9b855bb4989a4f24785f103071","guid":"bfdfe7dc352907fc980b868725387e980e1f63739aa17d18a1db5eed07665c7a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f08166abd780fba22ecbf8d83844b0d9","guid":"bfdfe7dc352907fc980b868725387e986a1c528f0c1fb8eee0475e4acf8006b6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816d95a1f1b677e3845ff7797b439e9e2","guid":"bfdfe7dc352907fc980b868725387e9867eb865960e978887af9c5bc8890834a"},{"fileReference":"bfdfe7dc352907fc980b868725387e987efba21b23571c09f55b1969d7952936","guid":"bfdfe7dc352907fc980b868725387e980e9bd2a95ef800a432527d9782ab9477"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c4bb153308afdfa211d2784de11eb8a8","guid":"bfdfe7dc352907fc980b868725387e98c3623dcf16064d0bf6842d4cd4895ef2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c5d8b0d2873e3fb2e082497999475728","guid":"bfdfe7dc352907fc980b868725387e9853247fe998d8de6c7ce0794738c4379c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9812391ec05096e691b277cd32bc8ce409","guid":"bfdfe7dc352907fc980b868725387e988d69c7dec891fe9a878b9a7ef7bd8a08"},{"fileReference":"bfdfe7dc352907fc980b868725387e98591672ef34734d8c3b7348733b641c31","guid":"bfdfe7dc352907fc980b868725387e9830b3be4f84c98d5ede7f5f233c7d924e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3a616390d8436ba1f9c10f838b851ce","guid":"bfdfe7dc352907fc980b868725387e9851fe703bcfee85a18add59d7b13aeb25"}],"guid":"bfdfe7dc352907fc980b868725387e9887e47a187583f16aa16928b88a5109a7","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e982c451f5ff4b0244ef0d683751346d33a"}],"guid":"bfdfe7dc352907fc980b868725387e98df1e0aebaf853852aa3453004cbdb9ac","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987922cca828e9543b061bbd059e0763dc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98117b13c59de776c223f2f14af197afb1","name":"Google-Maps-iOS-Utils"},{"guid":"bfdfe7dc352907fc980b868725387e98313f2493e9d27aabccbb9f9acd43e1e9","name":"GoogleMaps-framework"},{"guid":"bfdfe7dc352907fc980b868725387e9845fff747e8d3c707f1d7451d71a9982f","name":"google_maps_flutter_ios-google_maps_flutter_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98df83286ef0c813795b2a6e5600f49912","name":"google_maps_flutter_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98e749aca54f09b9c5c4f2ba052cee0d36","name":"google_maps_flutter_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=51b33aaab5ea5165b8d05e6b53292d00-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=51b33aaab5ea5165b8d05e6b53292d00-json new file mode 100644 index 00000000..46106d9e --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=51b33aaab5ea5165b8d05e6b53292d00-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98400ce4cb41efeae790734570947778f3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98504c3eb2ae030611c10e9fbe038ca334","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985f0aa2d74d999a93f6950972ed5c79eb","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9815ae91bf882625513451af287c5881b6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98eaa76c528df65cb08c82bf821bed7874","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b3358cf8b038a8e166a6f8cd4c63e540","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98eae4d91ee901c83945819054abe56f03","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a948e59474e7a69b207dcb6a472fac8d","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b9f264d761fa0623d56a4124aa72ad73","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98933ed590ca3118bb324291ec1926151c","guid":"bfdfe7dc352907fc980b868725387e98bfc7070e4fdefea34da69015b74d0d59","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98eb28c325f5feafdf6fb5bae3b91f0f31","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983cdee83bcc43434a8d4a550fdbda5539","guid":"bfdfe7dc352907fc980b868725387e9835362b7b0153c6a0e09f559ca353b526"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852a7fb5da0234cd67161d47dfcd9dd8c","guid":"bfdfe7dc352907fc980b868725387e98f6e79d9ca6e68a6e45fe9438625c01b4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98efeeaee17598b7041619fa81e32fcc62","guid":"bfdfe7dc352907fc980b868725387e98b21bb0de32cb9a763fff91f6cd0d2772"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f3e1be72342fed558d883a56a70fed8","guid":"bfdfe7dc352907fc980b868725387e988787871732178959f09368e663e5bede"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cba19a1f6020b0e08dc154e1d73a320b","guid":"bfdfe7dc352907fc980b868725387e98c44cf860a97c94e20d51531644cfadb0"},{"fileReference":"bfdfe7dc352907fc980b868725387e980dacdf384ea1b1678b2e09640de0209a","guid":"bfdfe7dc352907fc980b868725387e98faec3fa83ea33e6b3f983bab81d53e3a"},{"fileReference":"bfdfe7dc352907fc980b868725387e981fe362804f9fc34bfe72067228a4a88a","guid":"bfdfe7dc352907fc980b868725387e98f53cad63cdb75633b55e085d64c2734c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833aac730c32122da484f473df99822d2","guid":"bfdfe7dc352907fc980b868725387e98d9bc388ccb4b008b8a8d52abd404c70b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e23a819ce27320a90f12d19a70198669","guid":"bfdfe7dc352907fc980b868725387e98f23b0c8094c0048773591327a10b72cf"},{"fileReference":"bfdfe7dc352907fc980b868725387e9843ca16df69baf748d97f2b287a42cd9c","guid":"bfdfe7dc352907fc980b868725387e987655cb7ade4b749c869103dc2575e2e3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9826103f2a87e597596b43baac75f561fa","guid":"bfdfe7dc352907fc980b868725387e98b589a840f1b7142203d1faaea1b8455c"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c9ea6354267dbee4da66339052634d6","guid":"bfdfe7dc352907fc980b868725387e981d951739a61a4ce0ebbfcaed490d9e75"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b6df9c94831dd8e385a092344987edc","guid":"bfdfe7dc352907fc980b868725387e984d5d1887eb1f0c55e046b369f35238ce"}],"guid":"bfdfe7dc352907fc980b868725387e98be25386574a859c2596f8b244e568bc7","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98014cae973093dce55b6ca5aef4bb3df8"}],"guid":"bfdfe7dc352907fc980b868725387e98ab55b1f71b71fcadc3918454c0d7c8b0","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98fd365d41008a1e726a82e7cdebe4a5d0","targetReference":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f"}],"guid":"bfdfe7dc352907fc980b868725387e98ebcab21619d8a61d414fa1752af62a6a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f","name":"FirebaseCoreInternal-FirebaseCoreInternal_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"}],"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983d86e87924acfad2934921ce7ad9fbea","name":"FirebaseCoreInternal.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=556788616ab2ee77cbfa6517893c0089-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=556788616ab2ee77cbfa6517893c0089-json new file mode 100644 index 00000000..3cf9a639 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=556788616ab2ee77cbfa6517893c0089-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9802017698e8ef445a798a8be5f60b69fb","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a93f6d03848590ccc46e36c338b08ba2","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cc7431b1c6281b5d7e47e268b70bc21e","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ee8129f3727061244e058667ce006df1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a0dd3169369f974b432d68d0e8c484bf","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986d34214ddfe0fe41ce3b794ba7fe9b5f","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986153c6e89383cfec702eb5ecf29e0993","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b95a8c4bddeb71207bed758a6e688495","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleMaps-framework","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleMaps","INFOPLIST_FILE":"Target Support Files/GoogleMaps-framework/ResourceBundle-GoogleMapsResources-GoogleMaps-framework-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleMapsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984cf8053c18edc82d8222ce6ff30c4ce2","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980a13884d4f4b6dd2d569bfb01b31189e","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98fa7b343da3d99e2beaa272c06ca13d3b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98435e69bc90fc6dce326b41235f37ab59","guid":"bfdfe7dc352907fc980b868725387e98b39cdeaed8489320a9f005fbda754e2d"}],"guid":"bfdfe7dc352907fc980b868725387e98853ff25f7cfa045b5a287891edd22c2d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98a685526f25e51eab0619164751336620","name":"GoogleMaps-framework-GoogleMapsResources","productReference":{"guid":"bfdfe7dc352907fc980b868725387e987798c1e18965d8a27a87d514bf7a4373","name":"GoogleMapsResources.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55b1b563655e471de66e2e748513e846-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55b1b563655e471de66e2e748513e846-json new file mode 100644 index 00000000..3670c58e --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55b1b563655e471de66e2e748513e846-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9861048ad67452e6743b550ac047f4d683","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98055bb0fa17128c364004a012543f0b43","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cebb9cc50ddd155c4bb7aadd44258162","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bde7b12d25b446e7333fda975b9ca7e2","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987b2185ae97dc10dc53dfa0495ac9f009","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c068943acadfbd78e29db9cae2870725","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e0a8cc137c4ee2d79303a4926a5daee6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982fc5bf6ef8dbad30998cc335d2e244aa","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f7fc50828d445f02a35be3ef809ab73c","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98223fcaf578af3bb991bf08ddcb586848","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleDataTransport/GoogleDataTransport.modulemap","PRODUCT_MODULE_NAME":"GoogleDataTransport","PRODUCT_NAME":"GoogleDataTransport","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ff7273895412b3bc404db490dd2ec5a4","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b1378da862595aa72a4b177ca343c731","guid":"bfdfe7dc352907fc980b868725387e98a16e3c8a012acd6e702394f2d1b83c3b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98837ac20829152ed77d81bea7eb942fa7","guid":"bfdfe7dc352907fc980b868725387e9883b94da9eafc4ad6872c30be64d8d049"},{"fileReference":"bfdfe7dc352907fc980b868725387e981cada110a0955611310ea868fa638303","guid":"bfdfe7dc352907fc980b868725387e98f004f86cbd181745795ca2e0a4def0f7"},{"fileReference":"bfdfe7dc352907fc980b868725387e986546bc52c0a691dd884c3a849a99a0b5","guid":"bfdfe7dc352907fc980b868725387e984c5ff4d415c3e93d6bcb6eb994396476"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f34ced891e25b68eb1496c4020f83a7","guid":"bfdfe7dc352907fc980b868725387e98683bac296770e41033dd3da207c6a1d8"},{"fileReference":"bfdfe7dc352907fc980b868725387e987933d7ae74c004e950d466c2d2eb2992","guid":"bfdfe7dc352907fc980b868725387e9808854da183accdeda46883c9518f627a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f67d1427edb7ee13913c49404228d7cb","guid":"bfdfe7dc352907fc980b868725387e9863af14a8e8a141c879b10df39fa68ca3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822cdda7a50fd68b73891e685981c3817","guid":"bfdfe7dc352907fc980b868725387e98d357e754bf71ce9b1061eddf567d3e6a"},{"fileReference":"bfdfe7dc352907fc980b868725387e984275568362fd78151722010e89c9ee94","guid":"bfdfe7dc352907fc980b868725387e987875148f39f5039f275736f4a515abca"},{"fileReference":"bfdfe7dc352907fc980b868725387e9838517cd36b7076e2896c2efb0949df83","guid":"bfdfe7dc352907fc980b868725387e987d044364d979d755c80a8b97a5ee5258"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c52975dd5d431961b4cd806a510b9e4","guid":"bfdfe7dc352907fc980b868725387e98924840ad21f232f29f75fd987b0c98cc"},{"fileReference":"bfdfe7dc352907fc980b868725387e983c6c72a54ced7d13ed6faea57d14e87a","guid":"bfdfe7dc352907fc980b868725387e9812ed0be8bd13cc0e8ba5b6379e7974a1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983822645b8748e118f1cccfaa5ac9a1c4","guid":"bfdfe7dc352907fc980b868725387e98e881cd257cd30c3fcfde0d6bf916a1fb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fe89f25416274237c07d48a82b4ed7f3","guid":"bfdfe7dc352907fc980b868725387e98960abfc9736234b05671cba269202db0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de5446c92a00b7d0a9657a67460707d2","guid":"bfdfe7dc352907fc980b868725387e98ae2333e84dd98a72fe82d1656ab4e923","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9841f92211942e45d729d6fe790b405140","guid":"bfdfe7dc352907fc980b868725387e9886b1139e5c5596be55db1ff7d3fb0b8a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fbea449a882fb45dd31472c2dc425d0e","guid":"bfdfe7dc352907fc980b868725387e98483d235014c963732c4255074206f290","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857d8eb97578b03d6c518ea6f431426ef","guid":"bfdfe7dc352907fc980b868725387e98f24dc20b61a7f0cc7b050af214c00187"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f6089888c1944d7089dfaa7d8136a69","guid":"bfdfe7dc352907fc980b868725387e98e3845de55fe4abfdb8a403da6473cbdb"},{"fileReference":"bfdfe7dc352907fc980b868725387e985bfd4ba83cccb7787f11a98e37fd63c2","guid":"bfdfe7dc352907fc980b868725387e98c35be5a3603ac3a94dc76ffb169aa8bb"},{"fileReference":"bfdfe7dc352907fc980b868725387e9823b8da720b367eeb24da3d66b23768d8","guid":"bfdfe7dc352907fc980b868725387e9810e9a8315298bdf1fe836a8537178f22","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b0b02995c836ef44a761faf37cd4bac","guid":"bfdfe7dc352907fc980b868725387e986463b8b90b772e0feacd2023266d4e86"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e63e8c45d3877c3a8d009fc6916e25af","guid":"bfdfe7dc352907fc980b868725387e98f110c73c4da3cc692bed74344e49d365","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980078f30f1e0b2e03ff18914d7c7984cd","guid":"bfdfe7dc352907fc980b868725387e985050de5e6d7a10d79d21f7b712709249"},{"fileReference":"bfdfe7dc352907fc980b868725387e981020067635c22f835c53d83c512fa785","guid":"bfdfe7dc352907fc980b868725387e98ac57b6f0bd9140f2594f4ed1607d9dd8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d12110e867e57b467657bcd201fca790","guid":"bfdfe7dc352907fc980b868725387e98f1976e613da07332d59b7e6743d26f9d"},{"fileReference":"bfdfe7dc352907fc980b868725387e981000cdfd88f78eb0e6dcae2b8d0b5241","guid":"bfdfe7dc352907fc980b868725387e9806aebbe977cd4e6d593009e0d6b1711f"},{"fileReference":"bfdfe7dc352907fc980b868725387e980d28c5ab11d56be24b8d2c3728987ef2","guid":"bfdfe7dc352907fc980b868725387e98dc38fe671c9ccc1ca03accdef619e5bb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98985ae7d5d5133f5e65e6bce301e3359c","guid":"bfdfe7dc352907fc980b868725387e98abd11a04c9992c11138154802a9eabf2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9804063be870f1767b2959d790c078eb2b","guid":"bfdfe7dc352907fc980b868725387e98d9779d7f2ee88eee941fffcd3a98c076"},{"fileReference":"bfdfe7dc352907fc980b868725387e98563883f538b633553c3789f68d31e136","guid":"bfdfe7dc352907fc980b868725387e9870b981d59270e83286641a4be2a4e084"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c60861af18f644b3a7576bf92ce97fbc","guid":"bfdfe7dc352907fc980b868725387e981fc4af60485d279d2ad78bb0af8d45c9"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a5aff7ce0b9bd7d59e6b7535e8490f3","guid":"bfdfe7dc352907fc980b868725387e9812e5ca2abb0f19704efefb25b5bfa83e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cb2b0560a1ae246ff5f1494def6599b1","guid":"bfdfe7dc352907fc980b868725387e9808b1e2052f9b6b13dde94646f0e68d53","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989d74fafbc4faca1d458082a555c3d5d0","guid":"bfdfe7dc352907fc980b868725387e9855ab93e08af7472db457a8ad88cc39ca"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d853d25084d58e8245ffac331cc1960","guid":"bfdfe7dc352907fc980b868725387e98f466475aa67a5ce4343913493e0197f5"},{"fileReference":"bfdfe7dc352907fc980b868725387e983121cb09896e53f3ab24ddea8ed19d67","guid":"bfdfe7dc352907fc980b868725387e98398a5ee9fa4f898723939c0e2cbac974"},{"fileReference":"bfdfe7dc352907fc980b868725387e9856c43e7657587c5f604eb76aef08da73","guid":"bfdfe7dc352907fc980b868725387e98d4f6b38bc2e63b2d6a9a6b39e18aac4a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e993636da7badcae2f714afae88a9b17","guid":"bfdfe7dc352907fc980b868725387e98534d10b925a8c1ebf22b4dd20c90e912"},{"fileReference":"bfdfe7dc352907fc980b868725387e98085f22286701a193a6325be1acfe8ecb","guid":"bfdfe7dc352907fc980b868725387e98b6b4f4ce8c474c0b09286b2e2939a25a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9882fae6a10e0175ef8cb3394d75b374c4","guid":"bfdfe7dc352907fc980b868725387e980638bfa5d246a75692341bf67529e527"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f75fdfe102e1b50ad942a6a80d99df1","guid":"bfdfe7dc352907fc980b868725387e98148e07c97653d6ab8d8ff30e2e42f032"},{"fileReference":"bfdfe7dc352907fc980b868725387e983eec549d7b6038ccc7239642ba209468","guid":"bfdfe7dc352907fc980b868725387e98070fcfaa639a2443bb8e959b81ecb1f8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f4c3879a64e6b585dc3e4868a1a1dfb1","guid":"bfdfe7dc352907fc980b868725387e98ca95c9b5da9510d8c0cc80abe28cf02a"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ea02686c0baf2f6c5bb8076e019371b","guid":"bfdfe7dc352907fc980b868725387e9820d3a5213bd62116e3aae3b82d6575ea"},{"fileReference":"bfdfe7dc352907fc980b868725387e984cdf539c948249f80edf10476ce06fcd","guid":"bfdfe7dc352907fc980b868725387e986a53465d82979f3c62a440d23271d7cd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d476cc72634406b319ffa4a08a38002","guid":"bfdfe7dc352907fc980b868725387e98736a5a3828b123b3b2892334e371bfef"},{"fileReference":"bfdfe7dc352907fc980b868725387e980e3755d122357da28e702ee1fd4b8078","guid":"bfdfe7dc352907fc980b868725387e981fd9b52ca6b9534e8714f31133aab2f5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e82ee5528b6d8c90b43ed0c8b1d1eb23","guid":"bfdfe7dc352907fc980b868725387e98a074f215f394f3722ea974a2b2532efd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820d06194440d979ef0d5069770639fb4","guid":"bfdfe7dc352907fc980b868725387e98683e6df78a23c640db17831b00de6738"},{"fileReference":"bfdfe7dc352907fc980b868725387e9872986c9216ad79ae553f830ba0eefc9d","guid":"bfdfe7dc352907fc980b868725387e98cd0479128cb2525331a6d1c461da497a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820c4155910a529859e5b64271c40f39e","guid":"bfdfe7dc352907fc980b868725387e987149ca399265398b58dd3dc3a25dc07f","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98bc3f80bdc881f1a0f743b806435bd92b","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986d95dcfe3c11de57bb9bb9c897e92f5f","guid":"bfdfe7dc352907fc980b868725387e9850f04ace8403441c4b66c8a7b44d6d51"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c903bb33e0bcea67b89a402bdef596bf","guid":"bfdfe7dc352907fc980b868725387e988b213fa465af9f72210486cfb1558050"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c448b46830b8d19149925f27ad347980","guid":"bfdfe7dc352907fc980b868725387e988e55b25f8de5aaa03e0654d1853943ab"},{"fileReference":"bfdfe7dc352907fc980b868725387e98885e9a1bdd89d0c067b61adca41c2981","guid":"bfdfe7dc352907fc980b868725387e98f27487f58bd7705a43b9a2d95e065e25"},{"fileReference":"bfdfe7dc352907fc980b868725387e9801d09ead62d8f6fa8d7fb499e2657ccc","guid":"bfdfe7dc352907fc980b868725387e98dee0ef9e68e35279eba321ccdeb235cb"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ce20e3f4e9229141fe67a96207da9bb","guid":"bfdfe7dc352907fc980b868725387e986380a799ed2fc2606d60faa3ebdab925"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e56dfe289200214f856bdfbf3876d551","guid":"bfdfe7dc352907fc980b868725387e986a64d85643bc331089838221f96c0c40"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b800e5d651cbbca33d64f6844df7e266","guid":"bfdfe7dc352907fc980b868725387e9858d269c0b8dc6597912a0ee1b9142de0"},{"fileReference":"bfdfe7dc352907fc980b868725387e987478e1b6a22857a8f106e10c4134b038","guid":"bfdfe7dc352907fc980b868725387e9889b7358d8d04f158f5077e6355c21837"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e11eb6ef06475e912e9fac65eabfb7ec","guid":"bfdfe7dc352907fc980b868725387e98726ac69d13257f4f09afb8504f07869f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f124da0f368b6f4e340e1c223df9cabc","guid":"bfdfe7dc352907fc980b868725387e98aa0047b26f5e50c8810b5a9b02cfb35f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8132e198cef6335c4d99fde22e929f9","guid":"bfdfe7dc352907fc980b868725387e981f3454247c6faa75f7d0b448f77a9410"},{"fileReference":"bfdfe7dc352907fc980b868725387e9821ed3dee19a41fb9fb9d921581e3ed44","guid":"bfdfe7dc352907fc980b868725387e98d010b9d10c83a6aacda3ab9c2ae4acbd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f2f20bce8b7a6297fc62a381a31fc021","guid":"bfdfe7dc352907fc980b868725387e9864c6abdf3e8e191ea00d1c68d9d2c253"},{"fileReference":"bfdfe7dc352907fc980b868725387e987f6c43e3a9b481bef4c7952d68efd1ce","guid":"bfdfe7dc352907fc980b868725387e98ead31c3bead074b9f652700e67b0ddf8"},{"fileReference":"bfdfe7dc352907fc980b868725387e9875aaab549591a78b0d0848ff66f13394","guid":"bfdfe7dc352907fc980b868725387e9873c32ee1557539ffb6b7812529af9fe6"},{"fileReference":"bfdfe7dc352907fc980b868725387e987b77d10af99473f8114a2c3bbf3d4f03","guid":"bfdfe7dc352907fc980b868725387e98ac72098b22e2d8ef2538d80ecce7e132"},{"fileReference":"bfdfe7dc352907fc980b868725387e98355dfee33c0e8bdae593788390d340f9","guid":"bfdfe7dc352907fc980b868725387e98adc8ce08bdceb2f7bc8b4681df0c59f2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e98c35408b1cfa8249eeba5d77631ae8","guid":"bfdfe7dc352907fc980b868725387e986b0c6cccf74fb638497920cb08454417"},{"fileReference":"bfdfe7dc352907fc980b868725387e983dbfc0a24418c459f7a1847b98886acb","guid":"bfdfe7dc352907fc980b868725387e983951ccdd7c604d33238973417326757d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9886656d841ac719fd417783b5cee8876f","guid":"bfdfe7dc352907fc980b868725387e98f09a50d4ada4b23752b1c8ce51026078"},{"fileReference":"bfdfe7dc352907fc980b868725387e9870d2a645994b4f81d31220bf309baa57","guid":"bfdfe7dc352907fc980b868725387e9893893ae5cea61b26141d493be8c01808"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f144629ffefd6482e44cf4c78967f746","guid":"bfdfe7dc352907fc980b868725387e987dc6f69b349903d52b9ee53f3cab48c6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fe4e6a974efaa77f7002e5979ea2770b","guid":"bfdfe7dc352907fc980b868725387e9822d82deb324553210e3e8ff459d1ccb2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9869874802735677ef966c9e3f1e2c11ae","guid":"bfdfe7dc352907fc980b868725387e989adb4ef4e64433d90f00d150aafe8add"},{"fileReference":"bfdfe7dc352907fc980b868725387e985df45db98d82b6d44a418deb4738a4ee","guid":"bfdfe7dc352907fc980b868725387e986b8e6e374c9881353198472286aa0a01"},{"fileReference":"bfdfe7dc352907fc980b868725387e985684893a3ed4aa2fce765ac324eb0fb7","guid":"bfdfe7dc352907fc980b868725387e9861d1e09f1f97e78459d8b464175608f9"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c439ae1bd0f0cadd1938d0b3666c06f","guid":"bfdfe7dc352907fc980b868725387e983efa88eabdb7458e462abdd395dff7aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e9853a17faf3712bf14aa9bbb6ac2e9da62","guid":"bfdfe7dc352907fc980b868725387e984db1b3ada72bf3be2e3f4050ad582492"},{"fileReference":"bfdfe7dc352907fc980b868725387e985487f06d915551e899462709f1729bda","guid":"bfdfe7dc352907fc980b868725387e98655b0b86f99ca002c1f0277ec282d341"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c33d6a9e4275a8628636dc0a354d1b07","guid":"bfdfe7dc352907fc980b868725387e98b62f3bfbfa75204cb9efd9d637254fa2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2c55bea8e73ec43b39422292a9bd87a","guid":"bfdfe7dc352907fc980b868725387e98eac1f5b8baf5e4b2af986df245a48862"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8a9a0e104a6a21379c64e59636b10aa","guid":"bfdfe7dc352907fc980b868725387e98ca3d649cdc6642bb209f4e54b9616e75"},{"fileReference":"bfdfe7dc352907fc980b868725387e986420246a7b25f18a2bf81a4f76fb269d","guid":"bfdfe7dc352907fc980b868725387e987be83b5cf49caf4c09594cceae135551"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bc88d476b3c6433732620a11364fe014","guid":"bfdfe7dc352907fc980b868725387e98bef67ace06901e978b2c56758107938c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98296326ff0c0c397e514bccd5dde4ec21","guid":"bfdfe7dc352907fc980b868725387e984ba49f85d800effec5bd28b0f5354c90"},{"fileReference":"bfdfe7dc352907fc980b868725387e985398a19ebf9bfc2e9510133df93993f3","guid":"bfdfe7dc352907fc980b868725387e98047f71d08809a1cde0b5f58430afa8e1"}],"guid":"bfdfe7dc352907fc980b868725387e9870224d8725f6c41d8c352719cb517d09","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98dca5d46ecd39d86ec0d866b6f36b148c","guid":"bfdfe7dc352907fc980b868725387e98754bc5d99c686b6cfedb98ad7dec1a1e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9891c4920cd2d3189a04e737a0b2c57de9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c72cecabe1bf96e80a743e01c09f56df","guid":"bfdfe7dc352907fc980b868725387e9831b598f152987686f6c8bc464ce49abb"}],"guid":"bfdfe7dc352907fc980b868725387e9840a40f709cf0a6ec9d27aead26bba3c6","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e983b43a441293dc467180b5ddfcde5b7a8","targetReference":"bfdfe7dc352907fc980b868725387e98bb3e3ebadbb0b9a8a4f20f605e3cb3cb"}],"guid":"bfdfe7dc352907fc980b868725387e98557e748652f457f2a2f53a546f3fa26a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98bb3e3ebadbb0b9a8a4f20f605e3cb3cb","name":"GoogleDataTransport-GoogleDataTransport_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC"},{"guid":"bfdfe7dc352907fc980b868725387e980062393f91a1d2d94e3e5ed3a5aa5da9","name":"nanopb"}],"guid":"bfdfe7dc352907fc980b868725387e98d3c8dfff2c580c352f83d3850ad17775","name":"GoogleDataTransport","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c64019424081ed2ed9efdee0281dc680","name":"GoogleDataTransport.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=563a1683923d83b8e763e2d3b0b79f1c-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=563a1683923d83b8e763e2d3b0b79f1c-json new file mode 100644 index 00000000..6bf07254 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=563a1683923d83b8e763e2d3b0b79f1c-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d468249a431cb6c7bbd69ad7406fa64a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ca4103db02d4e9048e17866e294eb5e7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d468249a431cb6c7bbd69ad7406fa64a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986921b9f03bd24f6eb6396cb8f4fd2c2a","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d468249a431cb6c7bbd69ad7406fa64a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9885b607dfa9abc3faee2d484c64fb254c","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98195bb593bd1d1580b8a0edfd48bf9f58","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98908bb03a0f23948d65b84922d658f9f5","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bab2a6b7495c81cc9be1440f9e9ee531","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a358065524fd02f57ab6254cd0817150","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ea18ac1cb61fbd42c4ba3450285bd1d3","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889617e344582395e544e51c3e55ca7da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98986df2bb8f657d679810bee52f43530a","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9816bc12d33cf0904043765718022f949d","guid":"bfdfe7dc352907fc980b868725387e98bf1cf42a7fb15786f85d4138b71a2d1a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f306d5aa8499667b4352515f0d3e71af","guid":"bfdfe7dc352907fc980b868725387e98e050ae762b68da76fc861f64df9f1678","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2d8d119ee96dc7fb7f77ae45baa6f31","guid":"bfdfe7dc352907fc980b868725387e9873ab52c5fa8682a753df06a45b7a6dc9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9868daa7ecd79707eca6e2f6166c38efce","guid":"bfdfe7dc352907fc980b868725387e980c594c353a8183fd06631f4838992468","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9845e895b1c8b2f1b1b5802cb7dc55a737","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98dd035da34ce483ef145195ffcb780ba2","guid":"bfdfe7dc352907fc980b868725387e983fcb6cc7a9b52b64d54da93905702871"},{"fileReference":"bfdfe7dc352907fc980b868725387e98851812a95ac5f557606334652e39b701","guid":"bfdfe7dc352907fc980b868725387e98ed2125740dcc7bcdef2f6e64acd285f1"}],"guid":"bfdfe7dc352907fc980b868725387e9825b93e5bb9e412a3958901319164180a","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98ba64f5956ec0aae9fad7bb2be069aaaa"}],"guid":"bfdfe7dc352907fc980b868725387e98c74808408ea2d20b245969ea5408ff01","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b9b22bcc8c55e286ed51e05f7c173d8b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e982cdb0c7c817307e018cfb4299b646a42","name":"FirebaseAppCheckInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=56e8de75119e4739e3e94320b5bc4710-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=56e8de75119e4739e3e94320b5bc4710-json new file mode 100644 index 00000000..b88f6d37 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=56e8de75119e4739e3e94320b5bc4710-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e0ee6102a902c9baf735763792334b6c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9850d2a711a11303ae7c2c8490e5f3abf2","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f5bd13821b2e85916100b8b601a2a2ef","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98707bb11fb6b2af08f5399f36f4267c7e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985edfa006d971c3127f45af9978af618f","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983392c4eba416293a968057eddb5b1a85","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983786823f3e219e96ec6b4774acb90375","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d23c895dc36a3207a930f0dc47201643","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9880e426d06395397f7bada29aba65d54a","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d9c31787fb20e0d3b726f32d1cae282d","guid":"bfdfe7dc352907fc980b868725387e982f70de03e32e0c0d974bb9e475a05891","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98deda5d9c8a9db21a8d4ba993c48ba3e8","guid":"bfdfe7dc352907fc980b868725387e9887bd6c81e3b0f9e4e9074be867258436","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e283024df73d555c84cc8299fe1f700","guid":"bfdfe7dc352907fc980b868725387e982aa0f4e8bcf250dfe17e977aad21bfd7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a531fc3683a504a421297735c463f0a3","guid":"bfdfe7dc352907fc980b868725387e9812dde2b6b40b6a8df430b5c80a0b9f90","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9815bbe23cd9ee52d6d69491b2c4256f30","guid":"bfdfe7dc352907fc980b868725387e98c67c50cd33770e8b68105069bf592d4e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98821ee9010a3b481479ad6e1475069969","guid":"bfdfe7dc352907fc980b868725387e983a98b13786bf5de60a31ceedd327fec1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a322b00f56b545050f37af5fe8fd5ed","guid":"bfdfe7dc352907fc980b868725387e9828d9b2a266431240aad96be32ab86020","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984ec399767618433b391da15c0e8bfd4b","guid":"bfdfe7dc352907fc980b868725387e98b6fc39584e626f3ee4c91f729ada724e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c4a73d3419e3db96e94e440ffeede3a1","guid":"bfdfe7dc352907fc980b868725387e98c1995b97d30de48fd9ffe2bb143fd03d","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ac95ad231e14ca97a8e689f5b0a0290a","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986da0403a8eee8b227062a96db4b54cdd","guid":"bfdfe7dc352907fc980b868725387e9825a33484be7791555305b7c46cc8de98"},{"fileReference":"bfdfe7dc352907fc980b868725387e9863dc6a65518cd8552f0bb44f606472f9","guid":"bfdfe7dc352907fc980b868725387e98e1fbb2b9558598dfb5745e27a355ed71"}],"guid":"bfdfe7dc352907fc980b868725387e98187458ff4bd01c42d09dd5dffd23a4bc","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9852e80c23327b6cafb00901d9d6ce099e"}],"guid":"bfdfe7dc352907fc980b868725387e9896206ac5a227f378505e0f5542e82570","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98e18e367d06404bc047467667c0d085b7","targetReference":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881"}],"guid":"bfdfe7dc352907fc980b868725387e98ba044b02402c46c92f1179cc68977774","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881","name":"FirebaseCoreExtension-FirebaseCoreExtension_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98311e6292af5af43c801705cd189cc184","name":"FirebaseCoreExtension.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5d7034fee0db2ea018b2ecf9d4a332af-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5d7034fee0db2ea018b2ecf9d4a332af-json new file mode 100644 index 00000000..32261c3c --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5d7034fee0db2ea018b2ecf9d4a332af-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98aacabe60945974f4168991ae5245701c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b9c44095cce072ef4c2de6e0221fa3cb","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984cb215ef60be5bc94afd55e94c384c1a","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9805b8a3757e7950e6725cc8868b5fab29","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a5df2bb9c6fe47201e375c7ea1048500","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b4cfba231718b724a052ab7f7e56c1e6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98578d08da6a119d91f663c1d3c9ce5ced","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9880856ef8be36df16ef22ca8e8fa6eea1","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984caaaa0c2e1ad6757df22ca2500af809","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c36ab31dc2e760f5693092aebc68d8c0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ef1e1475c943bc3ad2343fbbafffce8f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9852962952315417ac66b494a6bfd47e65","guid":"bfdfe7dc352907fc980b868725387e982392e39682deaecb82636096d11d2f32"}],"guid":"bfdfe7dc352907fc980b868725387e988e076e2862c483eda258c05d19cb4b94","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14","name":"FirebaseCore-FirebaseCore_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981126092e527a43878ba047c0d6b5be37","name":"FirebaseCore_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6159451c9771eef54493ad4c69348acc-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6159451c9771eef54493ad4c69348acc-json new file mode 100644 index 00000000..495120a6 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6159451c9771eef54493ad4c69348acc-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d65854257eec066b841d9b75e74f1ce0","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fff4c9e5d334e100c10c82fb67a7211b","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f8a3816730bbbc1522863fb8dfdc66a9","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e919bf079e85d85de0eb123e62b64040","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ad6f913076a9e4b80d55420611f10c40","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983314c8b647e698385d4bccda3072c6f6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e2c317185fa27ae260db1ba5d22bd9b1","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9801b95d85101203a643b5a7b451252cba","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98319acce0238a0f4748a8f9722d75776e","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989f2b71b5312c866e862f0655b683d56a","guid":"bfdfe7dc352907fc980b868725387e983e893b8d973803254670603a826a5a8c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987ca3e60d49b40e8c73ceee854166cf24","guid":"bfdfe7dc352907fc980b868725387e98fe2c5fc72685155e2b35521731346b02"},{"fileReference":"bfdfe7dc352907fc980b868725387e9837643a4f2b034efc5ccf1d5b60e9c2ce","guid":"bfdfe7dc352907fc980b868725387e98eb0ac26e1b239d79f77b9f6db21e5693"},{"fileReference":"bfdfe7dc352907fc980b868725387e989713a8e515d05bb5528d6c083b3278d9","guid":"bfdfe7dc352907fc980b868725387e98bc1e987fc49dfffc475085157230cb2b"},{"fileReference":"bfdfe7dc352907fc980b868725387e987c59896fd58cbe246cd45c29cf0a11c0","guid":"bfdfe7dc352907fc980b868725387e987c039d24dd3d8017e35ba095e072a8af"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883d9cf036b22facd99504eda05eed71f","guid":"bfdfe7dc352907fc980b868725387e98dd82bb4f46ffd8c4d475fb41249e8e32"},{"fileReference":"bfdfe7dc352907fc980b868725387e982f6b36431a33790a271852d794f70ba2","guid":"bfdfe7dc352907fc980b868725387e9855caf09f749fcfe1bd2f1accc7e87fd9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df95077fe9d75ffe7153f3835e7cf39e","guid":"bfdfe7dc352907fc980b868725387e988bb5e0195f101c0fd9234fe95be7e2ba"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0926a85cbb4f5bda2f58b98f2176caa","guid":"bfdfe7dc352907fc980b868725387e98e99c3ed9348931bfc43e730a333a6d7f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a33949010d682d789eede63e6521e951","guid":"bfdfe7dc352907fc980b868725387e982765d0db15c84bdad17174b4e85807b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822c2b40daa01113455699357679b7c4a","guid":"bfdfe7dc352907fc980b868725387e98ad4c4149c7d5ad103e1079f82d95b6c7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986e2e877cea4b0791186e3669a7d0d2b7","guid":"bfdfe7dc352907fc980b868725387e98ea76938c399cf1bc6d4415089b124001"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ea87076782e9b9b00da04e325a40e86","guid":"bfdfe7dc352907fc980b868725387e989c9ed71430f4b5fcde24acd60c993f52"},{"fileReference":"bfdfe7dc352907fc980b868725387e98064f5a99b04abbf5c34f8719444596ba","guid":"bfdfe7dc352907fc980b868725387e98cd0b21854e1d4816791ff83330e3e619","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98db89a894e8d525474b0432f0ef0feefb","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9806d18ab239d315d38dc488e7bba64cf6","guid":"bfdfe7dc352907fc980b868725387e98134483998136e0746a660dd147aea09e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f948faeba053ba582f8aa8a32e897aaf","guid":"bfdfe7dc352907fc980b868725387e98eca533aa4ff5485be2827136f0dddb2c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eb052ce3be6ab93e5f4cb05490178c6d","guid":"bfdfe7dc352907fc980b868725387e983de55e5eb36e07380bfb559ad46889f9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f31b3487189334254a56c1331fdde029","guid":"bfdfe7dc352907fc980b868725387e988280f0d1eec43c757d0d06aa25d05f4b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9884943d5fd65ecdd2bb5c044b65c523dd","guid":"bfdfe7dc352907fc980b868725387e989863b11538fc63d45da1bcb21feae2bc"},{"fileReference":"bfdfe7dc352907fc980b868725387e980991820eabf4615668e4467a17a73424","guid":"bfdfe7dc352907fc980b868725387e985ea64789e08f8ce07f7ef9fb3553ccd4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828c5cd8408bc07660fbc6893b0ec84b0","guid":"bfdfe7dc352907fc980b868725387e9885da0cf91b383c0bd4a33efbe42e6138"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c461e42b0c14fe64dd1113c3de30b3b1","guid":"bfdfe7dc352907fc980b868725387e98c82ca8cde0756bf3aa33fb7ecda20ea5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d136a71253fff80ec058ced5e229adab","guid":"bfdfe7dc352907fc980b868725387e98a1a9767f18eb4d363d67ce2be5dcb5fd"}],"guid":"bfdfe7dc352907fc980b868725387e98cf3a89e90f461cc691a7ded0328921f5","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e984ea6a9117bd397d7a8f8db97a646d514"}],"guid":"bfdfe7dc352907fc980b868725387e98d0dfaf6aa4a4ffa3cdd7449ccd5a20ca","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98b3f8baf7e102b6acf8ca95a76858825a","targetReference":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8"}],"guid":"bfdfe7dc352907fc980b868725387e9851c2b06584cabf71efc4447d382ba4d6","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98dbbec3eebed26c79cc653713be723aba","name":"sqflite_darwin.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=623bd85b377ec0dc428160b0a9658908-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=623bd85b377ec0dc428160b0a9658908-json new file mode 100644 index 00000000..4a999ec4 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=623bd85b377ec0dc428160b0a9658908-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9843d193b76cf5a559bb97d61b464b02d6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a101e3258232d82977564a755454596c","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9821668aaf6e0994889b43babcc9d5e8d8","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a54d1a2537599cde625ead2d9ac73884","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98602f5702ab405e5c5ce34d374176fee4","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98806a66a0f633b13be82c06565c2dd1c0","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982f0a124067ca16258b509a657e7fbd97","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ee268c42c753a563c50c1f53cae425ac","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/connectivity_plus/connectivity_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/connectivity_plus/connectivity_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/connectivity_plus/connectivity_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"connectivity_plus","PRODUCT_NAME":"connectivity_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e14b30b25074b5667a81a4e80310f1b5","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e98f9c8574d8ce7a35ff3f00cf638df4","guid":"bfdfe7dc352907fc980b868725387e986f0657edc6e1d881756884dafa5fcd4e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ed7246c2050bba887769f435919461a3","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d794833ad555486563bb5298aaeb3b28","guid":"bfdfe7dc352907fc980b868725387e98befd1a5b428abbba31d4671a408423b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98647fe11f245bd3f4c17982aaf38f7356","guid":"bfdfe7dc352907fc980b868725387e98d963d19089db4c1c4fbb9abbacd3f490"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0a8fce5e3327a50464d9cec49cd6d2a","guid":"bfdfe7dc352907fc980b868725387e985fc49d8755f581740176942306d64b5b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ac8625b51b2d9a3d3b624c4fec90192d","guid":"bfdfe7dc352907fc980b868725387e98a4530c32e613abf4b44935e581e1296d"}],"guid":"bfdfe7dc352907fc980b868725387e98d810616fe29417dadf5b613b9d249fed","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e988d9f35785a61c8a3768f755962eff635"}],"guid":"bfdfe7dc352907fc980b868725387e9890cefa333765e3523a13184bdf4d130c","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e985c2f649d9c82d2865b47c75aab9374a9","targetReference":"bfdfe7dc352907fc980b868725387e9831ced05e49f553f4d1bb4a7cc8ab09f7"}],"guid":"bfdfe7dc352907fc980b868725387e986078b683c43f800af54d4c0fb39c0dcc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9831ced05e49f553f4d1bb4a7cc8ab09f7","name":"connectivity_plus-connectivity_plus_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98144902882b713248a71c322fd5b2f4ee","name":"connectivity_plus","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9849d71e523f9c532b7a090a4d5cf8d1e0","name":"connectivity_plus.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=62eb8a24290ac6ed0fb693004b5ee8fb-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=62eb8a24290ac6ed0fb693004b5ee8fb-json new file mode 100644 index 00000000..78df20ac --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=62eb8a24290ac6ed0fb693004b5ee8fb-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98869d09771c87d5943ad2920bc9f3c1b3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f121937db4dee3f37f704360c8b924c9","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98122ae98033e4e28bb74a2f6a1eb6c957","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ecd7320693be649694a37a728b20a8d9","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9840d826263253588e44398eaeccadeac2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c4d0a190933fe0233fd67a3ab6d4fc81","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98494bed795db85fca045905b4f5078e1a","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9814daede122fab53c0e40b5f5b0f6914e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c8fd928c2f3c6479f9725dfae2f23278","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b072cf054d321fa79277a179b544d313","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98713802a8142e1512ddd65a7125a8fd5b","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980d629d733941703c0254b690aebeb8f0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b90c247cbc18731a9871d84579595e0a","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983c5ba958c45c571f2a6558cb872c3b8e","guid":"bfdfe7dc352907fc980b868725387e980acfb3d30b68e8a77f59ebefdc9bc7dd"}],"guid":"bfdfe7dc352907fc980b868725387e9886528cb0b8cd9c1c076753521f0f65c0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881","name":"FirebaseCoreExtension-FirebaseCoreExtension_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988df9a93510eab8c6f1cb7471d90295f7","name":"FirebaseCoreExtension_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=64f53470ce0cd74d8b56e837748b4195-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=64f53470ce0cd74d8b56e837748b4195-json new file mode 100644 index 00000000..90109b04 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=64f53470ce0cd74d8b56e837748b4195-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98508b90512580954aee61b7e3b665fd73","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986828c5a868a10d779de9646440288c9a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98508b90512580954aee61b7e3b665fd73","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f41bf68c20b42772c4014391ce84684e","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98508b90512580954aee61b7e3b665fd73","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9852880e1cc561cb71286c39787a45d7f3","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f7bdc857ff3bced3f9242f000df31f09","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983936a4200b102224f2cd39ab91a28762","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9827ff056568050aa578ed10b1ab30a6b2","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f46e5c1d71ae3036b2ba2a0ef86a6c69","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c8c4848d6f14ac7944cbef2d518f101f","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9819b9b8cb4b55214ae4afa98f626504ca","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_background_service_ios/flutter_background_service_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_background_service_ios","PRODUCT_NAME":"flutter_background_service_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987a97d3fceac09a366d4090f56e51f0c2","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98901b59721d7b4df06a5214a380188a2a","guid":"bfdfe7dc352907fc980b868725387e98611788d3c79796d2fab869434da62e75","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eae96731d8d5f2edf17de4ed9d9d68bc","guid":"bfdfe7dc352907fc980b868725387e9877fd8532f040b38f57269c328c32409b","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ba2369b293148d740ab5ca28d992ad3e","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ea0eec9d0c0d5c4e47f4dde4e7927abf","guid":"bfdfe7dc352907fc980b868725387e986651c40e39f10e65efcb414ef9a72ec2"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ab735b46aa6b66fd7ba7d4d7e5e6c2b","guid":"bfdfe7dc352907fc980b868725387e984e15961b26e3aed82ea472b3866060ad"},{"fileReference":"bfdfe7dc352907fc980b868725387e98012d5f3ac0c9f8d0bb61d80ff14dceaa","guid":"bfdfe7dc352907fc980b868725387e9861af293dd4ffffd87e53b894cec2aa54"}],"guid":"bfdfe7dc352907fc980b868725387e98a5b55079827e2773cd916c6b1634a625","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98e206635b96f9301d01847105c6588335"}],"guid":"bfdfe7dc352907fc980b868725387e9814aa5017ea9b5309da0afbda5e882f28","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9890ddc73026ca9dc3e13ef53adb3fcbe5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e98b26fd8a99ca73052ad38d86525f5d2b8","name":"flutter_background_service_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a030c5c0aeba9d7d99f11988a7b74a8b","name":"flutter_background_service_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=65b9ef6351a3cde66e303c9514b4e168-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=65b9ef6351a3cde66e303c9514b4e168-json new file mode 100644 index 00000000..aaa49527 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=65b9ef6351a3cde66e303c9514b4e168-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c6f01f3503d345457c53ce22dc3572b1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981210c1130bc9455361a03f26e4396e1c","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e4cb4347ecae61b6bab4b59c8d07aa","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9824361d7bd3585ac74e9e7995602c481a","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9874ed1901f7798e4abc865c4efb7760a2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984ece2d55eab22e5ea554d0fc83853271","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e3d8f096882103fdca60bc3a69789d8f","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98427e3fd8cc23ee4542acc6e694be1cfa","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e9e926ca17dbb57e069b2a09f07fa4f1","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c3879fefd0aafda39038d0f36f555b8f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9815e68a96d0af431f10a4e0a32dfe9b5d","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98082af6128f511898d45746e6f7eb2abb","guid":"bfdfe7dc352907fc980b868725387e98435da96d3c25a4741705428a3f225e98","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98e732ff324af7cb3cc57dce2451f7fd3c","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986eb4ec5b1568e829c68d7b079291fce3","guid":"bfdfe7dc352907fc980b868725387e98b521cab3991ffd484e3e7bd7ff8638d0"},{"fileReference":"bfdfe7dc352907fc980b868725387e984cd26edb429ac9f84dd642d4b2a778b0","guid":"bfdfe7dc352907fc980b868725387e98785c01761fb4f66051bc943950b6236b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5273416078cb9b6352754bf8dbced56","guid":"bfdfe7dc352907fc980b868725387e989eb0cea3cdf7ff16e8018254822283df"}],"guid":"bfdfe7dc352907fc980b868725387e981135b4214842940aa641a10dab994fce","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9808a2319af07a0c6dcc8ed9c5d2af42b1"}],"guid":"bfdfe7dc352907fc980b868725387e988b280ddc3f80cb635ae18f0f989914fd","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98e510cc2b2000acf8aa96840bdebb2ded","targetReference":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765"}],"guid":"bfdfe7dc352907fc980b868725387e985c7aef44876e58339ed705eb4917c4ba","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9815af7ba71ce93f789a463577fc360420","name":"shared_preferences_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=698dc321a9988b0270444ecc74c303cc-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=698dc321a9988b0270444ecc74c303cc-json new file mode 100644 index 00000000..9e6a6011 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=698dc321a9988b0270444ecc74c303cc-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a2902c979740d3a3a0608d5ed0ab82b7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e99bce4324386435851e9e1425091533","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9806c4b8b5b7deea8433cc60cdd87f8a97","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d0c7e3ec22b8c14bf7d5df0b3e2392ab","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989331188cc817521d1a448ed4e81d6d24","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982b649ab03a441a016790d729c353dde6","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989e320d27603e5472065dcbb96c0dbc86","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98518e3fb609f84f80daef5750db3b5272","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981acbe9c5268cdcd406dcc82c7a9db4bc","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988b1f49b835a038a175118f2a9d53153c","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987601d04406fc9e2a0ed3daabe1e4a4b5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9854af24fd8e94b1e3e8317e9b261cd652","guid":"bfdfe7dc352907fc980b868725387e984180d34bd21e66284faa120cbe9dea13"}],"guid":"bfdfe7dc352907fc980b868725387e98a9f49a824a49d33259e073bc543f2bad","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1","name":"GTMSessionFetcher-GTMSessionFetcher_Core_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984eb2bec9e96ca1b7af92c0697fc4108d","name":"GTMSessionFetcher_Core_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=71a1eed11a119c7d3b39d161b785ddbe-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=71a1eed11a119c7d3b39d161b785ddbe-json new file mode 100644 index 00000000..e4fc2e67 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=71a1eed11a119c7d3b39d161b785ddbe-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989782bc37a1796bc700e9d2922a50a183","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9857e344365ca088710f02220263d8d538","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd6be2484211c4b850e57a2a13410f14","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986263a43aa764ecf9ffa38d014fc3b619","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986003a477168f04807a21bca936f69aa6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9849bd780047cc5301da75d2812d9fccf7","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d50ddfed35d6dd8de6ea2f58763fcda2","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9886d35ab1df50784bba221b68ce79d3fd","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98106c57a15cbebcb0be2d63f06679dc8d","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bd0f8b68e457fe538f72a8aac127f634","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987987c149513f2bdfd0d9e1032a75f6a1","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982a4aea59915fbd5f2c6168b3ca443801","guid":"bfdfe7dc352907fc980b868725387e98ede500b8515015bf73026de1e81cc01c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c8ea00fc05109b43d1937aa67ed6c42b","guid":"bfdfe7dc352907fc980b868725387e987fb11ea24f31e064479290cb54985151","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f24a59c5f254fa492a22973f0aaaf29a","guid":"bfdfe7dc352907fc980b868725387e988df4479c4a0e54a0476ed91187a44f9e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9814905074f239f645386eaed7cc40ac91","guid":"bfdfe7dc352907fc980b868725387e984194a702c5f57799cd1ba244a941dca9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfc2367db07f7ded901c51ed83182cf7","guid":"bfdfe7dc352907fc980b868725387e98e93744fcccade3ae787a235dbcfa8079"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d243a413f6af3350745b4c604c4fe65e","guid":"bfdfe7dc352907fc980b868725387e9840fa667e9dfae8fb673968b6dcd89f1d","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98b7ea6473780a5cae90062ad5a0329b1f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cfe5bb214cd9862a474ae267c68fc8a0","guid":"bfdfe7dc352907fc980b868725387e982c4bfab60d064a2cd4905f31ee7c81c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9839e4feabdf433393c072420cdd0c20bd","guid":"bfdfe7dc352907fc980b868725387e98773c4bc98850d2a4a5b7dada8decff1a"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c5c16009d8163683d50c017589c9a76","guid":"bfdfe7dc352907fc980b868725387e98ea8cbb180c57747fdc72120a33e83d22"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883bccec5d8c70e3e43d03a5dd149c957","guid":"bfdfe7dc352907fc980b868725387e98c6fdf2f90ae9a8b3a6eeb520b8dffdc3"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f79e89e102b068e2c74c7ea3477dfcf","guid":"bfdfe7dc352907fc980b868725387e986cc752ce566482cfbc5742d8f8770617"}],"guid":"bfdfe7dc352907fc980b868725387e986311846cab275981f2a459c5a351fbcf","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98a44866a24674d2619eb1745a6e78ab4b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98015e080be5b1776bbed059e24eda164c","guid":"bfdfe7dc352907fc980b868725387e987fb3660dd35953f579d359030b0cfbad"}],"guid":"bfdfe7dc352907fc980b868725387e985bd21be8167b48e2128ae7e208dae433","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e986473ec671d2ec541c002bc6c907a5778","targetReference":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1"}],"guid":"bfdfe7dc352907fc980b868725387e98ac388a548505029939596f2c3e746364","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1","name":"GTMSessionFetcher-GTMSessionFetcher_Core_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f65e88472d384b1ba0888326befb3a8e","name":"GTMSessionFetcher.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7255d285c2f68eb67db53f9c24f90ef4-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7255d285c2f68eb67db53f9c24f90ef4-json new file mode 100644 index 00000000..71d1dca0 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7255d285c2f68eb67db53f9c24f90ef4-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9889c5f0893de75965883912cbd5f5eb81","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98170bc3f9edd9e8c0bc971898a75267bf","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9891b042ee45ec98164b90930cc76ce209","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ee8c62cc6cab3b8184b532f90bffae7e","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98225bfeb59b5458d065cd66a18513aa71","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9800ef777e8e48941bd4c45eca25bc58c9","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984629d8ad90f787bf1dc533ec09ad99d0","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98af0c51c432c9b01893b2891cefa18910","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982d378471917c525700f65eb530d30dbf","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f0880623961c43db4856b76a475e88f4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98bf6f4a68d3e6cce5de9e926ee5c7bed6","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9849b9ce4e386a584748549eb06d4038f0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985197a4e40f970883806a2359e4721f60","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98aa8f760c1e7c35160d95a9949204111e","guid":"bfdfe7dc352907fc980b868725387e98dc63e260513e031c6eefca30ba03a20b"}],"guid":"bfdfe7dc352907fc980b868725387e98d06598e9b72dee4358d421ff0a11307e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823","name":"PromisesObjC-FBLPromises_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9867729fb6a85d4c069a179d51db31501d","name":"FBLPromises_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=782b3a6e3cb6557e3155fd9349197563-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=782b3a6e3cb6557e3155fd9349197563-json new file mode 100644 index 00000000..748bd70b --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=782b3a6e3cb6557e3155fd9349197563-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e6588ddf7ee377f5ef65ab5a89989243","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d8c6982429e5c43b0975c755d4e63116","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9863952383d16759363390baeb3e9fef80","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c606299dde81536dceee74c47c4c2474","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981027b3e2947536fad6c121508d222730","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9825c0cac98faed386d5dfa1857fa6bb8f","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985b86d724b33ab8850ce869269543056c","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988b9541ede332621b29cf77072fa976a7","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988562aa1048af31802014ba2ef825deb7","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a536e91705b74b107c30bbeb8ca59e94","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9835146bdc5e5b1f1a7a65a498fc21b106","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fa68575ddf33d820495597c838eaca2e","guid":"bfdfe7dc352907fc980b868725387e98a5fd4879a3566ebe64054139013f9abd"}],"guid":"bfdfe7dc352907fc980b868725387e98574d82d7a8b2bd1daa2d02f97605df5d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e984535f130e81fa6507008242e4e8916fc","name":"FirebaseInstallations-FirebaseInstallations_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981703d6bed554c9878c28cb40b989a332","name":"FirebaseInstallations_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=79da9f36435ed02249ff2933d4c20d65-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=79da9f36435ed02249ff2933d4c20d65-json new file mode 100644 index 00000000..9b4a207e --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=79da9f36435ed02249ff2933d4c20d65-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98521aa7192dbd9ddbc0acc7ca330d0fec","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9866c4fdd83760e0cd1260877c4f0fc3cd","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98521aa7192dbd9ddbc0acc7ca330d0fec","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c9270037b5d0f5ff3ea4be6609220a50","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98521aa7192dbd9ddbc0acc7ca330d0fec","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985fbc018773da9d23019bc0e16bf8d075","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9852e6f1695026ebdfa6c31997f6e8ef11","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9888a66ab9a25494961881eff26f6cf4ba","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986b52a3fade996be37bdbcf1f3e86ad52","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9850f1d7ce55f465f529c47da859bcb374","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f17f7d1af4ef7e6ee89eb8fd48751c50","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc9d88080f4a296525cb182dabff252a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/qr_code_scanner_plus/qr_code_scanner_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"qr_code_scanner_plus","PRODUCT_NAME":"qr_code_scanner_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ca648191aa94f5cfcb42418df70491fb","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98af32dcd4021d0a5d3fb49b7480de30e7","guid":"bfdfe7dc352907fc980b868725387e9878e74866b771ce4af6e55ae33a1270bf","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985690a480cece392f45208bc8b8026fbe","guid":"bfdfe7dc352907fc980b868725387e98806436059d359024e38d74030f6b462b","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e989f1b5c8c6cb69b802ee15ab43fd62b5a","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98078a8573e1bd24fae1a5cf7c70935b53","guid":"bfdfe7dc352907fc980b868725387e9845fc1cf9f9627807713d24dfc6c4c0fe"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b3454af282fdb8bedc300020e236a788","guid":"bfdfe7dc352907fc980b868725387e988c57485ff77862654a9d3aabfdca50ab"},{"fileReference":"bfdfe7dc352907fc980b868725387e9850e5fb1d2bc7ec96f87cb3497958da6e","guid":"bfdfe7dc352907fc980b868725387e98a45c24bf338a88eff11f88708dbfe68f"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c8d29dbc3b84d785de5c69282b00321","guid":"bfdfe7dc352907fc980b868725387e982fb5b5465b94db693c696c610c126c8c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d7e711c70530fb730a4db4655f47eeb2","guid":"bfdfe7dc352907fc980b868725387e983aa3078db00cee19fdb2d68b4566dddb"}],"guid":"bfdfe7dc352907fc980b868725387e988adb68558d762e8e530f1eecab68356d","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98ac6438d985bcec59ccb10a25e2b36a9e"}],"guid":"bfdfe7dc352907fc980b868725387e98b82828dec91d952e4becfbaa66ab382f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a3ba42d867932b0cc452067dffdfee04","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98b66589e559e86b96e7ab7c12d34548fe","name":"MTBBarcodeScanner"}],"guid":"bfdfe7dc352907fc980b868725387e98944793f1b6933f894fec8113c656dfe8","name":"qr_code_scanner_plus","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984a6beecd181a252d48d17e2e630f1d54","name":"qr_code_scanner_plus.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7cfed75954bfd3ec24b213d3e973eea9-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7cfed75954bfd3ec24b213d3e973eea9-json new file mode 100644 index 00000000..8e16d576 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7cfed75954bfd3ec24b213d3e973eea9-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d8d9fec4c5aa5e1f4e540c121e9880b3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982ce66903945ffba1fced3769d8bd83aa","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875ac0530da5cfd91bb97a72cb44be842","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ef24e6f4d86a930283a3112d44acb2e7","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a790c7db135e415445a98cc1b203aa7d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98df63430578c47a0cd895b7c202743263","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988ddc409c3535de94b0153e4a50b0107b","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988f7c801ca1870a1f38de0af1e0d27f9b","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9896b9933d0bffafb74a7deb0cd591313f","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9732dfdf723cf161ecc1cbcbb7c8721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98158681e47cb651b7325794d834411311","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9895ca6736901b42a77b6ee7db5a674bb6","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98598925996df75270b114bece211ff8a8","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98965f8c3f2625a0b1f1099de92b59cd50","guid":"bfdfe7dc352907fc980b868725387e9899eb4e2415b9bb144e7c5cb71310602b"}],"guid":"bfdfe7dc352907fc980b868725387e9828bf8ff5b9cf815bb61e9c980b0a0106","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9849c1d4b1200fcbf6f387f94121c7d0bf","name":"sqflite_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8502ec014c896cf56194abee4bfcc59c-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8502ec014c896cf56194abee4bfcc59c-json new file mode 100644 index 00000000..a0758352 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8502ec014c896cf56194abee4bfcc59c-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9854fba53784167bb239c72bf59e6968a4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985d0048ecc1536168984c544a069caca3","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9854fba53784167bb239c72bf59e6968a4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e42f5850ebe4333b14e80ea54ad92596","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9854fba53784167bb239c72bf59e6968a4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d2a049a11d30328874a927cf5a2374e1","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9862e113069beb3797d858bd8ab63bc1eb","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981f9a73079a4598627d4bbad0bf66e9eb","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9837f2eaa9fd2625f511056b87af4e6713","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cdc919f48314ba8d89f314465d2e39c9","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9847fd6a5bb8d170475c91a203c1ee9b13","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9883c388f959b83fe74e38bf0c83e7e79e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98431212e4c8fc9f963fe30c6f8e40c37d","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98da917aa2a04bee0e105051e6597af907","guid":"bfdfe7dc352907fc980b868725387e981752266e9aa71afee329562178ebd4d4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98398f919b0a5224d553b32ab5b42b0dbc","guid":"bfdfe7dc352907fc980b868725387e988f7716880afd438cc7190d84226bd475","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9803e801ebf228ca04c92b5faf901e233f","guid":"bfdfe7dc352907fc980b868725387e9897b335f843455ae1c655646c99eb31ea","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cc9cdf8d04973f096035202531c7e172","guid":"bfdfe7dc352907fc980b868725387e98c4ebe195732175feac6aa0a578345032","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c91232880b3a8a27a649740ef664d2b","guid":"bfdfe7dc352907fc980b868725387e984ad687e44baabc15c9107997e8383948","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98a62e53a6e8e8639eed5de9e755529270","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d020db33a8067442fdc09569a673140d","guid":"bfdfe7dc352907fc980b868725387e986177392c5fc3794d0655ac16b7fa0efc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98312a5ffd6f44b118c886da094d18271b","guid":"bfdfe7dc352907fc980b868725387e9802638f1b91e343505f53bfcad4d09475"}],"guid":"bfdfe7dc352907fc980b868725387e98686decf605994319c787c7ee8dce5745","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98aca3ffe62585c57984d99052b2940e59"}],"guid":"bfdfe7dc352907fc980b868725387e986ba2a669c0132493f33a96ca5be8b4a1","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98df050298d89a21cb09eb301a142163ab","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988c2a56cd963a48a63ab689fe60f47236","name":"RecaptchaInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=85be0369cb17cd73da92da5c5c994ad1-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=85be0369cb17cd73da92da5c5c994ad1-json new file mode 100644 index 00000000..e40e5616 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=85be0369cb17cd73da92da5c5c994ad1-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98923206027feb6729ced6ccbb66648729","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d542a18613df12b99843515b013eb8a7","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985510da26506643d42217b4389db67b5d","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98695af7ff098e5127ab64d0a2d44d3836","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d719078b93cde266769ebebe674489ad","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98393576711157608f92ade53cbca40f0a","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986dcd47c3592fe6125439f338765fe9b5","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a5e785e6cdeb2da4e08d6baf8dbd7f0c","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_links","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_links","INFOPLIST_FILE":"Target Support Files/app_links/ResourceBundle-app_links_ios_privacy-app_links-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"app_links_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984880f0388e9b8ed1c2c6909615a5c8ca","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b1dcdd256e99a8a2532ac6c57b7c07aa","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98fd25778324ebb9133daccb83b2efba2f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d0262d8c8049ae6655eab228fd2929d0","guid":"bfdfe7dc352907fc980b868725387e9887e73c31a186538f3bce06f1d030790e"}],"guid":"bfdfe7dc352907fc980b868725387e98f4b6e801ab65c25542952ff8e4b5f5c0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9854f2b496f3d836ac3fd0e138cbba7daf","name":"app_links-app_links_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98b94b436e886ef04c570b7ebe5735692f","name":"app_links_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86c648d0626cd4a65b2573c7b4a5ae85-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86c648d0626cd4a65b2573c7b4a5ae85-json new file mode 100644 index 00000000..538dc27c --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86c648d0626cd4a65b2573c7b4a5ae85-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986c9bfa607c0ec63d84408e5beee150b7","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983e92d9418fd65fdc3667ce7e8aa5e128","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986c9bfa607c0ec63d84408e5beee150b7","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d741ebf3b984b07f23d60bb2be3d4945","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986c9bfa607c0ec63d84408e5beee150b7","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988595e85fb02e6b80032da59b824100a5","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9834ff1d2df3e0170458a79fbbc6f827bd","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981c5ba2d1e91122656555ef29ea458ab4","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982841473383e7fdd2d653f61cf30251fb","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989ef09b3067860fd7b9de1d069f54f1ec","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98680ee736763bee280aca61dd0dfe7754","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1112124f9f41cc0290f51c82ebcc280","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/MTBBarcodeScanner/MTBBarcodeScanner.modulemap","PRODUCT_MODULE_NAME":"MTBBarcodeScanner","PRODUCT_NAME":"MTBBarcodeScanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bae685d1604f8f16b2012ca9e6a7e493","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986641fb6362ea67a4e60395966c9d9f26","guid":"bfdfe7dc352907fc980b868725387e98acd24d316892be4ac0729e5cf7194de0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bcff99fb74d78d71abf0c4d4dd2a94a6","guid":"bfdfe7dc352907fc980b868725387e98e20ee454442714e65adc162381760bee","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98c738399039c692f01292293db2e0cf1f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c0dddd1bf8dd13a4025a323be8cecd71","guid":"bfdfe7dc352907fc980b868725387e98742ed004c83e18179ff5fb18098f85de"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f34363ad37c8701b00e6d16ed15f080a","guid":"bfdfe7dc352907fc980b868725387e98c1fac67079d8d74a1b6af0079c8db231"}],"guid":"bfdfe7dc352907fc980b868725387e98f6c9f6bcb5a4607010ee36038d10be55","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9833d6dcca4711be1abe38c412c1f1001b","guid":"bfdfe7dc352907fc980b868725387e989614e6d9a67d08844ccb881cfbf227c9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e986387bc80a04f25291df5425cab43c994"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae4110dc3a4d01f99544a95b216ce258","guid":"bfdfe7dc352907fc980b868725387e985239175e72e9c9bfe611420a6c0f5a3f"}],"guid":"bfdfe7dc352907fc980b868725387e98c8661dd87cfcbe298a22a9698d11da19","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ce414c24155a3c25431f5621738e112b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98b66589e559e86b96e7ab7c12d34548fe","name":"MTBBarcodeScanner","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9839554de8c8d05cf368da7f5f68fb35b6","name":"MTBBarcodeScanner.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86eab6f462d4fa009b553a9a95c5d38c-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86eab6f462d4fa009b553a9a95c5d38c-json new file mode 100644 index 00000000..9a80284a --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=86eab6f462d4fa009b553a9a95c5d38c-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982999e15362292689b539e51824389da9","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9875ea2eb75bbe8b312355fd8359f908f9","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98204ad6d201eb49104b39455c2d136e0a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985047aa64d6385a62bbb4920c151995f9","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984e75540b9a5090626894521e7c29e8e7","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988360553606661adb167d09326d98d819","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98172241e6d676fb189a756d658b5ea358","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9802de663d76df1ef475091c776fffad2b","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9825345277a25dd9e5435fde46f8692a91","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98afd093d5e67e74dfde093d8bc47bb706","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/connectivity_plus","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"connectivity_plus","INFOPLIST_FILE":"Target Support Files/connectivity_plus/ResourceBundle-connectivity_plus_privacy-connectivity_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"connectivity_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9843d3c9232e5664ffe57aa10b81822c6d","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e983ed4cd6f3ba58d111daf750ceead7c83","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f346f674faabfa987a1b7662f5cf6942","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b41a3ffd1cf74718d1604ed2e3e28db7","guid":"bfdfe7dc352907fc980b868725387e98f6116fd3f1774ebdd60d6446b6120cb9"}],"guid":"bfdfe7dc352907fc980b868725387e98792e6696993f9756372d18a73742ae9b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9831ced05e49f553f4d1bb4a7cc8ab09f7","name":"connectivity_plus-connectivity_plus_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98883ac788d30417c21a28a2a7f2ab79e8","name":"connectivity_plus_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d0dde9f3823650e11c7fdd8ad30f0e4-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d0dde9f3823650e11c7fdd8ad30f0e4-json new file mode 100644 index 00000000..2f921685 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d0dde9f3823650e11c7fdd8ad30f0e4-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e69dfaaa55420be7958e79019c99cca4","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a3b55589dc75f370aab295b3f6709f1f","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985ce07fef2afa6485cb476676aea32bc7","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bede36e4f8aea6c4429b84cd1cd27d50","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9888c9e1e870dd2a7ef8b08b4e8fbddc45","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d95776b3a4b59c8d1072859ee5170395","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b8505df91a04723f8a9cc609af91eb5a","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9804166fff78fe2213a5ff2591cb6201b7","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ec47a065ee100db76ffe36a993b43ae4","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c704761e41ca525bf9c40e62a453320a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/map_launcher/map_launcher-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/map_launcher/map_launcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/map_launcher/map_launcher.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"map_launcher","PRODUCT_NAME":"map_launcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fda75d69df307ec7f81df3e5a4a62744","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98db2f148b600b5e4dca700b48404bb190","guid":"bfdfe7dc352907fc980b868725387e981a26a6f1be8952db57825c0f3af7f58f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98219045937adb2ba10bc8dfca94815fd8","guid":"bfdfe7dc352907fc980b868725387e988af88bca94d7358b55a49267a729075c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9894d5d908bbdd62651a6ab368da78a6c1","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a3119627b78c7fa6f93c868f0bb62554","guid":"bfdfe7dc352907fc980b868725387e98b1f19cae728d9cfc2cabc103f613a374"},{"fileReference":"bfdfe7dc352907fc980b868725387e98acc4479f5963602a9cec6ed3103c2088","guid":"bfdfe7dc352907fc980b868725387e9846d40b7ae407e1f1e26905d1b0aae10b"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d21b5e9fede79c443642e0e0439df19","guid":"bfdfe7dc352907fc980b868725387e98c2ee4956dca385f5a2f7d20367ff4a86"}],"guid":"bfdfe7dc352907fc980b868725387e98c57ebbf4b49b5d7c8d6a93baca5ec631","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98888de9a7c06d1b52c40a51cb7101d3f2"}],"guid":"bfdfe7dc352907fc980b868725387e98e3581e4baf698b4a5a5d2894a210cb0d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e989a06e532c0098eab9b24cccd2a28bd4e","targetReference":"bfdfe7dc352907fc980b868725387e9820a0632d8bbf6427fc8e7c17c849e614"}],"guid":"bfdfe7dc352907fc980b868725387e98f707b4ec52e84835113f342362f63003","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9820a0632d8bbf6427fc8e7c17c849e614","name":"map_launcher-map_launcher_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e984c276e032465a1ed0eb1d385ed4ab588","name":"map_launcher","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98572d70bc274eb8565cc7dc626f35c0fd","name":"map_launcher.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8def6df5c6f6833127578379b5431d15-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8def6df5c6f6833127578379b5431d15-json new file mode 100644 index 00000000..527b6408 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8def6df5c6f6833127578379b5431d15-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f1f8d33b857a1dd7a92e3a44375dd781","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f2ea7b0e1f7d7c6ee04a5cbfc8494cdd","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d67308e2ebc1197fc3a2bdcebe799fbe","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980013d75732b50de2a958a3cc3b4dbf77","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98db88c34fa3ec4235d53aca55d935fc28","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983873e5f91f01b1d2404b6b5336da7d2f","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980b76c200d3b87f6e82f5fe1d0b7728b3","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ff5f65d2c719696065f02b9009a0defe","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98635d61388bcb9b73b615c2e5c625aee5","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c1cecaeb730c603a2982005c20f95add","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/nanopb/nanopb-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/nanopb/nanopb-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/nanopb/nanopb.modulemap","PRODUCT_MODULE_NAME":"nanopb","PRODUCT_NAME":"nanopb","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989b6391113ea37e30f03033f32ebf935f","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985f6cf97776d16104c3d5714f60193c1a","guid":"bfdfe7dc352907fc980b868725387e98f6344fb07cb4ce4371d1c9fa95de0151","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985f8fe6398489bf8414bc89b3988144ec","guid":"bfdfe7dc352907fc980b868725387e9845af3a0554ee259bc6464354532ee826","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988da620e4210aad6a38ca2b8d94224693","guid":"bfdfe7dc352907fc980b868725387e982f856f4d8b8dc425159c1366c127bafe","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c9e5daf49e1d430c147deddff44ff6ba","guid":"bfdfe7dc352907fc980b868725387e98d17cfb1123924b370ca9008447039071","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981a233caa835e42a98189c0ba02dcb204","guid":"bfdfe7dc352907fc980b868725387e988333f54615cb892f6569fcd20f356cc5","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98bf1e4623f7ccc44af68490df4739e54d","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98bb6f7eeff34b68de2f157f26cf0a318c","guid":"bfdfe7dc352907fc980b868725387e9896ded04ad617dc10200df9e18ba8ae92"},{"additionalCompilerOptions":"-fno-objc-arc -fno-objc-arc -fno-objc-arc","fileReference":"bfdfe7dc352907fc980b868725387e98974d5422b4e897b749464a5d5aa990b6","guid":"bfdfe7dc352907fc980b868725387e987a909514c3b81a3a3591bdaeddaf1232"},{"additionalCompilerOptions":"-fno-objc-arc -fno-objc-arc","fileReference":"bfdfe7dc352907fc980b868725387e986c03aca67f53d30dce74b03cb8c00217","guid":"bfdfe7dc352907fc980b868725387e98405354d38d040a4b1b00a39045dbcbf7"},{"additionalCompilerOptions":"-fno-objc-arc -fno-objc-arc","fileReference":"bfdfe7dc352907fc980b868725387e98636f3e49ed298a6ad9ed16f1b334bc2f","guid":"bfdfe7dc352907fc980b868725387e985c63e2a0b4950414187a44457946497e"}],"guid":"bfdfe7dc352907fc980b868725387e98847d59fe1da234f3fe460d6ba1cfde02","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98c5abba7b3af31596387405db504522a9"}],"guid":"bfdfe7dc352907fc980b868725387e98442d6d37d95da4c28840ed11f705ed84","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d0c60cef9d16dc805c3b64cb4bf48bd2","targetReference":"bfdfe7dc352907fc980b868725387e98c9e4d77647dbd2f60d4df5fb297112b6"}],"guid":"bfdfe7dc352907fc980b868725387e989850dd6b372aedebab17726783a4aad2","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98c9e4d77647dbd2f60d4df5fb297112b6","name":"nanopb-nanopb_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e980062393f91a1d2d94e3e5ed3a5aa5da9","name":"nanopb","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98edeb236a6bea2a184984d344e4936f7f","name":"nanopb.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=94035fa62adffc9cb90c7235781aedcf-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=94035fa62adffc9cb90c7235781aedcf-json new file mode 100644 index 00000000..213f2e24 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=94035fa62adffc9cb90c7235781aedcf-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c6c2b7010bbb78f1d438b3375cfc7c5f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98c7d178993c0d8cecf108555a51b069c8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c6c2b7010bbb78f1d438b3375cfc7c5f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98d673792d8a1a0b7111655055a0c839d2","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c6c2b7010bbb78f1d438b3375cfc7c5f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e9812238f3c6c96e77b063a36615e25e0bf","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98df5fc350cf420310df0635bba54b3f4b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98922c536efc0d58de6be1901a349ab93b","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e9853f95f65a67ceb33d3753b885dbe668d","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e983fb3af09ff0fd34d6c6899402d79fbae","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98ff7b0222379fc308cfeb5af767467453","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f6eaea49f9e67553b16aa101fb300f6","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e989df620699b2df65938dbacc8024c8902","name":"Release-prod"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-prod","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9aa24b512c8fa0ba2d4a133b65b828c7-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9aa24b512c8fa0ba2d4a133b65b828c7-json new file mode 100644 index 00000000..7d1505cb --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9aa24b512c8fa0ba2d4a133b65b828c7-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9828495aedd0acf6f1b9d55734f68be1b7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c95527649ae7ee39ab26024cb7ee7127","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9809a1419c7c07e3deb809a57d29091308","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981539b8d81a5259c94f7a7d3db7844bf4","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f3fe666652d183a5e55f990590d508fd","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a989050934909e4c017212bcc582ad3c","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d921f36466d1d06447bf811c21b2b54c","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e1129d198a59de9797029e09bb7d1e37","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9829fa775f55ff9f422b804c56106e177d","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989799dbdb9d8f662ddc6a90d1bea102c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98997dd907e8a54973706406ee4f90ca3c","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987075f8033ea9e47b65e5be520020b591","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d56dd954f6f7ece3b3858f80dceed056","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985a98a02a7cac9ca595673e0f98d1b8ca","guid":"bfdfe7dc352907fc980b868725387e98d6e6125fc998b3b12a481b5d0e934918"}],"guid":"bfdfe7dc352907fc980b868725387e983fd812eedf229cb0a316e74536522093","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4","name":"GoogleUtilities-GoogleUtilities_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981f1852a7971aaa5e479d216071487d3a","name":"GoogleUtilities_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f32b97141ba0d6d36c5a8eeebeb4d98-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f32b97141ba0d6d36c5a8eeebeb4d98-json new file mode 100644 index 00000000..24d00240 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f32b97141ba0d6d36c5a8eeebeb4d98-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985f94ac8c55ac4b8b35a87ac4c8ea35c9","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bfc597f77c60233d253805843575f127","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98717a483e09bfa267aa6e5201b03b1283","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9817130e5844e920948156327d8cb9b779","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987016d0652131524dcf7d1fd5d8af1622","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98db49a0bc702cfc4993756bc5cdb113c1","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cef5d3377fb216950898196358e8ecb7","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9809753ddf173801b764c555167d18ba62","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fcaab3d85407d69c40294f1c865c27a7","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cf1b135b534d02f2e5a9ba5730d3c46b","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875a9d530e4318ded1925e1495668373d","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982810b096a30e800a275f00c961f64563","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982fa6ec7e8fb4ae7e4348962a81653095","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cfe11efa82e5703b6deec84511acc3b9","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981d8378de969c6876860473772b5e407a","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986035bbb66c174035db5f4e1a06159cfa","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ebb981d4ec499c13c2ecd49549df6622","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9846a1845e403835ddae4c80717a1a7531","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9840427a3d7f56c61c727b54cdf799df0d","guid":"bfdfe7dc352907fc980b868725387e9871ef78114e66e7b10843299bdbf80c26","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e986a7f8fa4f82de200835c3dc8b1da3585","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a00e11ad8ef623d254a324e15578ff57","guid":"bfdfe7dc352907fc980b868725387e989c773b4f28f3a310e66e8c9503e48bd7"}],"guid":"bfdfe7dc352907fc980b868725387e98492779c71ff0e428ac420d7f0a70770d","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98db234e760d867ffaf7a04d9c3fcad9f5"}],"guid":"bfdfe7dc352907fc980b868725387e98fb1b8335dead005b308b2bdeb4e50dcf","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98cf979f9c6ea7694b1ba6db07dfd0cf78","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner"}],"guid":"bfdfe7dc352907fc980b868725387e98483832d3c820398e9d40e1a6904b03fe","name":"Pods-RunnerTests","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984f9f39caeddf64cc331db2b69d62aa63","name":"Pods_RunnerTests.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f91101ecac1571d8b82e9a422c353a9-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f91101ecac1571d8b82e9a422c353a9-json new file mode 100644 index 00000000..5eb24c47 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=9f91101ecac1571d8b82e9a422c353a9-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9802de8db226910a7c6270562b5f3af9b3","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9802d85300041f2927eb6bdb70f95bdc49","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ab6486d63131288dd4b33d24bf1cb3b5","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9824ebad11c39630448eeac9c5faabdb7c","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9853e4f9e520e348dad23fef4b18e6d879","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986613f2a55c090adc0235268c4d03d1f8","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9b34dc2b94dd24fbc9d54a0a11526f0","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9849d696ab5931579f74b2f5a61a494ba1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ff96c8d8e658ac5bb3206ace252751ce","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981576dc15dd58ce2ede3e626c0b34f7c7","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98653ba9896443f38507b765a5bcd39dd2","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fdc33181b0a8889c808beec34c503697","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987e1371e4a1570dedead2664743c4b10f","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988f7b1e299317afaf1f788052e2277ce1","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984f7634b3d4ec61d47c2ebbd4c426e32e","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987d4153e7ab7425dfa6fa93b7a4452a23","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9850bef46a833e654f70c298bf1c89f374","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988eb60465beccf6603a2e6c6d30299520","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989338c5cd203fde1d8b54b7a049b0c2dc","guid":"bfdfe7dc352907fc980b868725387e98abb09dfb6161bdff2d4acf891a78300a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98eb6a03ddeea6b296ad94addeef51fba3","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989d6fdeb56ea9e1101e2b7ac826663158","guid":"bfdfe7dc352907fc980b868725387e9875762a1e3e0fa18c97e571a39b661335"}],"guid":"bfdfe7dc352907fc980b868725387e983c3372757fe237ceab48d5aa4b9f874b","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e987f7eca02cc2acea826b351f360712cec"}],"guid":"bfdfe7dc352907fc980b868725387e98fd4d9ef2197a56e67fbfd8a8604f8c68","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9862c055956470fd8156c97d3ddecc9ba9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth"},{"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension"},{"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal"},{"guid":"bfdfe7dc352907fc980b868725387e98566ec9a1d71c4629f4f85ecb735ce614","name":"FirebaseInstallations"},{"guid":"bfdfe7dc352907fc980b868725387e983da17a3564c774dfaa331fa07754d2bc","name":"FirebaseMessaging"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher"},{"guid":"bfdfe7dc352907fc980b868725387e98117b13c59de776c223f2f14af197afb1","name":"Google-Maps-iOS-Utils"},{"guid":"bfdfe7dc352907fc980b868725387e98d3c8dfff2c580c352f83d3850ad17775","name":"GoogleDataTransport"},{"guid":"bfdfe7dc352907fc980b868725387e98313f2493e9d27aabccbb9f9acd43e1e9","name":"GoogleMaps-framework"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98b66589e559e86b96e7ab7c12d34548fe","name":"MTBBarcodeScanner"},{"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC"},{"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98b7a881c3b0dd7865fc7e59ca8d94706c","name":"app_links"},{"guid":"bfdfe7dc352907fc980b868725387e98144902882b713248a71c322fd5b2f4ee","name":"connectivity_plus"},{"guid":"bfdfe7dc352907fc980b868725387e983788d8769c821650606514be955fca93","name":"firebase_auth"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"},{"guid":"bfdfe7dc352907fc980b868725387e98e2ca95742fe9145d6e85576b86908ca0","name":"firebase_messaging"},{"guid":"bfdfe7dc352907fc980b868725387e98b26fd8a99ca73052ad38d86525f5d2b8","name":"flutter_background_service_ios"},{"guid":"bfdfe7dc352907fc980b868725387e9821d372cc1e7c7587a12aeda843619e39","name":"geolocator_apple"},{"guid":"bfdfe7dc352907fc980b868725387e98df83286ef0c813795b2a6e5600f49912","name":"google_maps_flutter_ios"},{"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios"},{"guid":"bfdfe7dc352907fc980b868725387e984c276e032465a1ed0eb1d385ed4ab588","name":"map_launcher"},{"guid":"bfdfe7dc352907fc980b868725387e980062393f91a1d2d94e3e5ed3a5aa5da9","name":"nanopb"},{"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e98944793f1b6933f894fec8113c656dfe8","name":"qr_code_scanner_plus"},{"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin"},{"guid":"bfdfe7dc352907fc980b868725387e98903e66fa03d6d27edaa18126a82c20fd","name":"url_launcher_ios"}],"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98699846e06e93b50cafdb00290784c775","name":"Pods_Runner.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1ab696eeab8fd5dd4da903fa6e61a3f-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1ab696eeab8fd5dd4da903fa6e61a3f-json new file mode 100644 index 00000000..8ff11dde --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1ab696eeab8fd5dd4da903fa6e61a3f-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988d1ea14dc379a85804fb4f63c73f870d","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98300cd67b88444a6879d550579e3f7580","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98dd7da504db4112655a89a28406667e86","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b14341c9a130e64f0cb15a9af3d8dd24","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988a304770b74dc1ec853dc2f2138e3050","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ef4210198e2695bb27db0df6a57477ef","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9892bbcb03299529a0f6b5a389ba419582","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9868457a1584cfb8de0da701d084424595","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_messaging/firebase_messaging-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_messaging/firebase_messaging-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_messaging/firebase_messaging.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_messaging","PRODUCT_NAME":"firebase_messaging","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a6bef721766ae5856193ed17bfa54129","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9836f247a949aa48cf3dc1dfee0c34b4ed","guid":"bfdfe7dc352907fc980b868725387e980da735475bd7922a854f881fb234f59d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e18cb04a023811368cc9aae9693d961e","guid":"bfdfe7dc352907fc980b868725387e982a224b8705e23cfff7f791b100b0a649","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e981566792bde41c5b15fdfa9723647d0fb","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9881cc8d1fcdb98b86ecf7f423e3bd08dc","guid":"bfdfe7dc352907fc980b868725387e98cb1aa3423bb191089a8635589eb73d57"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd87a2849a32debe7d2fe89fbd39ab8b","guid":"bfdfe7dc352907fc980b868725387e98209ab76acb8ab851ecca437502ed9751"}],"guid":"bfdfe7dc352907fc980b868725387e9892735ccd2ee1feae2cf6c1ad42f69890","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9890e36b19c04fc15a863729f5eb364fcf"}],"guid":"bfdfe7dc352907fc980b868725387e98bc4ae19eaa3f7fe3895baa9b0c6d3268","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988841f4a8ea75e6615a0623a6da5a8729","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"},{"guid":"bfdfe7dc352907fc980b868725387e98e88c7878d35d9aa66dba13a495cef3a4","name":"firebase_messaging-firebase_messaging_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98e2ca95742fe9145d6e85576b86908ca0","name":"firebase_messaging","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9858a6001b6b9c6fbc8836a2aae228f7ce","name":"firebase_messaging.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab7235b87aadf53706185347fa2a5545-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab7235b87aadf53706185347fa2a5545-json new file mode 100644 index 00000000..e53edf66 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab7235b87aadf53706185347fa2a5545-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ddf0ddf9d33bc4a43a588916b4c1a46f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98224508768150c0f7bca70de22260f15f","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d5c63d1507fb22655a9020d36fb1d3e","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9897c45ac4d095f88183d69f4d0b48ca38","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98715b204bdf246643f7ee40a9badc57f5","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988c8d0439b9d5e79c583e031be51e8f94","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b3b3dcb15c4b8f7dd905bbaa69b46e31","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9891b6323d451fb682a86e3b50be9addf5","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988929562f925eb51a151536777aee53f6","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bfa78a562badebabb98ba00b09e9b8fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98365324fb3f60caeee6035f454a5c61fc","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988e7e21e297e2efeb64cd169c0dc526d8","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d20bbea925701c000e574b7ec307725b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98dce30ecccc21152a161c8e3de84183c4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e88c7878d35d9aa66dba13a495cef3a4","name":"firebase_messaging-firebase_messaging_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98258f5bb8f6adcf3efba20f9df7cf9fb0","name":"firebase_messaging_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=abcf54510ac0131803043db3292fb6b0-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=abcf54510ac0131803043db3292fb6b0-json new file mode 100644 index 00000000..0aeac77a --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=abcf54510ac0131803043db3292fb6b0-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98098ec05bce4f338526b62af7b0ebcd0e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988ed7ed0886dbaa8e8a49dbead4de36d4","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983d7dc667ad22d1ef7a92c0b5b21785c0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9871713d5a535f17b6cf3aee3b0073604e","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b82506cfd2799062dfb650ef4949a783","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e7ffabc03bf5e480c1c0d544bede6077","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a27f799c98ca7d2307d597a94f21079d","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980752ae7f567f4e5c477b0b6a30cef1c9","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9857dae1ac05c8f286e35714974dfa5923","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fb5a083ea29d251ce1a25caf7d3415b3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987240a869ecde7feeda294422c4381914","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d442280ee416e02ade4b1955d50f61a5","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982f16e055c9055a336e668388df1c5619","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ed48d439642264291087d609ec321ad7","guid":"bfdfe7dc352907fc980b868725387e98268dbbf0d09e80c1b4173facefaa2211"}],"guid":"bfdfe7dc352907fc980b868725387e98c6095b10f4760a51a7fefdf13cd406bb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f","name":"FirebaseCoreInternal-FirebaseCoreInternal_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c4db3ee10fd3aea38cd0fd6d5693c776","name":"FirebaseCoreInternal_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b61ab96c3a1f8854ae6d853c2104fd8f-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b61ab96c3a1f8854ae6d853c2104fd8f-json new file mode 100644 index 00000000..3b224b56 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b61ab96c3a1f8854ae6d853c2104fd8f-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9890776ef428f47cdf31bdf94762fecfe5","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9882a69c52fac3819b40945b4b99bc3196","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983bc60a21fd3fc0ed7b8bc2cce7793edf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9889932c3239600432cd409a4938ae466e","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985b5b2700bf77cf56229129cd4955d6ae","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9860b63ea88e9171e90ea5dab95b31475c","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98520b213899df764c3146b23907b19262","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988aa556c2d60117ea1e5026defd2345a0","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9886007b1ac7084f1cf5cb65e5b4a638d0","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98137ef01b27569ef2e06897822df48786","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984bef9e22d3d2345246ad133a8b8e31c3","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cd9f07d0b2fb559930c2ae2bf9747e02","guid":"bfdfe7dc352907fc980b868725387e98857c4c4c77c94171b9286a74dc28e81f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f28d1d0cbcb78dda7f7da183d06cbfe5","guid":"bfdfe7dc352907fc980b868725387e98044eead06b32cc35db38f79dbbf8c58d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a7b920e92c38e1c3682997a9875f535f","guid":"bfdfe7dc352907fc980b868725387e983e647934801e424157c999caa2933738"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cdb4558ce895cefa53bb484fbbc801fb","guid":"bfdfe7dc352907fc980b868725387e98b84756ce949997286291c9e75ff8756f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98792613733b311471baca7741a892d097","guid":"bfdfe7dc352907fc980b868725387e98309dd8a7dbd5e7a9be8f850181142c89"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cc0f063713fa5bbd86499265d1aa4801","guid":"bfdfe7dc352907fc980b868725387e9818db4236d827e152a9e66d657c2f2b8b"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b903d4ef1d452d8dc3706269778b02e","guid":"bfdfe7dc352907fc980b868725387e98bbd5ab12e3b691bd01e491fa3519c2a8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c376aa6302ea35864fe14e8ac71f3b75","guid":"bfdfe7dc352907fc980b868725387e9822eda48e7f50a138426d0b7852f04971"},{"fileReference":"bfdfe7dc352907fc980b868725387e987a7479ee1b1ab368d41572db79f62527","guid":"bfdfe7dc352907fc980b868725387e98ac337794b655e4d87ad3f1dd77753f89","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980028225cb6e98d9ac6fd79fa77200429","guid":"bfdfe7dc352907fc980b868725387e98f35d1f716b4be770f3cd9645c3006f44"},{"fileReference":"bfdfe7dc352907fc980b868725387e9826a5f3a40dbb41a9637c3731a0ed0d26","guid":"bfdfe7dc352907fc980b868725387e982d555fa7705d84753b826a22c1c85078","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a5325873d040ef9c2fa81ed9cc13645f","guid":"bfdfe7dc352907fc980b868725387e984ba852de9980ca1b0c9ba4ce40e70878","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984734eb7f0905cfa7cf1cfa5ba3cd9887","guid":"bfdfe7dc352907fc980b868725387e98d5af65cce1a28a9c2948a4b5aa44ec7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e987986614bb5a7d817d156233d61270aee","guid":"bfdfe7dc352907fc980b868725387e985276ad893cea2f6318007c171e14196e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98454412bbef5bb951f5d15e3a818bdc37","guid":"bfdfe7dc352907fc980b868725387e98f8ccdce53d9b5d5d3c59d34a965471f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f7606fef05aa1917d01414603ab5cb75","guid":"bfdfe7dc352907fc980b868725387e98e1a3e88e5ab64bb6f02b21ba88ec5d35"},{"fileReference":"bfdfe7dc352907fc980b868725387e981946f817ca49b5e3b6b912d5df9ddf84","guid":"bfdfe7dc352907fc980b868725387e98a1037f84be1bde350cbf9e4bef5f3525"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e46a09a82d9b4c3f06f70af7534d357","guid":"bfdfe7dc352907fc980b868725387e9859fec1dce215b3d9115d5c9c81385106","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981befd254138b5d3d4c0e696a3f2cc5a9","guid":"bfdfe7dc352907fc980b868725387e98717c348025ddb377dd52657ebde96bf5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c5c84f1b2927bb0d24fc94c37c35d5bb","guid":"bfdfe7dc352907fc980b868725387e98d1e8f82fed30e398d8c11d1faf499549"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847046f81471ab4ec97aaaed06cc61473","guid":"bfdfe7dc352907fc980b868725387e981205e9ad758b46962c9ed1406a0a5361","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a53e428b8608267d405e5913c61ef5b0","guid":"bfdfe7dc352907fc980b868725387e9834a403e4ca0263948937bfae803345fc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af88d89829ee580368676591ade30660","guid":"bfdfe7dc352907fc980b868725387e9866bc3b0b14c3e312cc016865d0a421ed","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e987e51ba247360c8036a9924761d9c2e58","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9854a82fbbc5d9d3e36f10650027f0ca39","guid":"bfdfe7dc352907fc980b868725387e98ae644e0374628ae405f1d0d5a4c1ec8d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cc0a3488ec4fa6f0d81deb8dce9745e7","guid":"bfdfe7dc352907fc980b868725387e98bab931a7f412b59b69f25ce6d27c2835"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ac6a65d1abbd95b3222a959bd3ed1dc","guid":"bfdfe7dc352907fc980b868725387e98146d633f3e050a66e55d847ec9b71c82"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfed4627a3206dcca2d43a16da7cf363","guid":"bfdfe7dc352907fc980b868725387e98ca8a5ae0b2714f507b0189fea431bee9"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a60689d7688953b3f4e5ae9a06112ef","guid":"bfdfe7dc352907fc980b868725387e98064a2f5e5eab6db88ed514d4b78d7664"},{"fileReference":"bfdfe7dc352907fc980b868725387e98153a962fce840da17bcce2d67d76b439","guid":"bfdfe7dc352907fc980b868725387e98cea5f49568b3b9f9427cfc362240e567"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5c378075765a5563670f27deae5726b","guid":"bfdfe7dc352907fc980b868725387e98fae4572b04b0deb22e5305fec326e5ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e98310e1c5720762d17d391839fb8db42b9","guid":"bfdfe7dc352907fc980b868725387e98145c63ec8bcd7149a59a35d8f0a89875"},{"fileReference":"bfdfe7dc352907fc980b868725387e987807e6b0eebde8d4b0187b68aaf59dd3","guid":"bfdfe7dc352907fc980b868725387e98001cf69ff401d62a242907b7322cb75f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d65b40371c1248fe2ef87035d75210d3","guid":"bfdfe7dc352907fc980b868725387e986db84600456f52bd0c385881167f1c38"},{"fileReference":"bfdfe7dc352907fc980b868725387e98abd739e0c9726c3e38cc54a9b214efa6","guid":"bfdfe7dc352907fc980b868725387e98f4b8f0573d72fae8be0a9230abbfedf0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd00328ed27f133eb318d5e0816f4e36","guid":"bfdfe7dc352907fc980b868725387e981538ca39debb90ad0eca7e565067189a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e56caeedb0e28f503e0d81c6f8b25b15","guid":"bfdfe7dc352907fc980b868725387e980279c69d818c96ddf12877ed7a4903ba"},{"fileReference":"bfdfe7dc352907fc980b868725387e989e785e54e25ad688bff8492ef8682ad6","guid":"bfdfe7dc352907fc980b868725387e981424d38e5270441bf52b52c2eca7199c"}],"guid":"bfdfe7dc352907fc980b868725387e9827ac2d02f46757a1419f402296e87068","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9857bece416e8a7814a6a94ed48e19cbc5"},{"fileReference":"bfdfe7dc352907fc980b868725387e982975bae236382852d3ea8080a20f2396","guid":"bfdfe7dc352907fc980b868725387e9838b265d151c2640108978585fb0f872b"}],"guid":"bfdfe7dc352907fc980b868725387e98de5cd6f832db236352a0c765d171eddd","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98f96ad4a2aec5bc03b8372b200c79618b","targetReference":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14"}],"guid":"bfdfe7dc352907fc980b868725387e985e2b934799cb74040ff0e9cecbdce6ad","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14","name":"FirebaseCore-FirebaseCore_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"}],"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988ae261e418baab0fdd0a48d117fe7fa2","name":"FirebaseCore.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c15e51922c23cea6f088bafc072fc4b4-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c15e51922c23cea6f088bafc072fc4b4-json new file mode 100644 index 00000000..a7bbeade --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c15e51922c23cea6f088bafc072fc4b4-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9835effa331182f5eb973ab46fa75cc3e2","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981eaeaf2762a5cb8196086c293b8fba28","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e5481bc405e2a8c61e9cdddbd86a3a1c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98232d2ff9c4c3196503ce94147a1a23c1","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a61637a35a8dead902d4bd8929e555b6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9804e8d9be94f62c3b33f4bdde40df6481","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98048de2d24fa6b2aca1f5df6ef4918b49","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c4b85a37fde7bc1204f7e3b704c9f505","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982f1fc61813ca6e7fc06f08e71122425d","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987b2eba3dbe504fe723987b755544579b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9871fe8919c143816f3467017b471234a0","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984a61bbeb1ef8023d7e89409ea55c92c2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988be18ae9d34849bef43b2f37e715ced0","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98110a9ebb30f344b365766f03e6cb0036","guid":"bfdfe7dc352907fc980b868725387e981e9e162ae3a541adaa98750d60bfd066"}],"guid":"bfdfe7dc352907fc980b868725387e98c4d8b0dbb0259425c976b7459f56e193","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98974c3b2447afb83a5c25c38d101a48ab","name":"FirebaseMessaging-FirebaseMessaging_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984d4894a83a9677ff019175cbd19979f5","name":"FirebaseMessaging_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7f2001c760b686ac217c7ff6cafbadd-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7f2001c760b686ac217c7ff6cafbadd-json new file mode 100644 index 00000000..1ed9b3b8 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7f2001c760b686ac217c7ff6cafbadd-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e983e834f9c524bb955567a501aac0198ed","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98b363283462f3cdb0861941fe55264824","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989bffef8b34cd1d865b510b897fa68d4f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98d937b23c0c476e65fffdb9045b9ba267","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98a2c0ed12b1d1c63575314f0b85f4420c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e987d5e88037f25bb876f6559f5c96787e5","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e989aa2f57af7cdc6495f9cf8399dbc0a6b","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e9867ec233a2c01829fb9f261ee76f5094b","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e988427cec3e085466fd18fcf6332115ff8","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fd4f40f7f9dc93bd10112124e6668473","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98d7397a25bce29f4297db2caf477c69a7","name":"Release-prod"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e98c8717d9bf8f57d24b027291eba558089","inputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMaps-framework/GoogleMaps-framework-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"82A5FF8948C1E90A4856BEC6BED2615C","outputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMaps-framework/GoogleMaps-framework-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/GoogleMaps-framework/GoogleMaps-framework-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a685526f25e51eab0619164751336620","name":"GoogleMaps-framework-GoogleMapsResources"}],"guid":"bfdfe7dc352907fc980b868725387e98313f2493e9d27aabccbb9f9acd43e1e9","name":"GoogleMaps-framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-prod","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c82cf8d086c0b1eb36a0572b5824461a-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c82cf8d086c0b1eb36a0572b5824461a-json new file mode 100644 index 00000000..808d5e62 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c82cf8d086c0b1eb36a0572b5824461a-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e983f071f755eac2bec4f8d47b99f78ff15","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e984905375c6f016b020e7fa0cbd02fb745","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e83f5e742dc15b00186dbea680fc857","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98cb431e9a14c3c4544ebc83bbc3e64cba","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e980b0a6e6add63ce60b42a386d3f6b372c","name":"Profile"},{"buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98f23bdd9c9c20594d9376eb5a23c7e348","name":"Profile-dev"},{"buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e9878dbd634c3bef4df4ccb316dfdde835f","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e9822779608a7047dbe59ce8a1cc5eac06e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98b32230ebe305d004932254e7a0d36f51","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984365775cd2699c59e190ba4b3ee90c05","buildSettings":{"ARCHS":"$(ARCHS_STANDARD_64_BIT)","ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e982fb4019b25eed1a0668d343598a54140","name":"Release-prod"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e98338a28e0c2f00aec75b87f9828364ce5","inputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMaps-library/GoogleMaps-library-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"25422F6617BD1406006D96A0172C1760","outputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMaps-library/GoogleMaps-library-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/GoogleMaps-library/GoogleMaps-library-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e981f5d3ee932617258e97888d8bf6a9f13","name":"GoogleMaps-library-GoogleMapsResources"}],"guid":"bfdfe7dc352907fc980b868725387e98c17cad493ca714786b55c0a27e347f6b","name":"GoogleMaps-library","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release-prod","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cd49a3d0b914c2ee686f4580e57465d2-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cd49a3d0b914c2ee686f4580e57465d2-json new file mode 100644 index 00000000..0a3d39c0 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cd49a3d0b914c2ee686f4580e57465d2-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9856fefa0e63161f9b71119cc8875a570e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b43915c95230ee2b212cde3cf56b5854","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3c8b7e8bec0ce7e5a443cd81e2cb74a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9863584b49bb1719458811ca13d989b006","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983f4ba7a3450b09ea22891e0968982902","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f78d2458010ceed06a0de329803c11e6","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bff4e4a5f09457e07a602551f84db425","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fe909c192303012bb4cc80c42dbe407d","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98935295a175549dbfb52b41cfd73bc115","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ebee857975339aef654ff20c3d6f813","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap","PRODUCT_MODULE_NAME":"FirebaseInstallations","PRODUCT_NAME":"FirebaseInstallations","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9821d1c5b45c856c586f4410c7be8eaee7","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98366dcb35bce5c21e150fc4fef5edbdc0","guid":"bfdfe7dc352907fc980b868725387e98300fbea3d3f1c86887fdb72145e7c750"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b3d258bc3a5d3c95e236759f6d8a0dd","guid":"bfdfe7dc352907fc980b868725387e9825e575594f8c570373e95942a266a72f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de53cfd9a9032eea2e138b2cc935c381","guid":"bfdfe7dc352907fc980b868725387e980ff35344e7c5252699981881d779e544"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2fe6acefc98d0eaa2e7f1d87a454830","guid":"bfdfe7dc352907fc980b868725387e98accb4799b3009cc9bf907298b027f9e4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c6db408e98772685a545735eaeee3fc4","guid":"bfdfe7dc352907fc980b868725387e98133a785dfed0f4ffca21f712b89ee558"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a5d9bebf0b2197cb7018f872acfc9960","guid":"bfdfe7dc352907fc980b868725387e98b8c82bb539c37ff95339efc6d4141fbb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8880acdcb7d0c70b7901da8c2e58ac1","guid":"bfdfe7dc352907fc980b868725387e9852d67bf363ea54c5ecde9ab6a958abf9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b967b67af61b4f8dca06298ac4918134","guid":"bfdfe7dc352907fc980b868725387e988da4bc15efaa5a0788143707e9ab4ed1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98755cf53209653101432d420598cb093a","guid":"bfdfe7dc352907fc980b868725387e98c9582f5c6d0ac8eb6274d64cfc748eb5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a3a2c313ea4e1b111b5aa10a0b58bf59","guid":"bfdfe7dc352907fc980b868725387e98d145a22eba1200f9ce755bb7e65423bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e988023468388c7885d011f501c4b495ce3","guid":"bfdfe7dc352907fc980b868725387e98eaa607e450a1e2d0d50415f602a5a7e6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e55ae7d1f7cb15ee33f3fda5f40dd1ef","guid":"bfdfe7dc352907fc980b868725387e9885a08fd8f65b353c10156a175ca1369f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9834f4b66b78f67e0b025774c5b23fac7e","guid":"bfdfe7dc352907fc980b868725387e98b986c359516d0df9a3c8e329889ce820","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ecc8a5926a47fe7d32a29d38a8a9ad6a","guid":"bfdfe7dc352907fc980b868725387e988ef726765d0fb3c9a42510f2ca92f8d7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9889223479585651a84470a06682772c18","guid":"bfdfe7dc352907fc980b868725387e982616880449b4235468eb4d34090862d4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98787bf706ad03f6b1c8dcdeeddcce8b2e","guid":"bfdfe7dc352907fc980b868725387e986d74366823988767141cea81221cfeae","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98138c9e7862b771a2044adec0ca7bd3e1","guid":"bfdfe7dc352907fc980b868725387e984187360550fbd7e0c384462b3e4a1fcd"},{"fileReference":"bfdfe7dc352907fc980b868725387e986784b2148963760bec5b57ae003a88f7","guid":"bfdfe7dc352907fc980b868725387e987750f7f3b8be67823730113ea2f6e49e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f885b3f4156a9f09e588ab17d75c08db","guid":"bfdfe7dc352907fc980b868725387e987627de2b7f1f4a8523da7c739e0bc82e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828dd61cd32e6cea8b599874a5ddad0ff","guid":"bfdfe7dc352907fc980b868725387e98d1e45da0f76d4c5a72261ec552bc2e35"},{"fileReference":"bfdfe7dc352907fc980b868725387e986b5bcabcfbba42ce377ed284767ea64d","guid":"bfdfe7dc352907fc980b868725387e98155085c626b1d6e86fed221d4b99fbe0"},{"fileReference":"bfdfe7dc352907fc980b868725387e987309bde16f1c0d8e1518124c86b58d8a","guid":"bfdfe7dc352907fc980b868725387e98a7b8432ce7d85a16f4ea5ac9bd12b2aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c628607bf45d3bc05568bf6b8779bbb9","guid":"bfdfe7dc352907fc980b868725387e98ddf925ab3ad0594ac130bc93b65c68bb"},{"fileReference":"bfdfe7dc352907fc980b868725387e984807634757659c3c9fd322ad737612b5","guid":"bfdfe7dc352907fc980b868725387e986ed8609647095020381a08b1769f3479"},{"fileReference":"bfdfe7dc352907fc980b868725387e98899040ea5c5669cd9cb893fbdf4f825e","guid":"bfdfe7dc352907fc980b868725387e98e2c51dbf3fe710bad3d0067690281517"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2ed05d0ebc509e9876fe81109c51432","guid":"bfdfe7dc352907fc980b868725387e98c45efa030d42f77eb2a7a61b53ce9ca8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a11b9b4e9a86f16e5ca7af0d43818929","guid":"bfdfe7dc352907fc980b868725387e98ef97cf99ce5bf96861d2af43b8beac3f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0d855862a2f5990892518cd4aaa0e89","guid":"bfdfe7dc352907fc980b868725387e98bb4eb7c9522f827d9d176678adc45941"},{"fileReference":"bfdfe7dc352907fc980b868725387e987fa94151886fecdf3ef23a297c12ba85","guid":"bfdfe7dc352907fc980b868725387e98ff1a588d49939024c891b4e9a8a519be"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a063c9116e6633ab12867f04a8d9280","guid":"bfdfe7dc352907fc980b868725387e98c1a41539523b2a42fe6e6411b2f9d08d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9884b1f61f0fcd10fee8470ec05aad3654","guid":"bfdfe7dc352907fc980b868725387e984174c5d867717c210698f8ee0131a7d1"}],"guid":"bfdfe7dc352907fc980b868725387e98f33796e1b5c6d230136a6bdef0d7ee11","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980a155416991937c22f291d90b8c89202","guid":"bfdfe7dc352907fc980b868725387e98091e55110b10a6d7b31bb2458c4e6fa2"},{"fileReference":"bfdfe7dc352907fc980b868725387e984737ace9ca60d7127081b929c88bb9f3","guid":"bfdfe7dc352907fc980b868725387e98e326d0ba26e5e24447bdef4c8ab6bec4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98674798be77251dc77ec29516cfabb6b2","guid":"bfdfe7dc352907fc980b868725387e9837a4b8bdd4eb6527f6f4fb63c6c99685"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b9fcdc282e87069163e187a5f03a3273","guid":"bfdfe7dc352907fc980b868725387e98e59897548a18dd33d635dfd2d807f4d7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985cb1a4a145052701e659a3d065cd2974","guid":"bfdfe7dc352907fc980b868725387e98d05510a54927beddbf4f6a1ea2b1ade5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9863834928bdc87b03c6acdd6636fd495a","guid":"bfdfe7dc352907fc980b868725387e98ef010bd29a60a8f64c57fe92a08ae191"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b57d9b9c1c4f2d9828f7762ca0d67dca","guid":"bfdfe7dc352907fc980b868725387e98fc8d5ceb8dd493ac16e77dff500c51ba"},{"fileReference":"bfdfe7dc352907fc980b868725387e987d4070d62b3998b453e173e1df73466f","guid":"bfdfe7dc352907fc980b868725387e98185eb37c7a0cd989b9ce84402a7a906c"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d7b8cc0bea9e8a0d7f092f62e116914","guid":"bfdfe7dc352907fc980b868725387e98030b5206c83d1bdf623ad84852600fbd"},{"fileReference":"bfdfe7dc352907fc980b868725387e981297051b96954e887dbef152465163d3","guid":"bfdfe7dc352907fc980b868725387e984a0c64d0e1d02353014292084c734059"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c293d5c57e8a4b4d5eaa2ac87096af7f","guid":"bfdfe7dc352907fc980b868725387e9803d90a2439331ef54402b3e48d584cf4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5b2314d5129fa285edfd6d0dd5e1ec3","guid":"bfdfe7dc352907fc980b868725387e984c4d41ee1878ccd60b022b3722a88919"},{"fileReference":"bfdfe7dc352907fc980b868725387e981db90647bfcbb56871b13b1773917a44","guid":"bfdfe7dc352907fc980b868725387e98b6fee8848252bb4cac861b5aa9e02a8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98920e07da7be85a441c0b3b09a3f5911e","guid":"bfdfe7dc352907fc980b868725387e9846e19eefae2c45066ac8690db2f8ec02"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dcc9735cb34726063f259f8b4968fdc0","guid":"bfdfe7dc352907fc980b868725387e98455c876e3cea8c0a478cbe76c2d7d738"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f27114aeba9e9a79a905775bd76893d4","guid":"bfdfe7dc352907fc980b868725387e9836c322a902e57699ce1568dab2fc5ef2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c804fed2182bc99afab8769ecc2f4ece","guid":"bfdfe7dc352907fc980b868725387e98a68b7eeb8852ce377802e37bf53edaf7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f99dd4c047dd359cf154f0d1f8610ca8","guid":"bfdfe7dc352907fc980b868725387e981253d84e53b49a5e0e25236e3cbc536b"}],"guid":"bfdfe7dc352907fc980b868725387e98913013cecea6ed28b80b9b9f50afebda","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98c0365ab51c50e4323c07ce4084c99791"},{"fileReference":"bfdfe7dc352907fc980b868725387e98015e080be5b1776bbed059e24eda164c","guid":"bfdfe7dc352907fc980b868725387e98298748a3770d1c78c1e826ad7d08afed"}],"guid":"bfdfe7dc352907fc980b868725387e98a6303e3a782f1177baab01a271046be2","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9805719112fa2d0542ad58ad7ed38f9b6d","targetReference":"bfdfe7dc352907fc980b868725387e984535f130e81fa6507008242e4e8916fc"}],"guid":"bfdfe7dc352907fc980b868725387e98b2796e657a1ffcf61cf09e65e1aad28a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e984535f130e81fa6507008242e4e8916fc","name":"FirebaseInstallations-FirebaseInstallations_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC"}],"guid":"bfdfe7dc352907fc980b868725387e98566ec9a1d71c4629f4f85ecb735ce614","name":"FirebaseInstallations","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9860819b8e327bf41b291e92315614a812","name":"FirebaseInstallations.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d2f792121732d531c1192d473cb7fa65-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d2f792121732d531c1192d473cb7fa65-json new file mode 100644 index 00000000..14ef8c93 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d2f792121732d531c1192d473cb7fa65-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9879bb0c6e00ffbee3a8b72e05dc0857bf","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f5487da4bc6b4d9eb9e207a8a6054d55","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f3b2a08f45dd604485f007d9572e15e8","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9846a5f609ebcdcb642946a35a7d55b7cd","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b06b96a979615751b4d2a80101b4a52d","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984b4d0f1e305c8002e00bf67890286e9d","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fb45a5593b7c31a91eb0e83f67ddd7ad","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9897075586e70940dd12315f52e0e87873","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d90f0f84fb6be70b33bb0141fb27cbb4","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9832222a5c22f020c915be4e1aae9dc3f6","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980dac8a3c1e379d545b4735137db302f5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f41eb05d91e070f8b3a79ff9aa2dfaf0","guid":"bfdfe7dc352907fc980b868725387e981fe915351fb3779b25d35d332bb667f9"}],"guid":"bfdfe7dc352907fc980b868725387e98a092fe2853e62e167d820e56d02520fe","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9827df8da513ac7d6928fc311b53a7155d","name":"url_launcher_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=da4b000cc4629c5e14b5d82d35052f4b-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=da4b000cc4629c5e14b5d82d35052f4b-json new file mode 100644 index 00000000..173d887e --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=da4b000cc4629c5e14b5d82d35052f4b-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f43d3996be9ac6d65067ddec0bb95e60","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9896af011ec862b6ada94117a8af91491e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f43d3996be9ac6d65067ddec0bb95e60","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982a3cda71369bf7448c13287acf6c111e","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f43d3996be9ac6d65067ddec0bb95e60","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ef55d273a88ecbd9cfb11e0afa9a0365","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987a9ef79368f1bad741ceaf3b8b68c9b0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e3e4454e9da4043f776163504500184e","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d99dd75804b5318eed222690bf132b6b","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f544523c744a6dfb39fd591083d46a2e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98717c7329a83a1670090dfc0c5fd0c36a","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98830839b6e4fcf06399364dcbf6bcf5c7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c3f6bb2bbd86f8a3b1d27f5483e9a52c","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d8ecb293eabe34266e9c2acd24084510","guid":"bfdfe7dc352907fc980b868725387e98e6094302222551a23e28c5e7e4949ba9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9841444eef04abc51711ef29fa56c30705","guid":"bfdfe7dc352907fc980b868725387e98d40939653cfc254f10e1a786ae92bf8f","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ea3112ca049e960082bd6c8620fb53ad","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c8e8b8cf10823d2dd32a1185810db370","guid":"bfdfe7dc352907fc980b868725387e987538e49b474a215717db677d67e00f1f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a19547b04db94fdaf5e7db00164193e9","guid":"bfdfe7dc352907fc980b868725387e98636dbac084e04c69ddf4339961cbdf3b"}],"guid":"bfdfe7dc352907fc980b868725387e98e08baa3639ac91a577b7e7d9fc6a6747","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9836853b3b509f1d43fd25b9ae57e862b6"}],"guid":"bfdfe7dc352907fc980b868725387e983a930084265d9588b51afcf00fc46373","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98dc441995af5d84639a3df01bf72cb93f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98d45aaf0c2408f87c98fda98709cee1e1","name":"FirebaseAuthInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e18d9ac15bdad12b42df7ef436d3e275-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e18d9ac15bdad12b42df7ef436d3e275-json new file mode 100644 index 00000000..e918a612 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e18d9ac15bdad12b42df7ef436d3e275-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f85729d5f2e7c5b40ceb8c945715bc26","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989d7764665d322d6acd9f49853f9cb59c","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9800f26df6a1ceae2b07e8660b9fab2b5a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98109c06a95f7946a04aa079deae7b11f0","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a944bba144352868e6a3883a930877a6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9820805af3de8aa18d608bd4dbacb8d5b5","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985d8ec8e52735ca9be70ed6c1f13a3033","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989b55a1ab0141ad16360388c37ba7939e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9882b900aea99ce4dd2217d94e8efd92c5","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98350bac896c6189a1d54616a5384251b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bf36490b13deb204d3043dfaec4ea5be","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9803a46d27b1c2456ade463851f714180b","guid":"bfdfe7dc352907fc980b868725387e9880bc6cdd7c86507eb2c70be1803b8b62","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98798cf5bbbe143be69fc2707c9596dd73","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98eefcf79b94e9f33263a081c40294adf8","guid":"bfdfe7dc352907fc980b868725387e98740bcbcf2de80891b85a934703340a53"},{"fileReference":"bfdfe7dc352907fc980b868725387e98363eb6532680eb6a501acfc058f06e86","guid":"bfdfe7dc352907fc980b868725387e98d7efef0fe60d95859975333928a891f2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f8a8bd3bc913890077d6453adea3fc26","guid":"bfdfe7dc352907fc980b868725387e98c7558b7eda71927eceea1f4602f438ec"}],"guid":"bfdfe7dc352907fc980b868725387e988d547d52584351ea4804a278eff707a9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98349154990d12150316384bf24d717a3b"}],"guid":"bfdfe7dc352907fc980b868725387e9830c3a257be217fdd67dab06b4ed6915b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98b2cd23189a426596f8851b9994e1307f","targetReference":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5"}],"guid":"bfdfe7dc352907fc980b868725387e9863ac582c1c72fec1fc41dcc6fe4270f4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98177b75fe6f519d73b22b382cca137f1c","name":"path_provider_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e1c0f2abfbaf800941356dee3fdeced6-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e1c0f2abfbaf800941356dee3fdeced6-json new file mode 100644 index 00000000..28e4d9b1 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e1c0f2abfbaf800941356dee3fdeced6-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9853cfa86f3c3973e1f95670ceef8c8880","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985af37175092f282874e388403db7565e","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bed6fbcf86b385fbdddc85d71343344f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9872b6e813f38df12d34b82cac63146fe5","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9879464205b083a012e9a96abbac8787dc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e1569be1da1bc5f9038e665ecf27600a","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985459563930dd1d9c80268ec8077e7f39","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bb8d3ef8ccc4abb5d085c74dd3a3b007","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b64591905925dcf85f49f6888d829539","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983c0cbce41c5c263ceea24e2ba0f93cd2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b9e7256e9fcc52779233e39a023e820d","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e9bd1a07043579b658f244425fd2fbf6","guid":"bfdfe7dc352907fc980b868725387e98da87d6d274f67d74833f1fe095188ef5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9889bffbdc424feab19d74ee65f29a8c72","guid":"bfdfe7dc352907fc980b868725387e98f7fd09a253e8e2e324ac8d3d85550040","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98892ad1a742f1eab7ebd1a84fdec4d4ec","guid":"bfdfe7dc352907fc980b868725387e9817d9f1adf5b68a5b732314b0455aeedf","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9840db3a58e75d783667c0e04e0fedf779","guid":"bfdfe7dc352907fc980b868725387e9899847d95e6553853258d621d1fa8e95d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98016852e7082e07fa4513740c482d570e","guid":"bfdfe7dc352907fc980b868725387e98e63c4f7440b92f1fddae3b91c77e235c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3dd7f12b76c8275fc031a60b951ee5e","guid":"bfdfe7dc352907fc980b868725387e98431fc6cf792138567651a02a880a47e6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9855181c7726addce7c7a6431eb2524feb","guid":"bfdfe7dc352907fc980b868725387e9899cd630ef708eb7b9a8bf06ff59cc53b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98208f7e3f2342b874fe19f8ff7d6c9881","guid":"bfdfe7dc352907fc980b868725387e98ea7454f237edde7effdf33d0b5a06b12","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987556dc4439ee2bc3ed390b4c75ddd93d","guid":"bfdfe7dc352907fc980b868725387e980cd8381504bcd27bd40521b89cadc193","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9825f51de79279476d8655572d8972deda","guid":"bfdfe7dc352907fc980b868725387e98b4f42647f90cd5cee880114040a84e78","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f56802889c34061cffd5d188a09bb156","guid":"bfdfe7dc352907fc980b868725387e9897090b468c1d1c98eed90ecfc50a25ad","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982512351a1659f45cc985f423f5d07b4b","guid":"bfdfe7dc352907fc980b868725387e9841b05dfab11fe9ba9b5ba633a162a29d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9803a945ec2b01996e45648ad4e2546212","guid":"bfdfe7dc352907fc980b868725387e984b0cdb083c489fa60ad72d60469a90b5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b9ffd349efc08aa2c7c997f17cbae2b9","guid":"bfdfe7dc352907fc980b868725387e989a7ef12c9a4be88238ffab207dfc0f01","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9825a78f5b8f59069f67004a62c50ed1c9","guid":"bfdfe7dc352907fc980b868725387e982e9707ea8a12f2039141dd3e1a4b9f10","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98974f0484a6c0c79fafa75f489a6f43b4","guid":"bfdfe7dc352907fc980b868725387e9823f4a7bb41ae79ca68f27f9774b006d1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9859b8abfd5a3eba89a0a1110e1e6b89d9","guid":"bfdfe7dc352907fc980b868725387e98c2229bd0fecf99c8183ac3486cd1a546","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98fa3040b8e903da1a869a487a756cee7e","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9817f233878986f96da8f2c1f6641a7a57","guid":"bfdfe7dc352907fc980b868725387e9871e165eb95567b1c4829306f6e2e9a4c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cdc501c522d8ac56678390ec8eb453b4","guid":"bfdfe7dc352907fc980b868725387e98b6f0484667d09ea291d5b2f0a86a89b4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ecb2c823f8b9bd1dbd4eba2640fcb439","guid":"bfdfe7dc352907fc980b868725387e98d581d5bf388571c2e5afa1d197ff2ef9"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fbfa533ad62607ac4e33029f32beed5","guid":"bfdfe7dc352907fc980b868725387e98338fef23240b11dda25bb3052b6d1579"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af5806cc5d03829007e798808ee47cb5","guid":"bfdfe7dc352907fc980b868725387e981bcc019076886022ef61e18e42ff71fe"},{"fileReference":"bfdfe7dc352907fc980b868725387e989588addba29817a1d671b9a3966642fc","guid":"bfdfe7dc352907fc980b868725387e9855473b246ee05b037cd7b716368d8615"},{"fileReference":"bfdfe7dc352907fc980b868725387e984988c54a8032960f1d9a08cfde936f3f","guid":"bfdfe7dc352907fc980b868725387e98fb72fceab0b2e2e7752483c94d2324ed"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b031ab997442e01919ba576f81c07ba","guid":"bfdfe7dc352907fc980b868725387e985c2c90a23078bcb14972348a851cfee0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5d267a199fdfdd8317a1e61b29fe282","guid":"bfdfe7dc352907fc980b868725387e98facb5f537b27002534e35316217ce2db"},{"fileReference":"bfdfe7dc352907fc980b868725387e9865f964cc8b6fbac3be169835259d67e5","guid":"bfdfe7dc352907fc980b868725387e982c2219a197c035af835c3fa9f31eae3f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98db07313eb44fcf6b0c4863667f041099","guid":"bfdfe7dc352907fc980b868725387e987b5c02d18cadcbf7ab44ef43d63c6ec7"},{"fileReference":"bfdfe7dc352907fc980b868725387e986eb92f0198f01712c274b5b4248fea9e","guid":"bfdfe7dc352907fc980b868725387e981f3ad8fb95a200539ad6fac905cb731b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9896d1482a83c89f8a19bd7bcd9209aac9","guid":"bfdfe7dc352907fc980b868725387e9818be2e450e6c2bdfe773d44217cafa2c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ffaac6cf46e326ce99ff3da3498089ed","guid":"bfdfe7dc352907fc980b868725387e9872c115f0f75cdb95b69d3a19620d284d"}],"guid":"bfdfe7dc352907fc980b868725387e987a452689988a7d40422ee8071bb7bef1","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9891c9963987d7eb82c00bba8a4524741f"}],"guid":"bfdfe7dc352907fc980b868725387e980b243d74ffc07992d1d40c227dc0d39f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e982a6bc42407260a11d77cc81ef6846dba","targetReference":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3"}],"guid":"bfdfe7dc352907fc980b868725387e983225982faf82c98ef1e775fa2958f20c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3","name":"geolocator_apple-geolocator_apple_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9821d372cc1e7c7587a12aeda843619e39","name":"geolocator_apple","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986ff8f87e011522b1b6328c84d9533927","name":"geolocator_apple.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e4c84768e7e6c06661d3320714dbb143-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e4c84768e7e6c06661d3320714dbb143-json new file mode 100644 index 00000000..79cd86f6 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e4c84768e7e6c06661d3320714dbb143-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9827c36d4358f90b60476a7b444b2ca40a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9821650a24851b5bc99651b047eb08710b","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fc4e909362469a6f5acc4fc835494d51","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984272319e013673d102c34fb6c51bb85d","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98894e53cb9c74562101bb0998cf746fdc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f664432598fffd30aec504be82e00255","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98113c6b34614186fe5bb34d1c1b676e46","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98dcf540d9827928313c99ac1d0b9242ca","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c935774cf7501031c06afad9dfdc6096","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee4b07704a75b63af79dd82af77328ff","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9898749c90cfd6314d13ac9b5ab373c814","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985acaca0ccc378c87ef6c317bea413bef","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e981d59c9cfad55360d95e478a10c19d4f3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980260990078c52cdeedd113374940f921","guid":"bfdfe7dc352907fc980b868725387e9817d521f198ce9fcc5f906e759fbdb9d9"}],"guid":"bfdfe7dc352907fc980b868725387e9860575fbdf3c76234f7d85751e36393b1","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4","name":"FirebaseAuth-FirebaseAuth_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9870db214ed2dafc4df91a7caff7044acf","name":"FirebaseAuth_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ed2f2ab8625303fb352f6eab217e918a-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ed2f2ab8625303fb352f6eab217e918a-json new file mode 100644 index 00000000..5e7e9d4f --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ed2f2ab8625303fb352f6eab217e918a-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e3dadda8b562e261f0178e6b8f75f053","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985588ee893428afcaeae2e9800ce87783","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c7d088cd3020d39c7ba51ef2b65fc575","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b82e7cade1c00bebed0b0a0248d63a46","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985f77fa96ffc6e6f8ae60cc261a221382","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a620748065afef8db9a7a8fd2d409ae0","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98448ebbd925ad5e2e28875ca78ffe037c","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e19b05ad31687a80be1b736a57c87fdb","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98dc8475e5604ba08dbf3472e2ba231295","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98015389a6027623f81118b544ba43ae63","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_links/app_links-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_links/app_links-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_links/app_links.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_links","PRODUCT_NAME":"app_links","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bcc21e995d6de1b0cdd8fbd10b44b990","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98032f066d08adf2d9f766fa30d28affc9","guid":"bfdfe7dc352907fc980b868725387e98ed5c1b715bb7aa2a4cbf2c92d7860d56","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ebd3a11a1826a73fd9cfd54e538f6a8d","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985ce020834d48d7669b615e21dafebc2b","guid":"bfdfe7dc352907fc980b868725387e98ddd59ba468e603db16672061e2dae5d9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c58b265401ac4154bfd938f6e1c1d0a1","guid":"bfdfe7dc352907fc980b868725387e987a246d557faae0f5ee0b27e717f3073c"}],"guid":"bfdfe7dc352907fc980b868725387e98812c795c6e840f873ac1fb177328fe68","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98b21554abbe6252afd126a7d23a7fc839"}],"guid":"bfdfe7dc352907fc980b868725387e983d489608b983beebed1757d182f7bdda","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d37865043f10f327d414c2744acbe3b2","targetReference":"bfdfe7dc352907fc980b868725387e9854f2b496f3d836ac3fd0e138cbba7daf"}],"guid":"bfdfe7dc352907fc980b868725387e988897abc73512c3d86d4388c8ec428f52","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9854f2b496f3d836ac3fd0e138cbba7daf","name":"app_links-app_links_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98b7a881c3b0dd7865fc7e59ca8d94706c","name":"app_links","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9803641e6d929e76d8631aa821e6f5f498","name":"app_links.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ee8ae935c94538a2bc3ec0cc9d9dba21-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ee8ae935c94538a2bc3ec0cc9d9dba21-json new file mode 100644 index 00000000..3d3adf33 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ee8ae935c94538a2bc3ec0cc9d9dba21-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985f33bb14c3ff1e967fe67da536cfc19a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98268a02cb113f2e01b5dcca2f40bd1ade","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98191fb175ea8cd6b957d8d4f41ff05444","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a85491b209268a2e1f82ba7ca0ec34d8","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98bea3f1e8e1ce023be75266cfea521fa3","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981984ca0f7c82b534800631c4c7d43dc1","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9852cb612ba9c318d48ddfff7b979d6cdb","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980ea1564999ca711153c9ca7c838378a3","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ff5c251b58e99925a32613f30c76e193","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b6fb23b0190834f62850c7439ed32fc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ee3b34322fc69ab2f25ba4022309c951","name":"Release-prod"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989333b7ca5d967d3b7b02c739a7a08590","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e981dccb2fa9f3348d1b8e19991d13ad287","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d3b3e1bd33e3730a9d3f14104da634ec","guid":"bfdfe7dc352907fc980b868725387e9801e4bbf9fc883711f43e633a09aea492"}],"guid":"bfdfe7dc352907fc980b868725387e9857795d2978a2df3e21da3916ac8786af","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cba567c8a049008de84f093e54e3191c","name":"image_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=faf5c0600d7f4df98e6744cbc7813b58-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=faf5c0600d7f4df98e6744cbc7813b58-json new file mode 100644 index 00000000..beb5b3e0 --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=faf5c0600d7f4df98e6744cbc7813b58-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988e6bc6365fde86a38af7e24c9cf1ad19","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ee9451a815b5848e7af36ee44cfa6869","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc6386e5c274f722419d0c752d8332e6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9858ba02598fb2c379f6c9b140dd349525","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9836b9201cad603a7b34abd22711325170","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b5a91cab93a46d31560af98027c95643","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987a186cccfaf62c67d0101294669c7e7e","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d491a1971962e6ede4ad8475a594b554","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98af81cf3996103a6bdbc35d3f15f60301","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98559aeff0ebc9de9422fc022bb0efba76","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985b37863108c7927b014660bb5bfbd8b6","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98dfdd9972bdb6ce320b0511abc203aab2","guid":"bfdfe7dc352907fc980b868725387e9871113d00388f292bd041ece62c539a31","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f3a460ca285471bc9083e8a6b51ab35f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985113a1547d13fc35750c4787cd9089ef","guid":"bfdfe7dc352907fc980b868725387e988fca11d715e893bbbbb3278fb574e78a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e30390f42952fd182cab9983f27c54fd","guid":"bfdfe7dc352907fc980b868725387e9821b783836054e9ff7918c9d9409eeabc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c41d1e95d10cf04405be787852848651","guid":"bfdfe7dc352907fc980b868725387e9837fd1ace289aaa1d5eee885ba8363299"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c913be8a814aa4dd88354079ae946b6","guid":"bfdfe7dc352907fc980b868725387e98725d64c9a621f825530280a884b13b90"},{"fileReference":"bfdfe7dc352907fc980b868725387e9845962f797d79f5b54bee1d093877c509","guid":"bfdfe7dc352907fc980b868725387e98eb83bb8a4a81d407684977dfb92c834c"}],"guid":"bfdfe7dc352907fc980b868725387e981d9eadf51955093e934cf320fb5f7f30","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e98938135aa8564f8cdaeaacdf6bf9423f1"}],"guid":"bfdfe7dc352907fc980b868725387e98951258a32d1d32e867fea443898ed471","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98dc263c62a37f41e7d49181895934857c","targetReference":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2"}],"guid":"bfdfe7dc352907fc980b868725387e98eca1b4bc60f44c86661d5ad129b1235b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98903e66fa03d6d27edaa18126a82c20fd","name":"url_launcher_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f7a21f0cd31eecef97e8eaf4a819dde1","name":"url_launcher_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fdfc7fdfe9a0c43b20d74b9b42505904-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fdfc7fdfe9a0c43b20d74b9b42505904-json new file mode 100644 index 00000000..3dc1f8bc --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fdfc7fdfe9a0c43b20d74b9b42505904-json @@ -0,0 +1 @@ +{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98374b8a771eb90a570b8a4f38289063c2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980eef5478ee19148c6f7151819e572959","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98374b8a771eb90a570b8a4f38289063c2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d6ee548b9a727f47730721c4b5cfc06a","name":"Debug-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98374b8a771eb90a570b8a4f38289063c2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9833907e886533324c31f97bbf04948283","name":"Debug-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986a54c357cdde7aca6e94763f43829191","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98040b79e00d99833506d88f4439334d7c","name":"Profile-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982a32e6693cf940c96608ac3099f44b18","name":"Profile-prod"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985a46d14e97c8fad13d2912447463583e","name":"Release"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98954dc67817ee032a99d67c8e25f56574","name":"Release-dev"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98988068154eb78d8e924a67216c610d82","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"arm64","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/artemshkryab/dev/src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982682c3e40460eb9e437df65f8b178f5f","name":"Release-prod"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989b97f5af5925f1e6c5d57f3c10b01c57","guid":"bfdfe7dc352907fc980b868725387e9870253b16c54965b301f7bcf9b0bbf6ef","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986782e58eed2f4eb19ad4e2f5b795d220","guid":"bfdfe7dc352907fc980b868725387e981659347b757689f8b7957f5397f124f3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dae70efd9e5b4e40f2a0e740646b8929","guid":"bfdfe7dc352907fc980b868725387e988ec896d5317b5f50e8ba5b15d2e438c6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f287e49e4ac8ba2a7cd86cb41f86966","guid":"bfdfe7dc352907fc980b868725387e98bc5c9c99f10210dabadae9691b1d1e58","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e9826e7e892820c71e730444dbd66609869","guid":"bfdfe7dc352907fc980b868725387e985782f440d662254fc89fa7bcc2d24900","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987079f3244a937a72cda03d2b4583e656","guid":"bfdfe7dc352907fc980b868725387e9880e310502db0317c435b17b9915f0092","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f15f922a477702584572d52cfbfb219","guid":"bfdfe7dc352907fc980b868725387e98bb09d5815a5992f363482528c5e14037","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e985e0876771945b680471eb6c7f3b0a48c","guid":"bfdfe7dc352907fc980b868725387e98f6026b6e828c7facb27b26bf96328a36","headerVisibility":"private"}],"guid":"bfdfe7dc352907fc980b868725387e987124003745d1cc190ce3bf2751ad33fe","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98bc3557ff65a59b0a6c2021a7d682bef1","guid":"bfdfe7dc352907fc980b868725387e98df2bf9b216bbd1cba24982699bcb876d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b76501b854e1bc372bdb8f32f7d686c3","guid":"bfdfe7dc352907fc980b868725387e986b4cef0adcfabdbd33825abd841afb59"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a9a00fd703c9fa7021213b2ca3685b18","guid":"bfdfe7dc352907fc980b868725387e98e38fd0494a715c9d954fd6ab664024c8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98015527b7e7faf3499234694c11ff7341","guid":"bfdfe7dc352907fc980b868725387e98c8a10060c5cd13f9328f8da3c97eb53a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cc6870d25f97f59c488c591af576066e","guid":"bfdfe7dc352907fc980b868725387e98b02e2366f75ebe94db2949d0e474322a"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fcec77a3d16cd1496a1a4fc750e8a88","guid":"bfdfe7dc352907fc980b868725387e98ac441939e123b2905938888d62f4ff83"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d540e6ce35cf996d61570be5aadc3a60","guid":"bfdfe7dc352907fc980b868725387e98b8dac0c4ae881341a44fda8b1c53d37d"}],"guid":"bfdfe7dc352907fc980b868725387e9841f52cf4f53201132d3d6d065bfbb47d","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98596b25b357a464585d3d873ef680480e","guid":"bfdfe7dc352907fc980b868725387e9889a7c8e67a1ad80fec570e58fb9a6d68"}],"guid":"bfdfe7dc352907fc980b868725387e988e43eaf513e8a52d7fd8a40bb4008c35","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98acdf79ee3eab335a2ad9a0a6664cfe9c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"}],"guid":"bfdfe7dc352907fc980b868725387e983788d8769c821650606514be955fca93","name":"firebase_auth","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984496a3f7661d89567ff8250961054e8f","name":"firebase_auth.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile-prod","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-dev","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release-prod","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=e85f668817d6a21859ca658b2a0e8c24-json b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=e85f668817d6a21859ca658b2a0e8c24-json new file mode 100644 index 00000000..7a7e003b --- /dev/null +++ b/mobile-apps/staff-app/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=e85f668817d6a21859ca658b2a0e8c24-json @@ -0,0 +1 @@ +{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/artemshkryab/dev/proj/krow-mobile-staff-app/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=d83c4d47534e2fc2e547cc2f4511d05f_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]} \ No newline at end of file diff --git a/mobile-apps/staff-app/android/gradle.properties b/mobile-apps/staff-app/android/gradle.properties new file mode 100644 index 00000000..25971708 --- /dev/null +++ b/mobile-apps/staff-app/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/mobile-apps/staff-app/android/gradle/wrapper/gradle-wrapper.properties b/mobile-apps/staff-app/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..afa1e8eb --- /dev/null +++ b/mobile-apps/staff-app/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip diff --git a/mobile-apps/staff-app/android/key_dev.jks b/mobile-apps/staff-app/android/key_dev.jks new file mode 100644 index 00000000..790b4bbe Binary files /dev/null and b/mobile-apps/staff-app/android/key_dev.jks differ diff --git a/mobile-apps/staff-app/android/key_dev.properties b/mobile-apps/staff-app/android/key_dev.properties new file mode 100644 index 00000000..5099b224 --- /dev/null +++ b/mobile-apps/staff-app/android/key_dev.properties @@ -0,0 +1,4 @@ +storePassword=krowdev +keyPassword=krowdev +keyAlias=upload +storeFile=kast_android_dev.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/key_prod.properties b/mobile-apps/staff-app/android/key_prod.properties new file mode 100644 index 00000000..f91a60e0 --- /dev/null +++ b/mobile-apps/staff-app/android/key_prod.properties @@ -0,0 +1,4 @@ +storePassword=krowstaging +keyPassword=krowstaging +keyAlias=upload +storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/key_staging.jks b/mobile-apps/staff-app/android/key_staging.jks new file mode 100644 index 00000000..a78e47c1 Binary files /dev/null and b/mobile-apps/staff-app/android/key_staging.jks differ diff --git a/mobile-apps/staff-app/android/key_staging.properties b/mobile-apps/staff-app/android/key_staging.properties new file mode 100644 index 00000000..f91a60e0 --- /dev/null +++ b/mobile-apps/staff-app/android/key_staging.properties @@ -0,0 +1,4 @@ +storePassword=krowstaging +keyPassword=krowstaging +keyAlias=upload +storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/krow-staging-62220d3f72b0.json b/mobile-apps/staff-app/android/krow-staging-62220d3f72b0.json new file mode 100644 index 00000000..2c3b0db2 --- /dev/null +++ b/mobile-apps/staff-app/android/krow-staging-62220d3f72b0.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "krow-staging", + "private_key_id": "62220d3f72b01a67ce8021277aeca0fc205eb870", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQCf3uo9wPK2+N9R\noL0doCFqzRr12W4mlR54QkFWYN2DZGK4i9ogi+7MlpksXK/a8IkAN7d59l9FRl3p\nOApFYH8ULBnX/Ul7u/P2QCebxkEZrrlI9hQ6IKtdvPDOqcgPJGZCBGUIoxDEsgAU\nE15/GP5wtXCP7Pbx2f7yL9NvptwlCHA2MV4LVmZhALfXpvHlwN2jKKEwavpBpNQS\n3U7u6LatWdHpbggnyUN1X7QAacv9ofNzuuZdlj6M3HAKWYGzcHesDi4sB3obKFwl\nBmwIy2jkFaSOc5DcgYTbFxNX0pH8eVoBVxF69BcrJEtOmDaqeDiuev8ofSuPBqWu\niXXXWRcHAgMBAAECgf8+jXoZr4/zB8MEArX8YYCxyTmYovqhHgz4q56PraxT53Nj\nwf9sZ1QzDg82IbitHHB+eqPPlMFc2auPv92aR6dxZ9AKMuYNrqebh9P3n3AuxwQN\nsuXh2JE0nDjx+ScjcEU9OiWjZipUIVGRNALwDVeBF30eKMR23P+5bf0iMqebKpM0\ngyBGMmg4lsyKLrlcX101uUVdJbrVkaAmNQKpwZAaNISrd7uaB3Lsox1hu1fePlO/\n82aLx6DnV4bpD50/B6/n4uzAbWtSvEkPxoiGMVs2/GuErt/SHtqUbwit5f7UWbKa\n9vGyj91KK2G8bTu1142UQ4KEoYInr4dzKdqwTK0CgYEA2/RvHV9eLMsua4U1X2Is\nrMrUXPPk3akwWD87Us7Gj1NHSN0/KvFepj+cC+XNIO00+jh0KdcsRW5mPznGY3bY\nl/PagI4ZZVU/Hom34Mf59XPm/NWaMmlh955n3cxQ+N+wKbndD2Q7BaJtjh1O6elR\nRE2Jxr8sVKgJxbRjNJXiKxUCgYEAuhHUJfTVr1vmsV7X+sM5vTNCbOeKjsyCpJZL\n9aRZzWkl0jSvU3OCw6pBo8vGsFid4qxL47ikTx6JiTHk1r4kLxyKJ4N47qX+r9sL\nbRigWGnFGXEGXnCUq2TXYmhTJfKVlBD3HO+E8YpUwbGQFk7NrrkoXgb8bqoBhAzT\nRJ2BEKsCgYBfJ5/qVReoyT2LxlUQrqglGJpGnDymqEsB4lkHueyslJqCKzTonwMT\naPFZNFFJrVT96u5WK4A7iUcykwwAe6m4Ewa0FsVl0Ts9OtcRp3G7fiivuLi8llqL\nhTvp+DoPcLYFVyMLRZFDHsHGeWdqSkWeBu1TzeCfvxJ7NU61sSHnAQKBgH4aly0i\nQbAXGMIdBUNuDDOuCdbFFaKx99iUA+b2++W63WcZTbnBD16MhO/9qyrY5Cg7nTM4\ncCMvDwdsSStAskU7kmY1NECJP5LvYU8O4Z0KEgqsDyTyJ9ABB/gpvDB7t+Qhm1iA\n/Bi3J7oeHQkBX2SLGFCha3OUxHI6PvTByjcBAoGAdv11tHBODuxksApcSEFUJPuy\ncYsX4vbC0BdQbiWXl1RPmYPhLilNTnKriXd12sRQJ+TpUjrR6I1djMbczKFFYSMf\nuFwHxUoMgvyRg2gxt6RQKx1t2GKqg8zoUO+ZqQ4lRNx0NBNe4rdnbNdYe8+uAI7G\nyBX1E6Vf637W7F59VSM=\n-----END PRIVATE KEY-----\n", + "client_email": "magicapp@krow-staging.iam.gserviceaccount.com", + "client_id": "117285510533876531462", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/magicapp%40krow-staging.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} diff --git a/mobile-apps/staff-app/android/settings.gradle b/mobile-apps/staff-app/android/settings.gradle new file mode 100644 index 00000000..886baab4 --- /dev/null +++ b/mobile-apps/staff-app/android/settings.gradle @@ -0,0 +1,28 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version '8.5.0' apply false + // START: FlutterFire Configuration + id "com.google.gms.google-services" version "4.3.15" apply false + // END: FlutterFire Configuration + id "org.jetbrains.kotlin.android" version "2.0.20" apply false +} + +include ":app" diff --git a/mobile-apps/staff-app/assets/favicon.png b/mobile-apps/staff-app/assets/favicon.png new file mode 100644 index 00000000..b1dd25b7 Binary files /dev/null and b/mobile-apps/staff-app/assets/favicon.png differ diff --git a/mobile-apps/staff-app/assets/favicon_dev.png b/mobile-apps/staff-app/assets/favicon_dev.png new file mode 100644 index 00000000..b1dd25b7 Binary files /dev/null and b/mobile-apps/staff-app/assets/favicon_dev.png differ diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Black.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Black.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-BlackItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-BlackItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Bold.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Bold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-BoldItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-BoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraBold.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraBold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraLight.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraLight.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraLightItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ExtraLightItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Italic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Italic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Light.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Light.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-LightItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-LightItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Medium.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Medium.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-MediumItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-MediumItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Regular.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Regular.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-SemiBold.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-SemiBold.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-SemiBoldItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Thin.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-Thin.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ThinItalic.ttf b/mobile-apps/staff-app/assets/fonts/poppins/Poppins-ThinItalic.ttf new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/assets/images/app_bar/appbar_leading.svg b/mobile-apps/staff-app/assets/images/app_bar/appbar_leading.svg new file mode 100644 index 00000000..680a6d09 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/app_bar/appbar_leading.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/app_bar/notification.svg b/mobile-apps/staff-app/assets/images/app_bar/notification.svg new file mode 100644 index 00000000..b369fdcb --- /dev/null +++ b/mobile-apps/staff-app/assets/images/app_bar/notification.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/arrow_right.svg b/mobile-apps/staff-app/assets/images/arrow_right.svg new file mode 100644 index 00000000..6abc2b8a --- /dev/null +++ b/mobile-apps/staff-app/assets/images/arrow_right.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/bg.svg b/mobile-apps/staff-app/assets/images/bg.svg new file mode 100644 index 00000000..721634ea --- /dev/null +++ b/mobile-apps/staff-app/assets/images/bg.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/add.svg b/mobile-apps/staff-app/assets/images/icons/add.svg new file mode 100644 index 00000000..beb930ec --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/add.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/alert-circle.svg b/mobile-apps/staff-app/assets/images/icons/alert-circle.svg new file mode 100644 index 00000000..d7622acf --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/alert-circle.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/alert-triangle.svg b/mobile-apps/staff-app/assets/images/icons/alert-triangle.svg new file mode 100644 index 00000000..cbad959c --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/alert-triangle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/calendar.svg b/mobile-apps/staff-app/assets/images/icons/calendar.svg new file mode 100644 index 00000000..426dd0b0 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/calendar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/calendar_v2.svg b/mobile-apps/staff-app/assets/images/icons/calendar_v2.svg new file mode 100644 index 00000000..ea39541a --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/calendar_v2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/call.svg b/mobile-apps/staff-app/assets/images/icons/call.svg new file mode 100644 index 00000000..3404b610 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/caret-down.svg b/mobile-apps/staff-app/assets/images/icons/caret-down.svg new file mode 100644 index 00000000..51458c4b --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/caret-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/caret_left.svg b/mobile-apps/staff-app/assets/images/icons/caret_left.svg new file mode 100644 index 00000000..b0e11d82 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/caret_left.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/caret_right.svg b/mobile-apps/staff-app/assets/images/icons/caret_right.svg new file mode 100644 index 00000000..a9a38734 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/caret_right.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/check.svg b/mobile-apps/staff-app/assets/images/icons/check.svg new file mode 100644 index 00000000..8b7aa7a9 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/check_box/check.svg b/mobile-apps/staff-app/assets/images/icons/check_box/check.svg new file mode 100644 index 00000000..982a184f --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/check_box/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/check_box/x.svg b/mobile-apps/staff-app/assets/images/icons/check_box/x.svg new file mode 100644 index 00000000..abafcdb3 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/check_box/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/check_circle.svg b/mobile-apps/staff-app/assets/images/icons/check_circle.svg new file mode 100644 index 00000000..d86edd47 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/check_circle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/coffee-break.svg b/mobile-apps/staff-app/assets/images/icons/coffee-break.svg new file mode 100644 index 00000000..3a306165 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/coffee-break.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/delete.svg b/mobile-apps/staff-app/assets/images/icons/delete.svg new file mode 100644 index 00000000..c95adda6 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/delete.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/download-cloud.svg b/mobile-apps/staff-app/assets/images/icons/download-cloud.svg new file mode 100644 index 00000000..378be9c3 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/download-cloud.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/edit.svg b/mobile-apps/staff-app/assets/images/icons/edit.svg new file mode 100644 index 00000000..3836ad4c --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/edit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/eye.svg b/mobile-apps/staff-app/assets/images/icons/eye.svg new file mode 100644 index 00000000..9209f4a1 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/eye.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/image_error_placeholder.svg b/mobile-apps/staff-app/assets/images/icons/image_error_placeholder.svg new file mode 100644 index 00000000..71feaec7 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/image_error_placeholder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/image_placeholder.svg b/mobile-apps/staff-app/assets/images/icons/image_placeholder.svg new file mode 100644 index 00000000..ea09d0e8 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/image_placeholder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/like.svg b/mobile-apps/staff-app/assets/images/icons/like.svg new file mode 100644 index 00000000..4aede466 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/like.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/location.svg b/mobile-apps/staff-app/assets/images/icons/location.svg new file mode 100644 index 00000000..98fb7f3a --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/medal-star.svg b/mobile-apps/staff-app/assets/images/icons/medal-star.svg new file mode 100644 index 00000000..33b61f9d --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/medal-star.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/menu_board.svg b/mobile-apps/staff-app/assets/images/icons/menu_board.svg new file mode 100644 index 00000000..9d08d51f --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/menu_board.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/money-recive.svg b/mobile-apps/staff-app/assets/images/icons/money-recive.svg new file mode 100644 index 00000000..e094395a --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/money-recive.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/more.svg b/mobile-apps/staff-app/assets/images/icons/more.svg new file mode 100644 index 00000000..e1cbaa72 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/more.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/navigation/clipboard-text.svg b/mobile-apps/staff-app/assets/images/icons/navigation/clipboard-text.svg new file mode 100644 index 00000000..79c485b6 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/navigation/clipboard-text.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/navigation/empty-wallet.svg b/mobile-apps/staff-app/assets/images/icons/navigation/empty-wallet.svg new file mode 100644 index 00000000..06a7575a --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/navigation/empty-wallet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/navigation/profile.svg b/mobile-apps/staff-app/assets/images/icons/navigation/profile.svg new file mode 100644 index 00000000..74814bcb --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/navigation/profile.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/person.svg b/mobile-apps/staff-app/assets/images/icons/person.svg new file mode 100644 index 00000000..66da1fac --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/person.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/rating_star/star.svg b/mobile-apps/staff-app/assets/images/icons/rating_star/star.svg new file mode 100644 index 00000000..42569cb2 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/rating_star/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/rating_star/starEmpty.svg b/mobile-apps/staff-app/assets/images/icons/rating_star/starEmpty.svg new file mode 100644 index 00000000..200a6175 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/rating_star/starEmpty.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/rating_star/starHalf.svg b/mobile-apps/staff-app/assets/images/icons/rating_star/starHalf.svg new file mode 100644 index 00000000..28d97d74 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/rating_star/starHalf.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/routing.svg b/mobile-apps/staff-app/assets/images/icons/routing.svg new file mode 100644 index 00000000..0b923b86 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/routing.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/text_field_notches.svg b/mobile-apps/staff-app/assets/images/icons/text_field_notches.svg new file mode 100644 index 00000000..aaf11f8d --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/text_field_notches.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/icons/trash.svg b/mobile-apps/staff-app/assets/images/icons/trash.svg new file mode 100644 index 00000000..ee7910e1 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/trash.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/whatsapp.svg b/mobile-apps/staff-app/assets/images/icons/whatsapp.svg new file mode 100644 index 00000000..4ec74677 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/whatsapp.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/x-circle.svg b/mobile-apps/staff-app/assets/images/icons/x-circle.svg new file mode 100644 index 00000000..3d2b6bcb --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/x-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/icons/x.svg b/mobile-apps/staff-app/assets/images/icons/x.svg new file mode 100644 index 00000000..46b73821 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/icons/x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/logo.svg b/mobile-apps/staff-app/assets/images/logo.svg new file mode 100644 index 00000000..0c18e092 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/slider/slide1.png b/mobile-apps/staff-app/assets/images/slider/slide1.png new file mode 100644 index 00000000..48271dd5 Binary files /dev/null and b/mobile-apps/staff-app/assets/images/slider/slide1.png differ diff --git a/mobile-apps/staff-app/assets/images/slider/slide2.png b/mobile-apps/staff-app/assets/images/slider/slide2.png new file mode 100644 index 00000000..834fe84d Binary files /dev/null and b/mobile-apps/staff-app/assets/images/slider/slide2.png differ diff --git a/mobile-apps/staff-app/assets/images/slider/slide3.png b/mobile-apps/staff-app/assets/images/slider/slide3.png new file mode 100644 index 00000000..2609ea05 Binary files /dev/null and b/mobile-apps/staff-app/assets/images/slider/slide3.png differ diff --git a/mobile-apps/staff-app/assets/images/support/support.png b/mobile-apps/staff-app/assets/images/support/support.png new file mode 100644 index 00000000..b19a8d72 Binary files /dev/null and b/mobile-apps/staff-app/assets/images/support/support.png differ diff --git a/mobile-apps/staff-app/assets/images/user_profile/call.svg b/mobile-apps/staff-app/assets/images/user_profile/call.svg new file mode 100644 index 00000000..4391deb0 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/chevron_2.svg b/mobile-apps/staff-app/assets/images/user_profile/chevron_2.svg new file mode 100644 index 00000000..22fdfc12 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/chevron_2.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/chevron_down.svg b/mobile-apps/staff-app/assets/images/user_profile/chevron_down.svg new file mode 100644 index 00000000..4cbc7eae --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/chevron_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/chevron_down_selected.svg b/mobile-apps/staff-app/assets/images/user_profile/chevron_down_selected.svg new file mode 100644 index 00000000..1c6117ed --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/chevron_down_selected.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/edit_photo.svg b/mobile-apps/staff-app/assets/images/user_profile/edit_photo.svg new file mode 100644 index 00000000..95fb19e9 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/edit_photo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/briefcase.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/briefcase.svg new file mode 100644 index 00000000..003231f0 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/briefcase.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/calendar.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/calendar.svg new file mode 100644 index 00000000..79de6857 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/calendar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/chef.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/chef.svg new file mode 100644 index 00000000..db3896d1 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/chef.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/empty-wallet.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/empty-wallet.svg new file mode 100644 index 00000000..7c93df7c --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/empty-wallet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/gallery.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/gallery.svg new file mode 100644 index 00000000..2ab3eaa5 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/gallery.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/headphone.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/headphone.svg new file mode 100644 index 00000000..43956f2c --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/headphone.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/help-circle.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/help-circle.svg new file mode 100644 index 00000000..fe6f4c27 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/help-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/log-out.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/log-out.svg new file mode 100644 index 00000000..611675f4 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/log-out.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/map.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/map.svg new file mode 100644 index 00000000..8ff071a5 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/map.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/medal-star.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/medal-star.svg new file mode 100644 index 00000000..5b10a789 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/medal-star.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/message.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/message.svg new file mode 100644 index 00000000..90fe1751 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/message.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/note.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/note.svg new file mode 100644 index 00000000..146033b9 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/note.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/pot.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/pot.svg new file mode 100644 index 00000000..106d79e5 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/pot.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/profile-circle.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/profile-circle.svg new file mode 100644 index 00000000..34db63f7 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/profile-circle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/security-safe.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/security-safe.svg new file mode 100644 index 00000000..f16fcb1d --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/security-safe.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/shield-tick.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/shield-tick.svg new file mode 100644 index 00000000..ced47730 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/shield-tick.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/star.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/star.svg new file mode 100644 index 00000000..3cb00e10 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/teacher.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/teacher.svg new file mode 100644 index 00000000..ce7f5c9e --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/teacher.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/menu/user-edit.svg b/mobile-apps/staff-app/assets/images/user_profile/menu/user-edit.svg new file mode 100644 index 00000000..9dd7b48c --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/menu/user-edit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/sms.svg b/mobile-apps/staff-app/assets/images/user_profile/sms.svg new file mode 100644 index 00000000..aa5e87b0 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/sms.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/user_profile/star.svg b/mobile-apps/staff-app/assets/images/user_profile/star.svg new file mode 100644 index 00000000..01b53792 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/user_profile/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/mobile-apps/staff-app/assets/images/waiting_validation/call.svg b/mobile-apps/staff-app/assets/images/waiting_validation/call.svg new file mode 100644 index 00000000..ca1fd79e --- /dev/null +++ b/mobile-apps/staff-app/assets/images/waiting_validation/call.svg @@ -0,0 +1,4 @@ + + + + diff --git a/mobile-apps/staff-app/assets/images/waiting_validation/coffee_break.svg b/mobile-apps/staff-app/assets/images/waiting_validation/coffee_break.svg new file mode 100644 index 00000000..fa617f53 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/waiting_validation/coffee_break.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/images/waiting_validation/sms.svg b/mobile-apps/staff-app/assets/images/waiting_validation/sms.svg new file mode 100644 index 00000000..c7e25c12 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/waiting_validation/sms.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-apps/staff-app/assets/images/waiting_validation/whatsapp.svg b/mobile-apps/staff-app/assets/images/waiting_validation/whatsapp.svg new file mode 100644 index 00000000..4b05a4d5 --- /dev/null +++ b/mobile-apps/staff-app/assets/images/waiting_validation/whatsapp.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/mobile-apps/staff-app/assets/localization/en.json b/mobile-apps/staff-app/assets/localization/en.json new file mode 100644 index 00000000..052c60ea --- /dev/null +++ b/mobile-apps/staff-app/assets/localization/en.json @@ -0,0 +1,369 @@ +{ + "contact_support": "Contact & Support", + "contact_support_desc": "We're here to help! Reach out to us through any of the channels below, and we'll get back to you as soon as possible.", + "contact_support_desc_2": "Feel free to give us a call during our working hours:", + "for_general": "FOR GENERAL INQUIRIES:", + "contact_phone:": "CONTACT PHONE: ", + "work_that_fits": "Work that fits your schedule", + "join_the_community": "Join the community of event professionals. Find jobs in seconds, from catering to kitchen crew, and get paid quickly.", + "Sign Up": "Sign Up", + "Log In": "Log In", + "Welcome Back!": "Welcome Back!", + "Enter Verification Code": "Enter Verification Code", + "Enter the 6-digit": "Enter the 6-digit code sent to your number to activate your account", + "Phone Verification": "Phone Verification", + "Enter and Continue": "Enter and Continue", + "New here?": "New here?", + "Create an account": "Create an account", + "Didn`t get the code?": "Didn`t get the code?", + "Resend Code": "Resend Code", + "in": "in", + "Let's Get Started!": "Let's Get Started!", + "Log in to find work opportunities that match your skills": "Log in to find work opportunities that match your skills", + "Verify your phone number to activate your account": "Verify your phone number to activate your account", + "Continue": "Continue", + "Invalid phone number": "Invalid phone number", + "Invalid code": "Invalid code", + "Failed to authenticate with Initial Link": "Failed to authenticate with Initial Link", + "Personal Information": "Personal Information", + "Emergency contact": "Emergency contact", + "Roles": "Roles", + "Equipment": "Equipment", + "Uniform": "Uniform", + "Working Area": "Working Area", + "Availability": "Availability", + "Bank Account": "Bank Account", + "Wages form": "Wages form", + "Certificates": "Certificates", + "Background check": "Background check", + "finalize_your_profile": "Finalize Your Profile", + "check_profile_verification": "Check if everything is filled in this profile verification checklist", + "not_you": "Not you?", + "log_out": "Log out", + "i_agree_to_the": "I agree to the", + "terms_and_conditions": "Terms and Conditions", + "and": "and", + "privacy_policy": "Privacy Policy", + "submit_profile_verification": "Submit your Profile for Verification", + "your_account_is_being_verified": "Your account is being verified", + "waiting_for_email_interview": "Waiting for the Email for the Interview", + "contact_support_via": "Contact support via", + "Earnings": "Earnings", + "Shifts": "Shifts", + "Profile": "Profile", + "location_and_availability": "Location & Availability", + "what_is_your_address": "What is Your Address?", + "let_us_know_your_home_base": "Let us know your home base and the range where you’re available to work.", + "address": "Address", + "select_address": "Select Address", + "edit_bank_account": "Edit Bank Account", + "edit_information_below": "Edit information below:", + "account_details": "Account Details:", + "billing_address": "Billing Address:", + "field_cant_be_empty": "Field can`t be empty", + "bank_account": "Bank Account", + "securely_manage_bank_account": "Securely manage your bank account and card information to receive payments for your work. Ensure all details are accurate to avoid delays in withdrawals.", + "your_payment_details": "Your Payment Details:", + "account_holder_name": "Account holder name", + "bank_name": "Bank Name", + "account_number": "Account Number", + "routing_number_us": "Routing Number (for US-based accounts)", + "country": "Country", + "state": "State", + "city": "City", + "street_address": "Street Address", + "apt_suite_building": "Apt, Suite, Building", + "zip_code": "Zip Code", + "certificates": "Certificates", + "please_indicate_certificates": "Please indicate whether you have the following certificates:", + "availability_requires_confirmation": "Availability requires confirmation", + "supported_format": "Supported Format: SVG, JPG, PNG (10mb each)", + "expiration_date": "Expiration Date:", + "listed_certificates_mandatory": "Listed certificates are mandatory for employees. If the employee does not have the complete certificates, they can’t proceed with their registration.", + "confirm": "Confirm", + "expiry_date_1": "Expiry Date", + "enter_certificate_expiry_date": "Enter certificate expiry date (MM.dd.yyyy)", + "save_certificate": "Save Certificate", + "add_certificate_expiry_date": "Add Certificate Expiry Date", + "please_enter_expiry_date": "Please enter the expiry date to complete your certificate details.", + "email_verification": "Email Verification", + "check_your_email": "Check Your Email", + "verification_link_sent": "We've sent a verification link to {}. Please check your inbox and follow the instructions to confirm your email. It will be more convenient for you to accept the email on this device.", + "additional_action_needed": "Additional action needed", + "email_verification_security_sensitive": "Email verification is a security-sensitive operation so you need to re-login in order to continue.\nPress the button below to receive the SMS on number {} with the sign-in code.", + "unable_to_validate_email_status": "Unable to validate your email status. You may have accepted the validation email from another device.\nPlease re-login again in order to proceed.", + "didnt_receive": "Didn't receive the email?\n", + "resend": "Resend", + "or": "or", + "contact_support_1": "Contact Support", + "save_changes": "Save Changes", + "save_and_continue": "Save and Continue", + "emergency_contact": "Emergency Contact", + "add_emergency_contacts": "Add Emergency Contacts", + "provide_emergency_contact": "Provide at least one contact we can reach in case of emergencies.", + "must_have_one_contact": "Must have at least one emergency contact", + "add_more": "Add More", + "add_additional_contact": "Add one additional emergency contact to ensure quick assistance when needed.", + "contact_details": "{index} Contact Details:", + "first_name": "First Name", + "last_name": "Last Name", + "phone_number": "Phone Number", + "faq_description": "Here, you can find answers to frequently asked questions. This list will be updated with more info in the future.", + "describe_accommodations": "Please describe any accommodations, support, or accessibility needs that would help you thrive in your role", + "additional_details": "Additional details", + "enter_main_text": "Enter your main text here...", + "required_to_fill": "Required to fill", + "inclusive": "Inclusive", + "inclusive_information": "Inclusive Information", + "providing_optional_information": "Providing this information is optional and helps us ensure an inclusive and supportive work environment tailored to your needs", + "specific_accommodations_question": "Do you require specific accommodations?", + "yes": "Yes", + "no": "No", + "live_photo": "Live Photo", + "ensure_meet_requirements": "Ensure You Meet the Requirements", + "stand_in_well_lit_area": "Stand in a well-lit area with a clean background.", + "ensure_face_visible": "Ensure your face is clearly visible.", + "avoid_filters_obstructions": "Avoid filters or obstructions (e.g., masks, sunglasses).", + "take_photo": "Take a Photo", + "take_new_photo": "Take a New Photo", + "Pending": "Pending", + "Verified": "Verified", + "Declined": "Declined", + "Photo": "Photo", + "mobility": "Mobility", + "mobility_information": "Mobility Information", + "help_us_understand_mobility": "Help us understand your mobility preferences to match you with the best opportunities", + "do_you_have_a_car": "Do you have a car?", + "can_you_relocate": "Can you relocate to another City/State?", + "lets_get_started": "Let’s Get Started!", + "tell_us_about_yourself": "Tell us about yourself to create your profile. For correct verification put the info as in ID.", + "enter_first_name": "Enter your first name", + "enter_last_name": "Enter your last name", + "middle_name_optional": "Middle Name (optional)", + "enter_middle_name": "Enter your middle name", + "email": "Email", + "account_settings": "Account Settings", + "profile_settings": "Profile Settings", + "work_settings": "Work Settings", + "working_area": "Working Area", + "schedule": "Schedule", + "verification_center": "Verification Center", + "certification": "Certification", + "wages_form": "Wages Form", + "equipment": "Equipment", + "uniform": "Uniform", + "employee_resources": "Employee Resources", + "training": "Training", + "benefits": "Benefits", + "help_support": "Help & Support", + "faq": "FAQ", + "terms_conditions": "Terms & Conditions", + "available_right_away": "Available Right Away", + "about_me": "About me:", + "role": "Role", + "experience": "Experience", + "level": "Level", + "years": "years", + "year": "year", + "personal_info": "Personal info", + "roles": "Roles", + "remove_my_account": "Remove My Account", + "are_you_sure_delete_account": "Are you sure you want to delete account?", + "delete_account_warning": "Deleting your account is permanent and cannot be undone. You will lose all your data, including saved preferences, history, and any content associated with your account", + "delete_account": "Delete Account", + "cancel": "Cancel", + "select_u_role": "Select your role", + "what_u_area": "What's your area of expertise? Select your role, skill level, and experience:", + "add_role": "Add Role", + "role_details": "role Details:", + "edit_role": "Edit Role", + "Beginner": "Beginner", + "Skilled": "Skilled", + "Professional": "Professional", + "years_of_exp": "Years of experience", + "select_role": "Select role", + "role_change": "Role Change Requires Verification", + "change_u_role": "Changing your role will initiate a new verification process. Your updated role and permissions will only be active after approval.", + "wont_to_proceed": "Are you sure you want to proceed?", + "please_indicate": "Please indicate whether you have the following", + "mandatory_items": "Mandatory items", + "optional_items": "Optional items", + "confirm_availability": "confirm availability", + "please_confirm_availability": "Please confirm availability", + "availability_confirmed": "Availability confirmed", + "item_checked_in_box": "Items checked in the box are mandatory for employees. If the employee does not have the complete uniform, they can’t proceed with their registration.", + "confirm_availability_photo": "Please confirm availability by uploading a photo", + "select_nearby": "Select nearby cities based on your profile address.", + "where_u_can_work": "Where Can You Work?", + "define_the_zone": "Define the zone where you operate to receive relevant tasks and opportunities:", + "scan_qr_code": "Scan Your QR Code", + "align_qr_code": "Align the QR code within the frame. The timer will start automatically once the code is verified.", + "tips": "Tips", + "tips_qr": "• Ensure the QR code is clear and fully visible.\n• Good lighting helps with a faster scan.", + "clients_rate": "Client’s rate", + "payment_status": "Payment status", + "manage_contact_details": "Manager contact details", + "call": "Call", + "location": "Location", + "get_direction": "Get direction", + "key_responsibilities": "Key Responsibilities", + "additional_information": "Additional Info", + "your_shift_canceled": "Your shift has been canceled", + "please_review_reason": "Please review the reason below.", + "canceled_by": "Canceled by:", + "user": "User", + "admin": "Admin", + "reason": "Reason", + "sick_leave": "Sick Leave", + "vacation": "Vacation", + "other": "Other", + "health": "Health", + "transportation": "Transportation", + "personal": "Personal", + "schedule_conflict": "Schedule Conflict", + "accept_shift": "Accept shift", + "decline_shift": "Decline shift", + "cancel_shift": "Cancel shift", + "hours": "Hours", + "minutes": "Minutes", + "seconds": "Seconds", + "timer": "Timer", + "clock_in": "Clock-in", + "clock_out": "Clock-out", + "reach_location_to_clock_in": "You have to reach the location to be able to clock-in", + "reach_location_to_clock_out": "You have to reach the location to be able to clock-out", + "oops_something_wrong": "Oops, Something Went Wrong", + "qr_code_error": "We couldn`t read the QR code.\nPlease try again.", + "retry_scanning": "Retry Scanning", + "youre_good_to_go": "You`re Good to Go!", + "shift_timer_started": "Your shift timer has started. Stay focused and have a productive day!", + "lunch_break_reminder": "Kindly take your lunch break before\n5 hours of work", + "continue_to_dashboard": "Continue to Dashboard", + "ongoing": "Ongoing", + "completed": "Completed", + "declined": "Declined", + "canceled": "Canceled", + "started": "Started", + "starts_in": "Starts in {time}", + "assigned_ago": "Assigned {time} ago", + "clock_in_1": "Clock In", + "clock_out_1": "Clock Out", + "duration": "Duration", + "shift_duration": "Shift duration", + "break_duration": "Break duration", + "hours_1": "{hours} hour{plural}", + "hours_minutes": "{hours}h {minutes} min", + "zero_hours": "0 hours", + "start": "Start", + "date": "Date", + "time": "Time", + "total_time_breaks": "Total time & breaks", + "break_hours": "Break Hours", + "total_hours": "Total hours", + "assigned": "Assigned", + "confirmed": "Confirmed", + "active": "Active", + "shift": "Shift", + "your_shifts": "Your Shifts", + "you_currently_have_no_shifts": "You currently have no shifts", + "earnings_history": "Earnings History", + "period": "Period", + "week": "Week", + "month": "Month", + "range": "Range", + "max_earning": "Max earning:", + "min_earning": "Min earning:", + "your_earnings": "Your Earnings", + "total_worked_hours": "Total worked hours:", + "select_reason_from_list": "Select reason from a list", + "additional_reasons": "Additional reasons", + "incorrect_hours": "Incorrect hours", + "incorrect_charges": "Incorrect charges", + "this_week": "This week", + "this_month": "This month", + "your_earnings_are_in": "Your Earnings Are In!", + "you_earned_for_shift": "You’ve earned ${} for your shift {} on {}", + "total_earnings_added": "Your total earnings for this cycle are ${} and they have been added to your balance.", + "confirm_earning": "Confirm Earning", + "dispute_contact_support": "Dispute & Contact Support", + "dispute_earnings": "Dispute Earnings", + "dispute_message": "If you believe there is an issue with this invoice, please provide a reason for the dispute and any additional information to help our support team assist you.", + "submit_dispute": "Submit Dispute", + "no_history_section": "Currently you have no history for this section", + "end_of_payments_history": "You've reached the end of payments history", + "new_earning": "New Earning", + "disputed": "Disputed", + "sent": "Sent", + "received": "Received", + "history": "history", + "no_history_yet": "No history, yet", + "pending": "Pending", + "submitted": "Submitted", + "request_submitted": "Request Submitted", + "request_submitted_message": "Your {} request has been submitted successfully. You’ll be notified once it’s processed.", + "back_to_profile": "Back to Profile", + "request_payment_for": "Request Payment for", + "previous_aborted": "Previous completer aborted", + "your_benefits_overview": "Your Benefits Overview", + "manage_and_track_benefits": "Manage and track your earned benefits here", + "set_your_availability": "Set Your Availability: ", + "mark_days_and_times": "Mark the days and times you`re available to take on tasks", + "this_day_only": "This Day Only", + "entire_schedule": "Entire Schedule", + "update_schedule": "Update Schedule", + "update_schedule_message": "Do you want to update the schedule for all future occurrences or only for this day?", + "submit_update": "Submit Update", + "delete_schedule": "Delete Schedule", + "delete_schedule_message": "Are you sure you want to delete the schedule for\nall {}s?", + "slot_details": "Slot details", + "time_slots": "Time slots:", + "delete": "Delete", + "available": "Available", + "not_available": "Not Available", + "add": "Add", + "edit_all": "Edit All", + "what_hours_available": "What hours are you available?", + "start_time": "Start Time", + "end_time": "End Time", + "add_slot": "Add Slot", + "selected_date_details": "Selected date details", + "choose_time": "Choose time", + "modify": "Modify", + "one": "One", + "all": "All", + "save_slots": "Save Slots", + "overlap_error": "Schedule slots should not overlap!", + "invalid_date_format": "Invalid date format. Try MM.dd.yyyy", + "date_cannot_be_past": "The date cannot be in the past.", + "email_is_required": "Email is required", + "invalid_email": "Invalid email", + "experience_is_required": "Experience is required", + "experience_must_be_a_number": "Experience must be a number", + "experience_must_be_between_1_and_20": "Experience must be between 1 and 20", + "phone_number_is_required": "Phone number is required", + "invalid_phone_number": "Invalid phone number", + "required": "Required", + "preview": "Preview", + "re-upload": "Re-upload", + "upload": "Upload", + "enter_u_number": "Enter your number", + "please_select_reason": "Please select a reason for canceling your shift", + "decline_alert": "Decline Alert", + "mention_reason_declining": "Kindly mention the reason for declining", + "agree_and_close": "Agree and Close", + "contact_admin": "Contact Admin", + "help_us_understand": "Help Us Understand: What Kept You From Taking a Break?", + "did_you_take_a_break": "Did You\nTake a Break?", + "taking_breaks_essential": "Taking breaks is essential for your well-being and productivity. Let us know why you couldn’t take a break so we can help improve your experience.", + "taking_regular_breaks": "Taking regular breaks helps you stay productive and focused. Did you take a break during {eventName}?", + "yes_i_took_a_break": "Yes, I Took a Break", + "no_i_didnt_take_a_break": "No, I Didn’t Take a Break", + "submit_break_time": "Submit Break Time", + "submit_reason": "Submit Reason", + "other_specify": "Other (Please specify)", + "valid_reasons": "Valid Reasons:", + "unpredictable_workflows": "Unpredictable workflows", + "poor_time_management": "Poor time management", + "lack_of_coverage_or_short_staff": "Lack of coverage or short Staff", + "no_break_area": "No Break Area" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/assets/localization/es.json b/mobile-apps/staff-app/assets/localization/es.json new file mode 100644 index 00000000..22e65258 --- /dev/null +++ b/mobile-apps/staff-app/assets/localization/es.json @@ -0,0 +1,369 @@ +{ + "contact_support": "Contacto y Soporte", + "contact_support_desc": "¡Estamos aquí para ayudarte! Contáctanos a través de cualquiera de los canales abajo, y te responderemos lo antes posible.", + "contact_support_desc_2": "No dudes en llamarnos durante nuestro horario laboral:", + "for_general": "PARA CONSULTAS GENERALES:", + "contact_phone:": "TELÉFONO DE CONTACTO: ", + "work_that_fits": "Trabajo que se adapta a tu horario", + "join_the_community": "Únete a la comunidad de profesionales de eventos. Encuentra trabajos en segundos, desde catering hasta equipo de cocina, y recibe pagos rápidamente.", + "Sign Up": "Registrarse", + "Log In": "Iniciar sesión", + "Welcome Back!": "¡Bienvenido de nuevo!", + "Enter Verification Code": "Ingresa el código de verificación", + "Enter the 6-digit": "Ingresa el código de 6 dígitos enviado a tu número para activar tu cuenta", + "Phone Verification": "Verificación de teléfono", + "Enter and Continue": "Ingresar y continuar", + "New here?": "¿Eres nuevo aquí?", + "Create an account": "Crear una cuenta", + "Didn`t get the code?": "¿No recibiste el código?", + "Resend Code": "Reenviar código", + "in": "en", + "Let's Get Started!": "¡Comencemos!", + "Log in to find work opportunities that match your skills": "Inicia sesión para encontrar oportunidades de trabajo que coincidan con tus habilidades", + "Verify your phone number to activate your account": "Verifica tu número de teléfono para activar tu cuenta", + "Continue": "Continuar", + "Invalid phone number": "Número de teléfono no válido", + "Invalid code": "Código no válido", + "Failed to authenticate with Initial Link": "Error al autenticar con el enlace inicial", + "Personal Information": "Información personal", + "Emergency contact": "Contacto de emergencia", + "Roles": "Roles", + "Equipment": "Equipo", + "Uniform": "Uniforme", + "Working Area": "Área de trabajo", + "Availability": "Disponibilidad", + "Bank Account": "Cuenta bancaria", + "Wages form": "Formulario de salarios", + "Certificates": "Certificados", + "Background check": "Verificación de antecedentes", + "finalize_your_profile": "Finaliza tu perfil", + "check_profile_verification": "Verifica que todo esté completo en esta lista de verificación del perfil", + "not_you": "¿No eres tú?", + "log_out": "Cerrar sesión", + "i_agree_to_the": "Acepto los", + "terms_and_conditions": "Términos y Condiciones", + "and": "y", + "privacy_policy": "Política de Privacidad", + "submit_profile_verification": "Enviar perfil para verificación", + "your_account_is_being_verified": "Tu cuenta está siendo verificada", + "waiting_for_email_interview": "Esperando el correo para la entrevista", + "contact_support_via": "Contactar soporte a través de", + "Earnings": "Ganancias", + "Shifts": "Turnos", + "Profile": "Perfil", + "location_and_availability": "Ubicación y Disponibilidad", + "what_is_your_address": "¿Cuál es tu dirección?", + "let_us_know_your_home_base": "Dinos dónde estás ubicado y el rango donde estás disponible para trabajar.", + "address": "Dirección", + "select_address": "Seleccionar dirección", + "edit_bank_account": "Editar cuenta bancaria", + "edit_information_below": "Editar la información a continuación:", + "account_details": "Detalles de la cuenta:", + "billing_address": "Dirección de facturación:", + "field_cant_be_empty": "El campo no puede estar vacío", + "bank_account": "Cuenta bancaria", + "securely_manage_bank_account": "Administra de forma segura tu cuenta bancaria e información de tarjeta para recibir pagos por tu trabajo. Asegúrate de que todos los datos sean correctos para evitar retrasos en los retiros.", + "your_payment_details": "Tus datos de pago:", + "account_holder_name": "Nombre del titular de la cuenta", + "bank_name": "Nombre del banco", + "account_number": "Número de cuenta", + "routing_number_us": "Número de ruta (para cuentas en EE.UU.)", + "country": "País", + "state": "Estado", + "city": "Ciudad", + "street_address": "Dirección", + "apt_suite_building": "Apartamento, Suite, Edificio", + "zip_code": "Código postal", + "certificates": "Certificados", + "please_indicate_certificates": "Indica si tienes los siguientes certificados:", + "availability_requires_confirmation": "La disponibilidad requiere confirmación", + "supported_format": "Formato compatible: SVG, JPG, PNG (10mb cada uno)", + "expiration_date": "Fecha de expiración:", + "listed_certificates_mandatory": "Los certificados listados son obligatorios para los empleados. Si el empleado no tiene todos los certificados, no podrá continuar con el registro.", + "confirm": "Confirmar", + "expiry_date_1": "Fecha de expiración", + "enter_certificate_expiry_date": "Ingresa la fecha de expiración del certificado (MM.dd.aaaa)", + "save_certificate": "Guardar certificado", + "add_certificate_expiry_date": "Agregar fecha de expiración del certificado", + "please_enter_expiry_date": "Por favor ingresa la fecha de expiración para completar los detalles del certificado.", + "email_verification": "Verificación de correo electrónico", + "check_your_email": "Revisa tu correo electrónico", + "verification_link_sent": "Hemos enviado un enlace de verificación a {}. Revisa tu bandeja de entrada y sigue las instrucciones para confirmar tu correo. Será más conveniente aceptarlo desde este dispositivo.", + "additional_action_needed": "Acción adicional requerida", + "email_verification_security_sensitive": "La verificación de correo electrónico es una operación sensible a la seguridad, por lo que debes volver a iniciar sesión para continuar.\nPresiona el botón abajo para recibir un SMS al número {} con el código de acceso.", + "unable_to_validate_email_status": "No se pudo validar el estado del correo electrónico. Puede que hayas aceptado el enlace desde otro dispositivo.\nPor favor, vuelve a iniciar sesión para continuar.", + "didnt_receive": "¿No recibiste el correo?\n", + "resend": "Reenviar", + "or": "o", + "contact_support_1": "Contacto con Soporte", + "save_changes": "Guardar cambios", + "save_and_continue": "Guardar y continuar", + "emergency_contact": "Contacto de Emergencia", + "add_emergency_contacts": "Agregar Contactos de Emergencia", + "provide_emergency_contact": "Proporciona al menos un contacto al que podamos llamar en caso de emergencia.", + "must_have_one_contact": "Debe haber al menos un contacto de emergencia", + "add_more": "Agregar Más", + "add_additional_contact": "Agrega un contacto de emergencia adicional para garantizar asistencia rápida cuando sea necesario.", + "contact_details": "Detalles del contacto {}:", + "first_name": "Nombre", + "last_name": "Apellido", + "phone_number": "Número de Teléfono", + "faq_description": "Aquí puedes encontrar respuestas a preguntas frecuentes. Esta lista se actualizará con más información en el futuro.", + "describe_accommodations": "Describe cualquier adaptación, apoyo o necesidad de accesibilidad que te ayude a desempeñarte mejor en tu puesto", + "additional_details": "Detalles adicionales", + "enter_main_text": "Ingresa tu texto principal aquí...", + "required_to_fill": "Campo obligatorio", + "inclusive": "Inclusivo", + "inclusive_information": "Información Inclusiva", + "providing_optional_information": "Proporcionar esta información es opcional y nos ayuda a garantizar un entorno de trabajo inclusivo y de apoyo adaptado a tus necesidades", + "specific_accommodations_question": "¿Necesitas adaptaciones específicas?", + "yes": "Sí", + "no": "No", + "live_photo": "Foto en Vivo", + "ensure_meet_requirements": "Asegúrate de cumplir con los requisitos", + "stand_in_well_lit_area": "Párate en un área bien iluminada con un fondo limpio.", + "ensure_face_visible": "Asegúrate de que tu rostro sea claramente visible.", + "avoid_filters_obstructions": "Evita filtros u obstrucciones (por ejemplo, mascarillas, gafas de sol).", + "take_photo": "Tomar una Foto", + "take_new_photo": "Tomar una Nueva Foto", + "Pending": "Pendiente", + "Verified": "Verificado", + "Declined": "Rechazado", + "Photo": "Foto", + "mobility": "Movilidad", + "mobility_information": "Información sobre Movilidad", + "help_us_understand_mobility": "Ayúdanos a entender tus preferencias de movilidad para ofrecerte las mejores oportunidades", + "do_you_have_a_car": "¿Tienes coche?", + "can_you_relocate": "¿Puedes trasladarte a otra Ciudad/Estado?", + "lets_get_started": "¡Empecemos!", + "tell_us_about_yourself": "Cuéntanos sobre ti para crear tu perfil. Para la verificación correcta, proporciona la información tal como aparece en tu documento de identidad.", + "enter_first_name": "Ingresa tu nombre", + "enter_last_name": "Ingresa tu apellido", + "middle_name_optional": "Segundo nombre (opcional)", + "enter_middle_name": "Ingresa tu segundo nombre", + "email": "Correo Electrónico", + "account_settings": "Configuración de la Cuenta", + "profile_settings": "Configuración del Perfil", + "work_settings": "Configuración de Trabajo", + "working_area": "Área de Trabajo", + "schedule": "Horario", + "verification_center": "Centro de Verificación", + "certification": "Certificación", + "wages_form": "Formulario de Salarios", + "equipment": "Equipo", + "uniform": "Uniforme", + "employee_resources": "Recursos para Empleados", + "training": "Capacitación", + "benefits": "Beneficios", + "help_support": "Ayuda y Soporte", + "faq": "Preguntas Frecuentes", + "terms_conditions": "Términos y Condiciones", + "available_right_away": "Disponible Inmediatamente", + "about_me": "Sobre mí:", + "role": "Rol", + "experience": "Experiencia", + "level": "Nivel", + "years": "años", + "year": "año", + "personal_info": "Información personal", + "roles": "Roles", + "remove_my_account": "Eliminar Mi Cuenta", + "are_you_sure_delete_account": "¿Estás seguro de que deseas eliminar tu cuenta?", + "delete_account_warning": "Eliminar tu cuenta es permanente y no se puede deshacer. Perderás todos tus datos, incluidas preferencias guardadas, historial y cualquier contenido asociado a tu cuenta", + "delete_account": "Eliminar Cuenta", + "cancel": "Cancelar", + "select_u_role": "Selecciona tu rol", + "what_u_area": "¿Cuál es tu área de especialización? Selecciona tu rol, nivel de habilidad y experiencia:", + "add_role": "Agregar Rol", + "role_details": "Detalles del rol:", + "edit_role": "Editar Rol", + "Beginner": "Principiante", + "Skilled": "Calificado", + "Professional": "Profesional", + "years_of_exp": "Años de experiencia", + "select_role": "Seleccionar rol", + "role_change": "El cambio de rol requiere verificación", + "change_u_role": "Cambiar tu rol iniciará un nuevo proceso de verificación. Tu nuevo rol y permisos se activarán solo después de la aprobación.", + "wont_to_proceed": "¿Estás seguro de que deseas continuar?", + "please_indicate": "Indica si tienes lo siguiente", + "mandatory_items": "Elementos obligatorios", + "optional_items": "Elementos opcionales", + "confirm_availability": "confirmar disponibilidad", + "please_confirm_availability": "Por favor, confirma la disponibilidad", + "availability_confirmed": "Disponibilidad confirmada", + "item_checked_in_box": "Los elementos marcados en la casilla son obligatorios para los empleados. Si no se tiene el uniforme completo, no se podrá continuar con el registro.", + "confirm_availability_photo": "Confirma la disponibilidad subiendo una foto", + "select_nearby": "Selecciona ciudades cercanas según la dirección de tu perfil.", + "where_u_can_work": "¿Dónde puedes trabajar?", + "define_the_zone": "Define la zona en la que trabajas para recibir tareas y oportunidades relevantes:", + "scan_qr_code": "Escanea tu Código QR", + "align_qr_code": "Alinea el código QR dentro del marco. El temporizador comenzará automáticamente una vez que se verifique el código.", + "tips": "Consejos", + "tips_qr": "• Asegúrate de que el código QR esté claro y completamente visible.\n• Una buena iluminación ayuda a un escaneo más rápido.", + "clients_rate": "Calificación del cliente", + "payment_status": "Estado del pago", + "manage_contact_details": "Detalles de contacto del gerente", + "call": "Llamar", + "location": "Ubicación", + "get_direction": "Obtener dirección", + "key_responsibilities": "Responsabilidades clave", + "additional_information": "Información adicional", + "your_shift_canceled": "Tu turno ha sido cancelado", + "please_review_reason": "Revisa el motivo a continuación.", + "canceled_by": "Cancelado por:", + "user": "Usuario", + "admin": "Administrador", + "reason": "Motivo", + "sick_leave": "Baja médica", + "vacation": "Vacaciones", + "other": "Otro", + "health": "Salud", + "transportation": "Transporte", + "personal": "Personal", + "schedule_conflict": "Conflicto de horario", + "accept_shift": "Aceptar turno", + "decline_shift": "Rechazar turno", + "cancel_shift": "Cancelar turno", + "hours": "Horas", + "minutes": "Minutos", + "seconds": "Segundos", + "timer": "Temporizador", + "clock_in": "Registrar entrada", + "clock_out": "Registrar salida", + "reach_location_to_clock_in": "Debes llegar a la ubicación para poder registrar la entrada", + "reach_location_to_clock_out": "You have to reach the location to be able to clock-out", + "oops_something_wrong": "Ups, algo salió mal", + "qr_code_error": "No pudimos leer el código QR.\nPor favor, intenta nuevamente.", + "retry_scanning": "Reintentar escaneo", + "youre_good_to_go": "¡Todo listo!", + "shift_timer_started": "Tu temporizador de turno ha comenzado. ¡Concéntrate y ten un día productivo!", + "lunch_break_reminder": "Por favor toma tu almuerzo antes de\n5 horas de trabajo", + "continue_to_dashboard": "Continuar al Panel", + "ongoing": "En curso", + "completed": "Completado", + "declined": "Rechazado", + "canceled": "Cancelado", + "started": "Iniciado", + "starts_in": "Comienza en {time}", + "assigned_ago": "Asignado hace {time}", + "clock_in_1": "Entrada", + "clock_out_1": "Salida", + "duration": "Duración", + "shift_duration": "Duración del turno", + "break_duration": "Duración del descanso", + "hours_1": "{hours} hora{plural}", + "hours_minutes": "{hours}h {minutes} min", + "zero_hours": "0 horas", + "start": "Iniciar", + "date": "Fecha", + "time": "Hora", + "total_time_breaks": "Tiempo total y descansos", + "break_hours": "Horas de descanso", + "total_hours": "Horas totales", + "assigned": "Asignado", + "confirmed": "Confirmado", + "active": "Activo", + "shift": "Turno", + "your_shifts": "Tus turnos", + "you_currently_have_no_shifts": "Actualmente no tienes turnos", + "earnings_history": "Historial de ganancias", + "period": "Período", + "week": "Semana", + "month": "Mes", + "range": "Rango", + "max_earning": "Ganancia máxima:", + "min_earning": "Ganancia mínima:", + "your_earnings": "Tus ganancias", + "total_worked_hours": "Horas trabajadas en total:", + "select_reason_from_list": "Selecciona un motivo de la lista", + "additional_reasons": "Motivos adicionales", + "incorrect_hours": "Horas incorrectas", + "incorrect_charges": "Cargos incorrectos", + "this_week": "Esta semana", + "this_month": "Este mes", + "your_earnings_are_in": "¡Tus ganancias están listas!", + "you_earned_for_shift": "Has ganado ${} por tu turno {} el {}", + "total_earnings_added": "Tus ganancias totales para este ciclo son ${} y se han añadido a tu saldo.", + "confirm_earning": "Confirmar ganancia", + "dispute_contact_support": "Disputa y Contacta Soporte", + "dispute_earnings": "Disputar Ganancias", + "dispute_message": "Si crees que hay un problema con esta factura, proporciona un motivo para la disputa y cualquier información adicional que ayude a nuestro equipo de soporte a asistirte.", + "submit_dispute": "Enviar Disputa", + "no_history_section": "Actualmente no tienes historial en esta sección", + "end_of_payments_history": "Has llegado al final del historial de pagos", + "new_earning": "Nueva ganancia", + "disputed": "Disputado", + "sent": "Enviado", + "received": "Recibido", + "history": "historial", + "no_history_yet": "Sin historial todavía", + "pending": "Pendiente", + "submitted": "Enviado", + "request_submitted": "Solicitud Enviada", + "request_submitted_message": "Tu solicitud de {} se ha enviado con éxito. Serás notificado una vez que se procese.", + "back_to_profile": "Volver al Perfil", + "request_payment_for": "Solicitar Pago por", + "previous_aborted": "El trabajador anterior se retiró", + "your_benefits_overview": "Resumen de tus Beneficios", + "manage_and_track_benefits": "Administra y sigue tus beneficios obtenidos aquí", + "set_your_availability": "Establece tu Disponibilidad:", + "mark_days_and_times": "Marca los días y horas en los que estás disponible para realizar tareas", + "this_day_only": "Solo este día", + "entire_schedule": "Todo el horario", + "update_schedule": "Actualizar Horario", + "update_schedule_message": "¿Quieres actualizar el horario para todas las ocurrencias futuras o solo para este día?", + "submit_update": "Enviar Actualización", + "delete_schedule": "Eliminar Horario", + "delete_schedule_message": "¿Estás seguro de que deseas eliminar el horario de\ntodos los {}s?", + "slot_details": "Detalles del intervalo", + "time_slots": "Intervalos de tiempo:", + "delete": "Eliminar", + "available": "Disponible", + "not_available": "No Disponible", + "add": "Agregar", + "edit_all": "Editar Todo", + "what_hours_available": "¿En qué horarios estás disponible?", + "start_time": "Hora de Inicio", + "end_time": "Hora de Fin", + "add_slot": "Agregar Intervalo", + "selected_date_details": "Detalles de la fecha seleccionada", + "choose_time": "Elegir hora", + "modify": "Modificar", + "one": "Uno", + "all": "Todos", + "save_slots": "Guardar Intervalos", + "overlap_error": "¡Los intervalos no deben superponerse!", + "invalid_date_format": "Formato de fecha no válido. Prueba MM.dd.aaaa", + "date_cannot_be_past": "La fecha no puede estar en el pasado.", + "email_is_required": "El correo electrónico es obligatorio", + "invalid_email": "Correo electrónico no válido", + "experience_is_required": "La experiencia es obligatoria", + "experience_must_be_a_number": "La experiencia debe ser un número", + "experience_must_be_between_1_and_20": "La experiencia debe estar entre 1 y 20", + "phone_number_is_required": "El número de teléfono es obligatorio", + "invalid_phone_number": "Número de teléfono no válido", + "required": "Obligatorio", + "preview": "Vista previa", + "re-upload": "Volver a subir", + "upload": "Subir", + "enter_u_number": "Ingresa tu número", + "please_select_reason": "Por favor, selecciona un motivo para cancelar tu turno", + "decline_alert": "Alerta de Rechazo", + "mention_reason_declining": "Por favor, menciona el motivo del rechazo", + "agree_and_close": "Aceptar y Cerrar", + "contact_admin": "Contactar al Administrador", + "help_us_understand": "Ayúdanos a Entender: ¿Qué te impidió tomar un descanso?", + "did_you_take_a_break": "¿Tomaste\nun descanso?", + "taking_breaks_essential": "Tomar descansos es esencial para tu bienestar y productividad. Cuéntanos por qué no pudiste tomar uno, así podremos mejorar tu experiencia.", + "taking_regular_breaks": "Tomar descansos regularmente te ayuda a mantenerte productivo y concentrado. ¿Tomaste un descanso durante ${eventName}?", + "yes_i_took_a_break": "Sí, tomé un descanso", + "no_i_didnt_take_a_break": "No, no tomé un descanso", + "submit_break_time": "Enviar Hora del Descanso", + "submit_reason": "Enviar Motivo", + "other_specify": "Otro (Por favor especifica)", + "valid_reasons": "Motivos Válidos:", + "unpredictable_workflows": "Flujos de trabajo impredecibles", + "poor_time_management": "Mala gestión del tiempo", + "lack_of_coverage_or_short_staff": "Falta de cobertura o escasez de personal", + "no_break_area": "Sin área de descanso" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/assets/localization/uk.json b/mobile-apps/staff-app/assets/localization/uk.json new file mode 100644 index 00000000..d0d8893e --- /dev/null +++ b/mobile-apps/staff-app/assets/localization/uk.json @@ -0,0 +1,368 @@ +{ + "contact_support": "Зв’язок і підтримка", + "contact_support_desc": "Ми тут, щоб допомогти! Зв’яжіться з нами через будь-який із наведених нижче каналів, і ми відповімо якнайшвидше.", + "contact_support_desc_2": "Не соромтеся зателефонувати нам у робочий час:", + "for_general": "ЗАГАЛЬНІ ЗАПИТАННЯ:", + "contact_phone:": "КОНТАКТНИЙ ТЕЛЕФОН: ", + "work_that_fits": "Робота, що підходить під ваш графік", + "join_the_community": "Приєднуйтесь до спільноти професіоналів. Знаходьте роботу за секунди — від кейтерингу до кухонного персоналу — і швидко отримуйте оплату.", + "Sign Up": "Зареєструватися", + "Log In": "Увійти", + "Welcome Back!": "З поверненням!", + "Enter Verification Code": "Введіть код підтвердження", + "Enter the 6-digit": "Введіть 6-значний код, надісланий на ваш номер, щоб активувати обліковий запис", + "Phone Verification": "Підтвердження телефону", + "Enter and Continue": "Ввести і продовжити", + "New here?": "Вперше тут?", + "Create an account": "Створити обліковий запис", + "Didn`t get the code?": "Не отримали код?", + "Resend Code": "Надіслати код ще раз", + "in": "у", + "Let's Get Started!": "Почнімо!", + "Log in to find work opportunities that match your skills": "Увійдіть, щоб знайти можливості, що відповідають вашим навичкам", + "Verify your phone number to activate your account": "Підтвердіть номер телефону, щоб активувати обліковий запис", + "Continue": "Продовжити", + "Invalid phone number": "Недійсний номер телефону", + "Invalid code": "Недійсний код", + "Failed to authenticate with Initial Link": "Не вдалося пройти автентифікацію за початковим посиланням", + "Personal Information": "Особиста інформація", + "Emergency contact": "Контакт на випадок надзвичайної ситуації", + "Roles": "Ролі", + "Equipment": "Обладнання", + "Uniform": "Уніформа", + "Working Area": "Робоча зона", + "Availability": "Доступність", + "Bank Account": "Банківський рахунок", + "Wages form": "Форма заробітної плати", + "Certificates": "Сертифікати", + "Background check": "Перевірка біографічних даних", + "finalize_your_profile": "Завершіть налаштування профілю", + "check_profile_verification": "Перевірте, чи все заповнено у списку перевірки профілю", + "not_you": "Це не ви?", + "log_out": "Вийти", + "i_agree_to_the": "Я погоджуюсь з", + "terms_and_conditions": "Правилами та умовами", + "and": "та", + "privacy_policy": "Політикою конфіденційності", + "submit_profile_verification": "Надіслати профіль на перевірку", + "your_account_is_being_verified": "Ваш обліковий запис перевіряється", + "waiting_for_email_interview": "Очікуємо листа з інтерв’ю", + "contact_support_via": "Зв’яжіться з підтримкою через", + "Earnings": "Заробіток", + "Shifts": "Зміни", + "Profile": "Профіль", + "location_and_availability": "Місцезнаходження та доступність", + "what_is_your_address": "Яка ваша адреса?", + "let_us_know_your_home_base": "Вкажіть ваше місце проживання та радіус, у якому ви готові працювати.", + "address": "Адреса", + "select_address": "Виберіть адресу", + "edit_bank_account": "Редагувати банківський рахунок", + "edit_information_below": "Редагуйте інформацію нижче:", + "account_details": "Деталі рахунку:", + "billing_address": "Адреса для виставлення рахунку:", + "field_cant_be_empty": "Поле не може бути порожнім", + "bank_account": "Банківський рахунок", + "securely_manage_bank_account": "Безпечно керуйте банківським рахунком і інформацією про картку, щоб отримувати оплату за роботу. Переконайтесь, що всі дані точні, щоб уникнути затримок при виведенні коштів.", + "your_payment_details": "Ваші платіжні дані:", + "account_holder_name": "Ім’я власника рахунку", + "bank_name": "Назва банку", + "account_number": "Номер рахунку", + "routing_number_us": "Маршрутний номер (для рахунків у США)", + "country": "Країна", + "state": "Штат", + "city": "Місто", + "street_address": "Вулиця", + "apt_suite_building": "Квартира, офіс, будівля", + "zip_code": "Поштовий індекс", + "certificates": "Сертифікати", + "please_indicate_certificates": "Вкажіть, чи маєте ви наступні сертифікати:", + "availability_requires_confirmation": "Доступність потребує підтвердження", + "supported_format": "Підтримувані формати: SVG, JPG, PNG (до 10 МБ кожен)", + "expiration_date": "Дата закінчення терміну дії:", + "listed_certificates_mandatory": "Перелічені сертифікати є обов’язковими для працівників. Якщо працівник не має повного переліку сертифікатів, він не може продовжити реєстрацію.", + "confirm": "Підтвердити", + "expiry_date_1": "Дата завершення дії", + "enter_certificate_expiry_date": "Введіть дату завершення дії сертифіката (MM.dd.yyyy)", + "save_certificate": "Зберегти сертифікат", + "add_certificate_expiry_date": "Додати дату завершення дії сертифіката", + "please_enter_expiry_date": "Будь ласка, введіть дату завершення дії, щоб завершити заповнення інформації про сертифікат.", + "email_verification": "Підтвердження електронної пошти", + "check_your_email": "Перевірте електронну пошту", + "verification_link_sent": "Ми надіслали посилання для підтвердження на {}. Перевірте пошту та дотримуйтесь інструкцій, щоб підтвердити адресу. Вам буде зручніше прийняти лист на цьому пристрої.", + "additional_action_needed": "Потрібні додаткові дії", + "email_verification_security_sensitive": "Підтвердження електронної пошти — це операція, чутлива до безпеки, тому потрібно повторно увійти в систему, щоб продовжити.\nНатисніть кнопку нижче, щоб отримати SMS із кодом входу на номер {}.", + "unable_to_validate_email_status": "Не вдалося перевірити статус електронної пошти. Можливо, ви підтвердили лист з іншого пристрою.\nБудь ласка, увійдіть повторно, щоб продовжити.", + "didnt_receive": "Не отримали лист?\n", + "resend": "Надіслати повторно", + "or": "або", + "contact_support_1": "Зверніться до підтримки", + "save_changes": "Зберегти зміни", + "save_and_continue": "Зберегти і продовжити", + "emergency_contact": "Контакт на випадок надзвичайної ситуації", + "add_emergency_contacts": "Додати контакти на випадок надзвичайної ситуації", + "provide_emergency_contact": "Вкажіть принаймні один контакт, з яким ми можемо зв’язатися у разі надзвичайної ситуації.", + "must_have_one_contact": "Потрібно мати принаймні один екстрений контакт", + "add_more": "Додати ще", + "add_additional_contact": "Додайте ще один екстрений контакт для швидкого реагування у разі потреби.", + "contact_details": "Контакт №{index}:", + "first_name": "Ім’я", + "last_name": "Прізвище", + "phone_number": "Номер телефону", + "faq_description": "Тут ви знайдете відповіді на поширені запитання. Цей список буде доповнюватися новою інформацією.", + "describe_accommodations": "Опишіть будь-які потреби, підтримку чи особливі умови, які допоможуть вам почуватися комфортно на роботі", + "additional_details": "Додаткова інформація", + "enter_main_text": "Введіть основний текст тут...", + "required_to_fill": "Обов’язкове для заповнення", + "inclusive": "Інклюзивність", + "inclusive_information": "Інклюзивна інформація", + "providing_optional_information": "Надання цієї інформації є добровільним і допомагає створити інклюзивне та підтримуюче робоче середовище, адаптоване до ваших потреб", + "specific_accommodations_question": "Чи потрібні вам особливі умови?", + "yes": "Так", + "no": "Ні", + "live_photo": "Фото в реальному часі", + "ensure_meet_requirements": "Переконайтесь, що відповідаєте вимогам", + "stand_in_well_lit_area": "Станьте в добре освітленому місці з чистим фоном.", + "ensure_face_visible": "Переконайтесь, що ваше обличчя чітко видно.", + "avoid_filters_obstructions": "Уникайте фільтрів або перешкод (наприклад, масок, сонцезахисних окулярів).", + "take_photo": "Зробити фото", + "take_new_photo": "Зробити нове фото", + "Pending": "Очікує", + "Verified": "Підтверджено", + "Declined": "Відхилено", + "Photo": "Фото", + "mobility": "Мобільність", + "mobility_information": "Інформація про мобільність", + "help_us_understand_mobility": "Допоможіть нам зрозуміти ваші можливості щодо мобільності, щоб запропонувати вам найкращі варіанти", + "do_you_have_a_car": "У вас є автомобіль?", + "can_you_relocate": "Чи можете ви переїхати в інше місто/штат?", + "lets_get_started": "Давайте почнемо!", + "tell_us_about_yourself": "Розкажіть нам про себе, щоб створити профіль. Для коректної перевірки введіть дані, як у документі.", + "enter_first_name": "Введіть ваше ім’я", + "enter_last_name": "Введіть ваше прізвище", + "middle_name_optional": "По батькові (необов’язково)", + "enter_middle_name": "Введіть по батькові", + "email": "Електронна пошта", + "account_settings": "Налаштування облікового запису", + "profile_settings": "Налаштування профілю", + "work_settings": "Налаштування роботи", + "working_area": "Робоча зона", + "schedule": "Графік", + "verification_center": "Центр перевірки", + "certification": "Сертифікація", + "wages_form": "Форма заробітної плати", + "equipment": "Обладнання", + "uniform": "Уніформа", + "employee_resources": "Ресурси для працівників", + "training": "Навчання", + "benefits": "Пільги", + "help_support": "Допомога та підтримка", + "faq": "Поширені запитання", + "terms_conditions": "Правила та умови", + "available_right_away": "Доступний негайно", + "about_me": "Про мене:", + "role": "Роль", + "experience": "Досвід", + "level": "Рівень", + "years": "років", + "year": "рік", + "personal_info": "Особиста інформація", + "roles": "Ролі", + "remove_my_account": "Видалити мій обліковий запис", + "are_you_sure_delete_account": "Ви впевнені, що хочете видалити обліковий запис?", + "delete_account_warning": "Видалення облікового запису є остаточним і не може бути скасоване. Ви втратите всі дані, включаючи збережені налаштування, історію та будь-який пов’язаний вміст.", + "delete_account": "Видалити обліковий запис", + "cancel": "Скасувати", + "select_u_role": "Оберіть вашу роль", + "what_u_area": "У якій сфері ви спеціалізуєтесь? Виберіть роль, рівень навичок і досвід:", + "add_role": "Додати роль", + "role_details": "Деталі ролі:", + "edit_role": "Редагувати роль", + "Beginner": "Початківець", + "Skilled": "Досвідчений", + "Professional": "Професіонал", + "years_of_exp": "Роки досвіду", + "select_role": "Оберіть роль", + "role_change": "Зміна ролі потребує перевірки", + "change_u_role": "Зміна ролі розпочне новий процес перевірки. Оновлена роль і права будуть активні тільки після затвердження.", + "wont_to_proceed": "Ви впевнені, що хочете продовжити?", + "please_indicate": "Будь ласка, вкажіть, чи маєте ви наступне", + "mandatory_items": "Обов’язкові елементи", + "optional_items": "Необов’язкові елементи", + "confirm_availability": "Підтвердити доступність", + "please_confirm_availability": "Будь ласка, підтвердьте доступність", + "availability_confirmed": "Доступність підтверджено", + "item_checked_in_box": "Елементи, позначені в полі, є обов’язковими для працівників. Якщо працівник не має повного комплекту уніформи, він не може продовжити реєстрацію.", + "confirm_availability_photo": "Будь ласка, підтвердьте доступність, завантаживши фото", + "select_nearby": "Оберіть найближчі міста на основі вашої адреси у профілі.", + "where_u_can_work": "Де ви можете працювати?", + "define_the_zone": "Визначте зону, де ви працюєте, щоб отримувати відповідні завдання та пропозиції:", + "scan_qr_code": "Скануйте ваш QR-код", + "align_qr_code": "Розмістіть QR-код у рамці. Таймер почне роботу автоматично після перевірки коду.", + "tips": "Поради", + "tips_qr": "• Переконайтесь, що QR-код чіткий і повністю видно.\n• Хороше освітлення сприяє швидшому скануванню.", + "clients_rate": "Оцінка клієнта", + "payment_status": "Статус оплати", + "manage_contact_details": "Контактні дані менеджера", + "call": "Дзвінок", + "location": "Місцезнаходження", + "get_direction": "Прокласти маршрут", + "key_responsibilities": "Основні обов’язки", + "additional_information": "Додаткова інформація", + "your_shift_canceled": "Вашу зміну скасовано", + "please_review_reason": "Будь ласка, перегляньте причину нижче.", + "canceled_by": "Скасовано:", + "user": "Користувач", + "admin": "Адміністратор", + "reason": "Причина", + "sick_leave": "Лікарняний", + "vacation": "Відпустка", + "other": "Інше", + "health": "Здоров’я", + "transportation": "Транспорт", + "personal": "Особисте", + "schedule_conflict": "Конфлікт у розкладі", + "accept_shift": "Прийняти зміну", + "decline_shift": "Відхилити зміну", + "cancel_shift": "Скасувати зміну", + "hours": "Години", + "minutes": "Хвилини", + "seconds": "Секунди", + "timer": "Таймер", + "clock_in": "Початок зміни", + "clock_out": "Кінець зміни", + "reach_location_to_clock_in": "Ви повинні прибути на місце, щоб розпочати зміну", + "oops_something_wrong": "Ой, щось пішло не так", + "qr_code_error": "Не вдалося зчитати QR-код.\nСпробуйте ще раз.", + "retry_scanning": "Повторити сканування", + "youre_good_to_go": "Все готово!", + "shift_timer_started": "Таймер вашої зміни запущено. Бажаємо продуктивного дня!", + "lunch_break_reminder": "Будь ласка, зробіть перерву на обід до\n5 годин роботи", + "continue_to_dashboard": "Перейти до панелі керування", + "ongoing": "У процесі", + "completed": "Завершено", + "declined": "Відхилено", + "canceled": "Скасовано", + "started": "Розпочато", + "starts_in": "Починається через {time}", + "assigned_ago": "Призначено {time} тому", + "clock_in_1": "Початок зміни", + "clock_out_1": "Кінець зміни", + "duration": "Тривалість", + "shift_duration": "Тривалість зміни", + "break_duration": "Тривалість перерви", + "hours_1": "{hours} годин{plural}", + "hours_minutes": "{hours} год {minutes} хв", + "zero_hours": "0 годин", + "start": "Початок", + "date": "Дата", + "time": "Час", + "total_time_breaks": "Загальний час та перерви", + "break_hours": "Години перерв", + "total_hours": "Загальна кількість годин", + "assigned": "Призначено", + "confirmed": "Підтверджено", + "active": "Активно", + "shift": "Зміна", + "your_shifts": "Ваші зміни", + "you_currently_have_no_shifts": "У вас наразі немає змін", + "earnings_history": "Історія заробітку", + "period": "Період", + "week": "Тиждень", + "month": "Місяць", + "range": "Діапазон", + "max_earning": "Макс. заробіток:", + "min_earning": "Мін. заробіток:", + "your_earnings": "Ваш заробіток", + "total_worked_hours": "Загальна кількість відпрацьованих годин:", + "select_reason_from_list": "Оберіть причину зі списку", + "additional_reasons": "Додаткові причини", + "incorrect_hours": "Неправильні години", + "incorrect_charges": "Неправильні нарахування", + "this_week": "Цього тижня", + "this_month": "Цього місяця", + "your_earnings_are_in": "Ваш заробіток нараховано!", + "you_earned_for_shift": "Ви заробили ${} за зміну ${} — ${}", + "total_earnings_added": "Загальний заробіток за цей цикл складає ${total_earned} і він доданий до вашого балансу.", + "confirm_earning": "Підтвердити заробіток", + "dispute_contact_support": "Скарга та зв’язок із підтримкою", + "dispute_earnings": "Оскаржити заробіток", + "dispute_message": "Якщо ви вважаєте, що з рахунком є проблема, будь ласка, вкажіть причину скарги та надайте додаткову інформацію для нашої служби підтримки.", + "submit_dispute": "Надіслати скаргу", + "no_history_section": "Наразі у вас немає історії в цьому розділі", + "end_of_payments_history": "Ви дійшли до кінця історії виплат", + "new_earning": "Новий заробіток", + "disputed": "Оскаржено", + "sent": "Надіслано", + "received": "Отримано", + "history": "Історія", + "no_history_yet": "Поки що немає історії", + "pending": "Очікує", + "submitted": "Надіслано", + "request_submitted": "Запит надіслано", + "request_submitted_message": "Ваш запит на {} було успішно надіслано. Ви отримаєте сповіщення, щойно його буде оброблено.", + "back_to_profile": "Назад до профілю", + "request_payment_for": "Запит на оплату за", + "previous_aborted": "Попередній виконавець відмовився", + "your_benefits_overview": "Огляд ваших пільг", + "manage_and_track_benefits": "Керуйте та відстежуйте свої пільги тут", + "set_your_availability": "Встановіть вашу доступність:", + "mark_days_and_times": "Відмітьте дні та час, коли ви доступні для роботи", + "this_day_only": "Тільки цього дня", + "entire_schedule": "Весь розклад", + "update_schedule": "Оновити розклад", + "update_schedule_message": "Бажаєте оновити розклад для всіх майбутніх подій чи лише для цього дня?", + "submit_update": "Надіслати оновлення", + "delete_schedule": "Видалити розклад", + "delete_schedule_message": "Ви впевнені, що хочете видалити розклад на всі {day}?", + "slot_details": "Деталі слоту", + "time_slots": "Часові слоти:", + "delete": "Видалити", + "available": "Доступний", + "not_available": "Недоступний", + "add": "Додати", + "edit_all": "Редагувати все", + "what_hours_available": "У які години ви доступні?", + "start_time": "Час початку", + "end_time": "Час завершення", + "add_slot": "Додати слот", + "selected_date_details": "Деталі вибраної дати", + "choose_time": "Оберіть час", + "modify": "Змінити", + "one": "Один", + "all": "Усі", + "save_slots": "Зберегти слоти", + "overlap_error": "Слоти в розкладі не повинні перетинатися!", + "invalid_date_format": "Неправильний формат дати. Спробуйте MM.dd.yyyy", + "date_cannot_be_past": "Дата не може бути в минулому.", + "email_is_required": "Електронна пошта обов’язкова", + "invalid_email": "Неправильна електронна пошта", + "experience_is_required": "Необхідно вказати досвід", + "experience_must_be_a_number": "Досвід має бути числом", + "experience_must_be_between_1_and_20": "Досвід має бути від 1 до 20 років", + "phone_number_is_required": "Номер телефону обов’язковий", + "invalid_phone_number": "Недійсний номер телефону", + "required": "Обов’язково", + "preview": "Прев’ю", + "re-upload": "Перезавантажити", + "upload": "Завантажити", + "enter_u_number": "Введіть ваш номер", + "please_select_reason": "Будь ласка, виберіть причину скасування вашої зміни", + "decline_alert": "Попередження про відхилення", + "mention_reason_declining": "Будь ласка, вкажіть причину відмови", + "agree_and_close": "Погоджуюсь і закрити", + "contact_admin": "Зв’язатися з адміністратором", + "help_us_understand": "Допоможіть нам зрозуміти: що завадило вам зробити перерву?", + "did_you_take_a_break": "Ви зробили\nперерву?", + "taking_breaks_essential": "Перерви важливі для вашого самопочуття та продуктивності. Повідомте, чому ви не змогли зробити перерву, щоб ми могли покращити ваш досвід.", + "taking_regular_breaks": "Регулярні перерви допомагають залишатися продуктивним і зосередженим. Ви зробили перерву під час ${eventName}?", + "yes_i_took_a_break": "Так, я зробив(ла) перерву", + "no_i_didnt_take_a_break": "Ні, я не зробив(ла) перерву", + "submit_break_time": "Надіслати час перерви", + "submit_reason": "Надіслати причину", + "other_specify": "Інше (вкажіть причину)", + "valid_reasons": "Дійсні причини:", + "unpredictable_workflows": "Непередбачуваний робочий процес", + "poor_time_management": "Погане управління часом", + "lack_of_coverage_or_short_staff": "Брак заміни або недостатня кількість персоналу", + "no_break_area": "Відсутність зони для відпочинку" +} \ No newline at end of file diff --git a/mobile-apps/staff-app/build.yaml b/mobile-apps/staff-app/build.yaml new file mode 100644 index 00000000..e69de29b diff --git a/mobile-apps/staff-app/deploy_dev.sh b/mobile-apps/staff-app/deploy_dev.sh new file mode 100755 index 00000000..28fc4b4c --- /dev/null +++ b/mobile-apps/staff-app/deploy_dev.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +#dart run build_runner build --delete-conflicting-outputs +flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart +flutter build ipa --flavor dev -t lib/main_dev.dart + +cd android +fastlane android deploy_dev +cd ../ios +fastlane ios deploy_prod_tf + +echo "Deployment completed successfully!" \ No newline at end of file diff --git a/mobile-apps/staff-app/deploy_prod.sh b/mobile-apps/staff-app/deploy_prod.sh new file mode 100755 index 00000000..92946c99 --- /dev/null +++ b/mobile-apps/staff-app/deploy_prod.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +#dart run build_runner build --delete-conflicting-outputs +flutter build appbundle --flavor prod --target-platform android-arm,android-arm64,android-x64 +flutter build ipa --flavor prod + +cd android +fastlane android deploy_prod +cd ../ios +fastlane ios deploy_prod_tf + +echo "Deployment completed successfully!" \ No newline at end of file diff --git a/mobile-apps/staff-app/devtools_options.yaml b/mobile-apps/staff-app/devtools_options.yaml new file mode 100644 index 00000000..b0423450 --- /dev/null +++ b/mobile-apps/staff-app/devtools_options.yaml @@ -0,0 +1,5 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: + - provider: true + - shared_preferences: true \ No newline at end of file diff --git a/mobile-apps/staff-app/firebase.json b/mobile-apps/staff-app/firebase.json new file mode 100644 index 00000000..807fcdff --- /dev/null +++ b/mobile-apps/staff-app/firebase.json @@ -0,0 +1,92 @@ +{ + "flutter": { + "platforms": { + "android": { + "default": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:android:f4587798877cbb917757db", + "fileOutput": "android/app/google-services.json" + }, + "buildConfigurations": { + "src/dev": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:android:d49b8c0f4d19e95e7757db", + "fileOutput": "android/app/src/dev/google-services.json" + }, + "src/staging": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:android:6e5031c203f01cc2356bb9", + "fileOutput": "android/app/src/staging/google-services.json" + }, + "src/prod": { + "projectId": "krow-workforce-production", + "appId": "1:705380165824:android:e028f36e679701cbf1e525", + "fileOutput": "android/app/src/prod/google-services.json" + } + } + }, + "ios": { + "default": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:ios:7264452527da24537757db", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/dev/GoogleService-Info.plist" + }, + "buildConfigurations": { + "Debug-dev": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:ios:7264452527da24537757db", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/dev/GoogleService-Info.plist" + }, + "Profile-dev": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:ios:7264452527da24537757db", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/dev/GoogleService-Info.plist" + }, + "Release-dev": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:ios:7264452527da24537757db", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/dev/GoogleService-Info.plist" + }, + "Debug-staging": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:ios:134753083678e855356bb9", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/staging/GoogleService-Info.plist" + }, + "Profile-staging": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:ios:134753083678e855356bb9", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/staging/GoogleService-Info.plist" + }, + "Release-staging": { + "projectId": "krow-workforce-staging", + "appId": "1:1032971403708:ios:134753083678e855356bb9", + "uploadDebugSymbols": false, + "fileOutput": "ios/flavors/staging/GoogleService-Info.plist" + } + } + }, + "dart": { + "lib/firebase_options_dev.dart": { + "projectId": "krow-workforce-dev", + "configurations": { + "android": "1:933560802882:android:d49b8c0f4d19e95e7757db", + "ios": "1:933560802882:ios:7264452527da24537757db" + } + }, + "lib/firebase_options_staging.dart": { + "projectId": "krow-workforce-staging", + "configurations": { + "android": "1:1032971403708:android:6e5031c203f01cc2356bb9", + "ios": "1:1032971403708:ios:134753083678e855356bb9" + } + } + } + } + } +} diff --git a/mobile-apps/staff-app/flutterfire-config.sh b/mobile-apps/staff-app/flutterfire-config.sh new file mode 100644 index 00000000..a92f49bb --- /dev/null +++ b/mobile-apps/staff-app/flutterfire-config.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Script to generate Firebase configuration files for different environments/flavors + +if [[ $# -eq 0 ]]; then + echo "Error: No environment specified. Use 'dev', 'staging', or 'prod'." + exit 1 +fi + +case $1 in + dev) + flutterfire config \ + --project=krow-workforce-dev \ + --out=lib/firebase_options_dev.dart \ + --ios-bundle-id=com.krow.app.staff.dev \ + --ios-out=ios/flavors/dev/GoogleService-Info.plist \ + --android-package-name=com.krow.app.staff.dev \ + --android-out=android/app/src/dev/google-services.json + ;; + staging) + flutterfire config \ + --project=krow-workforce-staging \ + --out=lib/firebase_options_staging.dart \ + --ios-bundle-id=com.krow.app.staff.staging \ + --ios-out=ios/flavors/staging/GoogleService-Info.plist \ + --android-package-name=com.krow.app.staff.staging \ + --android-out=android/app/src/staging/google-services.json + ;; + prod) + flutterfire config \ + --project=krow-workforce-dev \ + --out=lib/firebase_options_dev.dart \ + --ios-bundle-id=com.krow.app.staff.dev \ + --ios-out=ios/flavors/dev/GoogleService-Info.plist \ + --android-package-name=com.krow.app.staff.dev \ + --android-out=android/app/src/dev/google-services.json + ;; + *) + echo "Error: Invalid environment specified. Use 'dev', 'staging', or 'prod'." + exit 1 + ;; +esac diff --git a/mobile-apps/staff-app/ios/.gitignore b/mobile-apps/staff-app/ios/.gitignore new file mode 100644 index 00000000..4d0006e5 --- /dev/null +++ b/mobile-apps/staff-app/ios/.gitignore @@ -0,0 +1,35 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 +fastlane/ diff --git a/mobile-apps/staff-app/ios/Flutter.podspec b/mobile-apps/staff-app/ios/Flutter.podspec new file mode 100644 index 00000000..98e16339 --- /dev/null +++ b/mobile-apps/staff-app/ios/Flutter.podspec @@ -0,0 +1,18 @@ +# +# This podspec is NOT to be published. It is only used as a local source! +# This is a generated file; do not edit or check into version control. +# + +Pod::Spec.new do |s| + s.name = 'Flutter' + s.version = '1.0.0' + s.summary = 'A UI toolkit for beautiful and fast apps.' + s.homepage = 'https://flutter.dev' + s.license = { :type => 'BSD' } + s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } + s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } + s.ios.deployment_target = '12.0' + # Framework linking is handled by Flutter tooling, not CocoaPods. + # Add a placeholder to satisfy `s.dependency 'Flutter'` plugin podspecs. + s.vendored_frameworks = 'path/to/nothing' +end diff --git a/mobile-apps/staff-app/ios/Flutter/AppFrameworkInfo.plist b/mobile-apps/staff-app/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 00000000..1dc6cf76 --- /dev/null +++ b/mobile-apps/staff-app/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 13.0 + + diff --git a/mobile-apps/staff-app/ios/Flutter/Debug.xcconfig b/mobile-apps/staff-app/ios/Flutter/Debug.xcconfig new file mode 100644 index 00000000..ec97fc6f --- /dev/null +++ b/mobile-apps/staff-app/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/mobile-apps/staff-app/ios/Flutter/Release.xcconfig b/mobile-apps/staff-app/ios/Flutter/Release.xcconfig new file mode 100644 index 00000000..aa4c1a5e --- /dev/null +++ b/mobile-apps/staff-app/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig" +#include "Generated.xcconfig" diff --git a/mobile-apps/staff-app/ios/Gemfile b/mobile-apps/staff-app/ios/Gemfile new file mode 100644 index 00000000..cdd3a6b3 --- /dev/null +++ b/mobile-apps/staff-app/ios/Gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem "fastlane" + +plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') +eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/mobile-apps/staff-app/ios/Gemfile.lock b/mobile-apps/staff-app/ios/Gemfile.lock new file mode 100644 index 00000000..034bb85b --- /dev/null +++ b/mobile-apps/staff-app/ios/Gemfile.lock @@ -0,0 +1,227 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.3.2) + aws-partitions (1.1081.0) + aws-sdk-core (3.222.1) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.183.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.227.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.0) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.10.2) + jwt (2.10.1) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.2.1) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.1) + rake (13.2.1) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.1) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-24 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.6.7 diff --git a/mobile-apps/staff-app/ios/GoogleService-Info.plist b/mobile-apps/staff-app/ios/GoogleService-Info.plist new file mode 100644 index 00000000..831dffee --- /dev/null +++ b/mobile-apps/staff-app/ios/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:f559575980734cec24820a + + \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/Podfile b/mobile-apps/staff-app/ios/Podfile new file mode 100644 index 00000000..b8499b71 --- /dev/null +++ b/mobile-apps/staff-app/ios/Podfile @@ -0,0 +1,57 @@ +# Uncomment this line to define a global platform for your project +platform :ios, '15.0' + +## CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +pod 'GoogleMaps' + +# +project 'Runner', { + 'Debug-prod' => :debug, + 'Debug-dev' => :debug, + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, + 'Release-prod' => :release, + 'Release-dev' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' + config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" + + end + end +end diff --git a/mobile-apps/staff-app/ios/Podfile.lock b/mobile-apps/staff-app/ios/Podfile.lock new file mode 100644 index 00000000..a245a516 --- /dev/null +++ b/mobile-apps/staff-app/ios/Podfile.lock @@ -0,0 +1,288 @@ +PODS: + - app_links (0.0.2): + - Flutter + - connectivity_plus (0.0.1): + - Flutter + - Firebase/Auth (11.10.0): + - Firebase/CoreOnly + - FirebaseAuth (~> 11.10.0) + - Firebase/CoreOnly (11.10.0): + - FirebaseCore (~> 11.10.0) + - Firebase/Messaging (11.10.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 11.10.0) + - Firebase/RemoteConfig (11.10.0): + - Firebase/CoreOnly + - FirebaseRemoteConfig (~> 11.10.0) + - firebase_auth (5.5.2): + - Firebase/Auth (= 11.10.0) + - firebase_core + - Flutter + - firebase_core (3.13.0): + - Firebase/CoreOnly (= 11.10.0) + - Flutter + - firebase_messaging (15.2.5): + - Firebase/Messaging (= 11.10.0) + - firebase_core + - Flutter + - firebase_remote_config (5.4.3): + - Firebase/RemoteConfig (= 11.10.0) + - firebase_core + - Flutter + - FirebaseABTesting (11.10.0): + - FirebaseCore (~> 11.10.0) + - FirebaseAppCheckInterop (11.10.0) + - FirebaseAuth (11.10.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.10.0) + - FirebaseCoreExtension (~> 11.10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) + - RecaptchaInterop (~> 101.0) + - FirebaseAuthInterop (11.10.0) + - FirebaseCore (11.10.0): + - FirebaseCoreInternal (~> 11.10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.10.0): + - FirebaseCore (~> 11.10.0) + - FirebaseCoreInternal (11.10.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseInstallations (11.10.0): + - FirebaseCore (~> 11.10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseMessaging (11.10.0): + - FirebaseCore (~> 11.10.0) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Reachability (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) + - FirebaseRemoteConfig (11.10.0): + - FirebaseABTesting (~> 11.0) + - FirebaseCore (~> 11.10.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSharedSwift (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseRemoteConfigInterop (11.12.0) + - FirebaseSharedSwift (11.12.0) + - Flutter (1.0.0) + - flutter_background_service_ios (0.0.3): + - Flutter + - geolocator_apple (1.2.0): + - Flutter + - Google-Maps-iOS-Utils (6.1.0): + - GoogleMaps (~> 9.0) + - google_maps_flutter_ios (0.0.1): + - Flutter + - Google-Maps-iOS-Utils (< 7.0, >= 5.0) + - GoogleMaps (< 10.0, >= 8.4) + - GoogleDataTransport (10.1.0): + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - GoogleMaps (9.4.0): + - GoogleMaps/Maps (= 9.4.0) + - GoogleMaps/Maps (9.4.0) + - GoogleUtilities/AppDelegateSwizzler (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): + - GoogleUtilities/Environment + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GTMSessionFetcher/Core (4.4.0) + - image_picker_ios (0.0.1): + - Flutter + - map_launcher (0.0.1): + - Flutter + - MTBBarcodeScanner (5.0.11) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) + - package_info_plus (0.4.5): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter + - PromisesObjC (2.4.0) + - qr_code_scanner_plus (0.2.6): + - Flutter + - MTBBarcodeScanner + - RecaptchaInterop (101.0.0) + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - sqflite_darwin (0.0.4): + - Flutter + - FlutterMacOS + - url_launcher_ios (0.0.1): + - Flutter + - workmanager (0.0.1): + - Flutter + +DEPENDENCIES: + - app_links (from `.symlinks/plugins/app_links/ios`) + - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) + - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) + - firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`) + - Flutter (from `Flutter`) + - flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`) + - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) + - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) + - GoogleMaps + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - map_launcher (from `.symlinks/plugins/map_launcher/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - qr_code_scanner_plus (from `.symlinks/plugins/qr_code_scanner_plus/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + - workmanager (from `.symlinks/plugins/workmanager/ios`) + +SPEC REPOS: + trunk: + - Firebase + - FirebaseABTesting + - FirebaseAppCheckInterop + - FirebaseAuth + - FirebaseAuthInterop + - FirebaseCore + - FirebaseCoreExtension + - FirebaseCoreInternal + - FirebaseInstallations + - FirebaseMessaging + - FirebaseRemoteConfig + - FirebaseRemoteConfigInterop + - FirebaseSharedSwift + - Google-Maps-iOS-Utils + - GoogleDataTransport + - GoogleMaps + - GoogleUtilities + - GTMSessionFetcher + - MTBBarcodeScanner + - nanopb + - PromisesObjC + - RecaptchaInterop + +EXTERNAL SOURCES: + app_links: + :path: ".symlinks/plugins/app_links/ios" + connectivity_plus: + :path: ".symlinks/plugins/connectivity_plus/ios" + firebase_auth: + :path: ".symlinks/plugins/firebase_auth/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" + firebase_messaging: + :path: ".symlinks/plugins/firebase_messaging/ios" + firebase_remote_config: + :path: ".symlinks/plugins/firebase_remote_config/ios" + Flutter: + :path: Flutter + flutter_background_service_ios: + :path: ".symlinks/plugins/flutter_background_service_ios/ios" + geolocator_apple: + :path: ".symlinks/plugins/geolocator_apple/ios" + google_maps_flutter_ios: + :path: ".symlinks/plugins/google_maps_flutter_ios/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + map_launcher: + :path: ".symlinks/plugins/map_launcher/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + qr_code_scanner_plus: + :path: ".symlinks/plugins/qr_code_scanner_plus/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + workmanager: + :path: ".symlinks/plugins/workmanager/ios" + +SPEC CHECKSUMS: + app_links: 76b66b60cc809390ca1ad69bfd66b998d2387ac7 + connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd + Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2 + firebase_auth: 34c515a8fa76a4ef678ac5ad5cfa3bb3120f5ab5 + firebase_core: 2d4534e7b489907dcede540c835b48981d890943 + firebase_messaging: 75bc93a4df25faccad67f6662ae872ac9ae69b64 + firebase_remote_config: c20b15c34b138104c1a971d83ea36bc3dd626ab8 + FirebaseABTesting: dfc10eb6cc08fe3b391ac9e5aa40396d43ea6675 + FirebaseAppCheckInterop: 9664c858489710f682766ef54e2b6741d3b62070 + FirebaseAuth: c4146bdfdc87329f9962babd24dae89373f49a32 + FirebaseAuthInterop: 01a804fb074424fd58b92dd50dd0272277199356 + FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7 + FirebaseCoreExtension: 6f357679327f3614e995dc7cf3f2d600bdc774ac + FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679 + FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3 + FirebaseMessaging: 2b9f56aa4ed286e1f0ce2ee1d413aabb8f9f5cb9 + FirebaseRemoteConfig: 10695bc0ce3b103e3706a5578c43f2a9f69d5aaa + FirebaseRemoteConfigInterop: 82b81fd06ee550cbeff40004e2c106daedf73e38 + FirebaseSharedSwift: d2475748a2d2a36242ed13baa34b2acda846c925 + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 + flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e + geolocator_apple: 1560c3c875af2a412242c7a923e15d0d401966ff + Google-Maps-iOS-Utils: 0a484b05ed21d88c9f9ebbacb007956edd508a96 + google_maps_flutter_ios: 0291eb2aa252298a769b04d075e4a9d747ff7264 + GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 + GoogleMaps: 0608099d4870cac8754bdba9b6953db543432438 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + GTMSessionFetcher: 75b671f9e551e4c49153d4c4f8659ef4f559b970 + image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a + map_launcher: fe43bda6720bb73c12fcc1bdd86123ff49a4d4d6 + MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 + package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 + path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 + permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + qr_code_scanner_plus: 7e087021bc69873140e0754750eb87d867bed755 + RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba + shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + url_launcher_ios: 694010445543906933d732453a59da0a173ae33d + workmanager: 01be2de7f184bd15de93a1812936a2b7f42ef07e + +PODFILE CHECKSUM: a26a39932cc5997913d03f2bf141df81e0a7a9c9 + +COCOAPODS: 1.16.2 diff --git a/mobile-apps/staff-app/ios/Release-prod.xcconfig b/mobile-apps/staff-app/ios/Release-prod.xcconfig new file mode 100644 index 00000000..aa4c1a5e --- /dev/null +++ b/mobile-apps/staff-app/ios/Release-prod.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig" +#include "Generated.xcconfig" diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/project.pbxproj b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..ea93fe6c --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,1625 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3A3937F9F3E662E21D5BBB45 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 660E56203869F887273FF658 /* Pods_Runner.framework */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 50E10F073A4524744643C87D /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = ED3C13841570853F59ED6520 /* GoogleService-Info.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + F526E6A82FEEED8DA7E90860 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFD17284591B2EAD882D006F /* Pods_RunnerTests.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0E3AB090EB0A2B4554948724 /* Pods-Runner.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-dev.xcconfig"; sourceTree = ""; }; + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 523F27A18D19CA93F8044956 /* Pods-Runner.profile-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-staging.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-staging.xcconfig"; sourceTree = ""; }; + 5CB39F870D09A26CE4244638 /* Pods-RunnerTests.debug-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-dev.xcconfig"; sourceTree = ""; }; + 660E56203869F887273FF658 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 67473C6ECC78BD68FFBBFF48 /* Pods-RunnerTests.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-prod.xcconfig"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7D6A6AE8A91A0F5F565FF84E /* Pods-Runner.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-dev.xcconfig"; sourceTree = ""; }; + 8B92EB462D5FB17D007419B4 /* Release-prod.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Release-prod.xcconfig"; sourceTree = ""; }; + 8B92EB502D5FC0A8007419B4 /* Flutter.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:S8QB4VV633:FLUTTER.IO LLC"; lastKnownFileType = wrapper.xcframework; name = Flutter.xcframework; path = "../../../src/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework"; sourceTree = ""; }; + 8B92EB552D5FC157007419B4 /* google_maps_flutter_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = google_maps_flutter_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8B92EB562D5FC157007419B4 /* GoogleMaps.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GoogleMaps.xcframework; path = Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.xcframework; sourceTree = ""; }; + 8B92EB612D65125E007419B4 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; + 8BBA6BE02D3FC8B500FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 8BBA6BE92D3FCC3000FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 8BBA6BEB2D3FCC5000FDA749 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 911B9DC6E7871546D6211ECF /* Pods-Runner.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-dev.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-dev.xcconfig"; sourceTree = ""; }; + 91344055015F144BF1C6BC4D /* Pods-RunnerTests.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-prod.xcconfig"; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9885795B6FEF5B2F19BEB4B2 /* Pods-Runner.debug-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-staging.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-staging.xcconfig"; sourceTree = ""; }; + B609DE15B754E1CBA27B98D2 /* Pods-RunnerTests.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-prod.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-prod.xcconfig"; sourceTree = ""; }; + B7B4435DC701BDFEF389C3A9 /* Pods-Runner.debug-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug-prod.xcconfig"; sourceTree = ""; }; + C39A9A0CB31D7FE8D7D5C515 /* Pods-RunnerTests.debug-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug-staging.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug-staging.xcconfig"; sourceTree = ""; }; + D0F9545F532A409F5A510FF3 /* Pods-RunnerTests.release-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-staging.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-staging.xcconfig"; sourceTree = ""; }; + D9FF99F5DC9801794D8908BE /* Pods-Runner.release-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-prod.xcconfig"; sourceTree = ""; }; + DBC30EC7B8594866427362DC /* Pods-RunnerTests.profile-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-dev.xcconfig"; sourceTree = ""; }; + DE8153EC60EF986EDDD5048C /* Pods-Runner.release-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release-staging.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release-staging.xcconfig"; sourceTree = ""; }; + DFD17284591B2EAD882D006F /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ED3C13841570853F59ED6520 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; + EF8D46F206E333CAEAABC1C1 /* Pods-RunnerTests.profile-staging.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile-staging.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile-staging.xcconfig"; sourceTree = ""; }; + FDCC266E9BE66F4211B5EAD1 /* Pods-Runner.profile-prod.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile-prod.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile-prod.xcconfig"; sourceTree = ""; }; + FF385BC32CFC6A9C3BAFBF8F /* Pods-RunnerTests.release-dev.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release-dev.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release-dev.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3A3937F9F3E662E21D5BBB45 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C5799E47608868A3F1D01B38 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F526E6A82FEEED8DA7E90860 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 4CE36354F3B938D708BA09DD /* Pods */ = { + isa = PBXGroup; + children = ( + ); + path = Pods; + sourceTree = ""; + }; + 6C2A9A7C9A2827B6C698C0E8 /* Pods */ = { + isa = PBXGroup; + children = ( + B7B4435DC701BDFEF389C3A9 /* Pods-Runner.debug-prod.xcconfig */, + 0E3AB090EB0A2B4554948724 /* Pods-Runner.debug-dev.xcconfig */, + D9FF99F5DC9801794D8908BE /* Pods-Runner.release-prod.xcconfig */, + 911B9DC6E7871546D6211ECF /* Pods-Runner.release-dev.xcconfig */, + FDCC266E9BE66F4211B5EAD1 /* Pods-Runner.profile-prod.xcconfig */, + 7D6A6AE8A91A0F5F565FF84E /* Pods-Runner.profile-dev.xcconfig */, + B609DE15B754E1CBA27B98D2 /* Pods-RunnerTests.debug-prod.xcconfig */, + 5CB39F870D09A26CE4244638 /* Pods-RunnerTests.debug-dev.xcconfig */, + 91344055015F144BF1C6BC4D /* Pods-RunnerTests.release-prod.xcconfig */, + FF385BC32CFC6A9C3BAFBF8F /* Pods-RunnerTests.release-dev.xcconfig */, + 67473C6ECC78BD68FFBBFF48 /* Pods-RunnerTests.profile-prod.xcconfig */, + DBC30EC7B8594866427362DC /* Pods-RunnerTests.profile-dev.xcconfig */, + 9885795B6FEF5B2F19BEB4B2 /* Pods-Runner.debug-staging.xcconfig */, + DE8153EC60EF986EDDD5048C /* Pods-Runner.release-staging.xcconfig */, + 523F27A18D19CA93F8044956 /* Pods-Runner.profile-staging.xcconfig */, + C39A9A0CB31D7FE8D7D5C515 /* Pods-RunnerTests.debug-staging.xcconfig */, + D0F9545F532A409F5A510FF3 /* Pods-RunnerTests.release-staging.xcconfig */, + EF8D46F206E333CAEAABC1C1 /* Pods-RunnerTests.profile-staging.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 8BBA6BE12D3FC8B500FDA749 /* dev */ = { + isa = PBXGroup; + children = ( + 8BBA6BE02D3FC8B500FDA749 /* GoogleService-Info.plist */, + ); + path = dev; + sourceTree = ""; + }; + 8BBA6BE32D3FC8B500FDA749 /* prod */ = { + isa = PBXGroup; + children = ( + 8BBA6BEB2D3FCC5000FDA749 /* GoogleService-Info.plist */, + ); + path = prod; + sourceTree = ""; + }; + 8BBA6BE42D3FC8B500FDA749 /* config */ = { + isa = PBXGroup; + children = ( + 8BBA6BE12D3FC8B500FDA749 /* dev */, + 8BBA6BE32D3FC8B500FDA749 /* prod */, + ); + path = config; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 8B92EB462D5FB17D007419B4 /* Release-prod.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 8BBA6BE42D3FC8B500FDA749 /* config */, + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + 6C2A9A7C9A2827B6C698C0E8 /* Pods */, + 4CE36354F3B938D708BA09DD /* Pods */, + 8BBA6BE92D3FCC3000FDA749 /* GoogleService-Info.plist */, + 97F61C764D85E473B8C21EAD /* Frameworks */, + ED3C13841570853F59ED6520 /* GoogleService-Info.plist */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 8B92EB612D65125E007419B4 /* Runner.entitlements */, + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + 97F61C764D85E473B8C21EAD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 8B92EB552D5FC157007419B4 /* google_maps_flutter_ios.framework */, + 8B92EB562D5FC157007419B4 /* GoogleMaps.xcframework */, + 8B92EB502D5FC0A8007419B4 /* Flutter.xcframework */, + 660E56203869F887273FF658 /* Pods_Runner.framework */, + DFD17284591B2EAD882D006F /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 8CAFD7DF8038D523E8A1B3B4 /* [CP] Check Pods Manifest.lock */, + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + C5799E47608868A3F1D01B38 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 4BD19FF8EF96277EE3A4AD9D /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 8BBA6BE72D3FC8D400FDA749 /* copy googleservices */, + 97C146EC1CF9000F007C117D /* Resources */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 924B93AB74D97EF4B42824EC /* [CP] Embed Pods Frameworks */, + 8A3E049698DB74713226DAC2 /* [CP] Copy Pods Resources */, + 2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + 50E10F073A4524744643C87D /* GoogleService-Info.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "FlutterFire: \"flutterfire bundle-service-file\""; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\nflutterfire bundle-service-file --plist-destination=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\" --build-configuration=${CONFIGURATION} --platform=ios --apple-project-path=\"${SRCROOT}\"\n"; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 4BD19FF8EF96277EE3A4AD9D /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 8A3E049698DB74713226DAC2 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8BBA6BE72D3FC8D400FDA749 /* copy googleservices */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "copy googleservices"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "environment=\"default\"\n\n# Regex to extract the scheme name from the Build Configuration\n# We have named our Build Configurations as Debug-dev, Debug-prod etc.\n# Here, dev and prod are the scheme names. This kind of naming is required by Flutter for flavors to work.\n# We are using the $CONFIGURATION variable available in the XCode build environment to extract \n# the environment (or flavor)\n# For eg.\n# If CONFIGURATION=\"Debug-prod\", then environment will get set to \"prod\".\nif [[ $CONFIGURATION =~ -([^-]*)$ ]]; then\nenvironment=${BASH_REMATCH[1]}\nfi\n\necho $environment\n\n# Name and path of the resource we're copying\nGOOGLESERVICE_INFO_PLIST=GoogleService-Info.plist\nGOOGLESERVICE_INFO_FILE=${PROJECT_DIR}/config/${environment}/${GOOGLESERVICE_INFO_PLIST}\n\n# Make sure GoogleService-Info.plist exists\necho \"Looking for ${GOOGLESERVICE_INFO_PLIST} in ${GOOGLESERVICE_INFO_FILE}\"\nif [ ! -f $GOOGLESERVICE_INFO_FILE ]\nthen\necho \"No GoogleService-Info.plist found. Please ensure it's in the proper directory.\"\nexit 1\nfi\n\n# Get a reference to the destination location for the GoogleService-Info.plist\n# This is the default location where Firebase init code expects to find GoogleServices-Info.plist file\nPLIST_DESTINATION=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho \"Will copy ${GOOGLESERVICE_INFO_PLIST} to final destination: ${PLIST_DESTINATION}\"\n\n# Copy over the prod GoogleService-Info.plist for Release builds\ncp \"${GOOGLESERVICE_INFO_FILE}\" \"${PLIST_DESTINATION}\"\n"; + }; + 8CAFD7DF8038D523E8A1B3B4 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 924B93AB74D97EF4B42824EC /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-prod"; + }; + 249021D4217E4FDB00AE95B9 /* Profile-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + FLUTTER_TARGET = "/Users/achinthaisuru/Documents/Github/krow-workforce/mobile-apps/staff-app/lib/main.dart"; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.prod; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-prod"; + }; + 331C8088294A63A400263BE5 /* Debug-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B609DE15B754E1CBA27B98D2 /* Pods-RunnerTests.debug-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-prod"; + }; + 331C8089294A63A400263BE5 /* Release-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 91344055015F144BF1C6BC4D /* Pods-RunnerTests.release-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-prod"; + }; + 331C808A294A63A400263BE5 /* Profile-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 67473C6ECC78BD68FFBBFF48 /* Pods-RunnerTests.profile-prod.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-prod"; + }; + 8BBA6BD72D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-dev"; + }; + 8BBA6BD82D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-dev"; + }; + 8BBA6BD92D3FC5E600FDA749 /* Debug-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5CB39F870D09A26CE4244638 /* Pods-RunnerTests.debug-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-dev"; + }; + 8BBA6BDA2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-dev"; + }; + 8BBA6BDB2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + FLUTTER_TARGET = "/Users/achinthaisuru/Documents/Github/krow-workforce/mobile-apps/staff-app/lib/main_dev.dart"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Google-Maps-iOS-Utils\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MTBBarcodeScanner\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/connectivity_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_auth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/google_maps_flutter_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/map_launcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/path_provider_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/qr_code_scanner_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/sqflite_darwin\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/url_launcher_ios\"", + "\"${PODS_ROOT}/GoogleMaps/Maps/Frameworks\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMaps/Maps\"", + "$(SRCROOT)", + ); + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-dev"; + }; + 8BBA6BDC2D3FC5F100FDA749 /* Release-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FF385BC32CFC6A9C3BAFBF8F /* Pods-RunnerTests.release-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-dev"; + }; + 8BBA6BDD2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-dev"; + }; + 8BBA6BDE2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff dev"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.dev; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-dev"; + }; + 8BBA6BDF2D3FC5F900FDA749 /* Profile-dev */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DBC30EC7B8594866427362DC /* Pods-RunnerTests.profile-dev.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-dev"; + }; + 97C147031CF9000F007C117D /* Debug-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-prod"; + }; + 97C147041CF9000F007C117D /* Release-prod */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-prod"; + }; + 97C147061CF9000F007C117D /* Debug-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + FLUTTER_TARGET = "/Users/achinthaisuru/Documents/Github/krow-workforce/mobile-apps/staff-app/lib/main.dart"; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.prod; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-prod"; + }; + 97C147071CF9000F007C117D /* Release-prod */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + FLUTTER_TARGET = "/Users/achinthaisuru/Documents/Github/krow-workforce/mobile-apps/staff-app/lib/main.dart"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Google-Maps-iOS-Utils\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MTBBarcodeScanner\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/connectivity_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_auth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/google_maps_flutter_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/map_launcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/path_provider_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/qr_code_scanner_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/sqflite_darwin\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/url_launcher_ios\"", + "\"${PODS_ROOT}/GoogleMaps/Maps/Frameworks\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMaps/Maps\"", + "$(SRCROOT)", + "$(PROJECT_DIR)/Flutter", + "$(BUILT_PRODUCTS_DIR)", + ); + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.prod; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-prod"; + }; + BC747CBE2ECBE91300D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = "Debug-staging"; + }; + BC747CBF2ECBE91300D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Debug-staging"; + }; + BC747CC02ECBE91300D4AE69 /* Debug-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C39A9A0CB31D7FE8D7D5C515 /* Pods-RunnerTests.debug-staging.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Debug-staging"; + }; + BC747CC12ECBE91E00D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Profile-staging"; + }; + BC747CC22ECBE91E00D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Profile-staging"; + }; + BC747CC32ECBE91E00D4AE69 /* Profile-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = EF8D46F206E333CAEAABC1C1 /* Pods-RunnerTests.profile-staging.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Profile-staging"; + }; + BC747CC42ECBE92900D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = "Release-staging"; + }; + BC747CC52ECBE92900D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + APP_DISPLAY_NAME = "Krow Staff staging"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + DEVELOPMENT_TEAM = XVAT9L6L9Z; + ENABLE_BITCODE = NO; + FLUTTER_TARGET = "/Users/achinthaisuru/Documents/Github/krow-workforce/mobile-apps/staff-app/lib/main_dev.dart"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Google-Maps-iOS-Utils\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/MTBBarcodeScanner\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/connectivity_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_auth\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/firebase_core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/google_maps_flutter_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker_ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/map_launcher\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/path_provider_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/qr_code_scanner_plus\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences_foundation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/sqflite_darwin\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/url_launcher_ios\"", + "\"${PODS_ROOT}/GoogleMaps/Maps/Frameworks\"", + "\"${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMaps/Maps\"", + "$(SRCROOT)", + ); + INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "$(SRCROOT)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.staging; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = "Release-staging"; + }; + BC747CC62ECBE92900D4AE69 /* Release-staging */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D0F9545F532A409F5A510FF3 /* Pods-RunnerTests.release-staging.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 111; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.krow.app.staff.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = "Release-staging"; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug-prod */, + 8BBA6BD92D3FC5E600FDA749 /* Debug-dev */, + BC747CC02ECBE91300D4AE69 /* Debug-staging */, + 331C8089294A63A400263BE5 /* Release-prod */, + 8BBA6BDC2D3FC5F100FDA749 /* Release-dev */, + BC747CC62ECBE92900D4AE69 /* Release-staging */, + 331C808A294A63A400263BE5 /* Profile-prod */, + 8BBA6BDF2D3FC5F900FDA749 /* Profile-dev */, + BC747CC32ECBE91E00D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug-prod */, + 8BBA6BD72D3FC5E600FDA749 /* Debug-dev */, + BC747CBE2ECBE91300D4AE69 /* Debug-staging */, + 97C147041CF9000F007C117D /* Release-prod */, + 8BBA6BDA2D3FC5F100FDA749 /* Release-dev */, + BC747CC42ECBE92900D4AE69 /* Release-staging */, + 249021D3217E4FDB00AE95B9 /* Profile-prod */, + 8BBA6BDD2D3FC5F900FDA749 /* Profile-dev */, + BC747CC12ECBE91E00D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug-prod */, + 8BBA6BD82D3FC5E600FDA749 /* Debug-dev */, + BC747CBF2ECBE91300D4AE69 /* Debug-staging */, + 97C147071CF9000F007C117D /* Release-prod */, + 8BBA6BDB2D3FC5F100FDA749 /* Release-dev */, + BC747CC52ECBE92900D4AE69 /* Release-staging */, + 249021D4217E4FDB00AE95B9 /* Profile-prod */, + 8BBA6BDE2D3FC5F900FDA749 /* Profile-dev */, + BC747CC22ECBE91E00D4AE69 /* Profile-staging */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = "Release-prod"; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme new file mode 100644 index 00000000..eed3f671 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/dev.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme new file mode 100644 index 00000000..cdaf6450 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/prod.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme new file mode 100644 index 00000000..3a03ae05 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcworkspace/contents.xcworkspacedata b/mobile-apps/staff-app/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..21a3cc14 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/mobile-apps/staff-app/ios/Runner/AppDelegate.swift b/mobile-apps/staff-app/ios/Runner/AppDelegate.swift new file mode 100644 index 00000000..e29fa076 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/AppDelegate.swift @@ -0,0 +1,26 @@ +import Flutter +import UIKit +import GoogleMaps +import flutter_background_service_ios +//import workmanager + + + + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GMSServices.provideAPIKey("AIzaSyDkUk8zB_rzGkQ8fbNACifyvBpSmbkBLXc") + + SwiftFlutterBackgroundServicePlugin.taskIdentifier = "shift.flutter_background_service" +// WorkmanagerPlugin.registerPeriodicTask(withIdentifier: "be.tramckrijte.workmanagerExample.iOSBackgroundAppRefresh", frequency: NSNumber(value: 20 * 60)) + + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} + + diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d0d98aa1 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1 @@ +{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 00000000..a4e27cb8 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 00000000..e8a0e98e Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 00000000..31adf542 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 00000000..ab2a4d32 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 00000000..b4fd03f9 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 00000000..60876d70 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 00000000..2222f2a6 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 00000000..31adf542 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 00000000..e1698c3e Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 00000000..2c6c319c Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 00000000..28518ca7 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 00000000..da7ece04 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 00000000..2aba981b Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png new file mode 100644 index 00000000..2f9542fc Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 00000000..2c6c319c Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 00000000..416b3c4b Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 00000000..1ef96663 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 00000000..d511631f Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 00000000..b44e41be Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 00000000..42aeffe3 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 00000000..9d95935f Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-1024x1024@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-1024x1024@1x.png new file mode 100644 index 00000000..96f22f95 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-1024x1024@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@1x.png new file mode 100644 index 00000000..8ef8c8c6 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@2x.png new file mode 100644 index 00000000..8a54f32d Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@3x.png new file mode 100644 index 00000000..a114d1ef Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-20x20@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@1x.png new file mode 100644 index 00000000..c046901c Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@2x.png new file mode 100644 index 00000000..42d9e09c Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@3x.png new file mode 100644 index 00000000..1e7d8128 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-29x29@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@1x.png new file mode 100644 index 00000000..8a54f32d Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@2x.png new file mode 100644 index 00000000..8ff2b7c2 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@3x.png new file mode 100644 index 00000000..46a561f6 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-40x40@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@1x.png new file mode 100644 index 00000000..4b1ffc33 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@2x.png new file mode 100644 index 00000000..f976e08d Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-50x50@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@1x.png new file mode 100644 index 00000000..993b90ec Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@2x.png new file mode 100644 index 00000000..b5b1d4dd Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-57x57@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@2x.png new file mode 100644 index 00000000..46a561f6 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@3x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@3x.png new file mode 100644 index 00000000..ad9b0a8e Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-60x60@3x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@1x.png new file mode 100644 index 00000000..e722c82a Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@2x.png new file mode 100644 index 00000000..4eb69ee6 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-72x72@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@1x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@1x.png new file mode 100644 index 00000000..6d112733 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@1x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@2x.png new file mode 100644 index 00000000..d65bcb47 Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-76x76@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-83.5x83.5@2x.png b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-83.5x83.5@2x.png new file mode 100644 index 00000000..d66f43bc Binary files /dev/null and b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/AppIconDev-83.5x83.5@2x.png differ diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json new file mode 100644 index 00000000..abdd13c3 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/AppIconDev.appiconset/Contents.json @@ -0,0 +1,158 @@ +{ + "images" : [ + { + "filename" : "AppIconDev-20x20@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "AppIconDev-20x20@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "AppIconDev-29x29@1x.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "AppIconDev-29x29@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "AppIconDev-29x29@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "AppIconDev-40x40@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "AppIconDev-40x40@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "AppIconDev-57x57@1x.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "filename" : "AppIconDev-57x57@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "AppIconDev-60x60@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "AppIconDev-60x60@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "AppIconDev-20x20@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "AppIconDev-20x20@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "AppIconDev-29x29@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "AppIconDev-29x29@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "AppIconDev-40x40@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "AppIconDev-40x40@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "AppIconDev-50x50@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "filename" : "AppIconDev-50x50@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "filename" : "AppIconDev-72x72@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "filename" : "AppIconDev-72x72@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "filename" : "AppIconDev-76x76@1x.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "AppIconDev-76x76@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "AppIconDev-83.5x83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "AppIconDev-1024x1024@1x.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/mobile-apps/staff-app/ios/Runner/Assets.xcassets/Contents.json b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/mobile-apps/staff-app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mobile-apps/staff-app/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..f2e259c7 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner/Base.lproj/Main.storyboard b/mobile-apps/staff-app/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 00000000..f3c28516 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mobile-apps/staff-app/ios/Runner/GoogleService-Info.plist b/mobile-apps/staff-app/ios/Runner/GoogleService-Info.plist new file mode 100644 index 00000000..ce5d36c6 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 933560802882-qgbq6m04moicvkff2b3i6p9agu7i4gou.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.933560802882-qgbq6m04moicvkff2b3i6p9agu7i4gou + API_KEY + AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA + GCM_SENDER_ID + 933560802882 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.dev + PROJECT_ID + krow-workforce-dev + STORAGE_BUCKET + krow-workforce-dev.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:933560802882:ios:07becdd41ac6ca627757db + + \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/Runner/Info.plist b/mobile-apps/staff-app/ios/Runner/Info.plist new file mode 100644 index 00000000..03ab9a3b --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Info.plist @@ -0,0 +1,174 @@ + + + + + NSUserNotificationsUsageDescription + We need access if you wont fetch notifications. + BGTaskSchedulerPermittedIdentifiers + + shift.flutter_background_service + dev.flutter.background.refresh + be.tramckrijte.workmanagerExample.iOSBackgroundAppRefresh + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + $(APP_DISPLAY_NAME) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(APP_DISPLAY_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.28 + CFBundleSignature + ???? + CFBundleURLSchemes + + krow + + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-c137c6ad1ab50aa024820a + CFBundleURLSchemes + + app-1-14482748607-ios-c137c6ad1ab50aa024820a + + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-e9de2581da61f86924820a + CFBundleURLSchemes + + app-1-14482748607-ios-e9de2581da61f86924820a + + + + CFBundleTypeRole + Editor + CFBundleURLName + krow + CFBundleURLSchemes + + krow + + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-f559575980734cec24820a + CFBundleURLSchemes + + app-1-14482748607-ios-f559575980734cec24820a + + + + CFBundleTypeRole + Editor + CFBundleURLName + app-1-14482748607-ios-c410fc4b165d205524820a + CFBundleURLSchemes + + app-1-14482748607-ios-c410fc4b165d205524820a + + + + CFBundleTypeRole + Editor + CFBundleURLName + com.krow.app.staff + CFBundleURLSchemes + + krowappstaff + + + + CFBundleVersion + 111 + FirebaseAppDelegateProxyEnabled + + FlutterDeepLinkingEnabled + + ITSAppUsesNonExemptEncryption + + LSApplicationQueriesSchemes + + sms + tel + comgooglemaps + baidumap + iosamap + waze + yandexmaps + yandexnavi + citymapper + mapswithme + osmandmaps + dgis + qqmap + here-location + tomtomgo + copilot + com.sygic.aura + nmap + kakaomap + tmap + szn-mapy + mappls + + LSRequiresIPhoneOS + + NSCameraUsageDescription + We need access to your camera to take photos for profile and scan the QR in shift. + NSLocationAlwaysAndWhenInUseUsageDescription + We need access to your location for clockin. + NSLocationWhenInUseUsageDescription + We need access to your location for clock-in functionality + NSLocationAlwaysUsageDescription + We need access to your location for clockin. + NSPhotoLibraryAddUsageDescription + We need access to save photos to your library. + NSPhotoLibraryUsageDescription + We need access to your photo library to select images. + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + remote-notification + fetch + processing + location + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/mobile-apps/staff-app/ios/Runner/Runner-Bridging-Header.h b/mobile-apps/staff-app/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 00000000..308a2a56 --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/mobile-apps/staff-app/ios/Runner/Runner.entitlements b/mobile-apps/staff-app/ios/Runner/Runner.entitlements new file mode 100644 index 00000000..99d6fc6c --- /dev/null +++ b/mobile-apps/staff-app/ios/Runner/Runner.entitlements @@ -0,0 +1,14 @@ + + + + + aps-environment + development + com.apple.developer.associated-domains + + applinks:krow-app.staff + applinks:staging.app.krow.develop.express + applinks:krow-staging.firebaseapp.com + + + diff --git a/mobile-apps/staff-app/ios/RunnerTests/RunnerTests.swift b/mobile-apps/staff-app/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 00000000..86a7c3b1 --- /dev/null +++ b/mobile-apps/staff-app/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/build-request.json b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/description.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/description.msgpack new file mode 100644 index 00000000..9a7270f8 Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/manifest.json b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/target-graph.txt b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/task-store.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/0b6fbcf57e0b404e0b508fcc9e905d81.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/build-request.json b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/description.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/description.msgpack new file mode 100644 index 00000000..8568c6fa Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/manifest.json b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/target-graph.txt b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/task-store.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/2d22d52706683de96587c6a891156c3f.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/build-request.json b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/description.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/description.msgpack new file mode 100644 index 00000000..7f2d91cd Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/manifest.json b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/target-graph.txt b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/task-store.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/2e916d2eba42cc4220d1916bfb29d391.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/build-request.json b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/build-request.json new file mode 100644 index 00000000..38eab09c --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/build-request.json @@ -0,0 +1,27 @@ +{ + "buildCommand" : { + "command" : "build", + "skipDependencies" : false, + "style" : "buildOnly" + }, + "configuredTargets" : [ + + ], + "continueBuildingAfterErrors" : false, + "dependencyScope" : "workspace", + "enableIndexBuildArena" : false, + "hideShellScriptEnvironment" : false, + "parameters" : { + "action" : "build", + "overrides" : { + + } + }, + "qos" : "utility", + "schemeCommand" : "launch", + "showNonLoggedProgress" : true, + "useDryRun" : false, + "useImplicitDependencies" : false, + "useLegacyBuildLocations" : false, + "useParallelTargets" : true +} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/description.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/description.msgpack new file mode 100644 index 00000000..4bf1fc6d Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/description.msgpack differ diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/manifest.json b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/manifest.json new file mode 100644 index 00000000..7391713b --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/manifest.json @@ -0,0 +1 @@ +{"client":{"name":"basic","version":0,"file-system":"device-agnostic","perform-ownership-analysis":"no"},"targets":{"":[""]},"commands":{"":{"tool":"phony","inputs":[""],"outputs":[""]},"P0:::Gate WorkspaceHeaderMapVFSFilesWritten":{"tool":"phony","inputs":[],"outputs":[""]}}} \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/target-graph.txt b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/target-graph.txt new file mode 100644 index 00000000..b83b1580 --- /dev/null +++ b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/target-graph.txt @@ -0,0 +1 @@ +Target dependency graph (0 target) \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/task-store.msgpack b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/task-store.msgpack new file mode 100644 index 00000000..6cef3fe3 Binary files /dev/null and b/mobile-apps/staff-app/ios/build/XCBuildData/e262f6be1ab88dc823daae1c75f702ae.xcbuilddata/task-store.msgpack differ diff --git a/mobile-apps/staff-app/ios/config/dev/GoogleService-Info.plist b/mobile-apps/staff-app/ios/config/dev/GoogleService-Info.plist new file mode 100644 index 00000000..aa0e4eec --- /dev/null +++ b/mobile-apps/staff-app/ios/config/dev/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff.dev + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:c410fc4b165d205524820a + + diff --git a/mobile-apps/staff-app/ios/config/prod/GoogleService-Info.plist b/mobile-apps/staff-app/ios/config/prod/GoogleService-Info.plist new file mode 100644 index 00000000..a447ed55 --- /dev/null +++ b/mobile-apps/staff-app/ios/config/prod/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyD_400b1gtQuIRX-cFIBGkKjrwlQm_nj_Y + GCM_SENDER_ID + 14482748607 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff.prod + PROJECT_ID + krow-staging + STORAGE_BUCKET + krow-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:14482748607:ios:c137c6ad1ab50aa024820a + + diff --git a/mobile-apps/staff-app/ios/flavors/dev/GoogleService-Info.plist b/mobile-apps/staff-app/ios/flavors/dev/GoogleService-Info.plist new file mode 100644 index 00000000..d8926e1a --- /dev/null +++ b/mobile-apps/staff-app/ios/flavors/dev/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t + API_KEY + AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA + GCM_SENDER_ID + 933560802882 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff.dev + PROJECT_ID + krow-workforce-dev + STORAGE_BUCKET + krow-workforce-dev.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:933560802882:ios:7264452527da24537757db + + \ No newline at end of file diff --git a/mobile-apps/staff-app/ios/flavors/staging/GoogleService-Info.plist b/mobile-apps/staff-app/ios/flavors/staging/GoogleService-Info.plist new file mode 100644 index 00000000..871efc94 --- /dev/null +++ b/mobile-apps/staff-app/ios/flavors/staging/GoogleService-Info.plist @@ -0,0 +1,30 @@ + + + + + API_KEY + AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY + GCM_SENDER_ID + 1032971403708 + PLIST_VERSION + 1 + BUNDLE_ID + com.krow.app.staff.staging + PROJECT_ID + krow-workforce-staging + STORAGE_BUCKET + krow-workforce-staging.firebasestorage.app + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:1032971403708:ios:134753083678e855356bb9 + + \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/app.dart b/mobile-apps/staff-app/lib/app.dart new file mode 100644 index 00000000..fa9e7ff1 --- /dev/null +++ b/mobile-apps/staff-app/lib/app.dart @@ -0,0 +1,37 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/application/routing/routes.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +import 'core/presentation/widgets/restart_widget.dart'; +BuildContext? appContext; +class KrowApp extends StatefulWidget { + const KrowApp({super.key}); + + @override + State createState() => _KrowAppState(); +} + +class _KrowAppState extends State { + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return MaterialApp.router( + localizationsDelegates: context.localizationDelegates, + supportedLocales: context.supportedLocales, + locale: context.locale, + routerConfig: appRouter.config(), + theme: KWTheme.lightTheme, + builder: (context, child) { + appContext = context; + return RestartWidget(child: child!); + }, + ); + } +} + +final appRouter = AppRouter(); diff --git a/mobile-apps/staff-app/lib/core/application/clients/api/api_client.dart b/mobile-apps/staff-app/lib/core/application/clients/api/api_client.dart new file mode 100644 index 00000000..a53e04b4 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/clients/api/api_client.dart @@ -0,0 +1,96 @@ +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:path_provider/path_provider.dart'; + +class GraphQLConfig { + static HttpLink httpLink = HttpLink( + dotenv.env['BASE_URL']!, + defaultHeaders: { + 'Content-Type': 'application/json', + }, + ); + static AuthLink authLink = AuthLink( + getToken: () async { + User? user = FirebaseAuth.instance.currentUser; + if (user != null) { + return 'Bearer ${await user.getIdToken()}'; + } + return null; + }, + ); + + static Link link = authLink.concat(httpLink); + + Future configClient() async { + var path = await getApplicationDocumentsDirectory(); + Store? store; + if (currentEnv != 'background') { + store = await HiveStore.open(path: '${path.path}/gql_cache'); + } + + return GraphQLClient( + link: link, + cache: GraphQLCache( + store: store, + ), + defaultPolicies: DefaultPolicies( + mutate: Policies( + cacheReread: CacheRereadPolicy.ignoreOptimisitic, + error: ErrorPolicy.all, + fetch: FetchPolicy.networkOnly, + ), + query: Policies( + cacheReread: CacheRereadPolicy.ignoreOptimisitic, + error: ErrorPolicy.all, + fetch: FetchPolicy.networkOnly, + ), + )); + } +} + +@Singleton() +class ApiClient { + static final GraphQLConfig _graphQLConfig = GraphQLConfig(); + final Future _client = _graphQLConfig.configClient(); + + Future query( + {required String schema, Map? body}) async { + final QueryOptions options = QueryOptions( + document: gql(schema), + variables: body ?? {}, + ); + return (await _client).query(options); + } + + Stream queryWithCache({ + required String schema, + Map? body, + }) async* { + final WatchQueryOptions options = WatchQueryOptions( + document: gql(schema), + variables: body ?? {}, + fetchPolicy: FetchPolicy.cacheAndNetwork); + + var result = (await _client).watchQuery(options).fetchResults(); + yield result.eagerResult; + yield await result.networkResult; + } + + Future mutate( + {required String schema, Map? body}) async { + final MutationOptions options = MutationOptions( + document: gql(schema), + variables: body ?? {}, + ); + return (await _client).mutate(options); + } + + void dropCache() async { + (await _client).cache.store.reset(); + } +} + + diff --git a/mobile-apps/staff-app/lib/core/application/clients/api/api_exception.dart b/mobile-apps/staff-app/lib/core/application/clients/api/api_exception.dart new file mode 100644 index 00000000..f3145082 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/clients/api/api_exception.dart @@ -0,0 +1,54 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; + +interface class DisplayableException { + final String message; + + DisplayableException(this.message); +} + +class NetworkException implements Exception, DisplayableException { + @override + final String message; + + NetworkException([this.message = 'No internet connection']); + + @override + String toString() { + return message; + } +} + +class GraphQLException implements Exception, DisplayableException { + @override + final String message; + + GraphQLException(this.message); + + @override + String toString() { + return message; + } +} + +class UnknownException implements Exception, DisplayableException { + @override + final String message; + + UnknownException([this.message = 'Something went wrong']); + + @override + String toString() { + return message; + } +} + +Exception parseBackendError(dynamic error) { + if (error is OperationException) { + if (error.graphqlErrors.isNotEmpty) { + return GraphQLException( + error.graphqlErrors.firstOrNull?.message ?? 'GraphQL error occurred'); + } + return NetworkException('Network error occurred'); + } + return UnknownException(); +} diff --git a/mobile-apps/staff-app/lib/core/application/clients/api/gql.dart b/mobile-apps/staff-app/lib/core/application/clients/api/gql.dart new file mode 100644 index 00000000..8ec4988c --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/clients/api/gql.dart @@ -0,0 +1,90 @@ +const String staffFragment = ''' +fragment StaffFields on Staff { + id + first_name + last_name + middle_name + email + phone + status + address + avatar + average_rating +} +'''; + +const String roleKitFragment = ''' +fragment RoleKit on RoleKit { + id + name + is_required + photo_required +} +'''; + +const String skillCategoryFragment = ''' +fragment SkillCategory on Skill { + category { + name + slug + } +} +'''; + +const String skillFragment = ''' +$skillCategoryFragment +$roleKitFragment + +fragment SkillFragment on Skill { + id + name + slug + price + uniforms { + ...RoleKit + } + equipments { + ...RoleKit + } + ...SkillCategory +} +'''; + + + + +String getSkillsQuery = ''' +$skillFragment +query GetSkills { + skills { + ...SkillFragment + } +} +'''; + + + +const String getStaffRolesQuery = ''' +$skillFragment +query GetStaffRoles { + staff_roles { + id + skill { + ...SkillFragment + } + confirmed_uniforms { + id + skill_kit_id + photo + } + confirmed_equipments { + id + skill_kit_id + photo + } + level + experience + status + } +} +'''; diff --git a/mobile-apps/staff-app/lib/core/application/common/bool_extension.dart b/mobile-apps/staff-app/lib/core/application/common/bool_extension.dart new file mode 100644 index 00000000..cd3e5be5 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/bool_extension.dart @@ -0,0 +1,4 @@ +extension BoolExtension on bool { + /// Returns 0 if boolean is true and 1 otherwise. + int toInt() => this ? 0 : 1; +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/application/common/date_time_extension.dart b/mobile-apps/staff-app/lib/core/application/common/date_time_extension.dart new file mode 100644 index 00000000..1eabc1a0 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/date_time_extension.dart @@ -0,0 +1,32 @@ +import 'package:intl/intl.dart'; + +extension DateTimeExtension on DateTime { + String toHourMinuteString() { + return '${hour.toString().padLeft(2, '0')}:' + '${minute.toString().padLeft(2, '0')}'; + } + + String getDayDateId() => '$year$month$day'; + + String getWeekdayId() => switch (weekday) { + DateTime.monday => 'monday', + DateTime.tuesday => 'tuesday', + DateTime.wednesday => 'wednesday', + DateTime.thursday => 'thursday', + DateTime.friday => 'friday', + DateTime.saturday => 'saturday', + _ => 'sunday', + }; + + String toDayMonthYearString() => DateFormat('dd.MM.yyyy').format(this); + + DateTime tillDay() { + return DateTime(year, month, day); + } + + DateTime toTenthsMinute() { + if (minute % 10 == 0) return this; + + return DateTime(year, month, day, hour, minute - minute % 10); + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/int_extensions.dart b/mobile-apps/staff-app/lib/core/application/common/int_extensions.dart new file mode 100644 index 00000000..13b58a91 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/int_extensions.dart @@ -0,0 +1,17 @@ +extension IntExtensions on int { + String toOrdinal() { + if (this >= 11 && this <= 13) { + return '${this}th'; + } + switch (this % 10) { + case 1: + return '${this}st'; + case 2: + return '${this}nd'; + case 3: + return '${this}rd'; + default: + return '${this}th'; + } + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/application/common/logger.dart b/mobile-apps/staff-app/lib/core/application/common/logger.dart new file mode 100644 index 00000000..be758731 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/logger.dart @@ -0,0 +1,27 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; + +class Logger { + static void error(e, {String? message}) { + log( + e.toString(), + error: message ?? e, + level: 2000, + stackTrace: StackTrace.current, + name: 'ERROR', + ); + } + + static debug(dynamic msg, {String? message}) { + if (kDebugMode) { + log( + msg.toString(), + name: message ?? msg.runtimeType.toString(), + ); + } + } +} + +const error = Logger.error; +const debug = Logger.debug; diff --git a/mobile-apps/staff-app/lib/core/application/common/map_utils.dart b/mobile-apps/staff-app/lib/core/application/common/map_utils.dart new file mode 100644 index 00000000..9fb4bf2c --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/map_utils.dart @@ -0,0 +1,19 @@ +import 'package:map_launcher/map_launcher.dart'; + +class MapUtils { + MapUtils._(); + + static Future openMapByLatLon(double latitude, double longitude) async { + if (await MapLauncher.isMapAvailable(MapType.google) ?? false) { + await MapLauncher.showDirections( + mapType: MapType.google, + destination: Coords(latitude, longitude), + ); + } else { + final availableMaps = await MapLauncher.installedMaps; + await availableMaps.first.showDirections( + destination: Coords(latitude, longitude), + ); + } + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/str_extensions.dart b/mobile-apps/staff-app/lib/core/application/common/str_extensions.dart new file mode 100644 index 00000000..e06641b2 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/str_extensions.dart @@ -0,0 +1,16 @@ +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; + +extension StringExtensions on String { + String capitalize() { + if (isEmpty) return this; + return this[0].toUpperCase() + substring(1).toLowerCase(); + } +} + +extension StringToDropdownItem on String { + KwDropDownItem? toDropDownItem() { + if (isEmpty) return null; + + return KwDropDownItem(data: this, title: this); + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart b/mobile-apps/staff-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart new file mode 100644 index 00000000..16c9ef6f --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/text_formatters/expiration_date_formatter.dart @@ -0,0 +1,36 @@ +import 'package:flutter/services.dart'; + +class DateTextFormatter extends TextInputFormatter { + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue,) { + if (oldValue.text.length >= newValue.text.length) { + return newValue; + } + + String filteredText = newValue.text.replaceAll(RegExp(r'[^0-9.]'), ''); + + var dateText = _addSeparators(filteredText, '.'); + return newValue.copyWith( + text: dateText, selection: updateCursorPosition(dateText)); + } + + String _addSeparators(String value, String separator) { + value = value.replaceAll('.', ''); + var newString = ''; + for (int i = 0; i < value.length; i++) { + newString += value[i]; + if (i == 1) { + newString += separator; + } + if (i == 3) { + newString += separator; + } + } + return newString; + } + + TextSelection updateCursorPosition(String text) { + return TextSelection.fromPosition(TextPosition(offset: text.length)); + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/validators/certificate_date_validator.dart b/mobile-apps/staff-app/lib/core/application/common/validators/certificate_date_validator.dart new file mode 100644 index 00000000..be74b0c0 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/validators/certificate_date_validator.dart @@ -0,0 +1,23 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:intl/intl.dart'; + +class CertificateDateValidator { + CertificateDateValidator._(); + + static String? validate(String value) { + try { + final date = DateFormat('MM.dd.yyyy').parse(value); + var splited = value.split('.'); + if (int.parse(splited.first) > 12 || int.parse(splited[1]) > 31) { + return 'invalid_date_format'.tr(); + } + + if (date.isBefore(DateTime.now())) { + return 'date_cannot_be_past'.tr(); + } + } catch (e) { + return null; + } + return null; + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/validators/email_validator.dart b/mobile-apps/staff-app/lib/core/application/common/validators/email_validator.dart new file mode 100644 index 00000000..8f39f504 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/validators/email_validator.dart @@ -0,0 +1,17 @@ +import 'package:easy_localization/easy_localization.dart'; + +abstract class EmailValidator { + static String? validate(String? email, {bool isRequired = true}) { + // Regular expression for validating emails + final RegExp phoneRegExp = RegExp( + r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', + ); + + if (isRequired && (email == null || email.isEmpty)) { + return 'email_is_required'.tr(); + } else if (email != null && !phoneRegExp.hasMatch(email)) { + return 'invalid_email'.tr(); + } + return null; + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/validators/phone_validator.dart b/mobile-apps/staff-app/lib/core/application/common/validators/phone_validator.dart new file mode 100644 index 00000000..dd28d9ac --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/validators/phone_validator.dart @@ -0,0 +1,15 @@ +import 'package:easy_localization/easy_localization.dart'; + +abstract class PhoneValidator { + static String? validate(String? phoneNumber, {bool isRequired = true}) { + // Regular expression for validating phone numbers + final RegExp phoneRegExp = RegExp(r'^\+?[1-9]\d{1,14}$'); + + if (isRequired && (phoneNumber==null || phoneNumber.isEmpty)) { + return 'phone_number_is_required'.tr(); + } else if (phoneNumber !=null && !phoneRegExp.hasMatch(phoneNumber)) { + return 'invalid_phone_number'.tr(); + } + return null; + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/application/common/validators/skill_exp_validator.dart b/mobile-apps/staff-app/lib/core/application/common/validators/skill_exp_validator.dart new file mode 100644 index 00000000..56c286ac --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/validators/skill_exp_validator.dart @@ -0,0 +1,21 @@ +import 'package:easy_localization/easy_localization.dart'; + +class SkillExpValidator { + SkillExpValidator._(); + + static String? validate(String value) { + if (value.isEmpty) { + return 'experience_is_required'.tr(); + } + var parsed = int.tryParse(value); + if (value.isNotEmpty && parsed == null) { + return 'experience_must_be_a_number'.tr(); + } + + if (value.isNotEmpty && parsed! > 20 || parsed! < 1) { + return 'experience_must_be_between_1_and_20'.tr(); + } + + return null; + } +} diff --git a/mobile-apps/staff-app/lib/core/application/common/validators/social_number_validator.dart b/mobile-apps/staff-app/lib/core/application/common/validators/social_number_validator.dart new file mode 100644 index 00000000..7c50e728 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/common/validators/social_number_validator.dart @@ -0,0 +1,14 @@ +abstract class SocialNumberValidator { + static String? validate(String? socialNumber, {bool isRequired = true}) { + // Regular expression for validating US social number + final ssnRegex = + RegExp(r'^(?!000|666|9\d{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}$'); + + if (isRequired && (socialNumber == null || socialNumber.isEmpty)) { + return 'Social number is required'; + } else if (socialNumber != null && !ssnRegex.hasMatch(socialNumber)) { + return 'Invalid social number'; + } + return null; + } +} diff --git a/mobile-apps/staff-app/lib/core/application/di/injectable.dart b/mobile-apps/staff-app/lib/core/application/di/injectable.dart new file mode 100644 index 00000000..aa2fb28c --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/di/injectable.dart @@ -0,0 +1,14 @@ +import 'package:get_it/get_it.dart'; +import 'package:injectable/injectable.dart'; + +import 'injectable.config.dart'; + +final getIt = GetIt.instance; +late final String currentEnv; + + +@InjectableInit() +void configureDependencies(String env) { + currentEnv = env; + GetIt.instance.init(environment: env); +} diff --git a/mobile-apps/staff-app/lib/core/application/routing/guards.dart b/mobile-apps/staff-app/lib/core/application/routing/guards.dart new file mode 100644 index 00000000..2840ba94 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/routing/guards.dart @@ -0,0 +1,70 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; + +class SplashRedirectGuard extends AutoRouteGuard { + final AuthService authService; + + SplashRedirectGuard(this.authService); + + @override + Future onNavigation( + NavigationResolver resolver, + StackRouter router, + ) async { + final status = await authService.getAuthStatus(); + + switch (status) { + case AuthStatus.authenticated: + router.replace(const HomeRoute()); + break; + case AuthStatus.adminValidation: + router.replace(const WaitingValidationRoute()); + break; + case AuthStatus.prepareProfile: + //TODO(Heorhii): Some additional adjustment from backend are required before enabling this screen + router.replace(const CheckListFlowRoute()); + break; + case AuthStatus.unauthenticated: + router.replace(const AuthFlowRoute()); + break; + case AuthStatus.error: + //todo(Artem):show error screen + router.replace(const AuthFlowRoute()); + } + + resolver.next(false); + } +} + +class SingUpRedirectGuard extends AutoRouteGuard { + final AuthService authService; + + SingUpRedirectGuard(this.authService); + + @override + Future onNavigation( + NavigationResolver resolver, StackRouter router) async { + final status = await authService.getAuthStatus(); + + switch (status) { + case AuthStatus.authenticated: + router.replace(const HomeRoute()); + break; + case AuthStatus.adminValidation: + router.replace(const WaitingValidationRoute()); + break; + case AuthStatus.prepareProfile: + resolver.next(true); + return; + case AuthStatus.unauthenticated: + router.replace(const AuthFlowRoute()); + break; + case AuthStatus.error: + //todo(Artem):show error screen + router.replace(const AuthFlowRoute()); + } + + resolver.next(false); + } +} diff --git a/mobile-apps/staff-app/lib/core/application/routing/routes.dart b/mobile-apps/staff-app/lib/core/application/routing/routes.dart new file mode 100644 index 00000000..9ec80842 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/application/routing/routes.dart @@ -0,0 +1,183 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/guards.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; + +@AutoRouterConfig() +class AppRouter extends RootStackRouter { + @override + RouteType get defaultRouteType => const RouteType.material(); + + @override + List get routes => [ + AdaptiveRoute( + path: '/', + page: SplashRoute.page, + initial: true, + guards: [SplashRedirectGuard(getIt())], + ), + authFlow, + signUnFlow, + homeBottomBarFlow, + phoneReLoginFlow, + checkListFlow, + AutoRoute(page: WaitingValidationRoute.page), + ]; + + get homeBottomBarFlow => AdaptiveRoute( + path: '/home', + page: HomeRoute.page, + children: [earningsFlow, shiftsFlow, profileFlow]); + + get authFlow => AdaptiveRoute( + path: '/auth', + page: AuthFlowRoute.page, + children: [ + AutoRoute(path: 'welcome', page: WelcomeRoute.page, initial: true), + AutoRoute(path: 'phone', page: PhoneVerificationRoute.page), + AutoRoute(path: 'code', page: CodeVerificationRoute.page), + ], + ); + + get phoneReLoginFlow => AdaptiveRoute( + path: '/phoneReLogin', + page: PhoneReLoginFlowRoute.page, + children: [ + AutoRoute(page: CodeVerificationRoute.page, initial: true), + ], + ); + + get signUnFlow => AdaptiveRoute( + path: '/signup', + page: SignupFlowRoute.page, + guards: [SingUpRedirectGuard(getIt())], + children: [ + AutoRoute(page: PersonalInfoRoute.page, initial: true), + AutoRoute(page: EmailVerificationRoute.page), + AutoRoute(page: EmergencyContactsRoute.page), + AutoRoute(page: MobilityRoute.page), + AutoRoute(page: InclusiveRoute.page), + AutoRoute(page: AddressRoute.page), + AutoRoute(page: WorkingAreaRoute.page), + AutoRoute(page: RoleRoute.page), + ], + ); + + get checkListFlow => AdaptiveRoute( + path: '/check_list', + page: CheckListFlowRoute.page, + children: [ + AutoRoute(page: CheckListRoute.page, initial: true), + AutoRoute(page: PersonalInfoRoute.page), + AutoRoute(page: EmailVerificationRoute.page), + AutoRoute(page: EmergencyContactsRoute.page), + AutoRoute(page: AddressRoute.page), + AutoRoute(page: WorkingAreaRoute.page), + AutoRoute(page: RoleRoute.page), + AutoRoute(page: CertificatesRoute.page), + AutoRoute(page: ScheduleRoute.page), + bankAccFlow, + wagesFormFlow, + roleKitFlow + ], + ); + + get profileFlow => AdaptiveRoute( + path: 'profile', + page: ProfileMainFlowRoute.page, + children: [ + AutoRoute(path: 'menu', page: ProfileMainRoute.page, initial: true), + roleKitFlow, + AutoRoute(path: 'certificates', page: CertificatesRoute.page), + AutoRoute(path: 'schedule', page: ScheduleRoute.page), + AutoRoute(path: 'working_area', page: WorkingAreaRoute.page), + AutoRoute(path: 'live_photo', page: LivePhotoRoute.page), + profileSettingsFlow, + wagesFormFlow, + bankAccFlow, + AutoRoute(path: 'benefits', page: BenefitsRoute.page), + AutoRoute(path: 'support', page: SupportRoute.page), + AutoRoute(path: 'faq', page: FaqRoute.page), + ], + ); + + get bankAccFlow => + AutoRoute(path: 'bank', page: BankAccountFlowRoute.page, children: [ + AutoRoute(path: 'info', page: BankAccountRoute.page, initial: true), + AutoRoute(path: 'edit', page: BankAccountEditRoute.page), + ]); + + get wagesFormFlow => AutoRoute( + path: 'wages_form', + page: WagesFormsFlowRoute.page, + children: [ + AutoRoute(path: 'list', page: FormsListRoute.page, initial: true), + AutoRoute(path: 'offerLatter', page: OfferLetterFormRoute.page), + AutoRoute(path: 'edd', page: EddFormRoute.page), + AutoRoute(path: 'i-9', page: INineFormRoute.page), + AutoRoute(path: 'w-4', page: WFourFormRoute.page), + AutoRoute(path: 'sign', page: FormSignRoute.page), + AutoRoute(path: 'signedForm', page: SignedFormRoute.page), + AutoRoute(path: 'preview', page: FormPreviewRoute.page), + ], + ); + + get profileSettingsFlow => AutoRoute( + path: 'profile_settings', + page: ProfileSettingsFlowRoute.page, + children: [ + AutoRoute( + path: 'menu', + page: ProfileSettingsMenuRoute.page, + initial: true, + ), + AutoRoute(path: 'role', page: RoleRoute.page), + AutoRoute(path: 'personal', page: PersonalInfoRoute.page), + AutoRoute( + page: EmailVerificationRoute.page, + path: 'emailVerification', + ), + AutoRoute(path: 'address', page: AddressRoute.page), + AutoRoute(path: 'emergency', page: EmergencyContactsRoute.page), + AutoRoute(path: 'mobility', page: MobilityRoute.page), + AutoRoute(path: 'inclusive', page: InclusiveRoute.page), + ], + ); + + get roleKitFlow => AutoRoute( + path: 'role_kit', + page: RoleKitFlowRoute.page, + children: [ + AutoRoute(path: 'list', page: RolesKitListRoute.page, initial: true), + AutoRoute(path: 'details', page: RoleKitRoute.page), + ], + ); + + get earningsFlow => AdaptiveRoute( + path: 'earnings', + page: EarningsFlowRoute.page, + children: [ + AutoRoute(path: 'list', page: EarningsRoute.page, initial: true), + AutoRoute(path: 'history', page: EarningsHistoryRoute.page), + ], + ); + + get shiftsFlow => AdaptiveRoute( + path: 'shifts', + initial: true, + page: ShiftsFlowRoute.page, + children: [ + AdaptiveRoute( + path: 'list', + page: ShiftsListMainRoute.page, + initial: true, + ), + AdaptiveRoute(path: 'details', page: ShiftDetailsRoute.page), + AdaptiveRoute(path: 'scanner', page: QrScannerRoute.page) + ], + ); + + @override + List get guards => []; +} diff --git a/mobile-apps/staff-app/lib/core/data/enums/pagination_status.dart b/mobile-apps/staff-app/lib/core/data/enums/pagination_status.dart new file mode 100644 index 00000000..b3c9c61f --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/enums/pagination_status.dart @@ -0,0 +1,12 @@ +enum PaginationStatus { + initial(true), + loading(false), + idle(true), + empty(false), + error(true), + end(false); + + const PaginationStatus(this.allowLoad); + + final bool allowLoad; +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/enums/staff_skill_enums.dart b/mobile-apps/staff-app/lib/core/data/enums/staff_skill_enums.dart new file mode 100644 index 00000000..69465770 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/enums/staff_skill_enums.dart @@ -0,0 +1,12 @@ +enum StaffSkillStatus { + verified, + pending, + declined, + deactivated, +} + +enum StaffSkillLevel { + beginner, + skilled, + professional, +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/enums/state_status.dart b/mobile-apps/staff-app/lib/core/data/enums/state_status.dart new file mode 100644 index 00000000..c231abea --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/enums/state_status.dart @@ -0,0 +1,6 @@ +enum StateStatus { + idle, + loading, + error, + success, +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart b/mobile-apps/staff-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart new file mode 100644 index 00000000..e877c3fb --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/pagination_wrapper/pagination_wrapper.dart @@ -0,0 +1,68 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'pagination_wrapper.g.dart'; + +@JsonSerializable() +class PageInfo { + final bool? hasNextPage; + final bool? hasPreviousPage; + final String? startCursor; + final String? endCursor; + + PageInfo({ + required this.hasNextPage, + this.hasPreviousPage, + this.startCursor, + this.endCursor, + }); + + factory PageInfo.fromJson(Map json) { + return _$PageInfoFromJson(json); + } + + Map toJson() => _$PageInfoToJson(this); +} + +class Edge { + final String? cursor; + final T node; + + Edge({ + required this.cursor, + required this.node, + }); + + factory Edge.fromJson(Map json) { + return Edge( + cursor: json['cursor'], + node: json['node'], + ); + } +} + +class PaginationWrapper { + final PageInfo? pageInfo; + final List> edges; + + PaginationWrapper({ + required this.pageInfo, + required this.edges, + }); + + factory PaginationWrapper.fromJson( + Map json, + T Function(Map) convertor, + ) { + return PaginationWrapper( + pageInfo: PageInfo.fromJson(json['pageInfo']), + edges: (json['edges'] as List).map( + (e) { + return Edge( + cursor: e['cursor'], + node: convertor.call(e['node']), + ); + }, + ).toList(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/data/models/role_kit.dart b/mobile-apps/staff-app/lib/core/data/models/role_kit.dart new file mode 100644 index 00000000..005a91eb --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/role_kit.dart @@ -0,0 +1,22 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'role_kit.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class RoleKit { + final String id; + final String? name; + final bool? isRequired; + final bool? photoRequired; + + RoleKit({ + required this.id, + required this.name, + required this.isRequired, + required this.photoRequired, + }); + + factory RoleKit.fromJson(Map json) => _$RoleKitFromJson(json); + + Map toJson() => _$RoleKitToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/models/skill.dart b/mobile-apps/staff-app/lib/core/data/models/skill.dart new file mode 100644 index 00000000..5841b5e7 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/skill.dart @@ -0,0 +1,30 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/role_kit.dart'; +import 'package:krow/core/data/models/skill_category.dart'; + +part 'skill.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Skill { + final String id; + final String name; + final String? slug; + final double ?price; + final List? uniforms; + final List? equipments; + final SkillCategory? category; + + Skill({ + required this.id, + required this.name, + required this.slug, + required this.price, + required this.uniforms, + required this.equipments, + this.category, + }); + + factory Skill.fromJson(Map json) => _$SkillFromJson(json); + + Map toJson() => _$SkillToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/models/skill_category.dart b/mobile-apps/staff-app/lib/core/data/models/skill_category.dart new file mode 100644 index 00000000..035a827d --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/skill_category.dart @@ -0,0 +1,18 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'skill_category.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class SkillCategory { + final String name; + final String slug; + + SkillCategory({ + required this.name, + required this.slug, + }); + + factory SkillCategory.fromJson(Map json) => _$SkillCategoryFromJson(json); + + Map toJson() => _$SkillCategoryToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/models/staff/bank_acc.dart b/mobile-apps/staff-app/lib/core/data/models/staff/bank_acc.dart new file mode 100644 index 00000000..19483e5a --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff/bank_acc.dart @@ -0,0 +1,36 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'bank_acc.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BankAcc { + final String? holderName; + final String? bankName; + final String? number; + final String? routingNumber; + final String? country; + final String? state; + final String? city; + final String? street; + final String? building; + final String? zip; + + BankAcc({ + required this.holderName, + required this.bankName, + required this.number, + required this.routingNumber, + required this.country, + required this.state, + required this.city, + required this.street, + required this.building, + required this.zip, + }); + + factory BankAcc.fromJson(Map json) { + return _$BankAccFromJson(json); + } + + Map toJson() => _$BankAccToJson(this); +} diff --git a/mobile-apps/staff-app/lib/core/data/models/staff/full_address_model.dart b/mobile-apps/staff-app/lib/core/data/models/staff/full_address_model.dart new file mode 100644 index 00000000..e706e0be --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff/full_address_model.dart @@ -0,0 +1,46 @@ +import 'package:json_annotation/json_annotation.dart'; +part 'full_address_model.g.dart'; +@JsonSerializable(fieldRename: FieldRename.snake) +class FullAddress { + String? streetNumber; + String? zipCode; + double? latitude; + double? longitude; + String? formattedAddress; + String? street; + String? region; + String? city; + String? country; + + FullAddress({ + this.streetNumber, + this.zipCode, + this.latitude, + this.longitude, + this.formattedAddress, + this.street, + this.region, + this.city, + this.country, + }); + + factory FullAddress.fromJson(Map json) { + return _$FullAddressFromJson(json); + } + + Map toJson() => _$FullAddressToJson(this); + + static FullAddress fromGoogle(Map fullAddress) { + return FullAddress( + streetNumber: fullAddress['street_number'], + zipCode: fullAddress['postal_code'], + latitude: fullAddress['lat'], + longitude: fullAddress['lng'], + formattedAddress: fullAddress['formatted_address'], + street: fullAddress['street'], + region: fullAddress['state'], + city: fullAddress['city'], + country: fullAddress['country'], + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/data/models/staff/staff.dart b/mobile-apps/staff-app/lib/core/data/models/staff/staff.dart new file mode 100644 index 00000000..559acb88 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff/staff.dart @@ -0,0 +1,65 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/staff/full_address_model.dart'; +import 'package:krow/core/data/models/staff/workin_area.dart'; +import 'package:krow/core/data/models/staff/bank_acc.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; + +part 'staff.g.dart'; + +enum StaffStatus { + active, + deactivated, + pending, + registered, + declined, +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class Staff { + final String id; + final String? firstName; + final String? lastName; + final String? middleName; + final String? email; + final String? phone; + final String? address; + final StaffStatus? status; + final FullAddress? fullAddress; + final String? avatar; + final List? workingAreas; + final List? bankAccount; + final List? roles; + final List? certificates; + final double? averageRating; + + Staff({ + required this.id, + required this.firstName, + required this.lastName, + required this.middleName, + required this.email, + required this.phone, + required this.address, + required this.status, + required this.workingAreas, + required this.fullAddress, + required this.bankAccount, + required this.roles, + required this.certificates, + this.averageRating, + this.avatar, + }); + + factory Staff.fromJson(Map json) => _$StaffFromJson(json); + + Map toJson() => _$StaffToJson(this); + + static var staffStatusEnumMap = { + StaffStatus.active: 'active', + StaffStatus.deactivated: 'deactivated', + StaffStatus.pending: 'pending', + StaffStatus.registered: 'registered', + StaffStatus.declined: 'declined', + }; +} diff --git a/mobile-apps/staff-app/lib/core/data/models/staff/workin_area.dart b/mobile-apps/staff-app/lib/core/data/models/staff/workin_area.dart new file mode 100644 index 00000000..3f213d7f --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff/workin_area.dart @@ -0,0 +1,21 @@ + +class WorkingArea{ + final String id; + final String address; + + WorkingArea({required this.id, required this.address}); + + factory WorkingArea.fromJson(Map json) { + return WorkingArea( + id: json['id'], + address: json['address'] + ); + } + + Map toJson() { + return { + 'id': id, + 'address': address + }; + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/models/staff_role.dart b/mobile-apps/staff-app/lib/core/data/models/staff_role.dart new file mode 100644 index 00000000..063da6c2 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff_role.dart @@ -0,0 +1,93 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/enums/staff_skill_enums.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role_kit.dart'; + +part 'staff_role.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffRole { + final String? id; + final Skill? skill; + final StaffSkillLevel? level; + final int? experience; + final StaffSkillStatus? status; + final String? photo; + final List? confirmedUniforms; + final List? confirmedEquipments; + + StaffRole({ + this.id, + this.skill, + this.level, + this.experience, + this.status, + this.photo, + this.confirmedUniforms, + this.confirmedEquipments, + }); + + factory StaffRole.empty() { + return StaffRole( + id: '', + ); + } + + factory StaffRole.fromJson(Map json) => + _$StaffRoleFromJson(json); + + Map toJson() => _$StaffRoleToJson(this); + + StaffRole copyWith({ + String? id, + Skill? skill, + StaffSkillLevel? level, + int? experience, + StaffSkillStatus? status, + String? photo, + List? confirmedUniforms, + List? confirmedEquipments, + }) { + return StaffRole( + id: id ?? this.id, + skill: skill ?? this.skill, + level: level ?? this.level, + experience: experience ?? this.experience, + status: status ?? this.status, + photo: photo ?? this.photo, + confirmedUniforms: confirmedUniforms ?? this.confirmedUniforms, + confirmedEquipments: confirmedEquipments ?? this.confirmedEquipments, + ); + } + + @override + String toString() { + return 'StaffRole{id: $id, skill: $skill, level: $level, experience: $experience, status: $status, photo: $photo, confirmedUniforms: $confirmedUniforms, confirmedEquipments: $confirmedEquipments}'; + } + + @override + bool operator ==(Object other) => + identical(this, other) || + other is StaffRole && + runtimeType == other.runtimeType && + id == other.id && + skill == other.skill && + level == other.level && + experience == other.experience && + status == other.status && + photo == other.photo && + confirmedUniforms == other.confirmedUniforms && + confirmedEquipments == other.confirmedEquipments; + + @override + int get hashCode => + id.hashCode ^ + skill.hashCode ^ + level.hashCode ^ + experience.hashCode ^ + status.hashCode ^ + photo.hashCode ^ + confirmedUniforms.hashCode ^ + confirmedEquipments.hashCode; + +} diff --git a/mobile-apps/staff-app/lib/core/data/models/staff_role_kit.dart b/mobile-apps/staff-app/lib/core/data/models/staff_role_kit.dart new file mode 100644 index 00000000..85f92997 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/models/staff_role_kit.dart @@ -0,0 +1,23 @@ + +import 'package:json_annotation/json_annotation.dart'; + +part 'staff_role_kit.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffRoleKit{ + String id; + String skillKitId; + String? photo; + + StaffRoleKit({ + required this.id, + required this.skillKitId, + this.photo, + }); + + factory StaffRoleKit.fromJson(Map json) { + return _$StaffRoleKitFromJson(json); + } + + Map toJson() => _$StaffRoleKitToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/data/static/contacts_data.dart b/mobile-apps/staff-app/lib/core/data/static/contacts_data.dart new file mode 100644 index 00000000..b5e9eaaf --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/static/contacts_data.dart @@ -0,0 +1,4 @@ +abstract class ContactsData { + static const supportEmail = 'orders@legendaryeventstaff.com'; + static const supportPhone = '+1 (408) 315-5343'; +} diff --git a/mobile-apps/staff-app/lib/core/data/static/email_validation_constants.dart b/mobile-apps/staff-app/lib/core/data/static/email_validation_constants.dart new file mode 100644 index 00000000..d615e00e --- /dev/null +++ b/mobile-apps/staff-app/lib/core/data/static/email_validation_constants.dart @@ -0,0 +1,4 @@ +abstract class EmailValidationConstants { + static const storedEmailKey = 'user_pre_validation_email'; + static const oobCodeKey = 'oobCode'; +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/presentation/mixins/size_transition_mixin.dart b/mobile-apps/staff-app/lib/core/presentation/mixins/size_transition_mixin.dart new file mode 100644 index 00000000..607f81a3 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/mixins/size_transition_mixin.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; + +mixin SizeTransitionMixin { + Widget handleSizeTransition(Widget child, Animation animation) { + return SizeTransition( + sizeFactor: Tween(begin: 0, end: 1).animate( + CurvedAnimation(parent: animation, curve: const Interval(0, 0.3)), + ), + axisAlignment: 1, + child: DualTransitionBuilder( + animation: animation, + forwardBuilder: (context, animation, child) { + return FadeTransition( + opacity: Tween(begin: 0, end: 1).animate( + CurvedAnimation(parent: animation, curve: const Interval(0.7, 1)), + ), + child: child, + ); + }, + reverseBuilder: (context, animation, child) { + return FadeTransition( + opacity: Tween(begin: 1, end: 0).animate( + CurvedAnimation(parent: animation, curve: const Interval(0, 0.3)), + ), + child: child, + ); + }, + child: child, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/styles/kw_box_decorations.dart b/mobile-apps/staff-app/lib/core/presentation/styles/kw_box_decorations.dart new file mode 100644 index 00000000..51a7dd33 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/styles/kw_box_decorations.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +abstract class KwBoxDecorations { + static BoxDecoration primaryDark = BoxDecoration( + color: AppColors.darkBgPrimaryFrame, + borderRadius: BorderRadius.circular(12), + ); + + static BoxDecoration primaryLight8 = BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(8), + ); + + static BoxDecoration primaryLight6 = BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(8), + ); + + static BoxDecoration primaryLight12 = BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(12), + ); +} diff --git a/mobile-apps/staff-app/lib/core/presentation/styles/kw_text_styles.dart b/mobile-apps/staff-app/lib/core/presentation/styles/kw_text_styles.dart new file mode 100644 index 00000000..847a12dd --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/styles/kw_text_styles.dart @@ -0,0 +1,134 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/fonts.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +abstract class AppTextStyles { + static const TextStyle headingH0 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 48, + color: AppColors.blackBlack); + + static const TextStyle headingH1 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 28, + color: AppColors.blackBlack); + + static const TextStyle headingH2 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, // Medium + fontSize: 20, + color: AppColors.blackBlack); + + static const TextStyle headingH3 = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 18, + height: 1, + color: AppColors.blackBlack); + + static const TextStyle bodyLargeReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 16, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyLargeMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 16, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 14, + letterSpacing: -0.5, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 14, + letterSpacing: -0.5, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyMediumSmb = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, + // SemiBold + letterSpacing: -0.5, + fontSize: 14, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodySmallReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 12, + letterSpacing: -0.5, + height: 1.3, + color: AppColors.blackBlack); + + static const TextStyle bodySmallRegBlackGrey = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 12, + letterSpacing: -0.5, + height: 1.3, + color: AppColors.blackGray); + + static const TextStyle bodySmallMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 12, + letterSpacing: -0.5, + color: AppColors.blackBlack); + + static const TextStyle bodyTinyReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, + // Regular + fontSize: 10, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle bodyTinyMed = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w500, + // Medium + fontSize: 10, + height: 1.2, + color: AppColors.blackBlack); + + static const TextStyle badgeRegular = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, // Regular + fontSize: 12, + color: AppColors.blackBlack); + + static const TextStyle captionReg = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w400, // Regular + fontSize: 10, + color: AppColors.blackBlack); + + static const TextStyle captionBold = TextStyle( + fontFamily: FontFamily.poppins, + fontWeight: FontWeight.w600, // SemiBold + fontSize: 10, + color: AppColors.blackBlack); +} diff --git a/mobile-apps/staff-app/lib/core/presentation/styles/theme.dart b/mobile-apps/staff-app/lib/core/presentation/styles/theme.dart new file mode 100644 index 00000000..0e1bdbce --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/styles/theme.dart @@ -0,0 +1,63 @@ +import 'package:flutter/material.dart'; + +abstract class AppColors { + static const Color bgColorLight = Color(0xFFDDE6DF); + static const Color bgColorDark = Color(0xFF172D38); + static const Color blackBlack = Color(0xFF1A1A1A); + static const Color blackGray = Color(0xFF737373); + static const Color blackCaptionText = Color(0xFFA8A8A8); + static const Color blackCaptionGreen = Color(0xFF84A48B); + static const Color blackDarkBgBody = Color(0xFF82939B); + static const Color primaryYellow = Color(0xFFFFF3A8); + static const Color primaryBlue = Color(0xFF002AE8); + static const Color primaryMint = Color(0xFFDFEDE3); + static const Color grayWhite = Color(0xFFFFFFFF); + static const Color grayStroke = Color(0xFFA8BDAD); + static const Color grayDisable = Color(0xFFC2C9C3); + static const Color grayPrimaryFrame = Color(0xFFF9FAF9); + static const Color graySecondaryFrame = Color(0xFFF0F4F1); + static const Color grayTintStroke = Color(0xFFE1E8E2); + static const Color statusError = Color(0xFFF45E5E); + static const Color statusSuccess = Color(0xFF14A858); + static const Color statusWarning = Color(0xFFED7021); + static const Color statusWarningBody = Color(0xFF906F07); + static const Color statusRate = Color(0xFFF7CE39); + static const Color tintGreen = Color(0xFFE7F8EF); + static const Color tintRed = Color(0xFFFEF2F2); + static const Color tintYellow = Color(0xFFFEF7E0); + static const Color tintBlue = Color(0xFFF0F3FF); + static const Color tintOrange = Color(0xFFFAEBE3); + static const Color tintDarkGreen = Color(0xFFC8EFDB); + static const Color tintDarkBlue = Color(0xFF7A88BE); + static const Color tintGray = Color(0xFFEBEBEB); + static const Color tintDarkRed = Color(0xFFFDB9B9); + static const Color navBarDisabled = Color(0xFF5C7581); + static const Color navBarActive = Color(0xFFFFFFFF); + static const Color darkBgPrimaryFrame = Color(0xFF3D5662); + static const Color darkBgBgElements = Color(0xFF1B3441); + static const Color darkBgActiveButtonState = Color(0xFF25495A); + static const Color darkBgStroke = Color(0xFF4E6E7E); + static const Color darkBgInactive = Color(0xFF7A9AA9); + static const Color darkBgActiveAccentButton = Color(0xFFEEE39F); + static const Color textPrimaryInverted = Color(0xFFAAC0CB); +} + +class KWTheme { + static ThemeData get lightTheme { + return ThemeData( + useMaterial3: true, + scaffoldBackgroundColor: AppColors.bgColorLight, + progressIndicatorTheme: const ProgressIndicatorThemeData( + color: AppColors.bgColorDark, + ), + fontFamily: 'Poppins', + //unused + appBarTheme: const AppBarTheme( + backgroundColor: AppColors.bgColorLight, + ), + colorScheme: ColorScheme.fromSwatch().copyWith( + secondary: AppColors.statusSuccess, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/contact_icon_button.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/contact_icon_button.dart new file mode 100644 index 00000000..5f584aab --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/contact_icon_button.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; + +class ContactIconButton extends StatelessWidget { + const ContactIconButton({ + super.key, + required this.icon, + required this.onTap, + }); + + final SvgGenImage icon; + final void Function() onTap; + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: InkWell( + borderRadius: BorderRadius.circular(24.0), + onTap: onTap, + child: icon.svg(), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/kw_time_slot.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/kw_time_slot.dart new file mode 100644 index 00000000..846093e1 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/kw_time_slot.dart @@ -0,0 +1,122 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwTimeSlotInput extends StatefulWidget { + const KwTimeSlotInput({ + super.key, + required this.label, + required this.onChange, + required this.initialValue, + this.editable = true, + }); + + static final _timeFormat = DateFormat('h:mma', 'en'); + + final String label; + final Function(DateTime value) onChange; + final DateTime initialValue; + final bool editable; + + @override + State createState() => _KwTimeSlotInputState(); +} + +class _KwTimeSlotInputState extends State { + late DateTime _currentValue = widget.initialValue; + + @override + void didChangeDependencies() { + _currentValue = widget.initialValue; + super.didChangeDependencies(); + } + + @override + void didUpdateWidget(covariant KwTimeSlotInput oldWidget) { + _currentValue = widget.initialValue; + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Padding( + padding: const EdgeInsets.only(left: 16, bottom: 4), + child: Text( + widget.label, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ), + Material( + color: Colors.transparent, + child: InkWell( + borderRadius: const BorderRadius.all( + Radius.circular(24), + ), + onTap: () async { + if(!widget.editable) return; + await showModalBottomSheet( + context: context, + isScrollControlled: false, + builder: (context) { + return Container( + alignment: Alignment.topCenter, + height: 216 + 48, //_kPickerHeight + 24top+24bot + child: CupertinoDatePicker( + mode: CupertinoDatePickerMode.time, + initialDateTime: _currentValue.toTenthsMinute(), + minuteInterval: 10, + itemExtent: 36, + onDateTimeChanged: (DateTime value) { + setState(() => _currentValue = value); + }, + ), + ); + }, + ); + + widget.onChange.call(_currentValue); + }, + child: Container( + height: 48, + alignment: Alignment.centerLeft, + decoration: BoxDecoration( + border: Border.all(color: AppColors.grayStroke), + borderRadius: BorderRadius.circular(24), + ), + child: Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + KwTimeSlotInput._timeFormat.format(_currentValue), + style: AppTextStyles.bodyMediumReg, + ), + if(widget.editable) + Assets.images.icons.caretDown.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackBlack, + BlendMode.srcIn, + ), + ) + ], + ), + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/profile_icon.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/profile_icon.dart new file mode 100644 index 00000000..be1d64cc --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/profile_icon.dart @@ -0,0 +1,187 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart'; + +import '../styles/theme.dart'; + +class ProfileIcon extends StatefulWidget { + const ProfileIcon({ + super.key, + required this.onChange, + this.diameter = 66, + this.imagePath, + this.imageUrl, + this.imageQuality = 80, + this.showError = false, + }); + + final double diameter; + final String? imagePath; + final String? imageUrl; + final int imageQuality; + final Function(String) onChange; + final bool showError; + + @override + State createState() => _ProfileIconState(); +} + +class _ProfileIconState extends State { + String? _imagePath; + String? _imageUrl; + final ImagePicker _picker = ImagePicker(); + + Future _pickImage([ImageSource source = ImageSource.gallery]) async { + final XFile? image = await _picker.pickImage( + source: source, + imageQuality: widget.imageQuality, + ); + + if (image != null) { + setState(() => _imagePath = image.path); + + widget.onChange(image.path); + } + } + + @Deprecated('For now, this method is put under triage') + void _showImageSourceDialog() { + showModalBottomSheet( + context: context, + builder: (BuildContext context) { + return SafeArea( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + ListTile( + leading: const Icon(Icons.photo_library), + title: const Text('Choose from Gallery'), + onTap: () { + Navigator.pop(context); + _pickImage(ImageSource.gallery); + }, + ), + ListTile( + leading: const Icon(Icons.camera_alt), + title: const Text('Take a Photo'), + onTap: () { + Navigator.pop(context); + _pickImage(ImageSource.camera); + }, + ), + ], + ), + ); + }, + ); + } + + @override + void initState() { + super.initState(); + + _imagePath = widget.imagePath; + _imageUrl = widget.imageUrl; + } + + @override + void didUpdateWidget(covariant ProfileIcon oldWidget) { + _imagePath = widget.imagePath; + _imageUrl = widget.imageUrl; + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + final isImageAvailable = _imagePath != null || widget.imageUrl != null; + Widget avatar; + + if (_imagePath != null && _imagePath!.isNotEmpty) { + avatar = Image.file( + File(_imagePath!), + fit: BoxFit.cover, + frameBuilder: (_, child, frame, __) { + return frame != null ? child : const KwAnimatedImagePlaceholder(); + }, + ); + } else if (_imageUrl != null && _imageUrl!.isNotEmpty) { + avatar = Image.network( + _imageUrl!, + fit: BoxFit.cover, + frameBuilder: (_, child, frame, __) { + return frame != null ? child : const KwAnimatedImagePlaceholder(); + }, + ); + } else { + avatar = DecoratedBox( + decoration: const BoxDecoration( + color: AppColors.grayWhite, + ), + child: Assets.images.icons.person.svg( + height: widget.diameter / 2, + width: widget.diameter / 2, + fit: BoxFit.scaleDown, + ), + ); + } + + final iconSize = widget.diameter / 4; + return GestureDetector( + onTap: _pickImage, + child: Stack( + clipBehavior: Clip.none, + children: [ + ClipOval( + child: AnimatedContainer( + duration: Durations.medium4, + padding: const EdgeInsets.all(2), + decoration: BoxDecoration( + color: widget.showError && !isImageAvailable + ? AppColors.statusError + : Colors.transparent, + ), + child: ClipOval( + child: SizedBox( + height: widget.diameter, + width: widget.diameter, + child: avatar, + ), + ), + ), + ), + PositionedDirectional( + bottom: 1, + end: -5, + child: Container( + height: iconSize + 10, + width: iconSize + 10, + alignment: Alignment.center, + decoration: BoxDecoration( + color: isImageAvailable + ? AppColors.grayWhite + : AppColors.bgColorDark, + shape: BoxShape.circle, + border: Border.all(color: AppColors.bgColorLight, width: 2), + ), + child: isImageAvailable + ? Assets.images.icons.edit + .svg(width: iconSize, height: iconSize) + : Assets.images.icons.add.svg( + width: iconSize, + height: iconSize, + fit: BoxFit.scaleDown, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, + BlendMode.srcIn, + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/restart_widget.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/restart_widget.dart new file mode 100644 index 00000000..3a383de9 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/restart_widget.dart @@ -0,0 +1,32 @@ +import 'package:flutter/cupertino.dart'; + +class RestartWidget extends StatefulWidget { + final Widget child; + + const RestartWidget({Key? key, required this.child}) : super(key: key); + + static restartApp(BuildContext context) { + context.findAncestorStateOfType<_RestartWidgetState>()?.restartApp(); + } + + @override + State createState() => _RestartWidgetState(); +} + +class _RestartWidgetState extends State { + Key key = UniqueKey(); + + void restartApp() { + setState(() { + key = UniqueKey(); + }); + } + + @override + Widget build(BuildContext context) { + return KeyedSubtree( + key: key, + child: widget.child, + ); + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/scroll_layout_helper.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/scroll_layout_helper.dart new file mode 100644 index 00000000..b934afe2 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/scroll_layout_helper.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; + +/// Helps to create a scrollable layout with two widgets in a scrollable column +/// and space between them +class ScrollLayoutHelper extends StatelessWidget { + final Widget upperWidget; + final Widget lowerWidget; + final EdgeInsets padding; + + final ScrollController? controller; + + final Future Function()? onRefresh; + + const ScrollLayoutHelper( + {super.key, + required this.upperWidget, + required this.lowerWidget, + this.padding = const EdgeInsets.symmetric(horizontal: 16), + this.controller, + this.onRefresh}); + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + Widget content = SingleChildScrollView( + physics: + onRefresh != null ? const AlwaysScrollableScrollPhysics() : null, + controller: controller, + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: constraints.maxHeight, + ), + child: SafeArea( + child: Padding( + padding: padding, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + upperWidget, + lowerWidget, + ], + ), + ), + ), + ), + ); + + if (onRefresh != null) { + content = RefreshIndicator( + onRefresh: () => onRefresh!.call(), + child: content, + ); + } + + return content; + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/shift_payment_step_widget.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/shift_payment_step_widget.dart new file mode 100644 index 00000000..4ae63393 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/shift_payment_step_widget.dart @@ -0,0 +1,85 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ShiftPaymentStepWidget extends StatelessWidget { + final int currentIndex; + + const ShiftPaymentStepWidget({required this.currentIndex, super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(top: 12, left: 20, right: 20), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildPaymentStep('Payment sent', 0, currentIndex), + _divider(), + _buildPaymentStep('Pending Payment', 1, currentIndex), + _divider(), + _buildPaymentStep('Payment received', 2, currentIndex), + ], + ), + ); + } + + Widget _buildPaymentStep(String title, int index, int currentIndex) { + return Container( + width: 60, + margin: const EdgeInsets.symmetric(horizontal: 10), + child: Column( + children: [ + Container( + height: 28, + width: 28, + decoration: BoxDecoration( + color: index == currentIndex + ? AppColors.blackBlack + : AppColors.grayWhite, + border: Border.all( + color: index == currentIndex + ? Colors.transparent + : AppColors.grayTintStroke, + ), + shape: BoxShape.circle, + ), + child: Center( + child: index < currentIndex + ? Assets.images.icons.check.svg() + : Text( + (index + 1).toString(), + style: index == currentIndex + ? AppTextStyles.bodyMediumSmb + .copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.grayDisable), + ), + ), + ), + SizedBox( + height: 24, + child: Text( + title, + textAlign: TextAlign.center, + style: index <= currentIndex + ? AppTextStyles.bodyTinyMed + : AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.grayDisable), + ), + ), + ], + ), + ); + } + + Widget _divider() { + return Expanded( + child: Container( + height: 1, + color: AppColors.grayTintStroke, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/shift_total_time_spend_widget.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/shift_total_time_spend_widget.dart new file mode 100644 index 00000000..1ba618c0 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/shift_total_time_spend_widget.dart @@ -0,0 +1,73 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ShiftTotalTimeSpendWidget extends StatelessWidget { + final DateTime startTime; + final DateTime endTime; + final int totalBreakTime; + + const ShiftTotalTimeSpendWidget({ + super.key, + required this.startTime, + required this.endTime, + required this.totalBreakTime, + }); + + @override + Widget build(BuildContext context) { + final totalTimeFormatted = _formatDuration(endTime.difference(startTime)); + final breakTimeFormatted = + _formatDuration(Duration(seconds: totalBreakTime)); + return Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(top: 24, left: 20, right: 20), + decoration: BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.circular(8), + border: Border.all(color: AppColors.grayStroke), + ), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total Hours', + style: AppTextStyles.bodyLargeReg + .copyWith(color: AppColors.blackGray, height: 1), + ), + Text( + totalTimeFormatted, + style: AppTextStyles.bodyLargeReg.copyWith(height: 1), + ), + ], + ), + Container( + margin: const EdgeInsets.symmetric(vertical: 12), + width: 160, + height: 1, + color: AppColors.grayTintStroke), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Break Hours', + style: AppTextStyles.bodyLargeReg + .copyWith(color: AppColors.blackGray, height: 1), + ), + Text( + breakTimeFormatted, + style: AppTextStyles.bodyLargeReg.copyWith(height: 1), + ), + ], + ) + ], + ), + ); + } + + String _formatDuration(Duration duration) { + return duration.toString().split('.').first.padLeft(8, '0'); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/slider.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/slider.dart new file mode 100644 index 00000000..37d866af --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/slider.dart @@ -0,0 +1,236 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; + +import '../styles/theme.dart'; + +class KWSlider extends StatefulWidget { + final double min; + final double max; + final double initialValue; + final ValueChanged? onChanged; + + const KWSlider({ + super.key, + this.min = 1.0, + this.max = 20.0, + this.initialValue = 3.0, + this.onChanged, + }); + + @override + State createState() => _KWSliderState(); +} + +class _KWSliderState extends State { + late double _value; + + @override + void initState() { + super.initState(); + _value = widget.initialValue.clamp(widget.min, widget.max); + } + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + final double sliderWidth = constraints.maxWidth; + + const double sliderHeight = 12; + const primaryColor = AppColors.bgColorDark; + const secondaryColor = AppColors.grayTintStroke; + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + KWSliderTooltip( + text: '${_value.toInt()} y', + leftPosition: + ((_value - widget.min) / (widget.max - widget.min)) * + sliderWidth, + sliderWidth: sliderWidth, + ), + Container( + padding: const EdgeInsets.symmetric(vertical: 15), + height: 60, + child: Stack( + alignment: Alignment.centerLeft, + children: [ + Container( + height: sliderHeight, + width: sliderWidth, + decoration: BoxDecoration( + color: secondaryColor, + borderRadius: BorderRadius.circular(10), + ), + ), + Container( + height: sliderHeight, + width: ((_value - widget.min) / (widget.max - widget.min)) * + sliderWidth, + decoration: BoxDecoration( + color: primaryColor, + borderRadius: BorderRadius.circular(10), + ), + ), + Positioned( + left: ((_value - widget.min) / (widget.max - widget.min)) * + sliderWidth - + 12, + child: SliderHead( + color: primaryColor, + onPanUpdate: (details) { + setState(() { + final newValue = _value + + (details.delta.dx / sliderWidth) * + (widget.max - widget.min); + _value = newValue.clamp(widget.min, widget.max); + widget.onChanged?.call(_value); + }); + }, + ), + ), + ], + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('${widget.min.toInt()} year'), + Text('${widget.max.toInt()} years'), + ], + ), + ], + ); + }, + ); + } +} + +class KWSliderTooltip extends StatelessWidget { + final String text; + final double leftPosition; + final double sliderWidth; + + const KWSliderTooltip({ + super.key, + required this.text, + required this.leftPosition, + required this.sliderWidth, + }); + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.centerLeft, + margin: EdgeInsets.only( + left: (leftPosition - 24).clamp(0, sliderWidth - 48), + ), + width: 48, + child: CustomPaint( + painter: TooltipPainter(), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8), + child: Text( + text, + textAlign: TextAlign.center, + style: const TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ), + ); + } +} + +class TooltipPainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { + final paint = Paint()..color = const Color(0xFF001F2D); + final path = Path(); + + path.addRRect( + RRect.fromRectAndRadius( + const Rect.fromLTWH(0, 0, 48, 30), + const Radius.circular(15), + ), + ); + + const double triangleWidth = 10; + const double triangleHeight = 6; + const double centerX = 24; + + path.moveTo(centerX - triangleWidth / 2, 30); + path.quadraticBezierTo( + centerX, + 40 + triangleHeight / 3, + centerX + triangleWidth / 2, + 30, + ); + path.close(); + + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return false; + } +} + +class SliderHead extends StatelessWidget { + final double size; + final Color color; + final VoidCallback? onPanStart; + final Function(DragUpdateDetails)? onPanUpdate; + + const SliderHead({ + super.key, + this.size = 24.0, + required this.color, + this.onPanStart, + this.onPanUpdate, + }); + + @override + Widget build(BuildContext context) { + return GestureDetector( + behavior: HitTestBehavior.opaque, + dragStartBehavior: DragStartBehavior.down, + onPanUpdate: onPanUpdate, + onPanStart: (_) => onPanStart?.call(), + child: Container( + width: size, + height: size, + decoration: BoxDecoration( + color: color, + border: Border.all( + color: Colors.white, + width: 5, + ), + shape: BoxShape.circle, + boxShadow: const [ + BoxShadow( + color: Color(0x08000000), + offset: Offset(0, 1), + blurRadius: 2, + spreadRadius: 0, + ), + BoxShadow( + color: Color(0x08000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box.dart new file mode 100644 index 00000000..a6b95fa8 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +enum CheckBoxStyle { + green, + black, + red, +} + +class KWCheckBox extends StatelessWidget { + final bool value; + final CheckBoxStyle? style; + + const KWCheckBox({ + super.key, + required this.value, + this.style = CheckBoxStyle.green, + }); + + Color get _color { + switch (style!) { + case CheckBoxStyle.green: + return value ? AppColors.statusSuccess : Colors.white; + case CheckBoxStyle.black: + return value ? AppColors.bgColorDark : Colors.white; + case CheckBoxStyle.red: + return value ? AppColors.statusError : Colors.white; + } + } + + Widget get _icon { + switch (style!) { + case CheckBoxStyle.green: + case CheckBoxStyle.black: + return Assets.images.icons.checkBox.check.svg(); + case CheckBoxStyle.red: + return Assets.images.icons.checkBox.x.svg(); + } + } + + @override + Widget build(BuildContext context) { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + width: 16, + height: 16, + decoration: BoxDecoration( + color: _color, + borderRadius: BorderRadius.circular(4), + border: value + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: Center( + child: value ? _icon : null, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box_card.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box_card.dart new file mode 100644 index 00000000..d3a4521b --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/check_box_card.dart @@ -0,0 +1,124 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box.dart'; + +class CheckBoxCard extends StatelessWidget { + final bool isChecked; + final CheckBoxStyle? checkBoxStyle; + final String title; + final String? message; + final String? errorMessage; + final VoidCallback onTap; + final bool trailing; + final EdgeInsets padding; + + const CheckBoxCard({ + super.key, + required this.isChecked, + required this.title, + required this.onTap, + this.checkBoxStyle, + this.message, + this.errorMessage, + this.trailing = false, + this.padding = EdgeInsets.zero, + }); + + Color get titleColor { + if (isChecked) { + switch (checkBoxStyle ?? CheckBoxStyle.green) { + case CheckBoxStyle.green: + if (message != null) { + return AppColors.blackBlack; + } + return AppColors.statusSuccess; + case CheckBoxStyle.black: + return AppColors.blackBlack; + case CheckBoxStyle.red: + return AppColors.blackBlack; + } + } else { + switch (checkBoxStyle ?? CheckBoxStyle.green) { + case CheckBoxStyle.green: + return AppColors.blackBlack; + case CheckBoxStyle.black: + return AppColors.blackGray; + case CheckBoxStyle.red: + return AppColors.blackBlack; + } + } + } + + Color get messageColor { + if (errorMessage != null) { + return AppColors.statusError; + } else if (isChecked) { + return AppColors.statusSuccess; + } else { + return AppColors.blackGray; + } + } + + Color get backgroundMessageColor { + if (message == null && + errorMessage == null && + isChecked && + checkBoxStyle == CheckBoxStyle.green) { + return AppColors.tintGreen; + } else { + return AppColors.grayPrimaryFrame; + } + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: onTap, + child: Container( + constraints: const BoxConstraints(minHeight: 50), + margin: padding, + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: backgroundMessageColor, + ), + child: Row( + crossAxisAlignment: message != null || errorMessage != null + ? CrossAxisAlignment.start + : CrossAxisAlignment.center, + children: [ + KWCheckBox( + value: isChecked, style: checkBoxStyle ?? CheckBoxStyle.green), + const Gap(8), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text(title, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodyMediumMed.copyWith( + color: titleColor, + )), + if (message != null || errorMessage != null) const Gap(2), + if (message != null || errorMessage != null) + Text( + errorMessage ?? message!, + style: AppTextStyles.bodyTinyReg + .copyWith(color: messageColor), + ), + ]), + ), + if (trailing) Padding( + padding: const EdgeInsets.only(left:24.0), + child: Assets.images.arrowRight.svg(), + ) + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/custom_popup_menu.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/custom_popup_menu.dart new file mode 100644 index 00000000..09060255 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/custom_popup_menu.dart @@ -0,0 +1,447 @@ +import 'dart:io'; +import 'dart:math' as math; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + +enum PressType { + longPress, + singleClick, +} + +enum PreferredPosition { + top, + bottom, +} + +class CustomPopupMenuController extends ChangeNotifier { + bool menuIsShowing = false; + + void setState() { + notifyListeners(); + } + + void showMenu() { + menuIsShowing = true; + notifyListeners(); + } + + void hideMenu() { + menuIsShowing = false; + notifyListeners(); + } + + void toggleMenu() { + menuIsShowing = !menuIsShowing; + notifyListeners(); + } +} + +Rect _menuRect = Rect.zero; + +class CustomPopupMenu extends StatefulWidget { + const CustomPopupMenu({ + super.key, + required this.child, + required this.menuBuilder, + required this.pressType, + this.controller, + this.arrowColor = const Color(0xFF4C4C4C), + this.showArrow = true, + this.barrierColor = Colors.black12, + this.arrowSize = 10.0, + this.horizontalMargin = 10.0, + this.verticalMargin = 10.0, + this.position, + this.menuOnChange, + this.enablePassEvent = true, + }); + + final Widget child; + final PressType pressType; + final bool showArrow; + final Color arrowColor; + final Color barrierColor; + final double horizontalMargin; + final double verticalMargin; + final double arrowSize; + final CustomPopupMenuController? controller; + final Widget Function()? menuBuilder; + final PreferredPosition? position; + final void Function(bool)? menuOnChange; + + /// Pass tap event to the widgets below the mask. + /// It only works when [barrierColor] is transparent. + final bool enablePassEvent; + + @override + State createState() => _CustomPopupMenuState(); +} + +class _CustomPopupMenuState extends State { + RenderBox? _childBox; + RenderBox? _parentBox; + static OverlayEntry? overlayEntry; + CustomPopupMenuController? _controller; + bool _canResponse = true; + + _showMenu() { + if (widget.menuBuilder == null) { + _hideMenu(); + return; + } + Widget arrow = ClipPath( + clipper: _ArrowClipper(), + child: Container( + width: widget.arrowSize, + height: widget.arrowSize, + color: widget.arrowColor, + ), + ); + if (overlayEntry != null) { + overlayEntry?.remove(); + } + overlayEntry = OverlayEntry( + builder: (context) { + Widget menu = Center( + child: Container( + constraints: BoxConstraints( + maxWidth: _parentBox!.size.width - 2 * widget.horizontalMargin, + minWidth: 0, + ), + child: CustomMultiChildLayout( + delegate: _MenuLayoutDelegate( + anchorSize: _childBox!.size, + anchorOffset: _childBox!.localToGlobal( + Offset(-widget.horizontalMargin, 0), + ), + verticalMargin: widget.verticalMargin, + position: widget.position, + ), + children: [ + if (widget.showArrow) + LayoutId( + id: _MenuLayoutId.arrow, + child: arrow, + ), + if (widget.showArrow) + LayoutId( + id: _MenuLayoutId.downArrow, + child: Transform.rotate( + angle: math.pi, + child: arrow, + ), + ), + LayoutId( + id: _MenuLayoutId.content, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Material( + color: Colors.transparent, + child: widget.menuBuilder?.call() ?? Container(), + ), + ], + ), + ), + ], + ), + ), + ); + return Listener( + behavior: widget.enablePassEvent + ? HitTestBehavior.translucent + : HitTestBehavior.opaque, + onPointerDown: (PointerDownEvent event) { + Offset offset = event.localPosition; + // If tap position in menu + if (_menuRect.contains( + Offset(offset.dx - widget.horizontalMargin, offset.dy))) { + return; + } + _controller?.hideMenu(); + // When [enablePassEvent] works and we tap the [child] to [hideMenu], + // but the passed event would trigger [showMenu] again. + // So, we use time threshold to solve this bug. + _canResponse = false; + Future.delayed(const Duration(milliseconds: 300)) + .then((_) => _canResponse = true); + }, + child: widget.barrierColor == Colors.transparent + ? menu + : Container( + color: widget.barrierColor, + child: menu, + ), + ); + }, + ); + if (overlayEntry != null) { + try { + overlayEntry?.remove(); + } catch (e) { + if (kDebugMode) print(e); + } + Overlay.of(context).insert(overlayEntry!); + } + } + + _hideMenu() { + if (overlayEntry != null) { + overlayEntry?.remove(); + overlayEntry = null; + } + } + + _updateView() { + bool menuIsShowing = _controller?.menuIsShowing ?? false; + widget.menuOnChange?.call(menuIsShowing); + if (menuIsShowing) { + _showMenu(); + } else { + _hideMenu(); + } + } + + @override + void initState() { + super.initState(); + _controller = widget.controller; + _controller ??= CustomPopupMenuController(); + _controller?.addListener(_updateView); + WidgetsBinding.instance.addPostFrameCallback((call) { + if (mounted) { + _childBox = context.findRenderObject() as RenderBox?; + _parentBox = + Overlay.of(context).context.findRenderObject() as RenderBox?; + } + }); + } + + @override + void dispose() { + _hideMenu(); + _controller?.removeListener(_updateView); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var child = Material( + color: Colors.transparent, + child: InkWell( + hoverColor: Colors.transparent, + focusColor: Colors.transparent, + splashColor: Colors.transparent, + highlightColor: Colors.transparent, + child: widget.child, + onTap: () { + if (widget.pressType == PressType.singleClick && _canResponse) { + _controller?.showMenu(); + } + }, + onLongPress: () { + if (widget.pressType == PressType.longPress && _canResponse) { + _controller?.showMenu(); + } + }, + ), + ); + if (Platform.isIOS) { + return child; + } else { + return PopScope( + onPopInvokedWithResult: (willPop, result) { + _hideMenu(); + }, + child: child, + ); + } + } +} + +enum _MenuLayoutId { + arrow, + downArrow, + content, +} + +enum _MenuPosition { + bottomLeft, + bottomCenter, + bottomRight, + topLeft, + topCenter, + topRight, +} + +class _MenuLayoutDelegate extends MultiChildLayoutDelegate { + _MenuLayoutDelegate({ + required this.anchorSize, + required this.anchorOffset, + required this.verticalMargin, + this.position, + }); + + final Size anchorSize; + final Offset anchorOffset; + final double verticalMargin; + final PreferredPosition? position; + + @override + void performLayout(Size size) { + Size contentSize = Size.zero; + Size arrowSize = Size.zero; + Offset contentOffset = const Offset(0, 0); + Offset arrowOffset = const Offset(0, 0); + + double anchorCenterX = anchorOffset.dx + anchorSize.width / 2; + double anchorTopY = anchorOffset.dy; + double anchorBottomY = anchorTopY + anchorSize.height; + _MenuPosition menuPosition = _MenuPosition.bottomCenter; + + if (hasChild(_MenuLayoutId.content)) { + contentSize = layoutChild( + _MenuLayoutId.content, + BoxConstraints.loose(size), + ); + } + if (hasChild(_MenuLayoutId.arrow)) { + arrowSize = layoutChild( + _MenuLayoutId.arrow, + BoxConstraints.loose(size), + ); + } + if (hasChild(_MenuLayoutId.downArrow)) { + layoutChild( + _MenuLayoutId.downArrow, + BoxConstraints.loose(size), + ); + } + + bool isTop = false; + if (position == null) { + // auto calculate position + isTop = anchorBottomY > size.height / 2; + } else { + isTop = position == PreferredPosition.top; + } + if (anchorCenterX - contentSize.width / 2 < 0) { + menuPosition = isTop ? _MenuPosition.topLeft : _MenuPosition.bottomLeft; + } else if (anchorCenterX + contentSize.width / 2 > size.width) { + menuPosition = isTop ? _MenuPosition.topRight : _MenuPosition.bottomRight; + } else { + menuPosition = + isTop ? _MenuPosition.topCenter : _MenuPosition.bottomCenter; + } + + switch (menuPosition) { + case _MenuPosition.bottomCenter: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin, + ); + contentOffset = Offset( + anchorCenterX - contentSize.width / 2, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.bottomLeft: + arrowOffset = Offset(anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin); + contentOffset = Offset( + 0, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.bottomRight: + arrowOffset = Offset(anchorCenterX - arrowSize.width / 2, + anchorBottomY + verticalMargin); + contentOffset = Offset( + size.width - contentSize.width, + anchorBottomY + verticalMargin + arrowSize.height, + ); + break; + case _MenuPosition.topCenter: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + anchorCenterX - contentSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + case _MenuPosition.topLeft: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + 0, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + case _MenuPosition.topRight: + arrowOffset = Offset( + anchorCenterX - arrowSize.width / 2, + anchorTopY - verticalMargin - arrowSize.height, + ); + contentOffset = Offset( + size.width - contentSize.width, + anchorTopY - verticalMargin - arrowSize.height - contentSize.height, + ); + break; + } + if (hasChild(_MenuLayoutId.content)) { + positionChild(_MenuLayoutId.content, contentOffset); + } + + _menuRect = Rect.fromLTWH( + contentOffset.dx, + contentOffset.dy, + contentSize.width, + contentSize.height, + ); + bool isBottom = false; + if (_MenuPosition.values.indexOf(menuPosition) < 3) { + // bottom + isBottom = true; + } + if (hasChild(_MenuLayoutId.arrow)) { + positionChild( + _MenuLayoutId.arrow, + isBottom + ? Offset(arrowOffset.dx, arrowOffset.dy + 0.1) + : const Offset(-100, 0), + ); + } + if (hasChild(_MenuLayoutId.downArrow)) { + positionChild( + _MenuLayoutId.downArrow, + !isBottom + ? Offset(arrowOffset.dx, arrowOffset.dy - 0.1) + : const Offset(-100, 0), + ); + } + } + + @override + bool shouldRelayout(MultiChildLayoutDelegate oldDelegate) => false; +} + +class _ArrowClipper extends CustomClipper { + @override + Path getClip(Size size) { + Path path = Path(); + path.moveTo(0, size.height); + path.lineTo(size.width / 2, size.height / 2); + path.lineTo(size.width, size.height); + return path; + } + + @override + bool shouldReclip(CustomClipper oldClipper) { + return true; + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart new file mode 100644 index 00000000..4e20c8a7 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart @@ -0,0 +1,90 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ImagePreviewDialog extends StatelessWidget { + final String title; + final String imageUrl; + + const ImagePreviewDialog({ + super.key, + required this.title, + required this.imageUrl, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Center( + child: Container( + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: AppTextStyles.bodyLargeMed, + ), + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Assets.images.icons.x.svg(), + ), + ], + ), + const SizedBox(height: 32), + //rounded corner image + ClipRRect( + borderRadius: BorderRadius.circular(16), + child: _buildImage(context), + ), + ], + ), + ), + ), + ), + ); + } + + Widget _buildImage(context) { + if (Uri.parse(imageUrl).isAbsolute) { + return Image.network( + imageUrl, + width: MediaQuery.of(context).size.width - 80, + fit: BoxFit.cover, + ); + } else { + return Image.file( + File(imageUrl), + width: MediaQuery.of(context).size.width - 80, + fit: BoxFit.cover, + ); + } + } + + static void show(BuildContext context, String title, String imageUrl) { + showDialog( + context: context, + builder: (BuildContext context) { + return ImagePreviewDialog( + title: title, + imageUrl: imageUrl, + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart new file mode 100644 index 00000000..73a46741 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart @@ -0,0 +1,197 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; + +enum KwDialogState { neutral, positive, negative, warning, info } + +class KwDialog extends StatefulWidget { + final SvgGenImage icon; + final KwDialogState state; + final String title; + final String message; + final String? primaryButtonLabel; + final String? secondaryButtonLabel; + final void Function(BuildContext dialogContext)? onPrimaryButtonPressed; + final void Function(BuildContext dialogContext)? onSecondaryButtonPressed; + final Widget? child; + + const KwDialog({ + super.key, + required this.icon, + required this.state, + required this.title, + required this.message, + this.primaryButtonLabel, + this.secondaryButtonLabel, + this.onPrimaryButtonPressed, + this.onSecondaryButtonPressed, + this.child, + }); + + @override + State createState() => _KwDialogState(); + + static Future show({ + required BuildContext context, + required SvgGenImage icon, + KwDialogState state = KwDialogState.neutral, + required String title, + required String message, + String? primaryButtonLabel, + String? secondaryButtonLabel, + bool barrierDismissible = true, + void Function(BuildContext dialogContext)? onPrimaryButtonPressed, + void Function(BuildContext dialogContext)? onSecondaryButtonPressed, + Widget? child, + }) async { + return showDialog( + context: context, + barrierDismissible: barrierDismissible, + builder: (context) => KwDialog( + icon: icon, + state: state, + title: title, + message: message, + primaryButtonLabel: primaryButtonLabel, + secondaryButtonLabel: secondaryButtonLabel, + onPrimaryButtonPressed: onPrimaryButtonPressed, + onSecondaryButtonPressed: onSecondaryButtonPressed, + child: child, + ), + ); + } +} + +class _KwDialogState extends State { + Color get _iconColor { + switch (widget.state) { + case KwDialogState.neutral: + return AppColors.blackBlack; + case KwDialogState.positive: + return AppColors.statusSuccess; + case KwDialogState.negative: + return AppColors.statusError; + case KwDialogState.warning: + return AppColors.statusWarning; + case KwDialogState.info: + return AppColors.primaryBlue; + } + } + + Color get _iconBgColor { + switch (widget.state) { + case KwDialogState.neutral: + return AppColors.tintGray; + case KwDialogState.positive: + return AppColors.tintGreen; + case KwDialogState.negative: + return AppColors.tintRed; + case KwDialogState.warning: + return AppColors.tintYellow; + case KwDialogState.info: + return AppColors.tintBlue; + } + } + + @override + Widget build(BuildContext context) { + return Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + ), + child: RawScrollbar( + thumbVisibility: true, + thumbColor: AppColors.blackCaptionText, + radius: const Radius.circular(20), + crossAxisMargin: 4, + mainAxisMargin: 24, + thickness: 6, + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + AnimatedContainer( + duration: const Duration(milliseconds: 300), + height: 64, + width: 64, + decoration: BoxDecoration( + color: _iconBgColor, + shape: BoxShape.circle, + ), + child: Center( + child: widget.icon.svg( + width: 32, + height: 32, + colorFilter: + ColorFilter.mode(_iconColor, BlendMode.srcIn), + ), + ), + ), + const Gap(32), + Text( + widget.title, + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + widget.message, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + if (widget.child != null) ...[ + const Gap(8), + widget.child!, + ], + const Gap(24), + ..._buttonGroup(), + ], + ), + ), + ), + ), + ), + ); + } + + List _buttonGroup() { + return [ + if (widget.primaryButtonLabel != null) + KwButton.primary( + label: widget.primaryButtonLabel ?? '', + onPressed: () { + if (widget.onPrimaryButtonPressed != null) { + widget.onPrimaryButtonPressed?.call(context); + } else { + Navigator.of(context).pop(); + } + }, + ), + if (widget.primaryButtonLabel != null && + widget.secondaryButtonLabel != null) + const Gap(8), + if (widget.secondaryButtonLabel != null) + KwButton.outlinedPrimary( + label: widget.secondaryButtonLabel ?? '', + onPressed: () { + if (widget.onSecondaryButtonPressed != null) { + widget.onSecondaryButtonPressed?.call(context); + } else { + Navigator.of(context).pop(); + } + }, + ), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart new file mode 100644 index 00000000..432cbc90 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_app_bar.dart @@ -0,0 +1,100 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +enum AppBarIconColorStyle { normal, inverted } + +class KwAppBar extends AppBar { + final bool showNotification; + final Color? contentColor; + final AppBarIconColorStyle iconColorStyle; + + final String? titleText; + + KwAppBar({ + this.titleText, + this.showNotification = false, + this.contentColor, + bool centerTitle = true, + this.iconColorStyle = AppBarIconColorStyle.normal, + super.key, + super.backgroundColor, + }) : super( + leadingWidth: centerTitle ? null : 0, + elevation: 0, + centerTitle: centerTitle, + ); + + @override + List get actions { + return [];//todo remove after implementation + return [ + if (showNotification) + Container( + margin: const EdgeInsets.only(right: 16), + height: 48, + width: 48, + color: Colors.transparent, + child: Center( + child: Assets.images.appBar.notification.svg( + colorFilter: ColorFilter.mode( + iconColorStyle == AppBarIconColorStyle.normal + ? AppColors.blackBlack + : AppColors.grayWhite, + BlendMode.srcIn)), + ), + ), + ]; + } + + @override + Widget? get title { + return titleText != null + ? Text( + titleText!, + style: _titleTextStyle(contentColor), + ) + : Assets.images.logo.svg( + colorFilter: ColorFilter.mode( + contentColor ?? AppColors.bgColorDark, BlendMode.srcIn)); + } + + @override + Widget? get leading { + return Builder(builder: (context) { + return AutoRouter.of(context).canPop() + ? GestureDetector( + onTap: () { + AutoRouter.of(context).maybePop(); + }, + child: Padding( + padding: const EdgeInsets.only(left: 20.0), + child: Container( + color: Colors.transparent, + height: 40, + width: 40, + child: Center( + child: Assets.images.appBar.appbarLeading.svg( + colorFilter: ColorFilter.mode( + iconColorStyle == AppBarIconColorStyle.normal + ? AppColors.blackBlack + : Colors.white, + BlendMode.srcIn, + ), + ), + ), + ), + ), + ) + : const SizedBox.shrink(); + }); + } + + static TextStyle _titleTextStyle(contentColor) { + return AppTextStyles.headingH2.copyWith( + color: contentColor ?? AppColors.blackBlack, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_button.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_button.dart new file mode 100644 index 00000000..795f5ef0 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_button.dart @@ -0,0 +1,299 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +///The [KwButtonFit] enum defines two possible values for the button fit: +/// *[expanded]: The button will expand to fill the available space. +/// *[shrinkWrap]: The button will wrap its content, taking up only as much space as needed. +enum KwButtonFit { expanded, shrinkWrap, circular } + +class KwButton extends StatefulWidget { + final String? label; + final SvgGenImage? leftIcon; + final SvgGenImage? rightIcon; + final bool disabled; + final Color color; + final Color pressedColor; + final Color disabledColor; + final Color? textColors; + final bool isOutlined; + final VoidCallback onPressed; + final KwButtonFit? fit; + final double height; + + const KwButton._({ + required this.onPressed, + required this.color, + required this.isOutlined, + required this.pressedColor, + required this.disabledColor, + this.disabled = false, + this.label, + this.leftIcon, + this.rightIcon, + this.textColors, + this.height = 52, + this.fit = KwButtonFit.expanded, + }) : assert(label != null || leftIcon != null || rightIcon != null, + 'title or icon must be provided'); + + /// Creates a standard dark button. + const KwButton.primary({ + super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + }) : color = AppColors.bgColorDark, + pressedColor = AppColors.darkBgActiveButtonState, + disabledColor = AppColors.grayDisable, + textColors = Colors.white, + isOutlined = false; + + /// Creates a white button. + const KwButton.secondary({ + super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + }) : color = Colors.white, + pressedColor = AppColors.graySecondaryFrame, + disabledColor = Colors.white, + textColors = disabled ? AppColors.grayDisable : AppColors.blackBlack, + isOutlined = false; + + /// Creates a yellow button. + const KwButton.accent({ + super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + }) : color = AppColors.primaryYellow, + pressedColor = AppColors.darkBgActiveAccentButton, + disabledColor = AppColors.navBarDisabled, + textColors = disabled ? AppColors.darkBgInactive : AppColors.blackBlack, + isOutlined = false; + + const KwButton.outlinedPrimary({ + super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + }) : color = AppColors.bgColorDark, + pressedColor = AppColors.darkBgActiveButtonState, + disabledColor = AppColors.grayDisable, + isOutlined = true, + textColors = null; + + const KwButton.outlinedAccent({ + super.key, + this.label, + this.leftIcon, + this.rightIcon, + this.disabled = false, + this.height = 52, + this.fit = KwButtonFit.expanded, + required this.onPressed, + }) : color = AppColors.primaryYellow, + pressedColor = AppColors.darkBgActiveAccentButton, + disabledColor = AppColors.navBarDisabled, + isOutlined = true, + textColors = null; + + KwButton copyWith({ + String? label, + SvgGenImage? icon, + bool? disabled, + Color? color, + Color? pressedColor, + Color? disabledColor, + Color? textColors, + bool? isOutlined, + VoidCallback? onPressed, + KwButtonFit? fit, + double? height, + }) { + return KwButton._( + label: label ?? this.label, + leftIcon: icon ?? leftIcon, + rightIcon: icon ?? rightIcon, + disabled: disabled ?? this.disabled, + color: color ?? this.color, + pressedColor: pressedColor ?? this.pressedColor, + disabledColor: disabledColor ?? this.disabledColor, + textColors: textColors ?? this.textColors, + isOutlined: isOutlined ?? this.isOutlined, + onPressed: onPressed ?? this.onPressed, + fit: fit ?? this.fit, + height: height ?? this.height, + ); + } + + @override + State createState() => _KwButtonState(); +} + +class _KwButtonState extends State { + bool pressed = false; + Timer? _tapCancelTimer; + + @override + Widget build(BuildContext context) { + return widget.fit == KwButtonFit.shrinkWrap + ? Row(children: [_buildButton(context)]) + : _buildButton(context); + } + + Widget _buildButton(BuildContext context) { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: widget.height, + width: widget.fit == KwButtonFit.circular ? widget.height : null, + decoration: BoxDecoration( + color: _getColor(), + border: _getBorder(), + borderRadius: BorderRadius.circular(widget.height / 2), + ), + child: Material( + color: Colors.transparent, + child: InkWell( + onTapDown: widget.disabled ? null : _onTapDown, + onTapCancel: widget.disabled ? null : _onTapCancel, + onTapUp: widget.disabled ? null : _onTapUp, + borderRadius: BorderRadius.circular(widget.height / 2), + highlightColor: + widget.isOutlined ? Colors.transparent : widget.pressedColor, + splashColor: + widget.isOutlined ? Colors.transparent : widget.pressedColor, + child: _buildButtonContent(context), + ), + ), + ); + } + + Center _buildButtonContent(BuildContext context) { + return Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildHorizontalPadding(), + if (widget.leftIcon != null) + Center( + child: widget.leftIcon!.svg( + height: 16, + width: 16, + colorFilter: ColorFilter.mode( + _getTextColor(), + BlendMode.srcIn, + ), + ), + ), + if (widget.leftIcon != null && widget.label != null) + const SizedBox(width: 4), + if (widget.label != null) + Text( + widget.label!, + style: AppTextStyles.bodyMediumMed.copyWith( + color: _getTextColor(), + ), + ), + if (widget.rightIcon != null && widget.label != null) + const SizedBox(width: 4), + if (widget.rightIcon != null) + Center( + child: widget.rightIcon!.svg( + height: 16, + width: 16, + colorFilter: ColorFilter.mode( + _getTextColor(), + BlendMode.srcIn, + ), + ), + ), + _buildHorizontalPadding() + ], + ), + ); + } + + Gap _buildHorizontalPadding() => Gap( + widget.fit == KwButtonFit.circular ? 0 : (widget.height < 40 ? 12 : 20), + ); + + void _onTapDown(details) { + setState(() { + pressed = true; + }); + } + + void _onTapCancel() { + setState(() { + pressed = false; + }); + } + + void _onTapUp(details) { + _tapCancelTimer?.cancel(); + _tapCancelTimer = Timer( + const Duration(milliseconds: 50), + _onTapCancel, + ); + + widget.onPressed(); + } + + Border? _getBorder() { + return widget.isOutlined + ? Border.all( + color: widget.disabled + ? widget.disabledColor + : pressed + ? widget.pressedColor + : widget.color, + width: 1, + ) + : null; + } + + Color _getColor() { + return widget.isOutlined + ? Colors.transparent + : widget.disabled + ? widget.disabledColor + : widget.color; + } + + Color _getTextColor() { + return widget.textColors ?? + (pressed + ? widget.pressedColor + : widget.disabled + ? widget.disabledColor + : widget.color); + } + + @override + void dispose() { + _tapCancelTimer?.cancel(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_calendar_widget.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_calendar_widget.dart new file mode 100644 index 00000000..ce679baf --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_calendar_widget.dart @@ -0,0 +1,212 @@ +import 'package:calendar_date_picker2/calendar_date_picker2.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwCalendarWidget extends StatefulWidget { + const KwCalendarWidget({ + super.key, + required this.initialDate, + required this.onDateSelected, + this.firstDate, + this.lastDate, + this.currentDate, + }); + + final DateTime? initialDate; + final DateTime? firstDate; + final DateTime? lastDate; + final DateTime? currentDate; + final void Function(DateTime value) onDateSelected; + + @override + State createState() => _KwCalendarWidgetState(); +} + +class _KwCalendarWidgetState extends State { + final monthStr = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' + ]; + + final selectedTextStyle = AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.grayWhite, + ); + + final dayTextStyle = AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.bgColorDark, + ); + + @override + Widget build(BuildContext context) { + return CalendarDatePicker2( + value: widget.initialDate == null ? [] : [widget.initialDate], + config: CalendarDatePicker2Config( + firstDate: widget.firstDate, + lastDate: widget.lastDate, + currentDate: widget.currentDate, + hideMonthPickerDividers: false, + modePickersGap: 0, + controlsHeight: 80, + calendarType: CalendarDatePicker2Type.single, + selectedRangeHighlightColor: AppColors.tintGray, + selectedDayTextStyle: selectedTextStyle, + dayTextStyle: dayTextStyle, + selectedMonthTextStyle: selectedTextStyle, + selectedYearTextStyle: selectedTextStyle, + selectedDayHighlightColor: AppColors.bgColorDark, + centerAlignModePicker: true, + monthTextStyle: dayTextStyle, + weekdayLabelBuilder: _dayWeekBuilder, + dayBuilder: _dayBuilder, + monthBuilder: _monthBuilder, + yearBuilder: _yearBuilder, + controlsTextStyle: AppTextStyles.headingH3, + nextMonthIcon: Assets.images.icons.caretRight.svg(width: 24), + lastMonthIcon: Assets.images.icons.caretLeft.svg(width: 24), + customModePickerIcon: Padding( + padding: const EdgeInsets.only(left: 4), + child: Assets.images.icons.caretDown.svg(), + ), + + // modePickerBuilder: _controlBuilder, + ), + onValueChanged: (dates) { + widget.onDateSelected.call(dates.first); + }, + ); + } + + Widget? _monthBuilder({ + required int month, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentMonth, + }) { + return Center( + child: Container( + margin: const EdgeInsets.only(top: 16), + height: 52, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(23), + border: Border.all( + color: AppColors.grayStroke, + width: isSelected == true ? 0 : 1, + ), + ), + child: Center( + child: Text( + monthStr[month - 1], + style: isSelected == true + ? AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ), + ), + ); + } + + Widget? _yearBuilder({ + required int year, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentYear, + }) { + return Container( + margin: const EdgeInsets.only(top: 12), + height: 52, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(23), + border: Border.all( + color: AppColors.grayStroke, + width: isSelected == true ? 0 : 1, + ), + ), + child: Center( + child: Text( + year.toString(), + style: isSelected == true + ? AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ), + ); + } + + Widget? _dayBuilder({ + required DateTime date, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isToday, + }) { + bool past = _isPast(date); + var dayDecoration = BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(20), + ); + var dayTextStyle = AppTextStyles.bodyMediumReg.copyWith( + color: past ? AppColors.blackCaptionText : AppColors.bgColorDark, + ); + return Center( + child: Container( + margin: const EdgeInsets.only(left: 2, right: 2), + alignment: Alignment.center, + decoration: dayDecoration, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + date.day.toString(), + style: isSelected == true ? selectedTextStyle : dayTextStyle, + textAlign: TextAlign.center, + ), + const Gap(2), + ], + ), + ), + ); + } + + bool _isPast(DateTime date) { + return date.isBefore(DateTime.now().tillDay()); + } + + Widget? _dayWeekBuilder({ + required int weekday, + bool? isScrollViewTopHeader, + }) { + return Text( + ['S', 'M', 'T', 'W', 'T', 'F', 'S'][weekday], + style: AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.bgColorDark, + ), + textAlign: TextAlign.center, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_picker_popup.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_picker_popup.dart new file mode 100644 index 00000000..d8cbf6d8 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_picker_popup.dart @@ -0,0 +1,114 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_calendar_widget.dart'; + +class KwDatePickerPopup extends StatefulWidget { + const KwDatePickerPopup({ + super.key, + this.initialDate, + this.firstDate, + this.lastDate, + this.currentDate, + }); + + final DateTime? initialDate; + final DateTime? firstDate; + final DateTime? lastDate; + final DateTime? currentDate; + + @override + State createState() => _KwDatePickerPopupState(); + + static Future show({ + required BuildContext context, + DateTime? initDate, + DateTime? firstDate, + DateTime? lastDate, + DateTime? currentDate, + }) async { + return showDialog( + context: context, + builder: (context) => KwDatePickerPopup( + initialDate: initDate, + firstDate: firstDate, + lastDate: lastDate, + currentDate: currentDate, + ), + ); + } +} + +class _KwDatePickerPopupState extends State { + DateTime? selectedDate; + + @override + void initState() { + selectedDate = widget.initialDate; + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Center( + child: Container( + padding: const EdgeInsets.all(24), + margin: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColors.bgColorLight, + borderRadius: BorderRadius.circular(24), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + const Row( + children: [ + Text( + 'Select Date from Calendar', + style: AppTextStyles.headingH3, + ), + ], + ), + const Gap(24), + Container( + decoration: BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColors.grayTintStroke), + ), + child: KwCalendarWidget( + onDateSelected: (date) { + setState(() { + selectedDate = date; + }); + }, + initialDate: selectedDate ?? widget.initialDate, + ), + ), + const Gap(24), + KwButton.primary( + disabled: selectedDate == null, + label: 'Pick Date', + onPressed: () { + Navigator.of(context).pop(selectedDate); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'Cancel', + onPressed: () { + Navigator.of(context).pop(widget.initialDate); + }, + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_selector.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_selector.dart new file mode 100644 index 00000000..9ac0abab --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_date_selector.dart @@ -0,0 +1,220 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_date_picker_popup.dart'; + +class KwDateSelector extends StatefulWidget { + const KwDateSelector({ + required this.onSelect, + super.key, + this.title, + this.hintText, + this.helperText, + this.minHeight = standardHeight, + this.suffixIcon, + this.showError = false, + this.enabled = true, + this.readOnly = false, + this.focusNode, + this.textStyle, + this.radius = 12, + this.borderColor, + this.dateFormat, + this.initialValue, + this.firstDate, + this.lastDate, + this.initialDate, + }); + + static const standardHeight = 48.0; + + final void Function(DateTime) onSelect; + final String? title; + final String? hintText; + final String? helperText; + final bool enabled; + final bool readOnly; + final bool showError; + final FocusNode? focusNode; + final double minHeight; + final TextStyle? textStyle; + final Widget? suffixIcon; + final double radius; + final Color? borderColor; + final DateFormat? dateFormat; + final DateTime? initialValue; + final DateTime? firstDate; + final DateTime? lastDate; + final DateTime? initialDate; + + @override + State createState() => _KwDateSelectorState(); +} + +class _KwDateSelectorState extends State { + final _controller = TextEditingController(); + late FocusNode _focusNode; + late DateFormat _dateFormat; + + @override + initState() { + _focusNode = widget.focusNode ?? FocusNode(); + _dateFormat = widget.dateFormat ?? DateFormat('M/d/y'); + + super.initState(); + + _focusNode.addListener(() => setState(() {})); + if (widget.initialValue != null) { + _controller.text = _dateFormat.format(widget.initialValue!); + } + } + + Color _helperTextColor() { + if (widget.showError) return AppColors.statusError; + + if (!widget.enabled) return AppColors.grayDisable; + + return AppColors.bgColorDark; + } + + Color _borderColor() { + if (!widget.enabled) return AppColors.grayDisable; + + if (widget.showError) return AppColors.statusError; + + if (_focusNode.hasFocus) return AppColors.bgColorDark; + + return widget.borderColor ?? AppColors.grayStroke; + } + + Future _handleOnTap() async { + final today = DateTime.now(); + + final date = await KwDatePickerPopup.show( + context: context, + firstDate: + widget.firstDate ?? today.subtract(const Duration(days: 3650)), + lastDate: widget.lastDate ?? today.add(const Duration(days: 10)), + initDate: widget.initialDate, + currentDate: today, + ); + + if (date == null) return; + + _controller.text = _dateFormat.format(date); + widget.onSelect(date); + } + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (widget.title != null) + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + ), + ), + if (widget.title != null) const SizedBox(height: 4), + Stack( + children: [ + Container( + alignment: Alignment.topCenter, + constraints: BoxConstraints( + minHeight: widget.minHeight, + ), + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.all( + Radius.circular( + widget.minHeight > KwDateSelector.standardHeight + ? widget.radius + : widget.minHeight / 2, + ), + ), + border: Border.all( + color: _borderColor(), + ), + ), + child: Row( + children: [ + Expanded( + child: TextFormField( + controller: _controller, + focusNode: _focusNode, + enabled: widget.enabled && !widget.readOnly, + onTap: _handleOnTap, + onTapOutside: (_) => _focusNode.unfocus(), + style: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: !widget.enabled + ? AppColors.grayDisable + : null, + ), + cursorColor: Colors.transparent, + decoration: InputDecoration( + fillColor: Colors.transparent, + contentPadding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 8, + ), + hintText: widget.hintText, + hintStyle: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + border: InputBorder.none, + ), + ), + ), + if (widget.suffixIcon != null) + SizedBox(child: widget.suffixIcon!), + ], + ), + ), + if (widget.minHeight > KwDateSelector.standardHeight) + Positioned( + bottom: 12, + right: 12, + child: Assets.images.icons.textFieldNotches.svg( + height: 12, + width: 12, + ), + ), + ], + ), + if (widget.helperText != null && + (widget.helperText?.isNotEmpty ?? false)) ...[ + const SizedBox(height: 4), + Row( + children: [ + const Gap(16), + Text( + widget.helperText!, + style: AppTextStyles.bodyTinyReg.copyWith( + height: 1, + color: _helperTextColor(), + ), + ), + ], + ) + ] + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart new file mode 100644 index 00000000..8adfad53 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_dropdown.dart @@ -0,0 +1,159 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +class KwDropdown extends StatefulWidget { + final String? title; + final String hintText; + final KwDropDownItem? selectedItem; + final Iterable> items; + final Function(R item) onSelected; + final double horizontalPadding; + final Color? backgroundColor; + final Color borderColor; + final bool showError; + final String? helperText; + + const KwDropdown({ + super.key, + required this.hintText, + this.horizontalPadding = 0, + required this.items, + required this.onSelected, + this.backgroundColor, + this.borderColor = AppColors.grayTintStroke, + this.title, + this.selectedItem, + this.showError = false, + this.helperText, + }); + + @override + State> createState() => _KwDropdownState(); +} + +class _KwDropdownState extends State> { + KwDropDownItem? _selectedItem; + + @override + void initState() { + _selectedItem = widget.selectedItem; + super.initState(); + } + + Color _helperTextColor() { + if (widget.showError) return AppColors.statusError; + + return AppColors.bgColorDark; + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (widget.title != null) + Padding( + padding: const EdgeInsets.only(left: 16, bottom: 4), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ), + KwPopupMenu( + horizontalPadding: widget.horizontalPadding, + fit: KwPopupMenuFit.expand, + customButtonBuilder: _buildMenuButton, + menuItems: [ + for (final item in widget.items) + KwPopupMenuItem( + title: item.title, + icon: item.icon, + onTap: () { + setState(() => _selectedItem = item); + widget.onSelected(item.data); + }, + ), + ], + ), + if (widget.helperText?.isNotEmpty == true) ...[ + const SizedBox(height: 4), + Row( + children: [ + const Gap(16), + Text( + widget.helperText!, + style: AppTextStyles.bodyTinyReg.copyWith( + height: 1, + color: _helperTextColor(), + ), + ), + ], + ), + ], + ], + ); + } + + Color _borderColor(bool isOpened) { + if (isOpened) return AppColors.bgColorDark; + + if (widget.showError) return AppColors.statusError; + + return widget.borderColor; + } + + Widget _buildMenuButton(BuildContext context, bool isOpened) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: widget.backgroundColor, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: _borderColor(isOpened), + width: 1, + ), + ), + child: Row( + children: [ + Expanded( + child: Text( + _selectedItem?.title ?? widget.hintText, + style: AppTextStyles.bodyMediumReg.copyWith( + color: _selectedItem == null + ? AppColors.blackGray + : AppColors.blackBlack, + ), + ), + ), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: isOpened ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.darkBgInactive, + BlendMode.srcIn, + ), + ), + ) + ], + ), + ); + } +} + +class KwDropDownItem { + final String title; + final R data; + final Widget? icon; + + const KwDropDownItem({required this.data, required this.title, this.icon}); +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart new file mode 100644 index 00000000..1ee237e0 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart @@ -0,0 +1,70 @@ +import 'package:flutter/material.dart'; + +class KwAnimatedImagePlaceholder extends StatefulWidget { + const KwAnimatedImagePlaceholder({ + super.key, + this.height = double.maxFinite, + this.width = double.maxFinite, + }); + + final double height; + final double width; + + @override + State createState() => + _KwAnimatedImagePlaceholderState(); +} + +class _KwAnimatedImagePlaceholderState extends State + with TickerProviderStateMixin { + late final AnimationController _controller = AnimationController( + vsync: this, + duration: Durations.long4, + animationBehavior: AnimationBehavior.preserve, + ) + ..forward() + ..addListener( + () { + if (!_controller.isCompleted) return; + + if (_controller.value == 0) { + _controller.forward(); + } else { + _controller.reverse(); + } + }, + ); + + late final Animation _opacity = Tween( + begin: 0.6, + end: 0.2, + ).animate(_controller); + + @override + Widget build(BuildContext context) { + return AnimatedBuilder( + animation: _controller, + child: DecoratedBox( + decoration: const BoxDecoration( + color: Colors.grey, + ), + child: SizedBox( + height: widget.height, + width: widget.width, + ), + ), + builder: (context, child) { + return Opacity( + opacity: _opacity.value, + child: child, + ); + }, + ); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_input.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_input.dart new file mode 100644 index 00000000..63680d50 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_input.dart @@ -0,0 +1,251 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/mixins/size_transition_mixin.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwTextInput extends StatefulWidget { + final TextEditingController? controller; + final void Function(String)? onChanged; + final void Function(String)? onFieldSubmitted; + final String? title; + final String? hintText; + final String? helperText; + final bool obscureText; + final bool enabled; + final bool readOnly; + final bool showError; + final TextInputType? keyboardType; + final List? inputFormatters; + final bool showCounter; + final FocusNode? focusNode; + final TextInputAction? textInputAction; + final double minHeight; + final TextStyle? textStyle; + final Widget? suffixIcon; + final int? minLines; + final int? maxLines; + final int? maxLength; + final double radius; + final Color? borderColor; + final TextCapitalization textCapitalization; + final String? initialValue; + + const KwTextInput({ + super.key, + this.initialValue, + this.controller, + this.title, + this.onChanged, + this.onFieldSubmitted, + this.hintText, + this.helperText, + this.minHeight = standardHeight, + this.suffixIcon, + this.obscureText = false, + this.showError = false, + this.enabled = true, + this.readOnly = false, + this.keyboardType, + this.inputFormatters, + this.showCounter = false, + this.focusNode, + this.textInputAction, + this.textStyle, + this.maxLength, + this.minLines, + this.maxLines, + this.radius = 12, + this.borderColor, + this.textCapitalization = TextCapitalization.none, + }); + + static const standardHeight = 48.0; + + @override + State createState() => _KwTextInputState(); +} + +class _KwTextInputState extends State with SizeTransitionMixin { + late FocusNode _focusNode; + + @override + initState() { + _focusNode = widget.focusNode ?? FocusNode(); + _focusNode.addListener(() { + setState(() {}); + }); + super.initState(); + } + + Color _helperTextColor() { + if (widget.showError) { + return AppColors.statusError; + } else { + if (!widget.enabled) { + return AppColors.grayDisable; + } + return AppColors.bgColorDark; + } + } + + Color _borderColor() { + if (!widget.enabled) { + return AppColors.grayDisable; + } + + if (widget.showError || + widget.maxLength != null && + (widget.controller?.text.length ?? 0) > widget.maxLength!) { + return AppColors.statusError; + } + + if (_focusNode.hasFocus) { + return AppColors.bgColorDark; + } + + return widget.borderColor ?? AppColors.grayStroke; + } + + @override + Widget build(BuildContext context) { + return Material( + type: MaterialType.transparency, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (widget.title != null) + Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + widget.title!, + style: AppTextStyles.bodyTinyReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + ), + ), + if (widget.title != null) const SizedBox(height: 4), + GestureDetector( + onTap: () { + if (widget.enabled && !widget.readOnly) { + _focusNode.requestFocus(); + } + }, + child: Stack( + children: [ + AnimatedContainer( + duration: Durations.medium4, + padding: EdgeInsets.only(bottom: widget.showCounter ? 24 : 0), + alignment: Alignment.topCenter, + constraints: BoxConstraints( + minHeight: widget.minHeight, + ), + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.all( + Radius.circular( + widget.minHeight > KwTextInput.standardHeight + ? widget.radius + : widget.minHeight / 2), + ), + border: Border.all(color: _borderColor()), + ), + child: Row( + children: [ + Expanded( + child: TextFormField( + focusNode: _focusNode, + inputFormatters: widget.inputFormatters, + keyboardType: widget.keyboardType, + enabled: widget.enabled && !widget.readOnly, + controller: widget.controller, + obscureText: widget.obscureText, + maxLines: widget.maxLines, + minLines: widget.minLines ?? 1, + maxLength: widget.maxLength, + onChanged: widget.onChanged, + textInputAction: widget.textInputAction, + textCapitalization: widget.textCapitalization, + onFieldSubmitted: widget.onFieldSubmitted, + onTapOutside: (_) { + _focusNode.unfocus(); + }, + style: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: !widget.enabled + ? AppColors.grayDisable + : null, + ), + decoration: InputDecoration( + counter: const SizedBox.shrink(), + fillColor: Colors.transparent, + contentPadding: const EdgeInsets.symmetric( + horizontal: 16, vertical: 8), + hintText: widget.hintText, + // errorStyle: p2pTextStyles.paragraphSmall( + // color: p2pColors.borderDanger), + hintStyle: widget.textStyle ?? + AppTextStyles.bodyMediumReg.copyWith( + color: widget.enabled + ? AppColors.blackGray + : AppColors.grayDisable, + ), + border: InputBorder.none, + ), + ), + ), + if (widget.suffixIcon != null) + SizedBox(child: widget.suffixIcon!), + ], + ), + ), + if (widget.showCounter) + Positioned( + bottom: 12, + left: 12, + child: Text( + '${widget.controller?.text.length}/' + '${(widget.maxLength ?? 0)}', + style: AppTextStyles.bodySmallReg.copyWith( + color: (widget.controller?.text.length ?? 0) > + (widget.maxLength ?? 0) + ? AppColors.statusError + : AppColors.blackGray), + ), + ), + if (widget.minHeight > KwTextInput.standardHeight) + Positioned( + bottom: 12, + right: 12, + child: Assets.images.icons.textFieldNotches.svg( + height: 12, + width: 12, + ), + ), + ], + ), + ), + AnimatedSwitcher( + duration: Durations.medium4, + transitionBuilder: handleSizeTransition, + child: widget.helperText?.isNotEmpty ?? false + ? Padding( + padding: const EdgeInsetsDirectional.fromSTEB(16, 4, 4, 0), + child: Text( + widget.helperText!, + style: AppTextStyles.bodyTinyReg.copyWith( + height: 1, + color: _helperTextColor(), + ), + ), + ) + : const SizedBox(), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart new file mode 100644 index 00000000..a073f383 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_loading_overlay.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; + +class KwLoadingOverlay extends StatefulWidget { + const KwLoadingOverlay({ + super.key, + required this.child, + this.controller, + this.shouldShowLoading, + }); + + final Widget child; + final OverlayPortalController? controller; + final bool? shouldShowLoading; + + @override + State createState() => _KwLoadingOverlayState(); +} + +class _KwLoadingOverlayState extends State { + late final OverlayPortalController _controller; + + @override + void initState() { + _controller = widget.controller ?? OverlayPortalController(); + super.initState(); + + if (widget.shouldShowLoading ?? false) { + WidgetsBinding.instance.addPostFrameCallback( + (_) => _controller.show(), + ); + } + } + + @override + void didUpdateWidget(covariant KwLoadingOverlay oldWidget) { + super.didUpdateWidget(oldWidget); + + WidgetsBinding.instance.addPostFrameCallback( + (_) { + if (widget.shouldShowLoading == null) return; + + if (widget.shouldShowLoading!) { + _controller.show(); + } else { + _controller.hide(); + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return OverlayPortal( + controller: _controller, + overlayChildBuilder: (context) { + return const SizedBox( + height: double.maxFinite, + width: double.maxFinite, + child: DecoratedBox( + decoration: BoxDecoration( + color: Colors.black38, + ), + child: Center( + child: CircularProgressIndicator(), + ), + ), + ); + }, + child: widget.child, + ); + } + + @override + void dispose() { + if (context.mounted) _controller.hide(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart new file mode 100644 index 00000000..85fdc35a --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_option_selector.dart @@ -0,0 +1,119 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwOptionSelector extends StatelessWidget { + const KwOptionSelector({ + super.key, + required this.selectedIndex, + required this.onChanged, + this.title, + required this.items, + this.height = 46, + this.spacer = 4, + this.backgroundColor, + this.selectedColor = AppColors.bgColorDark, + this.itemColor, + this.itemBorder, + this.borderRadius, + }); + + final int? selectedIndex; + final double height; + final double spacer; + final Function(int index) onChanged; + final String? title; + final List items; + final Color? backgroundColor; + final BorderRadius? borderRadius; + final Color selectedColor; + final Color? itemColor; + final Border? itemBorder; + + @override + Widget build(BuildContext context) { + var borderRadius = BorderRadius.all(Radius.circular(height / 2)); + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (title != null) + Padding( + padding: const EdgeInsets.only(left: 16, bottom: 4), + child: Text( + title!, + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.blackGray), + ), + ), + LayoutBuilder( + builder: (builderContext, constraints) { + final itemWidth = + (constraints.maxWidth - spacer * (items.length - 1)) / + items.length; + + return Container( + height: height, + decoration: BoxDecoration( + color: backgroundColor, + borderRadius: borderRadius, + ), + child: Stack( + children: [ + if (selectedIndex != null) + AnimatedAlign( + alignment: Alignment( + selectedIndex! * 2 / (items.length - 1) - 1, + 0.0, + ), + duration: Durations.short4, + child: Container( + height: height, + width: itemWidth, + decoration: BoxDecoration( + color: selectedColor, + borderRadius: borderRadius, + ), + ), + ), + Row( + spacing: spacer, + children: [ + for (int index = 0; index < items.length; index++) + GestureDetector( + onTap: () { + onChanged(index); + }, + child: AnimatedContainer( + height: height, + width: itemWidth, + decoration: BoxDecoration( + color: index == selectedIndex ? null : itemColor, + borderRadius: borderRadius, + border: + index == selectedIndex ? null : itemBorder, + ), + duration: Durations.short2, + child: Center( + child: AnimatedDefaultTextStyle( + duration: Durations.short4, + style: index == selectedIndex + ? AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + child: Text(items[index]), + ), + ), + ), + ), + ], + ), + ], + ), + ); + }, + ) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart new file mode 100644 index 00000000..c3259e83 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_phone_input.dart @@ -0,0 +1,178 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwPhoneInput extends StatefulWidget { + final String title; + final String? error; + final TextEditingController? controller; + final void Function(String)? onChanged; + final Color? borderColor; + final FocusNode? focusNode; + final bool showError; + final String? helperText; + final bool enabled; + final String? initialValue; + + const KwPhoneInput({ + super.key, + required this.title, + this.initialValue, + this.error, + this.borderColor , + this.controller, + this.onChanged, + this.focusNode, + this.showError = false, + this.helperText, + this.enabled = true, + }); + + @override + State createState() => _KWPhoneInputState(); +} + +class _KWPhoneInputState extends State { + late FocusNode _focusNode; + + @override + void initState() { + _focusNode = widget.focusNode ?? FocusNode(); + _focusNode.addListener(() { + setState(() {}); + }); + super.initState(); + } + + Color _borderColor() { + if (!widget.enabled) { + return AppColors.grayDisable; + } + + if (_focusNode.hasFocus) { + return AppColors.bgColorDark; + } + + return widget.borderColor ?? AppColors.grayStroke; + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildLabel(), + const SizedBox(height: 4), + _buildInputRow(), + _buildError() + ], + ); + } + + Container _buildInputRow() { + return Container( + decoration: BoxDecoration( + borderRadius: const BorderRadius.all( + Radius.circular(24), + ), + border: Border.all( + color: _borderColor(), + width: 1, + ), + color: Colors.transparent, + ), + child: Row( + children: [ + _buildCountryPicker(), + Expanded( + child: TextField( + focusNode: _focusNode, + controller: widget.controller, + onChanged: widget.onChanged, + decoration: InputDecoration( + hintText: 'enter_u_number'.tr(), + hintStyle: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(horizontal: 10), + filled: true, + fillColor: Colors.transparent, + ), + style: AppTextStyles.bodyMediumReg, + keyboardType: TextInputType.phone, + ), + ), + ], + ), + ); + } + + Padding _buildLabel() { + return Padding( + padding: const EdgeInsets.only(left: 16), + child: Text( + widget.title, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.blackGray, + ), + ), + ); + } + + Widget _buildCountryPicker() { + return GestureDetector( + onTap: () { + Feedback.forTap(context); + //TODO(Heorhii): Add country selection functionality + }, + child: Row( + children: [ + const Gap(12), + const CircleAvatar( + radius: 12, + backgroundImage: NetworkImage( + 'https://flagcdn.com/w320/us.png', + ), + ), + /// dont show arrow + // const Gap(6), + // const Icon( + // Icons.keyboard_arrow_down_rounded, + // color: AppColors.blackGray, + // opticalSize: 16, + // ), + const Gap(12), + SizedBox( + height: 48, + child: VerticalDivider( + width: 1, + color: _borderColor(), + ), + ), + ], + ), + ); + } + + _buildError() { + return AnimatedSize( + duration: const Duration(milliseconds: 200), + alignment: Alignment.bottomCenter, + child: Container( + height: widget.error == null ? 0 : 24, + clipBehavior: Clip.none, + padding: const EdgeInsets.only(left: 16), + alignment: Alignment.bottomLeft, + child: Text( + widget.error ?? '', + style: AppTextStyles.bodyTinyMed.copyWith( + color: AppColors.statusError, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart new file mode 100644 index 00000000..6274213e --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_popup_menu.dart @@ -0,0 +1,168 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/custom_popup_menu.dart'; + +enum KwPopupMenuFit { expand, loose } + +class KwPopupMenu extends StatefulWidget { + final Widget Function(BuildContext, bool menuIsShowmn)? customButtonBuilder; + final List menuItems; + final double? horizontalMargin; + final KwPopupMenuFit fit; + final double horizontalPadding; + final CustomPopupMenuController? controller; + + const KwPopupMenu({ + this.customButtonBuilder, + required this.menuItems, + this.fit = KwPopupMenuFit.loose, + this.horizontalMargin, + this.horizontalPadding = 0, + this.controller, + super.key, + }); + + @override + State createState() => _KwPopupMenuState(); +} + +class _KwPopupMenuState extends State { + late CustomPopupMenuController _controller; + + @override + void initState() { + _controller = widget.controller ?? CustomPopupMenuController(); + super.initState(); + _controller.addListener(() { + if (mounted) setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return CustomPopupMenu( + horizontalMargin: widget.horizontalMargin ?? 0, + controller: _controller, + verticalMargin: 4, + position: PreferredPosition.bottom, + showArrow: false, + enablePassEvent: false, + barrierColor: Colors.transparent, + menuBuilder: widget.menuItems.isEmpty + ? null + : () { + return Row( + mainAxisSize: widget.fit == KwPopupMenuFit.expand + ? MainAxisSize.max + : MainAxisSize.min, + children: [ + widget.fit == KwPopupMenuFit.expand + ? Expanded( + child: _buildItem(), + ) + : _buildItem() + ], + ); + }, + pressType: PressType.singleClick, + child: widget.customButtonBuilder + ?.call(context, _controller.menuIsShowing) ?? + AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: 32, + width: 32, + decoration: BoxDecoration( + color: _controller.menuIsShowing + ? AppColors.grayTintStroke + : AppColors.grayWhite, + shape: BoxShape.circle, + border: _controller.menuIsShowing + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1)), + child: Center(child: Assets.images.icons.more.svg()), + ), + ); + } + + Container _buildItem() { + return Container( + margin: EdgeInsets.symmetric(horizontal: widget.horizontalPadding), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all(color: AppColors.grayTintStroke, width: 1), + color: AppColors.grayWhite, + ), + child: Container( + constraints: const BoxConstraints( + maxHeight: 210, + ), + child: SingleChildScrollView( + child: IntrinsicWidth( + child: Column( + children: [ + for (var i = 0; i < widget.menuItems.length; i++) + Material( + type: MaterialType.transparency, + child: InkWell( + onTap: () { + widget.menuItems[i].onTap(); + _controller.hideMenu(); + }, + child: Container( + height: 42, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: i == 0 + ? null + : const BoxDecoration( + border: Border( + top: BorderSide( + color: AppColors.grayTintStroke, + width: 1, + ), + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (widget.menuItems[i].icon != null) ...[ + widget.menuItems[i].icon!, + const Gap(4), + ], + Expanded( + child: Text( + widget.menuItems[i].title, + style: widget.menuItems[i].textStyle ?? + AppTextStyles.bodyMediumReg, + )), + ], + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +class KwPopupMenuItem { + final String title; + final Widget? icon; + + final VoidCallback onTap; + + final TextStyle? textStyle; + + const KwPopupMenuItem({ + required this.title, + required this.onTap, + this.icon, + this.textStyle, + }); +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart new file mode 100644 index 00000000..20adf8fb --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_suggestion_input.dart @@ -0,0 +1,129 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/custom_popup_menu.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +@immutable +class KwSuggestionInput extends StatefulWidget { + final debounceDuration = const Duration(milliseconds: 400); + + final String? title; + final String? hintText; + final Iterable items; + final String Function(R item) itemToStringBuilder; + final Function(R item) onSelected; + final Function(String query) onQueryChanged; + final String? initialText; + final double horizontalPadding; + final Color? backgroundColor; + final Color? borderColor; + + const KwSuggestionInput({ + super.key, + this.initialText, + required this.hintText, + required this.itemToStringBuilder, + required this.items, + required this.onSelected, + required this.onQueryChanged, + this.horizontalPadding = 0, + this.backgroundColor, + this.borderColor, + this.title, + }); + + @override + State> createState() => _KwSuggestionInputState(); +} + +class _KwSuggestionInputState extends State> { + R? selectedItem; + var dropdownController = CustomPopupMenuController(); + late TextEditingController _textController; + late FocusNode _focusNode; + + Timer? _debounce; + + UniqueKey key = UniqueKey(); + + @override + void initState() { + super.initState(); + _textController = TextEditingController(text: widget.initialText); + _focusNode = FocusNode(); + _textController.addListener(_onTextChanged); + } + + @override + void dispose() { + _textController.removeListener(_onTextChanged); + _textController.dispose(); + _debounce?.cancel(); + dropdownController.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + void _onTextChanged() { + if (_debounce?.isActive ?? false) _debounce?.cancel(); + _debounce = Timer(widget.debounceDuration, () { + if (selectedItem == null || + widget.itemToStringBuilder(selectedItem as R) != + _textController.text) { + widget.onQueryChanged(_textController.text); + } + }); + } + + @override + void didUpdateWidget(covariant KwSuggestionInput oldWidget) { + super.didUpdateWidget(oldWidget); + + WidgetsBinding.instance.addPostFrameCallback( + (_) { + if (oldWidget.items != widget.items) { + dropdownController.showMenu(); + } else { + dropdownController.setState(); + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + KwPopupMenu( + controller: dropdownController, + horizontalPadding: widget.horizontalPadding, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened); + }, + menuItems: widget.items + .map((item) => KwPopupMenuItem( + title: widget.itemToStringBuilder(item), + onTap: () { + selectedItem = item; + _textController.text = widget.itemToStringBuilder(item); + dropdownController.hideMenu(); + widget.onSelected(item); + })) + .toList()), + ], + ); + } + + Widget _buildMenuButton(bool isOpened) { + return KwTextInput( + title: widget.title, + hintText: widget.hintText, + controller: _textController, + focusNode: _focusNode, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart new file mode 100644 index 00000000..241918ee --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/ui_kit/kw_tabs.dart @@ -0,0 +1,288 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class KwTabBar extends StatefulWidget { + final List tabs; + final void Function(int index) onTap; + final List? flexes; + final bool forceScroll; + + const KwTabBar( + {super.key, + required this.tabs, + required this.onTap, + this.flexes, + this.forceScroll = false}); + + @override + State createState() => _KwTabBarState(); +} + +class _KwTabBarState extends State + with SingleTickerProviderStateMixin { + var keyMaps = {}; + var tabPadding = 4.0; + int _selectedIndex = 0; + late AnimationController _controller; + late Animation _animation; + late ScrollController _horScrollController; + + @override + void initState() { + super.initState(); + _horScrollController = ScrollController(); + _controller = AnimationController( + duration: const Duration(milliseconds: 200), + vsync: this, + ); + _animation = Tween(begin: 0, end: 0).animate(_controller); + } + + @override + dispose() { + _controller.dispose(); + _horScrollController.dispose(); + _animation.removeListener(() {}); + super.dispose(); + } + + void _setSelectedIndex(int index) { + if (_horScrollController.hasClients) { + _scrollToSelected(index); + } + + setState(() { + _selectedIndex = index; + _animation = Tween( + begin: _animation.value, + end: index.toDouble(), + ).animate(CurvedAnimation( + parent: _controller, + curve: Curves.easeInOut, + )); + _controller.forward(from: 0); + }); + + widget.onTap(index); + } + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + double totalWidth = widget.tabs + .fold(0, (sum, tab) => sum + _calculateTabWidth(tab, 0, context)); + + totalWidth += (widget.tabs.length) * tabPadding + 26; //who is 26? + bool needScroll = widget.forceScroll || + widget.flexes == null || + totalWidth > constraints.maxWidth; + return _buildTabsRow(context, needScroll, constraints.maxWidth); + }, + ); + } + + Widget _buildTabsRow(BuildContext context, bool needScroll, maxWidth) { + return SizedBox( + width: maxWidth, + child: needScroll + ? SingleChildScrollView( + physics: const BouncingScrollPhysics(), + controller: _horScrollController, + scrollDirection: Axis.horizontal, + child: Stack( + children: [ + _buildAnimatedUnderline(false), + _buildRow( + context, + ), + ], + ), + ) + : Stack( + children: [ + _buildAnimatedUnderline(true), + _buildRow(context, fixedWidth: true), + ], + ), + ); + } + + Widget _buildRow(BuildContext context, {bool fixedWidth = false}) { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: widget.tabs + .asMap() + .map((index, tab) => MapEntry( + index, + _buildSingleTab(index, tab, context, fixedWidth: fixedWidth), + )) + .values + .toList(), + ), + ); + } + + Widget _buildSingleTab(int index, String tab, BuildContext context, + {required bool fixedWidth}) { + double? itemWidth; + + var d = (MediaQuery.of(context).size.width - + (tabPadding * widget.tabs.length) - + 32); + + if (widget.flexes != null) { + itemWidth = d * + (widget.flexes?[index] ?? 1) / + (widget.flexes?.reduce((a, b) => a + b) ?? 1); + } else { + itemWidth = (d / (widget.tabs.length)); + } + if (keyMaps[index] == null) { + keyMaps[index] = GlobalKey(); + } + + return GestureDetector( + key: keyMaps[index], + onTap: () { + _setSelectedIndex(index); + }, + child: AnimatedContainer( + duration: const Duration(milliseconds: 200), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(23), + color: Colors.transparent, + border: Border.all( + color: _selectedIndex != index + ? AppColors.grayStroke + : Colors.transparent, + width: 1, + ), + ), + padding: const EdgeInsets.symmetric(horizontal: 18), + margin: EdgeInsets.only(right: tabPadding), + height: 46, + width: fixedWidth ? itemWidth : null, + alignment: Alignment.center, + child: AnimatedDefaultTextStyle( + duration: const Duration(milliseconds: 200), + style: _selectedIndex == index + ? AppTextStyles.bodySmallReg.copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodySmallMed.copyWith(color: AppColors.blackGray), + child: Text(tab), + ), + ), + ); + } + + Widget _buildAnimatedUnderline(bool fixedWidth) { + double? tabWidth; + + var d = (MediaQuery.of(context).size.width - + (tabPadding * widget.tabs.length) - + 32); + + if (!fixedWidth) { + tabWidth = null; + } else if (widget.flexes != null) { + tabWidth = d * + (widget.flexes?[_selectedIndex] ?? 1) / + (widget.flexes?.reduce((a, b) => a + b) ?? 1); + } else { + tabWidth = (d / (widget.tabs.length)); + } + + var content = AnimatedContainer( + duration: const Duration(milliseconds: 200), + width: tabWidth ?? + _calculateTabWidth( + widget.tabs[_selectedIndex], _selectedIndex, context), + height: 46, + decoration: BoxDecoration( + color: AppColors.bgColorDark, + borderRadius: BorderRadius.circular(23), + ), + ); + + return fixedWidth && widget.flexes == null + ? AnimatedBuilder( + animation: _animation, + builder: (context, child) { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 16), + child: Align( + alignment: Alignment( + (_animation.value * 2 / (widget.tabs.length - 1)) - 1, + 1, + ), + child: content, + ), + ); + }, + ) + : animatedPadding(content); + } + + AnimatedPadding animatedPadding(AnimatedContainer content) { + return AnimatedPadding( + curve: Curves.easeIn, + padding: EdgeInsets.only(left: calcTabOffset(_selectedIndex)), + duration: const Duration(milliseconds: 250), + child: content, + ); + } + + double _calculateTabWidth(String tab, int index, BuildContext context) { + final textPainter = TextPainter( + text: TextSpan( + text: tab, + style: _selectedIndex == index + ? AppTextStyles.bodySmallReg + : AppTextStyles.bodySmallMed, + ), + maxLines: 1, + textDirection: TextDirection.ltr, + )..layout(); + + return textPainter.width + 36; // 36? + } + + double calcTabOffset(index) { + var scrollOffset = + _horScrollController.hasClients ? _horScrollController.offset : 0.0; + final keyContext = keyMaps[index]?.currentContext; + if (keyContext != null) { + final box = keyContext.findRenderObject() as RenderBox; + return (box.localToGlobal(Offset.zero).dx + scrollOffset) + .clamp(0, double.infinity); + } else { + return 0; + } + } + + void _scrollToSelected(int index) { + double offset = 0; + double tabWidth = _calculateTabWidth(widget.tabs[index], index, context); + double screenWidth = MediaQuery.of(context).size.width; + + offset = calcTabOffset(index); + + double maxScrollExtent = _horScrollController.position.maxScrollExtent; + double targetOffset = offset - (screenWidth - tabWidth) / 2; + + if (targetOffset < 0) { + targetOffset = 0; + } else if (targetOffset > maxScrollExtent) { + targetOffset = maxScrollExtent; + } + + _horScrollController.animateTo( + targetOffset, + duration: const Duration(milliseconds: 200), + curve: Curves.easeInOut, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/presentation/widgets/uploud_image_card.dart b/mobile-apps/staff-app/lib/core/presentation/widgets/uploud_image_card.dart new file mode 100644 index 00000000..97743712 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/presentation/widgets/uploud_image_card.dart @@ -0,0 +1,218 @@ +import 'dart:io'; + +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/image_preview_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +class UploadImageCard extends StatelessWidget { + final String title; + final String? message; + final VoidCallback onTap; + final EdgeInsets padding; + final Color? statusColor; + final String? imageUrl; + final bool inUploading; + final bool hasError; + final VoidCallback? onSelectImage; + final VoidCallback? onDeleteTap; + final Widget child; + final String? localImagePath; + + const UploadImageCard({ + super.key, + required this.title, + required this.onTap, + this.onSelectImage, + this.onDeleteTap, + this.message, + this.padding = EdgeInsets.zero, + this.statusColor, + this.imageUrl, + this.inUploading = false, + this.hasError = false, + this.child = const SizedBox.shrink(), + this.localImagePath, + }); + + @override + Widget build(BuildContext context) { + return Container( + constraints: const BoxConstraints(minHeight: 48), + margin: padding, + padding: const EdgeInsets.all(4), + decoration: KwBoxDecorations.primaryLight8, + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + _buildImageSection(), + const Gap(8), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.blackBlack, + ), + ), + if (message != null) const Gap(4), + if (message != null) + Text( + message!, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodyTinyReg.copyWith( + color: statusColor ?? AppColors.blackGray, + ), + ), + ], + ), + ), + const Gap(16), + _actionSection(context), + ], + ), + child, + ], + ), + ); + } + + Widget _buildImageSection() { + if (inUploading) { + return _buildImageLoadingSpinner(); + } + + if (imageUrl != null || localImagePath != null) { + return Container( + width: 48, + height: 48, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: statusColor ?? AppColors.tintDarkGreen, + width: 1, + ), + image: DecorationImage( + image: localImagePath != null + ? FileImage(File(localImagePath!)) + : CachedNetworkImageProvider(imageUrl ?? ''), + fit: BoxFit.cover, + ), + ), + ); + } + + return (hasError + ? Assets.images.icons.imageErrorPlaceholder + : Assets.images.icons.imagePlaceholder) + .svg(); + } + + Container _buildImageLoadingSpinner() { + return Container( + width: 48, + height: 48, + decoration: KwBoxDecorations.primaryLight8, + child: const Center( + child: SizedBox( + height: 24, + width: 24, + child: CircularProgressIndicator( + color: AppColors.statusSuccess, + ), + ), + ), + ); + } + + Widget _actionSection(context) { + if (imageUrl != null || localImagePath != null) { + return _buildImageMenu(context); + } + + return _buildButton( + 'upload'.tr(), + onSelectImage, + Assets.images.userProfile.menu.gallery, + ); + } + + Container _buildButton( + String? title, + VoidCallback? onTap, + SvgGenImage icon, { + KwButtonFit? fit, + }) { + return Container( + margin: const EdgeInsets.only(right: 4), + alignment: Alignment.center, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(16), + border: Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: KwButton.secondary( + label: title, + fit: fit, + onPressed: () { + onTap?.call(); + }, + height: 30, + leftIcon: icon, + ), + ); + } + + Widget _buildImageMenu(context) { + return Row( + children: [ + _buildButton( + 'preview'.tr(), + () { + ImagePreviewDialog.show( + context, + title, + localImagePath ?? imageUrl ?? '', + ); + }, + Assets.images.icons.eye, + ), + KwPopupMenu( + horizontalMargin: 24, + menuItems: [ + KwPopupMenuItem( + title: 're-upload'.tr(), + icon: Assets.images.icons.downloadCloud.svg(), + onTap: () { + onSelectImage?.call(); + }, + ), + KwPopupMenuItem( + title: 'delete'.tr(), + textStyle: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.statusError, + ), + icon: Assets.images.icons.trash.svg(), + onTap: () { + onDeleteTap?.call(); + }, + ), + ], + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/sevices/app_update_service.dart b/mobile-apps/staff-app/lib/core/sevices/app_update_service.dart new file mode 100644 index 00000000..402d26a5 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/app_update_service.dart @@ -0,0 +1,126 @@ +import 'dart:io'; + +import 'package:firebase_remote_config/firebase_remote_config.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:injectable/injectable.dart'; +import 'package:package_info_plus/package_info_plus.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + +@singleton +class AppUpdateService { + Future checkForUpdate(BuildContext context) async { + final remoteConfig = FirebaseRemoteConfig.instance; + + await remoteConfig.setConfigSettings(RemoteConfigSettings( + fetchTimeout: const Duration(seconds: 10), + minimumFetchInterval: const Duration(seconds: 1), + )); + + await remoteConfig.fetchAndActivate(); + + final minBuildNumber = remoteConfig.getInt(Platform.isIOS?'min_build_number_staff_ios':'min_build_number_staff_android'); + final canSkip = remoteConfig.getBool('can_skip_staff'); + final canIgnore = remoteConfig.getBool('can_ignore_staff'); + final message = remoteConfig.getString('message_staff'); + + final packageInfo = await PackageInfo.fromPlatform(); + final currentBuildNumber = int.parse(packageInfo.buildNumber); + + final prefs = await SharedPreferences.getInstance(); + final skippedVersion = prefs.getInt('skipped_version') ?? 0; + + if (minBuildNumber > currentBuildNumber && + minBuildNumber > skippedVersion) { + await _showUpdateDialog(context, message, canSkip, canIgnore, minBuildNumber); + } + } + + _showUpdateDialog( + BuildContext context, String message, bool canSkip, bool canIgnore, int minBuildNumber) { + return showDialog( + context: context, + barrierDismissible: canIgnore, + builder: (BuildContext context) { + if (Theme.of(context).platform == TargetPlatform.iOS) { + return WillPopScope( + onWillPop: () async => canIgnore, + child: CupertinoAlertDialog( + title: const Text('Update Available'), + content: Text( + message), + actions: [ + if (canSkip) + CupertinoDialogAction( + child: const Text('Skip this version'), + onPressed: () async { + final prefs = await SharedPreferences.getInstance(); + await prefs.setInt('skipped_version', minBuildNumber); + Navigator.of(context).pop(); + }, + ), + CupertinoDialogAction( + onPressed: + canIgnore ? () => Navigator.of(context).pop() : null, + child: const Text('Maybe later'), + ), + CupertinoDialogAction( + child: const Text('Update'), + onPressed: () async { + var url = dotenv.env['IOS_STORE_URL'] ?? + ''; + if (await canLaunchUrlString(url)) { + await launchUrlString(url); + } else { + throw 'Could not launch $url'; + } + }, + ), + ], + ), + ); + } else { + return WillPopScope( + onWillPop: () async => canIgnore, + child: AlertDialog( + title: const Text('Update Available'), + content: Text( + message), + actions: [ + if (canSkip) + TextButton( + child: const Text('Skip this version'), + onPressed: () async { + final prefs = await SharedPreferences.getInstance(); + await prefs.setInt('skipped_version', minBuildNumber); + Navigator.of(context).pop(); + }, + ), + TextButton( + onPressed: + canIgnore ? () => Navigator.of(context).pop() : null, + child: const Text('Maybe later'), + ), + TextButton( + child: const Text('Update'), + onPressed: () async { + var url = dotenv.env['ANDROID_STORE_URL'] ?? + ''; + if (await canLaunchUrlString(url)) { + await launchUrlString(url); + } else { + throw 'Could not launch $url'; + } + + }, + ), + ], + ), + ); + } + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service.dart b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service.dart new file mode 100644 index 00000000..b65a92c7 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service.dart @@ -0,0 +1,120 @@ +import 'dart:developer'; + +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/static/email_validation_constants.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service_data_provider.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +enum AuthStatus { + authenticated, + adminValidation, + prepareProfile, + unauthenticated, + error +} + +@injectable +class AuthService { + final AuthServiceDataProvider _dataProvider; + + AuthService(this._dataProvider); + + Future getAuthStatus() async { + User? user; + try { + user = FirebaseAuth.instance.currentUser; + if (user == null) { + return AuthStatus.unauthenticated; + } + user.getIdToken(); + } catch (e) { + return AuthStatus.unauthenticated; + } + + final staffStatus = await getCachedStaffStatus(); + + if (staffStatus == StaffStatus.deactivated) { + return AuthStatus.unauthenticated; + } else if (staffStatus == StaffStatus.pending) { + return AuthStatus.adminValidation; + } else if (staffStatus == StaffStatus.registered || + staffStatus == StaffStatus.declined) { + return AuthStatus.prepareProfile; + } else { + return AuthStatus.authenticated; + } + } + + Future signInWithEmailLink({required Uri link}) async { + final auth = FirebaseAuth.instance; + + //TODO: Investigate iOS issue that blocks correct usage of continue URL for seamless email verification + // + // if (!auth.isSignInWithEmailLink(link.toString())) { + // throw Exception('Invalid auth link provided.'); + // } + // + // final sharedPrefs = await SharedPreferences.getInstance(); + // + // final userEmail = sharedPrefs.getString( + // EmailValidationConstants.storedEmailKey, + // ); + // + // if (userEmail == null) { + // throw Exception( + // 'Failed to sign in user with Email Link, ' + // 'because the is no email stored', + // ); + // } + // + // await auth.currentUser?.linkWithCredential( + // EmailAuthProvider.credentialWithLink( + // email: userEmail, + // emailLink: link.toString(), + // ), + // ); + + final oobCode = link.queryParameters[EmailValidationConstants.oobCodeKey]; + + if (oobCode == null) return; + + log('Incoming auth link: $link'); + + return auth.applyActionCode(oobCode); + } + + Future getCachedStaffStatus() async { + final SharedPreferences prefs = await SharedPreferences.getInstance(); + var uid = FirebaseAuth.instance.currentUser?.uid; + + try { + var staffStatus = await _dataProvider.getStaffStatus(); + prefs.setInt('staff_status_$uid', staffStatus.index); + return staffStatus; + } catch (e) { + log('Error in AuthService, on getCachedStaffStatus()', error: e); + } + + if (uid != null) { + var staffStatusIndex = prefs.getInt('staff_status_$uid'); + if (staffStatusIndex != null) { + return StaffStatus.values[staffStatusIndex]; + } + } + return null; + } + + void logout() { + FirebaseAuth.instance.signOut(); + getIt().dropCache(); + } + + Future deleteAccount() async { + await FirebaseAuth.instance.currentUser!.delete(); + getIt().dropCache(); + } +} diff --git a/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart new file mode 100644 index 00000000..476ca469 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/auth_service_data_provider.dart @@ -0,0 +1,24 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/sevices/auth_state_service/gql.dart'; + +@injectable +class AuthServiceDataProvider { + final ApiClient _client; + + AuthServiceDataProvider({required ApiClient client}) : _client = client; + + Future getStaffStatus() async { + final QueryResult result = await _client.query(schema: getStaffStatusQuery); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + + final Map data = result.data!['me']; + return Staff.fromJson(data).status!; + } +} diff --git a/mobile-apps/staff-app/lib/core/sevices/auth_state_service/gql.dart b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/gql.dart new file mode 100644 index 00000000..4b637b73 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/auth_state_service/gql.dart @@ -0,0 +1,9 @@ + +const String getStaffStatusQuery = ''' +query GetMe { + me { + id + status + } +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/sevices/background_service/background_service.dart b/mobile-apps/staff-app/lib/core/sevices/background_service/background_service.dart new file mode 100644 index 00000000..8cbf7696 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/background_service/background_service.dart @@ -0,0 +1,102 @@ +import 'dart:async'; +import 'dart:io'; +import 'dart:ui'; + +import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_background_service/flutter_background_service.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/background_service/task_registry.dart'; +import 'package:krow/features/shifts/domain/services/clockout_checker_bg_task.dart'; +import 'package:workmanager/workmanager.dart'; + +@Singleton() +class BackgroundService { + Future initializeService() async { + // FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler); + // + // if (Platform.isIOS) { + // final service = FlutterBackgroundService(); + // await service.configure( + // iosConfiguration: IosConfiguration( + // autoStart: true, + // onForeground: (_) {}, + // onBackground: iosDispatcher, + // ), + // androidConfiguration: AndroidConfiguration( + // autoStart: false, + // onStart: (_) {}, + // isForegroundMode: false, + // autoStartOnBoot: true, + // ), + // ); + // service.startService(); + // } else if (Platform.isAndroid) { + // Workmanager().initialize( + // androidDispatcher, // The top level function, aka callbackDispatcher + // isInDebugMode: false, + // // If enabled it will post a notification whenever the task is running. Handy for debugging tasks + // ); + // if (Platform.isAndroid) { + // Workmanager().registerPeriodicTask( + // 'androidDispatcher', + // 'androidDispatcher', + // frequency: const Duration(minutes: 15), + // ); + // } + // } + } +} + +@pragma('vm:entry-point') +Future firebaseMessagingBackgroundHandler(RemoteMessage message) async { + // if (message.data['type'] == 'location_check') { + // await _configDependencies(); + // await iosDispatcher(null); + // } +} + +@pragma('vm:entry-point') +Future iosDispatcher(ServiceInstance? service) async { + // await _configDependencies(); + // TaskRegistry.registerTask(ContinuousClockoutCheckerTask()); + // for (var task in TaskRegistry.getRegisteredTasks()) { + // await task.oneTime(service); + // } + return true; +} + +@pragma('vm:entry-point') +void androidDispatcher() async { + // Workmanager().executeTask((task, inputData) async { + // print('BG Task: executeTask'); + // + // try { + // await _configDependencies(); + // TaskRegistry.registerTask(ContinuousClockoutCheckerTask()); + // for (var task in TaskRegistry.getRegisteredTasks()) { + // await task.oneTime(null); + // } + // }catch (e) { + // return Future.error(e); + // } + // return Future.value(true); + // }); +} + +Future _configDependencies() async { + WidgetsFlutterBinding.ensureInitialized(); + DartPluginRegistrant.ensureInitialized(); + // await initHiveForFlutter(); - do no init hive in background! + //todo: add env variable + await dotenv.load(fileName: '.env'); + await Firebase.initializeApp(); + try { + configureDependencies('background'); + } catch (e) { + print('Error configuring dependencies: $e'); + } +} diff --git a/mobile-apps/staff-app/lib/core/sevices/background_service/background_task.dart b/mobile-apps/staff-app/lib/core/sevices/background_service/background_task.dart new file mode 100644 index 00000000..60331b0d --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/background_service/background_task.dart @@ -0,0 +1,6 @@ +import 'package:flutter_background_service/flutter_background_service.dart'; + +abstract class BackgroundTask { + Future oneTime(ServiceInstance? service); + Future stop(); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/core/sevices/background_service/task_registry.dart b/mobile-apps/staff-app/lib/core/sevices/background_service/task_registry.dart new file mode 100644 index 00000000..3bcf3b45 --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/background_service/task_registry.dart @@ -0,0 +1,11 @@ +import 'package:krow/core/sevices/background_service/background_task.dart'; + +class TaskRegistry { + static final List _tasks = []; + + static void registerTask(BackgroundTask task) { + _tasks.add(task); + } + + static List getRegisteredTasks() => _tasks; +} diff --git a/mobile-apps/staff-app/lib/core/sevices/geofencing_serivce.dart b/mobile-apps/staff-app/lib/core/sevices/geofencing_serivce.dart new file mode 100644 index 00000000..694cf8fc --- /dev/null +++ b/mobile-apps/staff-app/lib/core/sevices/geofencing_serivce.dart @@ -0,0 +1,107 @@ +import 'dart:developer'; + +import 'package:geolocator/geolocator.dart'; +import 'package:injectable/injectable.dart'; + +@injectable +class GeofencingService { + Future requestGeolocationPermission() async { + LocationPermission permission; + + permission = await Geolocator.checkPermission(); + if (permission == LocationPermission.denied) { + permission = await Geolocator.requestPermission(); + if (permission == LocationPermission.denied) { + return GeolocationStatus.denied; + } + } + + if (permission == LocationPermission.deniedForever) { + return GeolocationStatus.prohibited; + } + + if (!(await Geolocator.isLocationServiceEnabled())) { + // Location services are not enabled + return GeolocationStatus.disabled; + } + + // if (permission == LocationPermission.whileInUse) { + // return GeolocationStatus.onlyInUse; + // } + + return GeolocationStatus.enabled; + } + + bool _isInRange( + Position currentPosition, + double pointLat, + double pointLon, + int range, + ) { + double distance = Geolocator.distanceBetween( + currentPosition.latitude, + currentPosition.longitude, + pointLat, + pointLon, + ); + + return distance <= range; + } + + /// Checks if the user's current location is within [range] meters + /// of the given [pointLatitude] and [pointLongitude]. + Future isInRangeCheck({ + required double pointLatitude, + required double pointLongitude, + int range = 500, + }) async { + try { + Position position = await Geolocator.getCurrentPosition( + locationSettings: const LocationSettings( + accuracy: LocationAccuracy.best, + timeLimit: Duration(seconds: 7))); + + return _isInRange(position, pointLatitude, pointLongitude, range); + } catch (except) { + log('Error getting location: $except'); + return false; + } + } + + /// Constantly checks if the user's current location is within [range] meters + /// of the given [pointLatitude] and [pointLongitude]. + Stream isInRangeStream({ + required double pointLatitude, + required double pointLongitude, + int range = 500, + }) async* { + yield _isInRange( + await Geolocator.getCurrentPosition(), + pointLatitude, + pointLongitude, + range, + ); + await for (final position in Geolocator.getPositionStream( + locationSettings: const LocationSettings())) { + try { + yield _isInRange(position, pointLatitude, pointLongitude, range); + } catch (except) { + log('Error getting location: $except'); + yield false; + } + } + } +} + +/// [disabled] indicates that the user should enable geolocation on the device. +/// [denied] indicates that permission should be requested or re-requested. +/// [prohibited] indicates that permission is denied and can only be changed +/// via the Settings. +/// [enabled] - geolocation service is allowed and available for usage. +enum GeolocationStatus { + disabled, + denied, + prohibited, + onlyInUse, + enabled, +} diff --git a/mobile-apps/staff-app/lib/features/auth/auth_flow_screen.dart b/mobile-apps/staff-app/lib/features/auth/auth_flow_screen.dart new file mode 100644 index 00000000..85b7464e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/auth_flow_screen.dart @@ -0,0 +1,57 @@ +import 'package:app_links/app_links.dart'; +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/app.dart'; +import 'package:krow/features/auth/domain/bloc/auth_bloc.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; + +@RoutePage() +class AuthFlowScreen extends StatefulWidget implements AutoRouteWrapper { + const AuthFlowScreen({super.key}); + + @override + State createState() => _AuthFlowScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (_) => AuthBloc(), + child: this, + ); + } +} + +class _AuthFlowScreenState extends State { + @override + void initState() { + super.initState(); + + final context = this.context; + AppLinks().getInitialLink().then( + (initialLink) { + if (initialLink == null || !context.mounted) return; + + context + .read() + .add(SignInWithInitialLink(initialLink: initialLink)); + }, + ); + } + + @override + Widget build(BuildContext context) { + return BlocListener( + listener: (context, state) { + if (state.autentificated) { + if (state.authType == AuthType.login) { + appRouter.replace(const SplashRoute()); + } else { + appRouter.replace(const SignupFlowRoute()); + } + } + }, + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_bloc.dart b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_bloc.dart new file mode 100644 index 00000000..0d5f8ee8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_bloc.dart @@ -0,0 +1,219 @@ +import 'dart:async'; +import 'dart:developer'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/common/validators/phone_validator.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; + +part 'auth_event.dart'; + +part 'auth_state.dart'; + +class AuthBloc extends Bloc { + final FirebaseAuth _auth = FirebaseAuth.instance; + String? phone; + int? resendToken; + String? verificationId; + + AuthBloc() : super(AuthState()) { + on(_onTypeChanged); + on(_onSendSms); + on(_onSendSmsToCurrentPhone); + on(_onPhoneChanged); + on(_onPhoneVerificationCompleted); + on(_onPhoneVerificationFailed); + on(_onCodeSent); + on(_onCodeAutoRetrievalTimeout); + on(_onUpdateTimer); + on(_onConfirmCode); + on(_onSignInWithInitialLink); + } + + FutureOr _onTypeChanged( + AuthTypeChangedEvent event, + Emitter emit, + ) { + emit(state.copyWith(authType: event.authType)); + } + + FutureOr _onPhoneChanged( + AuthPhoneChangedEvent event, + Emitter emit, + ) { + emit(state.copyWith(phoneError: null)); + } + + Future _handleSendingSmsToPhoneNumber( + String? phone, + Emitter emit, + ) async { + if (state.resendTimeout > 0) return; + + if (phone != null) { + var phoneValidationResult = PhoneValidator.validate(phone); + if (phoneValidationResult != null) { + return emit(state.copyWith(phoneError: phoneValidationResult)); + } + + resendToken = null; + verificationId = null; + this.phone = phone; + } + + emit(state.copyWith(isLoading: true)); + + try { + await _auth.verifyPhoneNumber( + forceResendingToken: resendToken, + phoneNumber: phone, + verificationCompleted: (PhoneAuthCredential credential) { + add(PhoneVerificationCompletedEvent(credential)); + }, + verificationFailed: (FirebaseAuthException e) { + add(PhoneVerificationFailedEvent(e.message)); + }, + codeSent: (String verificationId, int? resendToken) { + this.verificationId = verificationId; + this.resendToken = resendToken; + add(CodeSentEvent(verificationId, resendToken)); + }, + codeAutoRetrievalTimeout: (String verificationId) { + if (isClosed) return; + add(CodeAutoRetrievalTimeoutEvent(verificationId)); + }, + + ); + } catch (e) { + emit( + state.copyWith( + isLoading: false, + phoneError: 'Invalid phone number'.tr(), + ), + ); + } + } + + Future _onSendSms( + AuthSendSmsEvent event, + Emitter emit, + ) async { + return _handleSendingSmsToPhoneNumber(event.phone, emit); + } + + FutureOr _onSendSmsToCurrentPhone( + AuthSendSmsToPhoneEvent event, + Emitter emit, + ) async { + return _handleSendingSmsToPhoneNumber( + phone = event.userPhone, + emit, + ); + } + + Future _onConfirmCode( + AuthEventConfirmCode event, + Emitter emit, + ) async { + emit(state.copyWith(isLoading: true)); + + PhoneAuthCredential credential = PhoneAuthProvider.credential( + verificationId: verificationId ?? '', + smsCode: event.smsCode, + ); + + add(PhoneVerificationCompletedEvent(credential)); + } + + FutureOr _onUpdateTimer( + AuthEventResendUpdateTimer event, + Emitter emit, + ) { + emit(state.copyWith( + resendTimeout: event.seconds, codeError: state.codeError)); + } + + FutureOr _onPhoneVerificationCompleted( + PhoneVerificationCompletedEvent event, + Emitter emit, + ) async { + try { + await _auth.signInWithCredential(event.credential); + + emit(state.copyWith( + isLoading: false, + autentificated: true, + )); + } catch (e) { + emit(state.copyWith( + isLoading: false, + codeError: 'Invalid code'.tr(), + )); + } + } + + FutureOr _onPhoneVerificationFailed( + PhoneVerificationFailedEvent event, + Emitter emit, + ) { + emit(state.copyWith( + isLoading: false, + phoneError: event.error, + )); + } + + FutureOr _onCodeSent( + CodeSentEvent event, + Emitter emit, + ) { + emit( + state.copyWith( + needNavigateToCodeVerification: true, + resendTimeout: 30, + ), + ); + _startRetryTimer(); + } + + FutureOr _onCodeAutoRetrievalTimeout( + CodeAutoRetrievalTimeoutEvent event, + Emitter emit, + ) {} + + void _startRetryTimer() { + var current = 30; + Timer.periodic(const Duration(seconds: 1), (timer) { + if (current <= 0) { + timer.cancel(); + } else { + current--; + if (isClosed) { + timer.cancel(); + return; + } + add(AuthEventResendUpdateTimer(current)); + } + }); + } + + FutureOr _onSignInWithInitialLink( + SignInWithInitialLink event, + Emitter emit, + ) async { + try { + await getIt().signInWithEmailLink(link: event.initialLink); + + emit( + state.copyWith( + isLoading: false, + autentificated: true, + ), + ); + } catch (except) { + log('Failed to authenticate with Initial Link', error: except); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_event.dart b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_event.dart new file mode 100644 index 00000000..88d5ade8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_event.dart @@ -0,0 +1,71 @@ +part of 'auth_bloc.dart'; + +@immutable +sealed class AuthEvent { + const AuthEvent(); +} + +class AuthTypeChangedEvent extends AuthEvent { + final AuthType authType; + + const AuthTypeChangedEvent(this.authType); +} + +class AuthPhoneChangedEvent extends AuthEvent { + const AuthPhoneChangedEvent(); +} + +class AuthSendSmsEvent extends AuthEvent { + final String? phone; + + const AuthSendSmsEvent(this.phone); +} + +class AuthSendSmsToPhoneEvent extends AuthEvent { + const AuthSendSmsToPhoneEvent(this.userPhone); + + final String userPhone; +} + +class PhoneVerificationCompletedEvent extends AuthEvent { + final PhoneAuthCredential credential; + + const PhoneVerificationCompletedEvent(this.credential); +} + +class PhoneVerificationFailedEvent extends AuthEvent { + final String? error; + + const PhoneVerificationFailedEvent(this.error); +} + +class CodeSentEvent extends AuthEvent { + final String verificationId; + final int? resendToken; + + const CodeSentEvent(this.verificationId, this.resendToken); +} + +class CodeAutoRetrievalTimeoutEvent extends AuthEvent { + final String verificationId; + + const CodeAutoRetrievalTimeoutEvent(this.verificationId); +} + +class AuthEventResendUpdateTimer extends AuthEvent { + final int seconds; + + const AuthEventResendUpdateTimer(this.seconds); +} + +class AuthEventConfirmCode extends AuthEvent { + final String smsCode; + + const AuthEventConfirmCode(this.smsCode); +} + +class SignInWithInitialLink extends AuthEvent { + const SignInWithInitialLink({required this.initialLink}); + + final Uri initialLink; +} diff --git a/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_state.dart b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_state.dart new file mode 100644 index 00000000..5cb6c26a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/domain/bloc/auth_state.dart @@ -0,0 +1,47 @@ +part of 'auth_bloc.dart'; + +enum AuthType { login, register } + +class AuthState { + final AuthType? authType; + final String? phoneError; + String? codeError; + final bool needClearPhone; + final bool needNavigateToCodeVerification; + final bool isLoading; + final bool autentificated; + final int resendTimeout; + + AuthState({ + this.phoneError, + this.codeError, + this.needClearPhone = false, + this.needNavigateToCodeVerification = false, + this.isLoading = false, + this.authType, + this.autentificated = false, + this.resendTimeout = 0, + }); + + AuthState copyWith({ + AuthType? authType, + String? phoneError, + String? codeError, + bool? needClearPhone, + bool? needNavigateToCodeVerification, + bool? isLoading, + bool? autentificated, + int? resendTimeout, + }) { + return AuthState( + authType: authType ?? this.authType, + phoneError: phoneError, + codeError: codeError, + needClearPhone: needClearPhone ?? false, + needNavigateToCodeVerification: needNavigateToCodeVerification ?? false, + isLoading: isLoading ?? false, + autentificated: autentificated ?? false, + resendTimeout: resendTimeout ?? this.resendTimeout, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/phone_re_login_flow_screen.dart b/mobile-apps/staff-app/lib/features/auth/phone_re_login_flow_screen.dart new file mode 100644 index 00000000..c39aa738 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/phone_re_login_flow_screen.dart @@ -0,0 +1,32 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/auth/domain/bloc/auth_bloc.dart'; + +@RoutePage() +class PhoneReLoginFlowScreen extends StatelessWidget + implements AutoRouteWrapper { + const PhoneReLoginFlowScreen({super.key, required this.userPhone}); + + final String userPhone; + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (_) => AuthBloc()..add(AuthSendSmsToPhoneEvent(userPhone)), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return BlocListener( + listenWhen: (previous, current) => + previous.autentificated != current.autentificated, + listener: (context, state) { + if (state.autentificated) context.maybePop(true); + }, + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/code_verification_screen.dart b/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/code_verification_screen.dart new file mode 100644 index 00000000..e82a5021 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/code_verification_screen.dart @@ -0,0 +1,216 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/features/auth/domain/bloc/auth_bloc.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:pinput/pinput.dart'; + +@RoutePage() +class CodeVerificationScreen extends StatefulWidget { + const CodeVerificationScreen({ + super.key, + }); + + @override + State createState() => _CodeVerificationScreenState(); +} + +class _CodeVerificationScreenState extends State { + late final TapGestureRecognizer resendRecognizer; + String code = ''; + + String _title(AuthState state) { + switch (state.authType) { + case AuthType.login: + return 'Welcome Back!'.tr(); + default: + return 'Enter Verification Code'.tr(); + } + } + + String get _subTitle { + return 'Enter the 6-digit'.tr(); + } + + @override + void initState() { + super.initState(); + + resendRecognizer = TapGestureRecognizer() + ..onTap = () { + BlocProvider.of(context).add(const AuthSendSmsEvent(null)); + }; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Phone Verification'.tr(), + showNotification: false, + ), + body: BlocBuilder( + builder: (context, state) { + return ScrollLayoutHelper( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 16, + ), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Gap(20), + Text( + _title(state), + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + _subTitle, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + _buildCodeInput(context, state), + const Gap(12), + _buildCodeControl(context, state), + ], + ), + lowerWidget: _buildControlNavButton(context, state.authType), + ); + }, + ), + ); + } + + Widget _buildControlNavButton(BuildContext context, authType) { + return Column( + children: [ + KwButton.primary( + label: 'Enter and Continue'.tr(), + disabled: code.length != 6, + onPressed: () { + BlocProvider.of(context).add(AuthEventConfirmCode(code)); + }, + ), + const Gap(36), + if (authType == AuthType.login) ...[ + RichText( + text: TextSpan( + text: '${'New here?'.tr()} ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: 'Create an account'.tr(), + style: AppTextStyles.bodyMediumSmb, + recognizer: TapGestureRecognizer() + ..onTap = () { + BlocProvider.of(context) + .add(const AuthTypeChangedEvent(AuthType.register)); + // context.maybePop(); + }, + ) + ], + ), + ), + const Gap(20), + ] + ], + ); + } + + Widget _buildCodeInput(BuildContext context, AuthState state) { + final defaultPinTheme = PinTheme( + width: 43, + height: 52, + textStyle: AppTextStyles.headingH1, + decoration: BoxDecoration( + border: Border.all(color: AppColors.grayStroke), + borderRadius: BorderRadius.circular(8), + ), + ); + + var focusedPinTheme = defaultPinTheme.copyWith( + decoration: BoxDecoration( + border: Border.all(color: AppColors.blackBlack), + borderRadius: BorderRadius.circular(8), + ), + ); + + var errorPinTheme = defaultPinTheme.copyWith( + textStyle: AppTextStyles.headingH1.copyWith(color: AppColors.statusError), + decoration: BoxDecoration( + border: Border.all(color: AppColors.statusError), + borderRadius: BorderRadius.circular(8), + ), + ); + + return Pinput( + length: 6, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + onCompleted: (pin) => + BlocProvider.of(context).add(AuthEventConfirmCode(code)), + onChanged: (pin) { + setState(() { + state.codeError = null; + code = pin; + }); + }, + defaultPinTheme: defaultPinTheme, + focusedPinTheme: focusedPinTheme, + errorPinTheme: errorPinTheme, + forceErrorState: state.codeError != null, + ); + } + + _buildCodeControl(BuildContext context, AuthState state) { + return Row( + children: [ + if (state.codeError != null) ...[ + Expanded( + child: Text( + state.codeError!, + style: AppTextStyles.bodyTinyMed + .copyWith(color: AppColors.statusError), + ), + ), + const Gap(24), + ], + RichText( + text: TextSpan( + children: [ + if (state.codeError == null) + TextSpan( + text: '${'Didn`t get the code?'.tr()} ', + style: AppTextStyles.bodyTinyMed, + ), + TextSpan( + text: 'Resend Code'.tr(), + recognizer: resendRecognizer, + style: AppTextStyles.bodyTinyMed.copyWith( + decoration: TextDecoration.underline, + fontWeight: FontWeight.w600), + ), + if (state.resendTimeout > 0) + TextSpan( + text: ' ${'in'.tr()} ${state.resendTimeout} s', + recognizer: resendRecognizer, + style: AppTextStyles.bodyTinyMed.copyWith( + decoration: TextDecoration.underline, + fontWeight: FontWeight.w600), + ), + ], + ), + ) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/phone_verification_screen.dart b/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/phone_verification_screen.dart new file mode 100644 index 00000000..049fe71f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/presentation/screens/phone_verification/phone_verification_screen.dart @@ -0,0 +1,171 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_phone_input.dart'; +import 'package:krow/features/auth/domain/bloc/auth_bloc.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class PhoneVerificationScreen extends StatefulWidget { + const PhoneVerificationScreen({super.key, required this.type}); + + final AuthType type; + + @override + State createState() => + _PhoneVerificationScreenState(); +} + +class _PhoneVerificationScreenState extends State { + late TextEditingController _phoneController; + + String? _appBarTitle(AuthState state) { + switch (state.authType) { + case AuthType.login: + return null; + case AuthType.register: + return 'Phone Verification'.tr(); + case null: + return ' '; + } + } + + String _title(AuthState state) { + switch (state.authType) { + case AuthType.login: + return 'Welcome Back!'.tr(); + case AuthType.register: + return "Let's Get Started!".tr(); + case null: + return ''; + } + } + + String _subTitle(AuthState state) { + switch (state.authType) { + case AuthType.login: + return 'Log in to find work opportunities that match your skills'.tr(); + case AuthType.register: + return 'Verify your phone number to activate your account'.tr(); + case null: + return ''; + } + } + + @override + void initState() { + super.initState(); + _phoneController = TextEditingController(text: '+1'); + _phoneController.addListener(() { + context.read().add(const AuthPhoneChangedEvent()); + }); + + _debug(); + } + + @override + Widget build(BuildContext context) { + return BlocConsumer(listener: (context, state) { + if (state.needClearPhone) { + _phoneController.clear(); + } + if (state.needNavigateToCodeVerification) { + context.router.push(const CodeVerificationRoute()); + } + }, builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.isLoading, + child: Scaffold( + appBar: KwAppBar( + titleText: _appBarTitle(state), + showNotification: false, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Gap(20), + Text( + _title(state), + style: AppTextStyles.headingH1, + ), + const Gap(8), + Text( + _subTitle(state), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + KwPhoneInput( + title: 'Phone Number'.tr(), + controller: _phoneController, + error: state.phoneError, + ), + const Gap(24), + ], + ), + lowerWidget: _buildControNavButton(context, state), + ), + ), + ); + }); + } + + Widget _buildControNavButton(context, AuthState state) { + return Column( + children: [ + KwButton.primary( + label: + '${'Continue'.tr()} ${state.resendTimeout > 0 ? '${'in'.tr()} ${state.resendTimeout}' : ''}', + disabled: _phoneController.text.isEmpty || state.resendTimeout > 0, + onPressed: () => BlocProvider.of(context).add( + AuthSendSmsEvent(_phoneController.text), + ), + ), + const Gap(36), + if (state.authType == AuthType.login) ...[ + RichText( + text: TextSpan( + text: '${'New here?'.tr()} ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: 'Create an account'.tr(), + style: AppTextStyles.bodyMediumSmb, + recognizer: TapGestureRecognizer() + ..onTap = () { + _phoneController.text = '+1'; + BlocProvider.of(context).add( + const AuthTypeChangedEvent(AuthType.register), + ); + }, + ) + ], + ), + ), + const Gap(20), + ] + ], + ); + } + + void _debug() { + if (!kDebugMode) return; + _phoneController.text = const String.fromEnvironment( + 'DEBUG_PHONE', + defaultValue: '+1', + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/welcome_screen.dart b/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/welcome_screen.dart new file mode 100644 index 00000000..746607d1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/welcome_screen.dart @@ -0,0 +1,102 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/auth/domain/bloc/auth_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/auth/presentation/screens/welcome/widgets/showcase_carousel_widget.dart'; + +@RoutePage() +class WelcomeScreen extends StatefulWidget { + const WelcomeScreen({super.key}); + + @override + State createState() => _WelcomeScreenState(); +} + +class _WelcomeScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.bgColorDark, + body: Stack( + children: [ + Positioned.fill( + child: SvgPicture.asset( + Assets.images.bg.path, + fit: BoxFit.cover, + ), + ), + SafeArea( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Gap(20), + Center( + child: Assets.images.logo.svg(), + ), + const Gap(20), + const Expanded( + child: ShowcaseCarouselWidget(), + ), + const Gap(36), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + children: [ + Text( + 'work_that_fits'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.headingH1.copyWith( + color: AppColors.grayWhite, + height: 1, + ), + ), + const Gap(8), + Text( + 'join_the_community'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackDarkBgBody, + ), + ), + const Gap(36), + KwButton.accent( + label: 'Sign Up'.tr(), + onPressed: () { + context + .read() + .add(const AuthTypeChangedEvent(AuthType.register)); + context.pushRoute( + PhoneVerificationRoute(type: AuthType.register)); + }, + ), + const SizedBox(height: 16), + KwButton.outlinedAccent( + label: 'Log In'.tr(), + onPressed: () { + context + .read() + .add(const AuthTypeChangedEvent(AuthType.login)); + context.pushRoute( + PhoneVerificationRoute(type: AuthType.login)); + }, + ), + ], + ), + ), + const Gap(34), + ], + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/widgets/showcase_carousel_widget.dart b/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/widgets/showcase_carousel_widget.dart new file mode 100644 index 00000000..4e6a72a9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/auth/presentation/screens/welcome/widgets/showcase_carousel_widget.dart @@ -0,0 +1,68 @@ +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ShowcaseCarouselWidget extends StatefulWidget { + const ShowcaseCarouselWidget({super.key}); + + @override + State createState() => _ShowcaseCarouselWidgetState(); +} + +class _ShowcaseCarouselWidgetState extends State { + int _currentIndex = 0; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Expanded( + child: CarouselSlider( + options: CarouselOptions( + aspectRatio: 10 / 9, + viewportFraction: 1, + autoPlay: true, + autoPlayAnimationDuration: Durations.medium4, + autoPlayInterval: const Duration(seconds: 2), + onPageChanged: (index, _) { + setState(() => _currentIndex = index); + }, + ), + items: [ + for (final image in Assets.images.slider.values) + image.image( + fit: BoxFit.fitWidth, + width: double.maxFinite, + ), + ], + ), + ), + const Gap(20), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: List.generate( + 3, + (index) { + return AnimatedContainer( + duration: Durations.short4, + width: _currentIndex == index ? 30 : 6.0, + height: 6.0, + margin: const EdgeInsets.symmetric( + horizontal: 5.0, + ), + decoration: const BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(20), + ), + color: AppColors.grayWhite, + ), + ); + }, + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/data/check_list_api_provider.dart b/mobile-apps/staff-app/lib/features/check_list/data/check_list_api_provider.dart new file mode 100644 index 00000000..42219674 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/data/check_list_api_provider.dart @@ -0,0 +1,44 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/check_list/data/gql.dart'; + +@injectable +class CheckListApiProvider { + CheckListApiProvider(this._apiClient); + + static const _verificationListKey = 'verification_check_list'; + + final ApiClient _apiClient; + + Stream> fetchCheckListWithCache() async* { + await for (var result + in _apiClient.queryWithCache(schema: getCheckListQuery)) { + if (result == null || result.data == null) continue; + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data?[_verificationListKey] == null) continue; + yield result.data?[_verificationListKey] ?? {}; + } + } + + Future> fetchCheckList() async { + final result = await _apiClient.query(schema: getCheckListQuery); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return result.data?[_verificationListKey] ?? {}; + } + + Future submitVerification() async { + var result = await _apiClient.mutate(schema: submitVerificationMutation); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/data/check_list_repository_impl.dart b/mobile-apps/staff-app/lib/features/check_list/data/check_list_repository_impl.dart new file mode 100644 index 00000000..484350d3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/data/check_list_repository_impl.dart @@ -0,0 +1,25 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/check_list/data/check_list_api_provider.dart'; +import 'package:krow/features/check_list/domain/check_list_repository.dart'; + +@Injectable(as: CheckListRepository) +class CheckListRepositoryImpl implements CheckListRepository { + final CheckListApiProvider remoteDataSource; + + CheckListRepositoryImpl({required this.remoteDataSource}); + + @override + Stream> getCheckList() { + return remoteDataSource.fetchCheckListWithCache(); + } + + @override + Future> getCheckListUpdate() { + return remoteDataSource.fetchCheckList(); + } + + @override + Future submitVerification() async { + return remoteDataSource.submitVerification(); + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/data/gql.dart b/mobile-apps/staff-app/lib/features/check_list/data/gql.dart new file mode 100644 index 00000000..66e2be31 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/data/gql.dart @@ -0,0 +1,23 @@ +const String getCheckListQuery = ''' +query checkList{ + verification_check_list { + personal_info + emergency_contacts + roles + equipments + uniforms + working_areas + bank_account + certificates + schedule + } +} +'''; + +const String submitVerificationMutation = ''' +mutation submitVerification{ + submit_staff_profile_for_verification { + status + } +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_bloc.dart b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_bloc.dart new file mode 100644 index 00000000..43ca3126 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_bloc.dart @@ -0,0 +1,99 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_event.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_state.dart'; +import 'package:krow/features/check_list/domain/check_list_repository.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; + +class CheckListBloc extends Bloc { + CheckListBloc() : super(const CheckListState()) { + on(_onFetch); + on(_onCheckForUpdate); + on(_onSubmit); + on(_onAgree); + } + + void _onFetch(CheckListEventFetch event, Emitter emit) async { + if (state.checkListItems.isNotEmpty) return; + + await for (var checkList in getIt().getCheckList()) { + emit(state.copyWith(checkListItems: _parseCheckListData(checkList))); + } + } + + void _onCheckForUpdate( + CheckForListUpdateEvent event, + Emitter emit, + ) async { + if (event.editedItem.error == null) return; + + final result = await getIt().getCheckListUpdate(); + emit( + state.copyWith( + checkListItems: _parseCheckListData(result), + ), + ); + } + + void _onSubmit( + CheckListEventSubmit event, + Emitter emit, + ) async { + emit(state.copyWith(loading: true)); + try { + await getIt().submitVerification(); + } finally { + emit(state.copyWith(loading: false)); + } + emit(state.copyWith(isSubmitted: true)); + } + + void _onAgree(CheckListEventAgree event, Emitter emit) { + emit(state.copyWith(isAgree: !state.isAgree)); + } + + List _parseCheckListData(Map checkList) { + return [ + CheckListItemState( + title: 'Personal Information'.tr(), + error: checkList['personal_info'], + route: PersonalInfoRoute(isInEditMode: true)), + CheckListItemState( + title: 'Emergency contact'.tr(), + error: checkList['emergency_contacts'], + route: EmergencyContactsRoute()), + CheckListItemState( + title: 'Roles'.tr(), error: checkList['roles'], route: RoleRoute()), + if (checkList.containsKey('equipments')) + CheckListItemState( + title: 'Equipment'.tr(), + error: checkList['equipments'], + route: RoleKitFlowRoute(roleKitType: RoleKitType.equipment)), + if (checkList.containsKey('uniforms')) + CheckListItemState( + title: 'Uniform'.tr(), + error: checkList['uniforms'], + route: RoleKitFlowRoute(roleKitType: RoleKitType.uniform)), + CheckListItemState( + title: 'Working Area'.tr(), + error: checkList['working_areas'], + route: WorkingAreaRoute()), + CheckListItemState( + title: 'Availability'.tr(), + error: checkList['schedule'], + route: ScheduleRoute()), + CheckListItemState( + title: 'Bank Account'.tr(), + error: checkList['bank_account'], + route: const BankAccountFlowRoute()), + CheckListItemState(title: 'Wages form'.tr(), error: checkList['']), + CheckListItemState( + title: 'Certificates'.tr(), + error: checkList['certificates'], + route: const CertificatesRoute()), + CheckListItemState(title: 'Background check'.tr(), error: checkList['']), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_event.dart b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_event.dart new file mode 100644 index 00000000..87296e26 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_event.dart @@ -0,0 +1,25 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_state.dart'; + +@immutable +sealed class CheckListEvent { + const CheckListEvent(); +} + +class CheckListEventFetch extends CheckListEvent { + const CheckListEventFetch(); +} + +class CheckForListUpdateEvent extends CheckListEvent { + final CheckListItemState editedItem; + + const CheckForListUpdateEvent({required this.editedItem}); +} + +class CheckListEventSubmit extends CheckListEvent { + const CheckListEventSubmit(); +} + +class CheckListEventAgree extends CheckListEvent { + const CheckListEventAgree(); +} diff --git a/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_state.dart b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_state.dart new file mode 100644 index 00000000..8d5db0ff --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/domain/bloc/check_list_state.dart @@ -0,0 +1,46 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/foundation.dart'; + +@immutable +class CheckListState { + final List checkListItems; + final bool isSubmitted; + final bool isAgree; + final bool isSubmitEnabled; + final bool loading; + + const CheckListState({ + this.checkListItems = const [], + this.isSubmitted = false, + this.isAgree = false, + this.loading = false, + this.isSubmitEnabled = false, + }); + + CheckListState copyWith({ + List? checkListItems, + bool? isSubmitted, + bool? isAgree, + bool? loading, + bool? isSubmitEnabled, + }) { + return CheckListState( + checkListItems: checkListItems ?? this.checkListItems, + isSubmitted: isSubmitted ?? this.isSubmitted, + isAgree: isAgree ?? this.isAgree, + loading: loading ?? false, + isSubmitEnabled: isSubmitEnabled ?? this.isSubmitEnabled, + ); + } + + bool get hasErrors => checkListItems.any((element) => element.error != null); +} + +@immutable +class CheckListItemState { + final String title; + final String? error; + final PageRouteInfo? route; + + const CheckListItemState({required this.title, this.route, this.error}); +} diff --git a/mobile-apps/staff-app/lib/features/check_list/domain/check_list_repository.dart b/mobile-apps/staff-app/lib/features/check_list/domain/check_list_repository.dart new file mode 100644 index 00000000..f8094e0d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/domain/check_list_repository.dart @@ -0,0 +1,7 @@ +abstract class CheckListRepository { + Stream> getCheckList(); + + Future> getCheckListUpdate(); + + Future submitVerification(); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_flow_screen.dart b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_flow_screen.dart new file mode 100644 index 00000000..e40a4673 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_flow_screen.dart @@ -0,0 +1,12 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class CheckListFlowScreen extends StatelessWidget { + const CheckListFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_screen.dart b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_screen.dart new file mode 100644 index 00000000..33eaecdc --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/check_list_screen.dart @@ -0,0 +1,176 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_bloc.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_event.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_state.dart'; +import 'package:krow/features/check_list/presentation/widgets/check_list_display_widget.dart'; + +@RoutePage() +class CheckListScreen extends StatelessWidget implements AutoRouteWrapper { + const CheckListScreen({super.key}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (_) => CheckListBloc()..add(const CheckListEventFetch()), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(), + body: BlocListener( + listenWhen: (previous, current) => + previous.isSubmitted != current.isSubmitted, + listener: (context, state) { + if (state.isSubmitted) { + context.router.push(const WaitingValidationRoute()); + } + }, + child: SafeArea( + top: false, + child: ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + Text( + 'finalize_your_profile'.tr(), + style: AppTextStyles.headingH1, + ), + const SizedBox(height: 8), + Text( + 'check_profile_verification'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const SizedBox(height: 16), + const CheckListDisplayWidget(), + const Gap(36), + const _AgreementWidget(), + const Gap(36), + const _SubmitButtonWidget(), + const Gap(36), + RichText( + textAlign: TextAlign.center, + text: TextSpan( + text: '${'not_you'.tr()} ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: 'log_out'.tr(), + style: AppTextStyles.bodyMediumSmb.copyWith( + decoration: TextDecoration.underline, + ), + recognizer: TapGestureRecognizer() + ..onTap = () { + getIt().logout(); + context.router.replace(const AuthFlowRoute()); + }, + ), + ], + ), + ) + ], + ), + ), + ), + ); + } +} + +class _AgreementWidget extends StatelessWidget { + const _AgreementWidget(); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + context.read().add(const CheckListEventAgree()); + }, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlocSelector( + selector: (state) => state.isAgree, + builder: (context, isAgree) { + return KWCheckBox(value: isAgree); + }, + ), + const Gap(8), + Expanded( + child: RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${'i_agree_to_the'.tr()} ', + style: AppTextStyles.bodyMediumMed, + ), + TextSpan( + text: 'terms_and_conditions'.tr(), + style: AppTextStyles.bodyMediumSmb.copyWith( + decoration: TextDecoration.underline, + ), + recognizer: TapGestureRecognizer() + ..onTap = () { + //TODO(Sleep): Handle Terms and Conditions tap + }, + ), + TextSpan( + text: ' ${'and'.tr()} ', + style: AppTextStyles.bodyMediumMed, + ), + TextSpan( + text: 'privacy_policy'.tr(), + style: AppTextStyles.bodyMediumSmb.copyWith( + decoration: TextDecoration.underline, + ), + recognizer: TapGestureRecognizer() + ..onTap = () { + //TODO(Sleep): Handle Privacy Policy tap + }, + ), + ], + ), + ), + ) + ], + ), + ); + } +} + +class _SubmitButtonWidget extends StatelessWidget { + const _SubmitButtonWidget(); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) { + return previous.isAgree != current.isAgree || + previous.hasErrors != current.hasErrors; + }, builder: (context, state) { + return KwButton.primary( + disabled: !state.isAgree || state.hasErrors, + label: '${'submit_profile_verification'.tr()} ', + onPressed: () { + context.read().add(const CheckListEventSubmit()); + }, + ); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/presentation/screens/waiting_validation_screen.dart b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/waiting_validation_screen.dart new file mode 100644 index 00000000..49667990 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/presentation/screens/waiting_validation_screen.dart @@ -0,0 +1,127 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/static/contacts_data.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/contact_icon_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:url_launcher/url_launcher_string.dart'; +import 'package:whatsapp_unilink/whatsapp_unilink.dart'; + +@RoutePage() +class WaitingValidationScreen extends StatefulWidget { + const WaitingValidationScreen({super.key}); + + @override + State createState() => + _WaitingValidationScreenState(); +} + +class _WaitingValidationScreenState extends State { + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Positioned.fill( + child: Container( + color: AppColors.bgColorDark, + child: SvgPicture.asset( + Assets.images.bg.path, + fit: BoxFit.cover, + ), + ), + ), + Scaffold( + backgroundColor: Colors.transparent, + appBar: buildAppBar(), + body: SafeArea( + child: Column( + children: [ + Container( + margin: const EdgeInsets.only(top: 120, left: 16, right: 16), + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryDark, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.waitingValidation.coffeeBreak.svg(), + const Gap(24), + Text( + 'your_account_is_being_verified'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + const Gap(8), + Text( + 'waiting_for_email_interview'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.textPrimaryInverted, + ), + ), + const Gap(24), + Text( + '${'contact_support_via'.tr()}:', + style: AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.primaryYellow, + ), + ), + const Gap(12), + buildContactsGroup() + ], + ), + ), + ], + ), + ), + ), + ], + ); + } + + Row buildContactsGroup() { + return Row( + spacing: 24, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ContactIconButton( + icon: Assets.images.waitingValidation.call, + onTap: () { + launchUrlString('tel:${ContactsData.supportPhone}'); + }, + ), + ContactIconButton( + icon: Assets.images.waitingValidation.sms, + onTap: () { + launchUrlString('mailto:${ContactsData.supportEmail}'); + }, + ), + ContactIconButton( + icon: Assets.images.waitingValidation.whatsapp, + onTap: () { + const link = WhatsAppUnilink( + phoneNumber: ContactsData.supportPhone, + text: 'Hey!', + ); + launchUrlString(link.toString()); + }, + ), + ], + ); + } + + AppBar buildAppBar() { + return KwAppBar( + backgroundColor: Colors.transparent, + iconColorStyle: AppBarIconColorStyle.inverted, + showNotification: false, + contentColor: AppColors.primaryYellow, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/check_list/presentation/widgets/check_list_display_widget.dart b/mobile-apps/staff-app/lib/features/check_list/presentation/widgets/check_list_display_widget.dart new file mode 100644 index 00000000..aa79a98e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/check_list/presentation/widgets/check_list_display_widget.dart @@ -0,0 +1,51 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box_card.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_bloc.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_event.dart'; +import 'package:krow/features/check_list/domain/bloc/check_list_state.dart'; + +class CheckListDisplayWidget extends StatelessWidget { + const CheckListDisplayWidget({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) { + return previous.checkListItems != current.checkListItems; + }, + builder: (context, state) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + for (final item in state.checkListItems) + CheckBoxCard( + title: item.title, + isChecked: item.error == null, + checkBoxStyle: item.error != null + ? CheckBoxStyle.black + : CheckBoxStyle.green, + padding: const EdgeInsets.only(top: 8), + trailing: true, + errorMessage: item.error, + onTap: () { + final route = item.route; + if (route == null) return; + + context.router.push(route).then((_) { + if (!context.mounted) return; + + context + .read() + .add(CheckForListUpdateEvent(editedItem: item)); + }); + }, + ), + ], + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/data/earning_qgl.dart b/mobile-apps/staff-app/lib/features/earning/data/earning_qgl.dart new file mode 100644 index 00000000..e6434a99 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/data/earning_qgl.dart @@ -0,0 +1,79 @@ +const String _staffPaymentFields = ''' +id +rate +assignment { + clock_in + clock_out + start_at + end_at + break_in + break_out + position { + shift { + event { + name + date + business { + id + name + avatar + } + } + } + business_skill { + skill { + name + } + } + } +} +work_hours +amount +status +paid_at +created_at +updated_at +'''; + +const String getWorkSummaryQuerySchema = ''' +query GetWorkSummary { + staff_work_summary { + weekly_hours + monthly_hours + weekly_earnings + monthly_earnings + } +} +'''; + +const String getPaymentsQuerySchema = ''' +query GetStaffPayments (\$status: StaffPaymentStatusInput!, \$first: Int!, \$after: String) { + staff_payments(status: \$status, first: \$first, after: \$after) { + pageInfo { + hasNextPage + } + edges { + node { + $_staffPaymentFields + } + cursor + } + } +} +'''; + +const String confirmPaymentMutationSchema = ''' +mutation ConfirmStaffPayment (\$id: ID!) { + confirm_staff_payment(id: \$id) { + $_staffPaymentFields + } +} +'''; + +const String declinePaymentMutationSchema = ''' +mutation DeclineStaffPayment (\$id: ID!, \$reason: String!, \$details: String) { + decline_staff_payment(id: \$id, reason: \$reason, details: \$details) { + $_staffPaymentFields + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/earning/data/models/earning_model.dart b/mobile-apps/staff-app/lib/features/earning/data/models/earning_model.dart new file mode 100644 index 00000000..ed80248e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/data/models/earning_model.dart @@ -0,0 +1,67 @@ +class EarningModel { + EarningModel({ + required this.id, + required this.rate, + required this.businessName, + required this.businessAvatar, + required this.businessSkill, + required this.workHours, + required this.amount, + required this.status, + required this.paidAt, + required this.clockInAt, + required this.clockOutAt, + this.breakIn, + this.breakOut, + required this.eventName, + required this.eventDate, + }); + + factory EarningModel.fromJson(Map json) { + final assignment = json['assignment'] as Map; + final positionData = assignment['position'] as Map; + final eventData = positionData['shift']['event'] as Map; + final businessData = eventData['business'] as Map; + + return EarningModel( + id: json['id'] as String? ?? '', + rate: (json['rate'] as num? ?? 0).toDouble(), + businessName: businessData['name'] as String? ?? '', + businessAvatar: businessData['avatar'] as String? ?? '', + businessSkill: + positionData['business_skill']['skill']['name'] as String? ?? '', + workHours: (json['work_hours'] as num? ?? 0).toDouble(), + amount: (json['amount'] as num? ?? 0).toDouble(), + status: json['status'] as String? ?? 'failed', + paidAt: DateTime.tryParse( + json['paid_at'] as String? ?? '', + ), + clockInAt: DateTime.parse( + assignment['clock_in'] ?? assignment['start_at'] as String, + ), + clockOutAt: DateTime.parse( + assignment['clock_out'] ?? assignment['end_at'] as String, + ), + breakIn: DateTime.tryParse(assignment['break_in'] ?? ''), + breakOut: DateTime.tryParse(assignment['break_out'] ?? ''), + eventName: eventData['name'] as String? ?? '', + eventDate: DateTime.parse(eventData['date'] as String? ?? ''), + ); + } + + final String id; + final double rate; + final String businessName; + final String businessAvatar; + final String businessSkill; + final double workHours; + final double amount; + final String status; + final DateTime? paidAt; + final DateTime clockInAt; + final DateTime clockOutAt; + final DateTime? breakIn; + final DateTime? breakOut; + final String eventName; + final DateTime eventDate; +} diff --git a/mobile-apps/staff-app/lib/features/earning/data/models/earnings_summary_model.dart b/mobile-apps/staff-app/lib/features/earning/data/models/earnings_summary_model.dart new file mode 100644 index 00000000..0c686b99 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/data/models/earnings_summary_model.dart @@ -0,0 +1,70 @@ +class EarningsSummaryModel { + EarningsSummaryModel({ + required this.totalEarningsByWeek, + required this.totalEarningsByMonth, + required this.totalWorkedHoursByWeek, + required this.totalWorkedHoursByMonth, + required this.payoutByWeek, + required this.payoutByMonth, + required this.startDatePeriod, + required this.endDatePeriod, + required this.maxEarningInPeriod, + required this.minEarningInPeriod, + }); + + //TODO: Additional fields that are used in the Earnings History screen are for now returning default values. + factory EarningsSummaryModel.fromJson(Map json) { + final time = DateTime.now(); + return EarningsSummaryModel( + totalEarningsByWeek: (json['weekly_earnings'] as num?)?.toDouble() ?? 0, + totalEarningsByMonth: (json['monthly_earnings'] as num?)?.toDouble() ?? 0, + totalWorkedHoursByWeek: (json['weekly_hours'] as num?)?.toDouble() ?? 0, + totalWorkedHoursByMonth: (json['monthly_hours'] as num?)?.toDouble() ?? 0, + payoutByWeek: 0, + payoutByMonth: 0, + startDatePeriod: DateTime(time.year, time.month), + endDatePeriod: DateTime(time.year, time.month, 28), + maxEarningInPeriod: 0, + minEarningInPeriod: 0, + ); + } + + final double totalEarningsByWeek; + final double totalEarningsByMonth; + final double totalWorkedHoursByWeek; + final double totalWorkedHoursByMonth; + final double payoutByWeek; + final double payoutByMonth; + final DateTime? startDatePeriod; + final DateTime? endDatePeriod; + final int maxEarningInPeriod; + final int minEarningInPeriod; + + EarningsSummaryModel copyWith({ + double? totalEarningsByWeek, + double? totalEarningsByMonth, + double? totalWorkedHoursByWeek, + double? totalWorkedHoursByMonth, + double? payoutByWeek, + double? payoutByMonth, + DateTime? startDatePeriod, + DateTime? endDatePeriod, + int? maxEarningInPeriod, + int? minEarningInPeriod, + }) { + return EarningsSummaryModel( + totalEarningsByWeek: totalEarningsByWeek ?? this.totalEarningsByWeek, + totalEarningsByMonth: totalEarningsByMonth ?? this.totalEarningsByMonth, + totalWorkedHoursByWeek: + totalWorkedHoursByWeek ?? this.totalWorkedHoursByWeek, + totalWorkedHoursByMonth: + totalWorkedHoursByMonth ?? this.totalWorkedHoursByMonth, + payoutByWeek: payoutByWeek ?? this.payoutByWeek, + payoutByMonth: payoutByMonth ?? this.payoutByMonth, + startDatePeriod: startDatePeriod, + endDatePeriod: endDatePeriod, + maxEarningInPeriod: maxEarningInPeriod ?? this.maxEarningInPeriod, + minEarningInPeriod: minEarningInPeriod ?? this.minEarningInPeriod, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/data/staff_earning_api_provider.dart b/mobile-apps/staff-app/lib/features/earning/data/staff_earning_api_provider.dart new file mode 100644 index 00000000..970ea3a1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/data/staff_earning_api_provider.dart @@ -0,0 +1,88 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/pagination_wrapper/pagination_wrapper.dart'; +import 'package:krow/features/earning/data/earning_qgl.dart'; +import 'package:krow/features/earning/data/models/earning_model.dart'; +import 'package:krow/features/earning/data/models/earnings_summary_model.dart'; + +@injectable +class StaffEarningApiProvider { + StaffEarningApiProvider({required ApiClient client}) : _client = client; + + final ApiClient _client; + + Future fetchStaffEarningsSummary() async { + final QueryResult result = await _client.query( + schema: getWorkSummaryQuerySchema, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return EarningsSummaryModel.fromJson( + result.data?['staff_work_summary'] as Map? ?? {}, + ); + } + + Future> fetchEarnings({ + required String status, + required int limit, + String? cursor, + }) async { + final QueryResult result = await _client.query( + schema: getPaymentsQuerySchema, + body: {'status': status, 'first': limit, 'after': cursor}, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return PaginationWrapper.fromJson( + result.data?['staff_payments'] ?? {}, + EarningModel.fromJson, + ); + } + + Future _processPaymentMutation({ + required String schema, + required Map body, + required String mutationName, + }) async { + final QueryResult result = await _client.mutate( + schema: schema, + body: body, + ); + + if (result.hasException) throw Exception(result.exception.toString()); + + if (result.data == null) { + throw Exception('Payment data is missing on mutation $mutationName'); + } + + final jsonData = result.data?[mutationName] as Map; + return EarningModel.fromJson(jsonData); + } + + Future confirmPayment({required String id}) { + return _processPaymentMutation( + schema: confirmPaymentMutationSchema, + body: {'id': id}, + mutationName: 'confirm_staff_payment', + ); + } + + Future declinePayment({ + required String id, + required String reason, + String? details, + }) { + return _processPaymentMutation( + schema: declinePaymentMutationSchema, + body: {'id': id, 'reason': reason, 'details': details}, + mutationName: 'decline_staff_payment', + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/data/staff_earning_repository_impl.dart b/mobile-apps/staff-app/lib/features/earning/data/staff_earning_repository_impl.dart new file mode 100644 index 00000000..d9c78650 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/data/staff_earning_repository_impl.dart @@ -0,0 +1,106 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/earning/data/models/earning_model.dart'; +import 'package:krow/features/earning/data/staff_earning_api_provider.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/domain/entities/earnings_batch_entity.dart'; +import 'package:krow/features/earning/domain/entities/earnings_summary_entity.dart'; +import 'package:krow/features/earning/domain/staff_earning_repository.dart'; + +@Injectable(as: StaffEarningRepository) +class StaffEarningRepositoryImpl implements StaffEarningRepository { + StaffEarningRepositoryImpl({ + required StaffEarningApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final StaffEarningApiProvider _apiProvider; + + EarningShiftEntity _convertEarningModel(EarningModel data) { + return EarningShiftEntity( + id: data.id, + status: EarningStatus.fromString(data.status), + businessImageUrl: data.businessAvatar, + skillName: data.businessSkill, + businessName: data.businessName, + totalBreakTime: data.breakIn != null + ? data.breakOut?.difference(data.breakIn!).inSeconds + : null, + paymentStatus: 1, + earned: data.amount, + clockIn: data.clockInAt, + clockOut: data.clockOutAt, + eventName: data.eventName, + eventDate: data.eventDate, + ); + } + + @override + Future getStaffEarningsData() async { + final data = await _apiProvider.fetchStaffEarningsSummary(); + + return EarningsSummaryEntity( + totalEarningsByWeek: data.totalEarningsByWeek, + totalEarningsByMonth: data.totalEarningsByMonth, + totalWorkedHoursByWeek: data.totalWorkedHoursByWeek, + totalWorkedHoursByMonth: data.totalWorkedHoursByMonth, + payoutByWeek: data.payoutByWeek, + payoutByMonth: data.payoutByMonth, + startDatePeriod: data.startDatePeriod, + endDatePeriod: data.endDatePeriod, + maxEarningInPeriod: data.maxEarningInPeriod, + minEarningInPeriod: data.minEarningInPeriod, + ); + } + + @override + Future getEarningsBatch({ + required String status, + int limit = 10, + String? lastEntryCursor, + }) async { + final paginationInfo = await _apiProvider.fetchEarnings( + status: status, + limit: limit, + cursor: lastEntryCursor, + ); + + return EarningsBatchEntity( + batchStatus: status, + hasNextBatch: paginationInfo.pageInfo?.hasNextPage??false, + cursor: paginationInfo.pageInfo?.endCursor ?? + paginationInfo.edges.lastOrNull?.cursor, + earnings: paginationInfo.edges.map( + (edgeData) { + return _convertEarningModel(edgeData.node); + }, + ).toList(), + ); + } + + @override + Future confirmStaffEarning({ + required String earningId, + }) async { + final result = await _apiProvider.confirmPayment(id: earningId); + + if (result == null) return null; + + return _convertEarningModel(result); + } + + @override + Future disputeStaffEarning({ + required String id, + required String reason, + String? details, + }) async { + final result = await _apiProvider.declinePayment( + id: id, + reason: reason, + details: details, + ); + + if (result == null) return null; + + return _convertEarningModel(result); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_bloc.dart b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_bloc.dart new file mode 100644 index 00000000..16f1cbf3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_bloc.dart @@ -0,0 +1,201 @@ +import 'dart:developer'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/pagination_status.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/domain/entities/earnings_summary_entity.dart'; +import 'package:krow/features/earning/domain/staff_earning_repository.dart'; + +part 'earnings_data.dart'; +part 'earnings_event.dart'; +part 'earnings_state.dart'; + +class EarningsBloc extends Bloc { + EarningsBloc() + : super(const EarningsState.initial() + ..copyWith( + tabs: defaultEarningTabs, + )) { + on(_onInit); + on(_onSwitchBalancePeriod); + on(_onTabChanged); + on(_onLoadAdditionalEarnings); + on(_onReloadCurrentEarnings); + on(_onConfirmStaffEarning); + on(_onDisputeStaffEarning); + } + + final _earningRepository = getIt(); + + Future _onInit( + EarningsInitEvent event, + Emitter emit, + ) async { + add(const LoadAdditionalEarnings()); + + emit(state.copyWith(status: StateStatus.loading)); + EarningsSummaryEntity? earningsData; + try { + earningsData = await _earningRepository.getStaffEarningsData(); + } catch (except) { + log('Error in EarningsBloc, on EarningsInitEvent', error: except); + } + emit(state.copyWith(earnings: earningsData, status: StateStatus.idle)); + } + + void _onSwitchBalancePeriod( + EarningsSwitchBalancePeriodEvent event, + Emitter emit, + ) { + emit(state.copyWith(balancePeriod: event.period)); + } + + void _onTabChanged( + EarningsTabChangedEvent event, + Emitter emit, + ) { + emit(state.copyWith(tabIndex: event.tabIndex)); + + if (state.currentTab.status == PaginationStatus.initial) { + add(const LoadAdditionalEarnings()); + } + } + + Future _onLoadAdditionalEarnings( + LoadAdditionalEarnings event, + Emitter emit, + ) async { + if (!state.currentTab.status.allowLoad) return; + emit(state.updateCurrentTab(status: PaginationStatus.loading)); + + final tabIndex = state.tabIndex; + try { + final earningsBatch = await _earningRepository.getEarningsBatch( + status: state.currentTab.loadingKey, + lastEntryCursor: state.currentTab.paginationCursor, + ); + + emit( + state.copyWithTab( + tabIndex: tabIndex, + tab: state.tabs[tabIndex].copyWith( + status: earningsBatch.hasNextBatch + ? PaginationStatus.idle + : PaginationStatus.end, + items: [...state.tabs[tabIndex].items, ...earningsBatch.earnings], + hasMoreItems: earningsBatch.hasNextBatch, + ), + ), + ); + } catch (except) { + log( + 'Error in EarningsBloc, on LoadAdditionalEarnings', + error: except, + ); + emit( + state.copyWithTab( + tabIndex: tabIndex, + tab: state.tabs[tabIndex].copyWith( + status: PaginationStatus.error, + ), + ), + ); + } + + if (state.tabs[tabIndex].status == PaginationStatus.loading) { + emit( + state.copyWithTab( + tabIndex: tabIndex, + tab: state.tabs[tabIndex].copyWith( + status: PaginationStatus.idle, + ), + ), + ); + } + } + + void _onReloadCurrentEarnings( + ReloadCurrentEarnings event, + Emitter emit, + ) { + emit( + state.copyWithTab( + tab: EarningsTabState.initial( + label: state.currentTab.label, + loadingKey: state.currentTab.loadingKey, + ), + ), + ); + + add(const LoadAdditionalEarnings()); + } + + Future _onEarningAction( + Future earningFuture, + String eventName, + Emitter emit, + ) async { + emit(state.copyWith(status: StateStatus.loading)); + + EarningShiftEntity? earning; + try { + earning = await earningFuture; + } catch (except) { + log( + 'Error in EarningsBloc, on $eventName', + error: except, + ); + } + + var tabData = state.currentTab; + if (earning != null) { + final earningIndex = + state.currentTab.items.indexWhere((item) => item.id == earning?.id); + + if (earningIndex >= 0) { + tabData = state.currentTab.copyWith( + items: List.from(state.currentTab.items)..[earningIndex] = earning, + ); + } + } + + emit( + state.copyWithTab( + status: StateStatus.idle, + tab: tabData, + ), + ); + } + + Future _onConfirmStaffEarning( + ConfirmStaffEarning event, + Emitter emit, + ) { + return _onEarningAction( + _earningRepository.confirmStaffEarning( + earningId: event.earningId, + ), + 'ConfirmStaffEarning', + emit, + ); + } + + Future _onDisputeStaffEarning( + DisputeStaffEarning event, + Emitter emit, + ) async { + return _onEarningAction( + _earningRepository.disputeStaffEarning( + id: event.earningId, + reason: event.reason, + details: event.details, + ), + 'DeclineStaffEarning', + emit, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_data.dart b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_data.dart new file mode 100644 index 00000000..ba284fe1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_data.dart @@ -0,0 +1,85 @@ +part of 'earnings_bloc.dart'; + +enum BalancePeriod { + week, + month, +} + +class EarningsTabState { + const EarningsTabState({ + required this.label, + required this.loadingKey, + required this.items, + this.status = PaginationStatus.idle, + this.hasMoreItems = true, + this.paginationCursor, + }); + + const EarningsTabState.initial({ + required this.label, + required this.loadingKey, + this.items = const [], + this.status = PaginationStatus.initial, + this.hasMoreItems = true, + this.paginationCursor, + }); + + final String label; + final String loadingKey; + final List items; + final PaginationStatus status; + final bool hasMoreItems; + final String? paginationCursor; + + EarningsTabState copyWith({ + List? items, + PaginationStatus? status, + bool? hasMoreItems, + String? label, + String? loadingKey, + String? paginationCursor, + }) { + return EarningsTabState( + loadingKey: loadingKey ?? this.loadingKey, + items: items ?? this.items, + status: status ?? this.status, + hasMoreItems: hasMoreItems ?? this.hasMoreItems, + label: label ?? this.label, + paginationCursor: paginationCursor ?? this.paginationCursor, + ); + } +} + + const defaultEarningTabs = [ + EarningsTabState.initial( + label: 'new_earning', + loadingKey: 'new' // Confirmed by admin + ), + EarningsTabState.initial( + label: 'confirmed', + loadingKey: 'confirmed', // Confirmed by staff + ), + EarningsTabState.initial( + label: 'disputed', + loadingKey: 'disputed', // Declined by staff + ), + EarningsTabState.initial( + label: 'sent', + loadingKey: 'sent', // Should remain sent + ), + EarningsTabState.initial( + label: 'received', + loadingKey: 'paid', // Should remain paid + ), +]; + +// $of = match ($status) { +// 'new' => fn(Builder $q) => $q->whereIn('status', [StaffPaymentStatus::new]), +// 'confirmed' => fn(Builder $q) => $q->whereIn('status', [StaffPaymentStatus::confirmed_by_admin]), +// 'pending' => fn(Builder $q) => $q->whereIn('status', [ +// StaffPaymentStatus::decline_by_staff, +// StaffPaymentStatus::confirmed_by_staff, +// ]), +// 'sent' => fn(Builder $q) => $q->whereIn('status', [StaffPaymentStatus::sent]), +// 'paid' => fn(Builder $q) => $q->whereIn('status', [StaffPaymentStatus::paid]), +// }; diff --git a/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_event.dart b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_event.dart new file mode 100644 index 00000000..df0bb8d3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_event.dart @@ -0,0 +1,48 @@ +part of 'earnings_bloc.dart'; + +@immutable +sealed class EarningsEvent { + const EarningsEvent(); +} + +class EarningsInitEvent extends EarningsEvent { + const EarningsInitEvent(); +} + +class EarningsSwitchBalancePeriodEvent extends EarningsEvent { + final BalancePeriod period; + + const EarningsSwitchBalancePeriodEvent({required this.period}); +} + +class EarningsTabChangedEvent extends EarningsEvent { + final int tabIndex; + + const EarningsTabChangedEvent({required this.tabIndex}); +} + +class LoadAdditionalEarnings extends EarningsEvent { + const LoadAdditionalEarnings(); +} + +class ReloadCurrentEarnings extends EarningsEvent { + const ReloadCurrentEarnings(); +} + +class ConfirmStaffEarning extends EarningsEvent { + const ConfirmStaffEarning(this.earningId); + + final String earningId; +} + +class DisputeStaffEarning extends EarningsEvent { + const DisputeStaffEarning({ + required this.earningId, + required this.reason, + required this.details, + }); + + final String earningId; + final String reason; + final String details; +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_state.dart b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_state.dart new file mode 100644 index 00000000..30fcc515 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/bloc/earnings_state.dart @@ -0,0 +1,92 @@ +part of 'earnings_bloc.dart'; + +@immutable +class EarningsState { + const EarningsState({ + required this.status, + required this.tabIndex, + required this.balancePeriod, + required this.earnings, + required this.tabs, + }); + + const EarningsState.initial({ + this.status = StateStatus.idle, + this.tabIndex = 0, + this.balancePeriod = BalancePeriod.week, + this.earnings = const EarningsSummaryEntity.empty(), + this.tabs = defaultEarningTabs, + }); + + final StateStatus status; + final int tabIndex; + final BalancePeriod balancePeriod; + final EarningsSummaryEntity earnings; + final List tabs; + + EarningsTabState get currentTab => tabs[tabIndex]; + + double get totalEarnings { + return balancePeriod == BalancePeriod.week + ? earnings.totalEarningsByWeek + : earnings.totalEarningsByMonth; + } + + double get totalHours { + return balancePeriod == BalancePeriod.week + ? earnings.totalWorkedHoursByWeek + : earnings.totalWorkedHoursByMonth; + } + + double get totalPayout { + return balancePeriod == BalancePeriod.week + ? earnings.payoutByWeek + : earnings.payoutByMonth; + } + + EarningsState copyWith({ + StateStatus? status, + int? tabIndex, + BalancePeriod? balancePeriod, + EarningsSummaryEntity? earnings, + List? tabs, + }) { + return EarningsState( + status: status ?? this.status, + tabIndex: tabIndex ?? this.tabIndex, + balancePeriod: balancePeriod ?? this.balancePeriod, + earnings: earnings ?? this.earnings, + tabs: tabs ?? this.tabs, + ); + } + + EarningsState copyWithTab({ + required EarningsTabState tab, + int? tabIndex, + StateStatus? status, + }) { + return copyWith( + tabs: List.from(tabs)..[tabIndex ?? this.tabIndex] = tab, + status: status, + ); + } + + EarningsState updateCurrentTab({ + List? items, + PaginationStatus? status, + bool? hasMoreItems, + String? label, + String? paginationCursor, + }) { + return copyWith( + tabs: List.from(tabs) + ..[tabIndex] = currentTab.copyWith( + items: items, + status: status, + hasMoreItems: hasMoreItems, + label: label, + paginationCursor: paginationCursor, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_dispute_info.dart b/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_dispute_info.dart new file mode 100644 index 00000000..edbda8bb --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_dispute_info.dart @@ -0,0 +1,4 @@ +class EarningDisputeInfo { + String reason = ''; + String details = ''; +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_shift_entity.dart b/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_shift_entity.dart new file mode 100644 index 00000000..e03bc9a9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/entities/earning_shift_entity.dart @@ -0,0 +1,64 @@ +class EarningShiftEntity { + final String id; + final EarningStatus status; + final String businessImageUrl; + final String skillName; + final String businessName; + final int? totalBreakTime; + final int? paymentStatus; + final double? earned; + final DateTime? clockIn; + final DateTime? clockOut; + final String eventName; + final DateTime eventDate; + + EarningShiftEntity({ + required this.id, + required this.status, + required this.businessImageUrl, + required this.skillName, + required this.businessName, + required this.totalBreakTime, + required this.paymentStatus, + required this.earned, + required this.clockIn, + required this.clockOut, + required this.eventName, + required this.eventDate, + }); + + int get paymentProgressStep { + return switch (status) { + EarningStatus.pending => 0, // corresponds to Pending Sent + EarningStatus.processing => 1, // corresponds to Pending Payment + EarningStatus.paid => 2, // corresponds to Payment Received + _ => -1, // don't show active step + }; + } +} + +enum EarningStatus { + new_, + pending, + confirmedByAdmin, + confirmedByStaff, + declineByStaff, + processing, + paid, + failed, + canceled; + + static EarningStatus fromString(value) { + return switch (value) { + 'new' => new_, + 'confirmed_by_admin' => confirmedByAdmin, + 'confirmed_by_staff' => confirmedByStaff, + 'decline_by_staff' => declineByStaff, + 'pending' => pending, + 'paid' => paid, + 'failed' => failed, + 'canceled' => canceled, + _ => canceled, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_batch_entity.dart b/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_batch_entity.dart new file mode 100644 index 00000000..69767277 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_batch_entity.dart @@ -0,0 +1,15 @@ +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; + +class EarningsBatchEntity { + EarningsBatchEntity({ + required this.batchStatus, + required this.hasNextBatch, + required this.earnings, + this.cursor, + }); + + final String batchStatus; + final bool hasNextBatch; + final List earnings; + final String? cursor; +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_summary_entity.dart b/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_summary_entity.dart new file mode 100644 index 00000000..f1a57ec0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/entities/earnings_summary_entity.dart @@ -0,0 +1,69 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class EarningsSummaryEntity { + const EarningsSummaryEntity({ + required this.totalEarningsByWeek, + required this.totalEarningsByMonth, + required this.totalWorkedHoursByWeek, + required this.totalWorkedHoursByMonth, + required this.payoutByWeek, + required this.payoutByMonth, + required this.startDatePeriod, + required this.endDatePeriod, + required this.maxEarningInPeriod, + required this.minEarningInPeriod, + }); + + const EarningsSummaryEntity.empty({ + this.totalEarningsByWeek = 0, + this.totalEarningsByMonth = 0, + this.totalWorkedHoursByWeek = 0, + this.totalWorkedHoursByMonth = 0, + this.payoutByWeek = 0, + this.payoutByMonth = 0, + this.startDatePeriod, + this.endDatePeriod, + this.maxEarningInPeriod = 0, + this.minEarningInPeriod = 0, + }); + + final double totalEarningsByWeek; + final double totalEarningsByMonth; + final double totalWorkedHoursByWeek; + final double totalWorkedHoursByMonth; + final double payoutByWeek; + final double payoutByMonth; + final DateTime? startDatePeriod; + final DateTime? endDatePeriod; + final int maxEarningInPeriod; + final int minEarningInPeriod; + + EarningsSummaryEntity copyWith({ + double? totalEarningsByWeek, + double? totalEarningsByMonth, + double? totalWorkedHoursByWeek, + double? totalWorkedHoursByMonth, + double? payoutByWeek, + double? payoutByMonth, + DateTime? startDatePeriod, + DateTime? endDatePeriod, + int? maxEarningInPeriod, + int? minEarningInPeriod, + }) { + return EarningsSummaryEntity( + totalEarningsByWeek: totalEarningsByWeek ?? this.totalEarningsByWeek, + totalEarningsByMonth: totalEarningsByMonth ?? this.totalEarningsByMonth, + totalWorkedHoursByWeek: + totalWorkedHoursByWeek ?? this.totalWorkedHoursByWeek, + totalWorkedHoursByMonth: + totalWorkedHoursByMonth ?? this.totalWorkedHoursByMonth, + payoutByWeek: payoutByWeek ?? this.payoutByWeek, + payoutByMonth: payoutByMonth ?? this.payoutByMonth, + startDatePeriod: startDatePeriod, + endDatePeriod: endDatePeriod, + maxEarningInPeriod: maxEarningInPeriod ?? this.maxEarningInPeriod, + minEarningInPeriod: minEarningInPeriod ?? this.minEarningInPeriod, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/domain/staff_earning_repository.dart b/mobile-apps/staff-app/lib/features/earning/domain/staff_earning_repository.dart new file mode 100644 index 00000000..f74366af --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/domain/staff_earning_repository.dart @@ -0,0 +1,21 @@ +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/domain/entities/earnings_batch_entity.dart'; +import 'package:krow/features/earning/domain/entities/earnings_summary_entity.dart'; + +abstract interface class StaffEarningRepository { + Future getStaffEarningsData(); + + Future getEarningsBatch({ + required String status, + int limit = 10, + String? lastEntryCursor, + }); + + Future confirmStaffEarning({required String earningId}); + + Future disputeStaffEarning({ + required String id, + required String reason, + String? details, + }); +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/earnings_flow_screen.dart b/mobile-apps/staff-app/lib/features/earning/presentation/earnings_flow_screen.dart new file mode 100644 index 00000000..f5bb0377 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/earnings_flow_screen.dart @@ -0,0 +1,18 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; + +@RoutePage() +class EarningsFlowScreen extends StatelessWidget { + const EarningsFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (BuildContext context) => + EarningsBloc()..add(const EarningsInitEvent()), + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_history_screen.dart b/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_history_screen.dart new file mode 100644 index 00000000..3dd3d7be --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_history_screen.dart @@ -0,0 +1,67 @@ +import 'package:auto_route/annotations.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/presentation/widget/earnings_appbar.dart'; +import 'package:krow/features/earning/presentation/widget/list_item/earning_card_compact_widget.dart'; + +import '../widget/earnings_history_header.dart'; + +@RoutePage() +class EarningsHistoryScreen extends StatelessWidget { + const EarningsHistoryScreen({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: SingleChildScrollView( + physics: const ClampingScrollPhysics(), + child: SafeArea( + top: false, + child: BlocBuilder( + builder: (context, state) { + List items = state.currentTab.items; + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const EarningsAppBar( + leading: true, + child: EarningsHistoryHeader(), + ), + const Gap(24), + Padding( + padding: const EdgeInsets.only(left: 16.0), + child: Text( + 'your_shifts'.tr(), + style: AppTextStyles.bodySmallMed, + ), + ), + _buildListView(items), + ], + ); + }, + ), + ), + ), + ); + } + + ListView _buildListView(List items) { + return ListView.builder( + padding: const EdgeInsets.only(top: 24), + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: items.length, + itemBuilder: (context, index) { + return EarningCardCompactWidget( + earningEntity: items[index], + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_screen.dart b/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_screen.dart new file mode 100644 index 00000000..ef841eaf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/screens/earnings_screen.dart @@ -0,0 +1,78 @@ +import 'package:auto_route/annotations.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/presentation/slivers/bottom_earnings_sliver.dart'; +import 'package:krow/features/earning/presentation/slivers/earnings_header_sliver.dart'; +import 'package:krow/features/earning/presentation/slivers/earnings_list_sliver.dart'; + +@RoutePage() +class EarningsScreen extends StatefulWidget { + const EarningsScreen({super.key}); + + @override + State createState() => _EarningsScreenState(); +} + +class _EarningsScreenState extends State { + final _scrollController = ScrollController(); + bool allowPagination = true; + + @override + void initState() { + super.initState(); + + _scrollController.addListener( + () { + if (allowPagination && + _scrollController.position.userScrollDirection == + ScrollDirection.reverse && + _scrollController.position.extentAfter < 50) { + context.read().add(const LoadAdditionalEarnings()); + allowPagination = false; + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBody: true, + body: RefreshIndicator( + displacement: 80, + backgroundColor: AppColors.bgColorLight, + color: AppColors.bgColorDark, + triggerMode: RefreshIndicatorTriggerMode.anywhere, + onRefresh: () { + context.read().add(const ReloadCurrentEarnings()); + return Future.delayed(const Duration(seconds: 1)); + }, + child: BlocListener( + listenWhen: (previous, current) => + previous.currentTab.status != current.currentTab.status, + listener: (context, state) { + allowPagination = state.currentTab.status.allowLoad; + }, + child: CustomScrollView( + controller: _scrollController, + physics: const ClampingScrollPhysics(), + slivers: [ + const EarningsHeaderSliver(), + const EarningsListSliver(), + const BottomEarningsSliver(), + ], + ), + ), + ), + ); + } + + @override + void dispose() { + _scrollController.dispose(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/slivers/bottom_earnings_sliver.dart b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/bottom_earnings_sliver.dart new file mode 100644 index 00000000..d4d89eca --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/bottom_earnings_sliver.dart @@ -0,0 +1,51 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/pagination_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; + +class BottomEarningsSliver extends StatelessWidget { + const BottomEarningsSliver({super.key}); + + @override + Widget build(BuildContext context) { + return SliverSafeArea( + top: false, + sliver: BlocBuilder( + buildWhen: (previous, current) => + previous.currentTab != current.currentTab || + current.currentTab.status != previous.currentTab.status, + builder: (context, state) { + return SliverToBoxAdapter( + child: Column( + children: [ + SizedBox( + height: 60, + child: Center( + child: switch (state.currentTab.status) { + PaginationStatus.initial || + PaginationStatus.loading => + const CircularProgressIndicator(), + PaginationStatus.empty => Text( + 'no_history_section'.tr(), + style: AppTextStyles.bodyMediumReg, + ), + PaginationStatus.end => Text( + 'end_of_payments_history'.tr(), + style: AppTextStyles.bodyMediumReg, + ), + _ => null, + }, + ), + ), + const Gap(20), + ], + ), + ); + }, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_header_sliver.dart b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_header_sliver.dart new file mode 100644 index 00000000..d384863d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_header_sliver.dart @@ -0,0 +1,47 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_tabs.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/presentation/widget/earnings_appbar.dart'; +import 'package:krow/features/earning/presentation/widget/earnings_header.dart'; + +class EarningsHeaderSliver extends StatelessWidget { + const EarningsHeaderSliver({super.key}); + + @override + Widget build(BuildContext context) { + return SliverList.list( + children: [ + const EarningsAppBar(child: EarningsHeader()), + const Gap(24), + Padding( + padding: const EdgeInsets.only(left: 16.0), + child: Text( + 'your_shifts'.tr(), + style: AppTextStyles.bodySmallMed, + ), + ), + const Gap(24), + BlocBuilder( + buildWhen: (previous, current) => + previous.tabs != current.tabs, + builder: (context, state) { + return KwTabBar( + key: const Key('earnings_tab_bar'), + forceScroll: true, + tabs: [for (final tab in state.tabs) tab.label.tr()], + onTap: (int index) { + context + .read() + .add(EarningsTabChangedEvent(tabIndex: index)); + }, + ); + }, + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_list_sliver.dart b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_list_sliver.dart new file mode 100644 index 00000000..fa70f5ca --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/slivers/earnings_list_sliver.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/presentation/widget/list_item/earning_card_widget.dart'; + +class EarningsListSliver extends StatelessWidget { + const EarningsListSliver({super.key}); + + @override + Widget build(BuildContext context) { + return SliverPadding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 24), + sliver: BlocBuilder( + buildWhen: (previous, current) => + previous.tabIndex != current.tabIndex || + previous.currentTab.items != current.currentTab.items, + builder: (context, state) { + return SliverList.separated( + itemCount: state.currentTab.items.length, + separatorBuilder: (context, index) => const Gap(12), + itemBuilder: (context, index) { + return EarningCardWidget( + earningEntity: state.currentTab.items[index], + ); + }, + ); + }, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/animated_slider.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/animated_slider.dart new file mode 100644 index 00000000..09c517c7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/animated_slider.dart @@ -0,0 +1,98 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; + +class AnimatedSlider extends StatefulWidget { + const AnimatedSlider({super.key}); + + @override + State createState() => _AnimatedSliderState(); +} + +class _AnimatedSliderState extends State { + @override + Widget build(BuildContext context) { + return Container( + width: 200, // Adjust the width as needed + height: 36, // Adjust the height as needed + decoration: BoxDecoration( + color: Colors.blueGrey.shade400, // Background color + borderRadius: BorderRadius.circular(18), + ), + child: Stack( + children: [ + BlocBuilder( + builder: (context, state) { + bool isThisWeekSelected = + state.balancePeriod == BalancePeriod.week; + + return AnimatedAlign( + duration: const Duration(milliseconds: 150), + alignment: isThisWeekSelected + ? Alignment.centerLeft + : Alignment.centerRight, + child: Container( + width: 90, + margin: const EdgeInsets.all(4), + // Half the width of the container + height: 36, + decoration: BoxDecoration( + color: Colors.blueGrey.shade900, // Active slider color + borderRadius: BorderRadius.circular(14), + ), + ), + ); + }, + ), + Row( + children: [ + Expanded( + child: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(const EarningsSwitchBalancePeriodEvent( + period: BalancePeriod.week, + )); + }, + child: Container( + color: Colors.transparent, + child: Center( + child: Text( + 'this_week'.tr(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite), + ), + ), + ), + ), + ), + Expanded( + child: GestureDetector( + onTap: () { + BlocProvider.of(context) + .add(const EarningsSwitchBalancePeriodEvent( + period: BalancePeriod.month, + )); + }, + child: Container( + color: Colors.transparent, + child: Center( + child: Text( + 'this_month'.tr(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite), + ), + ), + ), + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/dispute_form_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/dispute_form_widget.dart new file mode 100644 index 00000000..4d92f1fe --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/dispute_form_widget.dart @@ -0,0 +1,43 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/earning/domain/entities/earning_dispute_info.dart'; + +class DisputeFormWidget extends StatelessWidget { + const DisputeFormWidget({super.key, required this.disputeInfo}); + + final EarningDisputeInfo disputeInfo; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + KwDropdown( + title: 'reason'.tr(), + hintText: 'select_reason_from_list'.tr(), + horizontalPadding: 24, + items: [ + for (final reason in _disputeReasonsData) + KwDropDownItem(data: reason, title: reason), + ], + onSelected: (reason) => disputeInfo.reason = reason, + ), + const Gap(8), + KwTextInput( + title: 'additional_reasons'.tr(), + minHeight: 114, + controller: TextEditingController(), + onChanged: (details) => disputeInfo.details = details, + ), + ], + ); + } +} + +final _disputeReasonsData = [ + 'incorrect_hours'.tr(), + 'incorrect_charges'.tr(), + 'other'.tr() +]; diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_appbar.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_appbar.dart new file mode 100644 index 00000000..140bd978 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_appbar.dart @@ -0,0 +1,110 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class EarningsAppBar extends StatelessWidget { + final Widget child; + final bool leading; + + const EarningsAppBar({ + super.key, + required this.child, + this.leading = false, + }); + + @override + Widget build(BuildContext context) { + return Stack( + fit: StackFit.loose, + children: [ + _buildProfileBackground(context), + SafeArea( + bottom: false, + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const Gap(16), + _buildAppBar(context), + const Gap(24), + child, + ], + ), + ), + ) + ], + ); + } + + Widget _buildProfileBackground(BuildContext context) { + return Positioned.fill( + child: ClipRRect( + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(12), + bottomRight: Radius.circular(12), + ), + child: Container( + width: MediaQuery.of(context).size.width, + color: AppColors.bgColorDark, + child: Assets.images.bg.svg( + fit: BoxFit.fitWidth, + alignment: Alignment.topCenter, + ), + ), + ), + ); + } + + Widget _buildAppBar(BuildContext context) { + return Container( + height: 48, + margin: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + if (leading) ...[ + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Container( + width: 48, + height: 48, + color: Colors.transparent, + alignment: Alignment.center, + child: Assets.images.appBar.appbarLeading.svg( + colorFilter: const ColorFilter.mode( + Colors.white, + BlendMode.srcIn, + ), + ), + ), + ), + const Gap(8), + ], + Text( + 'Earnings'.tr(), + style: Theme.of(context) + .textTheme + .headlineSmall + ?.copyWith(color: Colors.white), + ), + const Spacer(), + Container( + width: 48, + height: 48, + alignment: Alignment.center, + child: Assets.images.appBar.notification.svg( + colorFilter: const ColorFilter.mode( + Colors.white, + BlendMode.srcIn, + ), + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_card.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_card.dart new file mode 100644 index 00000000..1a990c46 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_card.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/presentation/widget/earnings_charts_widget.dart'; + +class EarningsCharts extends StatefulWidget { + const EarningsCharts({super.key}); + + @override + State createState() => _EarningsChartsState(); +} + +class _EarningsChartsState extends State { + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryDark + .copyWith(color: AppColors.darkBgStroke), + height: 218, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '12.01 - 12.31.2024 period:', + style: AppTextStyles.captionReg + .copyWith(color: AppColors.bgColorLight), + ), + const Gap(8), + Text('\$1490',style: AppTextStyles.headingH3.copyWith(color: AppColors.primaryYellow),), + const SizedBox( + height: 150, + child: EarningsChartsWidget(), + ), + ], + )); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_widget.dart new file mode 100644 index 00000000..e791078d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_charts_widget.dart @@ -0,0 +1,162 @@ +import 'package:fl_chart/fl_chart.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class EarningsChartsWidget extends StatefulWidget { + const EarningsChartsWidget({super.key}); + + @override + State createState() => _EarningsChartsWidgetState(); +} + +class _EarningsChartsWidgetState extends State { + var touchedIndex = -1; + var values = [300, 99, 300, 9]; + + + @override + Widget build(BuildContext context) { + var maxValue = values.reduce((value, element) => value > element ? value : element); + + return Padding( + padding: const EdgeInsets.only(top:8.0), + child: BarChart( + BarChartData( + alignment: BarChartAlignment.center, + maxY: maxValue.toDouble(), + minY: 0, + groupsSpace: 12, + barTouchData: buildBarTouchData(), + borderData: FlBorderData( + show: true, + border: const Border( + bottom: BorderSide( + color: AppColors.darkBgInactive, + width: 1, + ), + top: BorderSide( + color: AppColors.darkBgInactive, + width: 1, + ), + ), + ), + titlesData: _buildTiles(), + gridData: buildFlGridData(), + barGroups: getData()), + ), + ); + } + + FlGridData buildFlGridData() { + return FlGridData( + show: true, + checkToShowHorizontalLine: (value) { + return true; + }, + getDrawingHorizontalLine: (value) => const FlLine( + color: AppColors.darkBgInactive, + dashArray: [4, 4], + strokeWidth: 1, + ), + drawVerticalLine: false, + ); + } + + FlTitlesData _buildTiles() { + return FlTitlesData( + show: true, + bottomTitles: AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 16, + getTitlesWidget: _buildBottomTiles, + ), + ), + leftTitles: AxisTitles( + sideTitles: SideTitles( + maxIncluded: true, + showTitles: true, + reservedSize: 28, + getTitlesWidget: _buildLeftTitles, + ), + ), + topTitles: const AxisTitles( + sideTitles: SideTitles(showTitles: false), + ), + rightTitles: const AxisTitles( + sideTitles: SideTitles(showTitles: false), + ), + ); + } + + Widget _buildLeftTitles(double value, TitleMeta meta) { + return Padding( + padding: EdgeInsets.only(bottom: value == 0?8.0:0), + child: Text( + meta.formattedValue, + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.darkBgInactive), + ), + ); + } + Widget _buildBottomTiles(double value, TitleMeta meta) { + var diap = '1-8 9-15 16-23 24-30'.split(' '); + return Padding( + padding: const EdgeInsets.only(top:4.0), + child: Text( + diap[value.toInt()], + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.darkBgInactive), + ), + ); + } + + BarTouchData buildBarTouchData() { + return BarTouchData( + allowTouchBarBackDraw: true, + touchExtraThreshold: const EdgeInsets.only(top:16), + touchCallback: (FlTouchEvent event, barTouchResponse) { + setState(() { + if (!event.isInterestedForInteractions || + barTouchResponse == null || + barTouchResponse.spot == null) { + touchedIndex = -1; + return; + } + touchedIndex = barTouchResponse.spot!.touchedBarGroupIndex; + }); + }, + touchTooltipData: BarTouchTooltipData( + getTooltipColor: (group) => AppColors.primaryMint, + tooltipRoundedRadius: 24, + tooltipPadding: + const EdgeInsets.only(left: 12, right: 12, top: 12, bottom: 8), + getTooltipItem: (group, groupIndex, rod, rodIndex) { + return BarTooltipItem( + '\$${rod.toY.round()}', + AppTextStyles.bodyMediumMed, + ); + }, + ), + ); + } + + List getData() { + double width = (MediaQuery.of(context).size.width-140)/4; + + + return List.generate(4, (i)=> + BarChartGroupData( + x: i, + barRods: [ + BarChartRodData( + toY: values[i].toDouble(), + borderRadius: const BorderRadius.all(Radius.circular(12)), + color: touchedIndex == i?AppColors.primaryMint:AppColors.primaryYellow, + width: width), + ], + ),); + + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_header.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_header.dart new file mode 100644 index 00000000..5254bcaf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_header.dart @@ -0,0 +1,100 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/presentation/widget/animated_slider.dart'; + +class EarningsHeader extends StatelessWidget { + const EarningsHeader({super.key}); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only( + bottom: 24, + left: 12, + right: 12, + ), + decoration: KwBoxDecorations.primaryDark, + child: BlocBuilder( + builder: (context, state) { + return Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + 'your_earnings'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite), + ), + const Gap(12), + const AnimatedSlider(), + const Gap(24), + Text( + '\$${state.totalEarnings.toStringAsFixed(2)}', + style: AppTextStyles.headingH0 + .copyWith(color: AppColors.grayWhite), + ), + const Gap(24), + Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryDark.copyWith( + color: AppColors.darkBgStroke, + ), + child: Column( + children: [ + _buildInfoRow( + 'total_worked_hours'.tr(), + '${state.totalHours.toInt()}', + ), + // const Gap(12), + // _buildInfoRow( + // 'Payout:', + // '\$${state.totalPayout.toStringAsFixed(2)}', + // ), + ], + ), + ), + // const Gap(24), + // KwButton.accent( + // label: 'Earnings History', + // onPressed: () { + // context.router.push(const EarningsHistoryRoute()); + // }, + // ) + ], + ); + }, + ), + ), + ), + ], + ); + } + + Row _buildInfoRow(String title, String? value) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: + AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite), + ), + Text( + value ?? '', + style: + AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_history_header.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_history_header.dart new file mode 100644 index 00000000..f12f25cc --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/earnings_history_header.dart @@ -0,0 +1,131 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/presentation/widget/earnings_charts_card.dart'; + +class EarningsHistoryHeader extends StatelessWidget { + const EarningsHistoryHeader({super.key}); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(bottom: 24, left: 12, right: 12), + decoration: KwBoxDecorations.primaryDark, + child: BlocBuilder( + builder: (context, state) { + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildPeriodRow(), + const Gap(12), + const EarningsCharts(), + const Gap(8), + _buildMinMaxRow( + state.earnings.minEarningInPeriod, + state.earnings.maxEarningInPeriod, + ), + ], + ); + }, + ), + ), + ), + ], + ); + } + + + + _buildMinMaxRow(int min, int max) { + return Container( + padding: const EdgeInsets.all(12), + decoration: + KwBoxDecorations.primaryDark.copyWith(color: AppColors.darkBgStroke), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildInfoRow('max_earning'.tr(), '\$$max'), + const Gap(12), + _buildInfoRow('min_earning'.tr(), '\$$min'), + ], + ), + ); + } + + Row _buildInfoRow(String title, String? value) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + title, + style: + AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite), + ), + Text( + value ?? '', + style: + AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite), + ), + ], + ); + } + + Row _buildPeriodRow() { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'earnings_history'.tr(), + textAlign: TextAlign.center, + style: + AppTextStyles.bodyMediumMed.copyWith(color: AppColors.grayWhite), + ), + KwPopupMenu( + customButtonBuilder: (context, isOpen) { + return Row( + children: [ + Assets.images.icons.calendar.svg( + width: 12, + height: 12, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, BlendMode.srcIn)), + const Gap(2), + Text( + 'period'.tr(), + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite), + ), + const Gap(12), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: isOpen ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.darkBgInactive, BlendMode.srcIn), + ), + ), + ], + ); + }, + menuItems: [ + KwPopupMenuItem(title: 'week'.tr(), onTap: () {}), + KwPopupMenuItem(title: 'month'.tr(), onTap: () {}), + KwPopupMenuItem(title: 'range'.tr(), onTap: () {}), + ]) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_action_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_action_widget.dart new file mode 100644 index 00000000..15178449 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_action_widget.dart @@ -0,0 +1,106 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/earning/domain/bloc/earnings_bloc.dart'; +import 'package:krow/features/earning/domain/entities/earning_dispute_info.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/presentation/widget/dispute_form_widget.dart'; + +class EarningActionWidget extends StatefulWidget { + const EarningActionWidget({ + super.key, + required this.earningShiftEntity, + }); + + final EarningShiftEntity earningShiftEntity; + + @override + State createState() => _EarningActionWidgetState(); +} + +class _EarningActionWidgetState extends State { + CrossFadeState _crossFadeState = CrossFadeState.showFirst; + + Future _onConfirmPaymentPressed() async { + final bloc = context.read(); + + await KwDialog.show( + context: context, + icon: Assets.images.icons.moneyRecive, + state: KwDialogState.positive, + title: 'your_earnings_are_in'.tr(), + message: '${'you_earned_for_shift'.tr(args: [ + widget.earningShiftEntity.earned.toString(), + widget.earningShiftEntity.eventName, + DateFormat('d MMM yyyy', context.locale.languageCode).format( + widget.earningShiftEntity.eventDate, + ) + ])}\n\n${'total_earnings_added'.tr(args: [ + widget.earningShiftEntity.earned.toString() + ])}', + primaryButtonLabel: 'confirm_earning'.tr(), + secondaryButtonLabel: 'dispute_contact_support'.tr(), + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + + bloc.add(ConfirmStaffEarning(widget.earningShiftEntity.id)); + setState(() => _crossFadeState = CrossFadeState.showSecond); + }, + onSecondaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + + _onDisputePaymentPressed(); + }, + ); + } + + Future _onDisputePaymentPressed() async { + final bloc = context.read(); + final disputeInfo = EarningDisputeInfo(); + + await KwDialog.show( + context: context, + icon: Assets.images.icons.moneyRecive, + state: KwDialogState.negative, + title: 'dispute_earnings'.tr(), + message: 'dispute_message'.tr(), + primaryButtonLabel: 'Submit Dispute', + secondaryButtonLabel: 'cancel'.tr(), + child: DisputeFormWidget(disputeInfo: disputeInfo), + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + + bloc.add( + DisputeStaffEarning( + earningId: widget.earningShiftEntity.id, + reason: disputeInfo.reason, + details: disputeInfo.details, + ), + ); + setState(() => _crossFadeState = CrossFadeState.showSecond); + }, + onSecondaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + }, + ); + } + + @override + Widget build(BuildContext context) { + return AnimatedCrossFade( + duration: Durations.medium4, + crossFadeState: _crossFadeState, + secondChild: const SizedBox.shrink(), + firstChild: Padding( + padding: const EdgeInsets.only(left: 20, right: 20, top: 24), + child: KwButton.outlinedPrimary( + label: 'confirm'.tr(), + onPressed: _onConfirmPaymentPressed, + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_compact_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_compact_widget.dart new file mode 100644 index 00000000..e256f5c0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_compact_widget.dart @@ -0,0 +1,77 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; + +class EarningCardCompactWidget extends StatelessWidget { + final EarningShiftEntity earningEntity; + + const EarningCardCompactWidget({ + super.key, + required this.earningEntity, + }); + + @override + Widget build(BuildContext context) { + return Container( + decoration: KwBoxDecorations.primaryLight12, + height: 72, + margin: const EdgeInsets.only(bottom: 12, left: 16, right: 16), + padding: const EdgeInsets.all(12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildContent(), + ], + ), + ); + } + + Widget _buildContent() { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ClipOval( + child: CachedNetworkImage( + imageUrl: earningEntity.businessImageUrl, + fit: BoxFit.cover, + height: 48, + width: 48, + )), + const Gap(12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + const Gap(5), + Text( + earningEntity.skillName, + style: AppTextStyles.bodyMediumMed, + ), + const Gap(4), + Text( + earningEntity.businessName, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(5), + ], + ), + ), + const Gap(24), + Padding( + padding: const EdgeInsets.only(top: 5), + child: Text( + '\$${earningEntity.earned}', + style: AppTextStyles.bodyMediumMed, + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_widget.dart new file mode 100644 index 00000000..488d2b33 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/earning_card_widget.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/widgets/shift_payment_step_widget.dart'; +import 'package:krow/core/presentation/widgets/shift_total_time_spend_widget.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/presentation/widget/list_item/earning_action_widget.dart'; +import 'package:krow/features/earning/presentation/widget/list_item/shift_item_header_widget.dart'; + +class EarningCardWidget extends StatelessWidget { + const EarningCardWidget({ + super.key, + required this.earningEntity, + }); + + final EarningShiftEntity earningEntity; + + @override + Widget build(BuildContext context) { + return Container( + decoration: KwBoxDecorations.primaryLight12, + padding: const EdgeInsets.only(top: 24, bottom: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ShiftItemHeaderWidget(earningEntity), + ShiftTotalTimeSpendWidget( + startTime: earningEntity.clockIn!, + endTime: earningEntity.clockOut!, + totalBreakTime: earningEntity.totalBreakTime ?? 0, + ), + ShiftPaymentStepWidget( + currentIndex: earningEntity.paymentProgressStep, + ), + if (earningEntity.status == EarningStatus.confirmedByAdmin) + EarningActionWidget(earningShiftEntity: earningEntity), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_item_header_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_item_header_widget.dart new file mode 100644 index 00000000..9c57e28a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_item_header_widget.dart @@ -0,0 +1,66 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; +import 'package:krow/features/earning/presentation/widget/list_item/shift_status_label_widget.dart'; + +class ShiftItemHeaderWidget extends StatelessWidget { + final EarningShiftEntity viewModel; + + const ShiftItemHeaderWidget( + this.viewModel, { + super.key, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ClipOval( + child: CachedNetworkImage( + imageUrl: viewModel.businessImageUrl, + fit: BoxFit.cover, + height: 48, + width: 48, + ), + ), + EarnedShiftStatusLabelWidget(viewModel), + ], + ), + const Gap(12), + Row( + children: [ + Expanded( + child: Text( + viewModel.skillName, + style: AppTextStyles.bodyMediumMed, + ), + ), + const Gap(24), + Text( + '\$${viewModel.earned}', + style: AppTextStyles.bodyMediumMed, + ) + ], + ), + const Gap(4), + Text( + viewModel.businessName, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_status_label_widget.dart b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_status_label_widget.dart new file mode 100644 index 00000000..e0ed8e03 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/earning/presentation/widget/list_item/shift_status_label_widget.dart @@ -0,0 +1,75 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/earning/domain/entities/earning_shift_entity.dart'; + +class EarnedShiftStatusLabelWidget extends StatefulWidget { + final EarningShiftEntity viewModel; + + const EarnedShiftStatusLabelWidget(this.viewModel, {super.key}); + + @override + State createState() => + _EarnedShiftStatusLabelWidgetState(); +} + +class _EarnedShiftStatusLabelWidgetState + extends State { + Color getColor() { + return AppColors.bgColorDark; + // switch (widget.viewModel.status) { + // case EventShiftRoleStaffStatus.assigned: + // return AppColors.primaryBlue; + // case EventShiftRoleStaffStatus.confirmed: + // return AppColors.statusWarning; + // case EventShiftRoleStaffStatus.ongoing: + // return AppColors.statusSuccess; + // case EventShiftRoleStaffStatus.completed: + // return AppColors.bgColorDark; + // case EventShiftRoleStaffStatus.canceledByAdmin: + // case EventShiftRoleStaffStatus.canceledByBusiness: + // case EventShiftRoleStaffStatus.canceledByStaff: + // case EventShiftRoleStaffStatus.requestedReplace: + // return AppColors.statusError; + // } + } + + String getText() { + return 'completed'.tr(); + // switch (widget.viewModel.status) { + // case EventShiftRoleStaffStatus.assigned: + // return _getAssignedAgo(); + // case EventShiftRoleStaffStatus.confirmed: + // return _getStartIn(); + // case EventShiftRoleStaffStatus.ongoing: + // return 'Ongoing'; + // case EventShiftRoleStaffStatus.completed: + // return 'Completed'; + // case EventShiftRoleStaffStatus.canceledByAdmin: + // case EventShiftRoleStaffStatus.canceledByBusiness: + // case EventShiftRoleStaffStatus.canceledByStaff: + // case EventShiftRoleStaffStatus.requestedReplace: + // return 'Canceled'; + // } + } + + @override + Widget build(BuildContext context) { + return Container( + height: 24, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: getColor(), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Text( + getText(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite, height: 0.7), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/home/presentation/home_screen.dart b/mobile-apps/staff-app/lib/features/home/presentation/home_screen.dart new file mode 100644 index 00000000..001478ec --- /dev/null +++ b/mobile-apps/staff-app/lib/features/home/presentation/home_screen.dart @@ -0,0 +1,161 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/sevices/app_update_service.dart'; + +@RoutePage() +class HomeScreen extends StatefulWidget { + const HomeScreen({super.key}); + + @override + State createState() => _HomeScreenState(); +} + +class _HomeScreenState extends State { + final List _routes = const [ + EarningsFlowRoute(), + ShiftsFlowRoute(), + ProfileMainFlowRoute(), + ]; + + bool _shouldHideBottomNavBar(BuildContext nestedContext) { + final currentPath = context.router.currentPath; + return _allowBottomNavBarRoutes + .any((route) => currentPath == route.toString()); + } + + final List _allowBottomNavBarRoutes = [ + '/home/shifts/list', + '/home/earnings/list', + '/home/profile/menu' + ]; + + getMediaQueryData(BuildContext context) { + if (!_shouldHideBottomNavBar(context)) { + return MediaQuery.of(context); + } else { + //76 - navigation height, 22 - bottom padding + var newBottomPadding = MediaQuery.of(context).padding.bottom + 76 + 22; + var newPadding = + MediaQuery.of(context).padding.copyWith(bottom: newBottomPadding); + return MediaQuery.of(context).copyWith(padding: newPadding); + } + } + + @override + void initState() { + // getIt().initializeService(); + super.initState(); + + WidgetsBinding.instance.addPostFrameCallback((call) { + getIt().checkForUpdate(context); + }); + } + + @override + Widget build(BuildContext context) { + + return Scaffold( + body: AutoTabsRouter( + duration: const Duration(milliseconds: 250), + routes: _routes, + builder: (context, child) { + return Stack( + children: [ + MediaQuery( + data: getMediaQueryData(context), + child: child, + ), + if (_shouldHideBottomNavBar(context)) _bottomNavBar(context), + ], + ); + }, + ), + ); + } + + Widget _bottomNavBar(context) { + final tabsRouter = AutoTabsRouter.of(context); + return Positioned( + bottom: 22, + left: 16, + right: 16, + child: SafeArea( + top: false, + child: Container( + height: 76, + padding: const EdgeInsets.symmetric(horizontal: 24), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(38), + color: AppColors.bgColorDark, + ), + child: Row( + children: [ + _navBarItem('Earnings', + Assets.images.icons.navigation.emptyWallet, 0, tabsRouter), + _navBarItem('Shifts', + Assets.images.icons.navigation.clipboardText, 1, tabsRouter), + _navBarItem('Profile', Assets.images.icons.navigation.profile, 2, + tabsRouter), + ], + ), + ), + ), + ); + } + + Widget _navBarItem( + String text, + SvgGenImage icon, + int index, + tabsRouter, + ) { + var color = tabsRouter.activeIndex == index + ? AppColors.navBarActive + : AppColors.navBarDisabled; + return Expanded( + child: GestureDetector( + onTap: () { + if (index == tabsRouter.activeIndex && index == 0) { + (tabsRouter.innerRouterOf(EarningsFlowRoute.name)!).maybePop(); + } + if (index == tabsRouter.activeIndex && index == 1) { + (tabsRouter.innerRouterOf(ShiftsFlowRoute.name)!).maybePop(); + } + if (index == tabsRouter.activeIndex && index == 2) { + (tabsRouter.innerRouterOf(ProfileMainFlowRoute.name)!).maybePop(); + } + tabsRouter.setActiveIndex(index); + }, + child: Container( + color: Colors.transparent, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + icon.svg( + colorFilter: ColorFilter.mode( + color, + BlendMode.srcIn, + ), + ), + const Gap(8), + Text( + text.tr(), + style: (tabsRouter.activeIndex == index + ? AppTextStyles.bodyTinyMed + : AppTextStyles.bodyTinyReg) + .copyWith(color: color), + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/data/address_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/address/data/address_api_provider.dart new file mode 100644 index 00000000..21343a03 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/data/address_api_provider.dart @@ -0,0 +1,41 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/full_address_model.dart'; +import 'package:krow/features/profile/address/data/gql.dart'; + +@injectable +class AddressApiProvider { + final ApiClient _apiClient; + + AddressApiProvider(this._apiClient); + + Stream getStaffAddress() async* { + await for (var response + in _apiClient.queryWithCache(schema: staffAddress)) { + if (response == null) { + continue; + } + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + final address = + FullAddress.fromJson(response.data?['me']?['full_address'] ?? {}); + yield address; + } + } + + Future putAddress(FullAddress address) async { + final Map variables = { + 'input': address.toJson(), + }; + + var result = + await _apiClient.mutate(schema: saveFullAddress, body: variables); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/data/address_repository.dart b/mobile-apps/staff-app/lib/features/profile/address/data/address_repository.dart new file mode 100644 index 00000000..ab5f2ab1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/data/address_repository.dart @@ -0,0 +1,7 @@ +import 'package:krow/core/data/models/staff/full_address_model.dart'; + +abstract class AddressRepository { + Stream getStaffAddress(); + + Future putAddress(FullAddress address); +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/data/gql.dart b/mobile-apps/staff-app/lib/features/profile/address/data/gql.dart new file mode 100644 index 00000000..15b68a0e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/data/gql.dart @@ -0,0 +1,26 @@ +const String staffAddress = r''' +query staffAddress { + me { + id + full_address { + street_number + zip_code + latitude + longitude + formatted_address + street + region + city + country + } + } +} +'''; + +const String saveFullAddress = r''' +mutation saveFullAddress($input: AddressInput!) { + update_staff_address(input: $input) { + + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/address/domain/address_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/address/domain/address_repository_impl.dart new file mode 100644 index 00000000..f0efa9cd --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/domain/address_repository_impl.dart @@ -0,0 +1,22 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff/full_address_model.dart'; +import 'package:krow/features/profile/address/data/address_api_provider.dart'; +import 'package:krow/features/profile/address/data/address_repository.dart'; + +@Singleton(as: AddressRepository) +class AddressRepositoryImpl implements AddressRepository { + final AddressApiProvider _apiProvider; + + AddressRepositoryImpl({required AddressApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream getStaffAddress() { + return _apiProvider.getStaffAddress(); + } + + @override + Future putAddress(FullAddress address) { + return _apiProvider.putAddress(address); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_bloc.dart b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_bloc.dart new file mode 100644 index 00000000..dcf9e0c9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_bloc.dart @@ -0,0 +1,62 @@ + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/full_address_model.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/address/data/address_repository.dart'; +import 'package:krow/features/profile/address/domain/google_places_service.dart'; + + +part 'address_event.dart'; +part 'address_state.dart'; + +class AddressBloc extends Bloc { + AddressBloc() : super(const AddressState()) { + on(_onInitialize); + on(_onSubmit); + on(_onQueryChanged); + on(_onSelect); + } + + void _onInitialize( + InitializeAddressEvent event, Emitter emit) async { + emit(state.copyWith(status: StateStatus.loading)); + await for (var address in getIt().getStaffAddress()) { + emit(state.copyWith( + fullAddress: address, + status: StateStatus.idle, + )); + } + } + + void _onQueryChanged( + AddressQueryChangedEvent event, Emitter emit) async { + try { + final googlePlacesService = GooglePlacesService(); + final suggestions = + await googlePlacesService.fetchSuggestions(event.query); + emit(state.copyWith(suggestions: suggestions)); + } catch (e) { + if (kDebugMode) print(e); + } + } + + void _onSelect(AddressSelectEvent event, Emitter emit) async { + final googlePlacesService = GooglePlacesService(); + final fullAddress = + await googlePlacesService.getPlaceDetails(event.place.placeId); + FullAddress address = FullAddress.fromGoogle(fullAddress); + emit(state.copyWith(suggestions: [], fullAddress: address)); + } + + void _onSubmit(SubmitAddressEvent event, Emitter emit) async { + emit(state.copyWith(status: StateStatus.loading)); + try { + await getIt().putAddress(state.fullAddress!); + emit(state.copyWith(status: StateStatus.success)); + } catch (e) { + emit(state.copyWith(status: StateStatus.error)); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_event.dart b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_event.dart new file mode 100644 index 00000000..79fa5d62 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_event.dart @@ -0,0 +1,24 @@ +part of 'address_bloc.dart'; + +@immutable +sealed class AddressEvent {} + +class InitializeAddressEvent extends AddressEvent { + InitializeAddressEvent(); +} + +class AddressQueryChangedEvent extends AddressEvent { + final String query; + + AddressQueryChangedEvent(this.query); +} + +class SubmitAddressEvent extends AddressEvent { + SubmitAddressEvent(); +} + +class AddressSelectEvent extends AddressEvent { + final MapPlace place; + + AddressSelectEvent(this.place); +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_state.dart b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_state.dart new file mode 100644 index 00000000..66780f9a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/domain/bloc/address_state.dart @@ -0,0 +1,26 @@ +part of 'address_bloc.dart'; + +@immutable +class AddressState { + final StateStatus status; + final FullAddress? fullAddress; + final List suggestions; + + const AddressState({ + this.status = StateStatus.idle, + this.fullAddress, + this.suggestions = const [], + }); + + AddressState copyWith({ + StateStatus? status, + FullAddress? fullAddress, + List? suggestions, + }) { + return AddressState( + status: status ?? this.status, + suggestions: suggestions ?? this.suggestions, + fullAddress: fullAddress ?? this.fullAddress, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/domain/google_places_service.dart b/mobile-apps/staff-app/lib/features/profile/address/domain/google_places_service.dart new file mode 100644 index 00000000..5b4b29ce --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/domain/google_places_service.dart @@ -0,0 +1,98 @@ +import 'dart:convert'; + +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:http/http.dart' as http; +import 'package:injectable/injectable.dart'; + +@singleton +class GooglePlacesService { + + Future> fetchSuggestions(String query) async { + final String apiKey = dotenv.env['GOOGLE_MAP']!; + + const String baseUrl = + 'https://maps.googleapis.com/maps/api/place/autocomplete/json'; + final Uri uri = + Uri.parse('$baseUrl?input=$query&key=$apiKey&types=geocode'); + + final response = await http.get(uri); + + if (response.statusCode == 200) { + final data = json.decode(response.body); + final List predictions = data['predictions']; + + return predictions.map((prediction) { + return MapPlace.fromJson(prediction); + }).toList(); + } else { + throw Exception('Failed to fetch place suggestions'); + } + } + + Future> getPlaceDetails(String placeId) async { + final String apiKey = dotenv.env['GOOGLE_MAP']!; + final String url = + 'https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&key=$apiKey'; + + final response = await http.get(Uri.parse(url)); + + if (response.statusCode == 200) { + final data = json.decode(response.body); + final result = data['result']; + final location = result['geometry']['location']; + + Map addressDetails = { + 'lat': location['lat'], // Latitude + 'lng': location['lng'], // Longitude + 'formatted_address': result['formatted_address'], // Full Address + }; + + for (var component in result['address_components']) { + List types = component['types']; + if (types.contains('street_number')) { + addressDetails['street_number'] = component['long_name']; + } + if (types.contains('route')) { + addressDetails['street'] = component['long_name']; + } + if (types.contains('locality')) { + addressDetails['city'] = component['long_name']; + } + if (types.contains('administrative_area_level_1')) { + addressDetails['state'] = component['long_name']; + } + if (types.contains('country')) { + addressDetails['country'] = component['long_name']; + } + if (types.contains('postal_code')) { + addressDetails['postal_code'] = component['long_name']; + } + } + + return addressDetails; + } else { + throw Exception('Failed to fetch place details'); + } + } +} + +class MapPlace { + final String description; + final String placeId; + + MapPlace({required this.description, required this.placeId}); + + toJson() { + return { + 'description': description, + 'place_id': placeId, + }; + } + + factory MapPlace.fromJson(Map json) { + return MapPlace( + description: json['description'], + placeId: json['place_id'], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/address/presentation/address_screen.dart b/mobile-apps/staff-app/lib/features/profile/address/presentation/address_screen.dart new file mode 100644 index 00000000..8b77a7f6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/address/presentation/address_screen.dart @@ -0,0 +1,150 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_suggestion_input.dart'; +import 'package:krow/features/profile/address/domain/bloc/address_bloc.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class AddressScreen extends StatefulWidget implements AutoRouteWrapper { + final bool isInEditMode; + + const AddressScreen({super.key, this.isInEditMode = true}); + + @override + State createState() => _AddressScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => AddressBloc()..add(InitializeAddressEvent()), + child: this, + ); + } +} + +class _AddressScreenState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + showNotification: widget.isInEditMode, + titleText: 'location_and_availability'.tr(), + ), + body: BlocConsumer( + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) { + if (widget.isInEditMode) { + Navigator.pop(context); + } else { + context.router.push( + WorkingAreaRoute(), + ); + } + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.status == StateStatus.loading, + child: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (!widget.isInEditMode) ...[ + const Gap(4), + Text( + 'what_is_your_address'.tr(), + style: AppTextStyles.headingH1, + ), + Text( + 'let_us_know_your_home_base'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + ] + else + const Gap(8), + KwSuggestionInput( + title: 'address'.tr(), + hintText: 'select_address'.tr(), + horizontalPadding: 16, + items: state.suggestions, + onQueryChanged: (query) { + context + .read() + .add(AddressQueryChangedEvent(query)); + }, + itemToStringBuilder: (item) => item.description, + onSelected: (item) { + context.read().add(AddressSelectEvent(item)); + }, + ), + const Gap(8), + Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + ..._textBlock('country'.tr(), state.fullAddress?.country), + ..._textBlock('state'.tr(), state.fullAddress?.region), + ..._textBlock('city'.tr(), state.fullAddress?.city), + ..._textBlock('apt_suite_building'.tr(), + state.fullAddress?.streetNumber), + ..._textBlock( + 'street_address'.tr(), state.fullAddress?.street), + ..._textBlock('zip_code'.tr(), state.fullAddress?.zipCode, + hasNext: false), + ]), + ) + ], + ), + lowerWidget: KwButton.primary( + disabled: state.fullAddress == null, + label: widget.isInEditMode + ? 'save_changes'.tr() + : 'save_and_continue'.tr(), + onPressed: () { + if (widget.isInEditMode) { + context.read().add(SubmitAddressEvent()); + } else { + context.router.push(WorkingAreaRoute(isInEditMode: false)); + } + }), + ), + ); + }, + ), + ); + } + + List _textBlock(String key, String? value, {bool hasNext = true}) { + return [ + ...[ + Text( + key, + style: AppTextStyles.captionReg.copyWith(color: AppColors.blackGray), + ), + const Gap(8), + Text( + value ?? '', + style: AppTextStyles.bodyMediumMed, + ), + hasNext ? const Gap(24) : const Gap(0), + ], + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_api_provider.dart new file mode 100644 index 00000000..5a7e2acf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_api_provider.dart @@ -0,0 +1,39 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/bank_acc.dart'; +import 'package:krow/features/profile/bank_account/data/gql.dart'; + +@injectable +class BankAccountApiProvider { + final ApiClient _apiClient; + + BankAccountApiProvider(this._apiClient); + + Stream getStaffBankAcc() async* { + await for (var response + in _apiClient.queryWithCache(schema: staffBankAccount)) { + if (response == null || response.data == null) { + continue; + } + if (response.hasException) { + throw Exception(response.exception.toString()); + } + final bankAcc = + BankAcc.fromJson(response.data?['me']?['bank_account'] ?? {}); + yield bankAcc; + } + } + + Future putBunkAccount(BankAcc bankAcc) async { + final Map variables = { + 'input': bankAcc.toJson(), + }; + + var result = + await _apiClient.mutate(schema: updateBankAccount, body: variables); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_repository.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_repository.dart new file mode 100644 index 00000000..3f61c5f0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/data/bank_account_repository.dart @@ -0,0 +1,7 @@ +import 'package:krow/core/data/models/staff/bank_acc.dart'; + +abstract class BankAccountRepository { + Stream getStaffBankAcc(); + + Future putBankAcc(BankAcc address); +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/data/gql.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/data/gql.dart new file mode 100644 index 00000000..f1478596 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/data/gql.dart @@ -0,0 +1,28 @@ +const String staffBankAccount = r''' +query staffAddress { + me { + id + bank_account { + id + holder_name + bank_name + number + routing_number + country + state + city + street + building + zip + } + } +} +'''; + +const String updateBankAccount = r''' +mutation updateBankAccount($input: UpdateStaffBankAccountInput!) { + update_staff_bank_account(input: $input) { + + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bank_account_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bank_account_repository_impl.dart new file mode 100644 index 00000000..8c04db51 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bank_account_repository_impl.dart @@ -0,0 +1,22 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff/bank_acc.dart'; +import 'package:krow/features/profile/bank_account/data/bank_account_api_provider.dart'; +import 'package:krow/features/profile/bank_account/data/bank_account_repository.dart'; + +@Singleton(as: BankAccountRepository) +class BankAccountRepositoryImpl implements BankAccountRepository { + final BankAccountApiProvider _apiProvider; + + BankAccountRepositoryImpl({required BankAccountApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream getStaffBankAcc() { + return _apiProvider.getStaffBankAcc(); + } + + @override + Future putBankAcc(BankAcc acc) { + return _apiProvider.putBunkAccount(acc); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_bloc.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_bloc.dart new file mode 100644 index 00000000..7a82a2ca --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_bloc.dart @@ -0,0 +1,32 @@ +import 'dart:async'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/bank_acc.dart'; +import 'package:krow/features/profile/bank_account/data/bank_account_repository.dart'; + +part 'bank_account_event.dart'; +part 'bank_account_state.dart'; + +class BankAccountBloc extends Bloc { + BankAccountBloc() : super(const BankAccountState()) { + on(_onInit); + on(_onSubmit); + } + + FutureOr _onInit(event, emit) async { + await for (var account + in getIt().getStaffBankAcc()) { + emit(state.copyWith(bankAcc: account)); + } + } + + FutureOr _onSubmit(BankAccountEventUpdate event, emit) async { + emit(state.copyWith(inLoading: true)); + var newBankAcc = BankAcc.fromJson(event.bankAcc); + await getIt().putBankAcc(newBankAcc); + emit(state.copyWith(success: true, bankAcc: newBankAcc)); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_event.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_event.dart new file mode 100644 index 00000000..8610cac2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_event.dart @@ -0,0 +1,12 @@ +part of 'bank_account_bloc.dart'; + +@immutable +sealed class BankAccountEvent {} + +class BankAccountEventInit extends BankAccountEvent {} + +class BankAccountEventUpdate extends BankAccountEvent { + final Map bankAcc; + + BankAccountEventUpdate(this.bankAcc); +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_state.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_state.dart new file mode 100644 index 00000000..d25493e8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/domain/bloc/bank_account_state.dart @@ -0,0 +1,77 @@ +part of 'bank_account_bloc.dart'; + +@immutable +class BankAccountState { + final BankAcc? bankAcc; + final bool inLoading; + + final bool success; + + const BankAccountState( + {this.inLoading = false, this.success = false, this.bankAcc}); + + BankAccountState copyWith({ + BankAcc? bankAcc, + bool? inLoading, + bool? success, + }) { + return BankAccountState( + inLoading: inLoading ?? false, + success: success ?? false, + bankAcc: bankAcc ?? this.bankAcc, + ); + } + + Map mapFromBankAccount() { + return { + 'holder_name': BankAccField( + title: 'account_holder_name'.tr(), + value: bankAcc?.holderName, + ), + 'bank_name': BankAccField( + title: 'bank_name'.tr(), + value: bankAcc?.bankName, + ), + 'number': BankAccField( + title: 'account_number'.tr(), + value: bankAcc?.number, + ), + 'routing_number': BankAccField( + title: 'routing_number_us'.tr(), + value: bankAcc?.routingNumber, + optional: true), + 'country': BankAccField( + title: 'country'.tr(), + value: bankAcc?.country, + ), + 'state': BankAccField( + title: 'state'.tr(), + value: bankAcc?.state, + ), + 'city': BankAccField( + title: 'city'.tr(), + value: bankAcc?.city, + ), + 'street': BankAccField( + title: 'street_address'.tr(), + value: bankAcc?.street, + ), + 'building': BankAccField( + title: 'apt_suite_building'.tr(), + value: bankAcc?.building, + optional: true), + 'zip': BankAccField( + title: 'zip_code'.tr(), + value: bankAcc?.zip, + ), + }; + } +} + +class BankAccField { + String title; + String? value; + bool optional; + + BankAccField({required this.title, this.value = '', this.optional = false}); +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/banc_account_flow_screen.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/banc_account_flow_screen.dart new file mode 100644 index 00000000..98177276 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/banc_account_flow_screen.dart @@ -0,0 +1,18 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/bank_account/domain/bloc/bank_account_bloc.dart'; + +@RoutePage() +class BankAccountFlowScreen extends StatelessWidget { + const BankAccountFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return MultiBlocProvider(providers: [ + BlocProvider( + create: (context) => BankAccountBloc()..add(BankAccountEventInit()), + ), + ], child: const AutoRouter()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_edit_screen.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_edit_screen.dart new file mode 100644 index 00000000..d941dd4c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_edit_screen.dart @@ -0,0 +1,161 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/bank_account/domain/bloc/bank_account_bloc.dart'; + +@RoutePage() +class BankAccountEditScreen extends StatefulWidget { + const BankAccountEditScreen({super.key}); + + @override + State createState() => _BankAccountEditScreenState(); +} + +class _BankAccountEditScreenState extends State { + Map? bankAccInfo; + final Map _controllers = {}; + + var showInputError = false; + + @override + void initState() { + WidgetsBinding.instance.addPostFrameCallback((_) { + bankAccInfo = Map.of( + BlocProvider.of(context).state.mapFromBankAccount()); + + bankAccInfo?.keys.forEach((key) { + _controllers[key] = + TextEditingController(text: bankAccInfo?[key]?.value); + }); + setState(() {}); + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + if (state.success) { + context.router.maybePop(); + } + }, + builder: (context, state) { + return Scaffold( + appBar: KwAppBar( + titleText: 'edit_bank_account'.tr(), + showNotification: true, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'edit_information_below'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildCardHeader(context, 'account_details'.tr()), + ...(bankAccInfo?.entries + .take(4) + .map((entry) => + _buildInput(entry.key, entry.value)) + .toList() ?? + []) + ], + ), + ), + const Gap(12), + Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildCardHeader(context, 'billing_address'.tr()), + ...(bankAccInfo?.entries + .skip(4) + .map((entry) => + _buildInput(entry.key, entry.value)) + .toList() ?? + []) + ], + ), + ), + const Gap(24), + ], + ), + lowerWidget: KwButton.primary( + label: 'save_changes'.tr(), + onPressed: () { + if (bankAccInfo?.values.any((element) => + !element.optional && + (element.value?.isEmpty ?? false)) ?? + false) { + setState(() { + showInputError = true; + }); + return; + } + + var newAcc = bankAccInfo?.map((key, value) => MapEntry( + key, + _controllers[key]?.text ?? '', + )); + + BlocProvider.of(context) + .add(BankAccountEventUpdate(newAcc!)); + }, + ), + ), + ); + }, + ); + } + + Widget _buildCardHeader(BuildContext context, String title) { + return Text( + title, + style: AppTextStyles.bodyMediumMed, + ); + } + + Widget _buildInput(String key, BankAccField field) { + var hasError = !field.optional && + (_controllers[key]?.text.isEmpty ?? false) && + showInputError; + return Padding( + padding: const EdgeInsets.only(top: 8.0), + child: KwTextInput( + hintText: '', + title: field.title, + onChanged: (value) { + setState(() { + field.value = value; + }); + + }, + helperText: hasError ? 'field_cant_be_empty'.tr() : null, + showError: hasError, + controller: _controllers[key], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_screen.dart b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_screen.dart new file mode 100644 index 00000000..a3e97420 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/bank_account/presentation/bank_account_screen.dart @@ -0,0 +1,109 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/profile/bank_account/domain/bloc/bank_account_bloc.dart'; + +@RoutePage() +class BankAccountScreen extends StatefulWidget implements AutoRouteWrapper { + const BankAccountScreen({super.key}); + + @override + State createState() => _BankAccountScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return this; + } +} + +class _BankAccountScreenState extends State { + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Scaffold( + appBar: KwAppBar( + titleText: 'bank_account'.tr(), + showNotification: true, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'securely_manage_bank_account'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(24), + Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildCardHeader(context), + ...(state + .mapFromBankAccount() + .entries + .map((entry) => infoRow( + entry.value.title, entry.value.value ?? '')) + .expand((e) => e) + .toList()) + ], + ), + ), + ], + ), + lowerWidget: Container(), + ), + ); + }, + ); + } + + Row _buildCardHeader(BuildContext context) { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'your_payment_details'.tr(), + style: AppTextStyles.bodyMediumMed, + ), + GestureDetector( + onTap: () { + context.router.push(const BankAccountEditRoute()); + }, + child: Assets.images.icons.edit.svg(height: 16, width: 16)) + ], + ); + } + + List infoRow( + String title, + String value, + ) { + return [ + const Gap(24), + Text( + '$title:'.toUpperCase(), + style: AppTextStyles.captionReg.copyWith(color: AppColors.blackGray), + ), + const Gap(8), + Text( + value, + style: AppTextStyles.bodyMediumMed, + ), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/data/benefits_reposittory_impl.dart b/mobile-apps/staff-app/lib/features/profile/benefits/data/benefits_reposittory_impl.dart new file mode 100644 index 00000000..3afe819f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/data/benefits_reposittory_impl.dart @@ -0,0 +1,92 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/benefits/domain/benefits_repository.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_entity.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_record_entity.dart'; + +@Injectable(as: BenefitsRepository) +class BenefitsRepositoryImpl implements BenefitsRepository { + static final _benefitsMock = [ + BenefitEntity( + name: 'Sick Leave', + requirement: 'You need at least 8 hours to request sick leave', + requiredHours: 40, + currentHours: 10, + isClaimed: false, + info: 'Listed certificates are mandatory for employees. If the employee ' + 'does not have the complete certificates, they can’t proceed with ' + 'their registration.', + history: [ + BenefitRecordEntity( + createdAt: DateTime(2024, 6, 14), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2023, 6, 5), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2019, 6, 4), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2018, 6, 1), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2017, 6, 24), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2016, 6, 15), + status: RecordStatus.submitted, + ), + BenefitRecordEntity( + createdAt: DateTime(2015, 6, 6), + status: RecordStatus.submitted, + ), + ], + ), + const BenefitEntity( + name: 'Vacation', + requirement: 'You need 40 hours to claim vacation pay', + requiredHours: 40, + currentHours: 40, + isClaimed: false, + info: 'Listed certificates are mandatory for employees. If the employee ' + 'does not have the complete certificates, they can’t proceed with ' + 'their registration.', + history: [], + ), + const BenefitEntity( + name: 'Holidays', + requirement: 'Pay holidays: Thanksgiving, Christmas, New Year', + requiredHours: 24, + currentHours: 1, + isClaimed: false, + info: 'Listed certificates are mandatory for employees. If the employee ' + 'does not have the complete certificates, they can’t proceed with ' + 'their registration.', + history: [], + ), + ]; + + @override + Future> getStaffBenefits() async { + await Future.delayed(const Duration(milliseconds: 500)); + + return _benefitsMock; + } + + @override + Future requestBenefit({ + required BenefitEntity benefit, + }) async { + if (benefit.currentHours != benefit.requiredHours || benefit.isClaimed) { + return null; + } + + await Future.delayed(const Duration(seconds: 1)); + + return benefit.copyWith(isClaimed: true); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/benefits_repository.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/benefits_repository.dart new file mode 100644 index 00000000..b3135631 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/benefits_repository.dart @@ -0,0 +1,7 @@ +import 'package:krow/features/profile/benefits/domain/entities/benefit_entity.dart'; + +abstract interface class BenefitsRepository { + Future> getStaffBenefits(); + + Future requestBenefit({required BenefitEntity benefit}); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_bloc.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_bloc.dart new file mode 100644 index 00000000..ed7b75d1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_bloc.dart @@ -0,0 +1,51 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/benefits/domain/benefits_repository.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_entity.dart'; + +part 'benefits_event.dart'; + +part 'benefits_state.dart'; + +class BenefitsBloc extends Bloc { + BenefitsBloc() : super(const BenefitsState()) { + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + + final benefits = await _repository.getStaffBenefits(); + + emit(state.copyWith(status: StateStatus.idle, benefits: benefits)); + }); + + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + final result = await _repository.requestBenefit(benefit: event.benefit); + + int index = -1; + List? updatedBenefits; + if (result != null) { + index = state.benefits.indexWhere( + (benefit) => benefit.name == result.name, + ); + + if (index >= 0) { + updatedBenefits = List.from(state.benefits)..[index] = result; + } + } + + emit( + state.copyWith( + benefits: updatedBenefits, + status: StateStatus.idle, + ), + ); + event.requestCompleter.complete(result ?? event.benefit); + }); + } + + final BenefitsRepository _repository = getIt(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_event.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_event.dart new file mode 100644 index 00000000..c4518734 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_event.dart @@ -0,0 +1,20 @@ +part of 'benefits_bloc.dart'; + +@immutable +sealed class BenefitsEvent { + const BenefitsEvent(); +} + +class InitializeBenefits extends BenefitsEvent { + const InitializeBenefits(); +} + +class SendBenefitRequest extends BenefitsEvent { + const SendBenefitRequest({ + required this.benefit, + required this.requestCompleter, + }); + + final BenefitEntity benefit; + final Completer requestCompleter; +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_state.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_state.dart new file mode 100644 index 00000000..1f9dc06f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/bloc/benefits_state.dart @@ -0,0 +1,26 @@ +part of 'benefits_bloc.dart'; + +@immutable +class BenefitsState { + const BenefitsState({ + this.status = StateStatus.idle, + this.benefits = const [], + this.exception, + }); + + final StateStatus status; + final List benefits; + final Exception? exception; + + BenefitsState copyWith({ + StateStatus? status, + List? benefits, + Exception? exception, + }) { + return BenefitsState( + status: status ?? this.status, + benefits: benefits ?? this.benefits, + exception: exception, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_entity.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_entity.dart new file mode 100644 index 00000000..67b93c3b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_entity.dart @@ -0,0 +1,48 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_record_entity.dart'; + +@immutable +class BenefitEntity { + const BenefitEntity({ + required this.name, + required this.requirement, + required this.requiredHours, + required this.currentHours, + required this.isClaimed, + required this.info, + required this.history, + }); + + final String name; + final String requirement; + final int requiredHours; + final int currentHours; + final bool isClaimed; + final String info; + final List history; + + double get progress { + final progress = currentHours / requiredHours; + return progress > 1 ? 1 : progress; + } + + BenefitEntity copyWith({ + String? name, + String? requirement, + int? requiredHours, + int? currentHours, + bool? isClaimed, + String? info, + List? history, + }) { + return BenefitEntity( + name: name ?? this.name, + requirement: requirement ?? this.requirement, + requiredHours: requiredHours ?? this.requiredHours, + currentHours: currentHours ?? this.currentHours, + isClaimed: isClaimed ?? this.isClaimed, + info: info ?? this.info, + history: history ?? this.history, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_record_entity.dart b/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_record_entity.dart new file mode 100644 index 00000000..a13e39c2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/domain/entities/benefit_record_entity.dart @@ -0,0 +1,11 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class BenefitRecordEntity { + const BenefitRecordEntity({required this.createdAt, required this.status}); + + final DateTime createdAt; + final RecordStatus status; +} + +enum RecordStatus { pending, submitted } diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/presentation/screen/benefits_screen.dart b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/screen/benefits_screen.dart new file mode 100644 index 00000000..b7856076 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/screen/benefits_screen.dart @@ -0,0 +1,95 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/benefits/domain/bloc/benefits_bloc.dart'; +import 'package:krow/features/profile/benefits/presentation/widgets/benefit_card_widget.dart'; + +@RoutePage() +class BenefitsScreen extends StatefulWidget implements AutoRouteWrapper { + const BenefitsScreen({super.key}); + + @override + State createState() => _BenefitsScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => BenefitsBloc()..add(const InitializeBenefits()), + child: this, + ); + } +} + +class _BenefitsScreenState extends State { + final OverlayPortalController _controller = OverlayPortalController(); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: KwLoadingOverlay( + controller: _controller, + child: BlocListener( + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.loading) { + _controller.show(); + } else { + _controller.hide(); + } + }, + child: CustomScrollView( + primary: false, + slivers: [ + SliverList.list( + children: [ + KwAppBar( + titleText: 'your_benefits_overview'.tr(), + showNotification: true, + ), + const Gap(16), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Text( + 'manage_and_track_benefits'.tr(), + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + ), + ], + ), + SliverPadding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 120), + sliver: BlocBuilder( + buildWhen: (current, previous) => + current.benefits != previous.benefits, + builder: (context, state) { + return SliverList.separated( + itemCount: state.benefits.length, + separatorBuilder: (context, index) { + return const SizedBox(height: 12); + }, + itemBuilder: (context, index) { + return BenefitCardWidget( + benefit: state.benefits[index], + ); + }, + ); + }, + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_card_widget.dart b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_card_widget.dart new file mode 100644 index 00000000..2ab07848 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_card_widget.dart @@ -0,0 +1,253 @@ +import 'dart:async'; + +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/benefits/domain/bloc/benefits_bloc.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_entity.dart'; +import 'package:krow/features/profile/benefits/presentation/widgets/benefit_history_widget.dart'; + +class BenefitCardWidget extends StatefulWidget { + const BenefitCardWidget({super.key, required this.benefit}); + + final BenefitEntity benefit; + + @override + State createState() => _BenefitCardWidgetState(); +} + +class _BenefitCardWidgetState extends State + with TickerProviderStateMixin { + late final AnimationController _animationController; + late BenefitEntity _benefit = widget.benefit; + Completer? _requestCompleter; + double _progress = 0; + bool _isReady = false; + + @override + void initState() { + _progress = widget.benefit.progress; + _isReady = _progress == 1; + + super.initState(); + + _animationController = AnimationController(vsync: this); + _animationController.animateTo( + _progress, + duration: const Duration(seconds: 1), + curve: Curves.easeOut, + ); + } + + Future _handleRequestPress() async { + _requestCompleter?.completeError(Exception('previous_aborted'.tr())); + final completer = _requestCompleter = Completer(); + + this.context.read().add( + SendBenefitRequest( + benefit: _benefit, + requestCompleter: completer, + ), + ); + + final benefit = await completer.future; + if (!benefit.isClaimed) return; + + setState(() { + _progress = 0; + _isReady = false; + _benefit = _benefit.copyWith(currentHours: 0); + }); + + await _animationController.animateTo( + _progress, + duration: const Duration(seconds: 1), + curve: Curves.easeOut, + ); + + final context = this.context; + if (!context.mounted) return; + + await KwDialog.show( + context: context, + icon: Assets.images.icons.like, + state: KwDialogState.positive, + title: 'request_submitted'.tr(), + message: 'request_submitted_message'.tr(args: [_benefit.name.toLowerCase()]), + primaryButtonLabel: 'back_to_profile'.tr(), + onPrimaryButtonPressed: (dialogContext) { + Navigator.maybePop(dialogContext); + context.maybePop(); + }, + ); + } + + @override + Widget build(BuildContext context) { + return DecoratedBox( + decoration: const BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 16), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Row( + children: [ + Stack( + alignment: AlignmentDirectional.center, + children: [ + AnimatedBuilder( + animation: _animationController, + builder: (context, _) { + return CircularProgressIndicator( + constraints: + BoxConstraints.tight(const Size.square(90)), + strokeWidth: 8, + strokeCap: StrokeCap.round, + backgroundColor: AppColors.bgColorLight, + color: _isReady + ? AppColors.statusSuccess + : AppColors.primaryBlue, + value: _animationController.value, + ); + }, + ), + Column( + mainAxisSize: MainAxisSize.min, + children: [ + RichText( + text: TextSpan( + text: '${_benefit.currentHours}/', + style: AppTextStyles.headingH3, + children: [ + TextSpan( + text: '${_benefit.requiredHours}', + style: AppTextStyles.headingH3.copyWith( + color: _isReady + ? AppColors.blackBlack + : AppColors.blackCaptionText, + ), + ), + ], + ), + ), + const SizedBox(height: 4), + Text( + 'hours'.tr().toLowerCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + ], + ) + ], + ), + const SizedBox(width: 24), + Expanded( + child: Stack( + alignment: AlignmentDirectional.centerStart, + clipBehavior: Clip.none, + children: [ + const SizedBox(height: 90), + Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(_benefit.name, style: AppTextStyles.headingH3), + const SizedBox(height: 6), + Text( + _benefit.requirement, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + ], + ), + Positioned( + top: -4, + right: 0, + child: Assets.images.icons.alertCircle.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.grayStroke, + BlendMode.srcIn, + ), + ), + ) + ], + ), + ), + ], + ), + const SizedBox(height: 20), + if (_isReady) + Container( + margin: const EdgeInsets.only(bottom: 20), + padding: const EdgeInsets.all(8), + decoration: const BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + DecoratedBox( + decoration: const BoxDecoration( + color: AppColors.tintGreen, + shape: BoxShape.circle, + ), + child: SizedBox.square( + dimension: 28, + child: Assets.images.icons.checkCircle.svg( + height: 10, + width: 10, + fit: BoxFit.scaleDown, + colorFilter: const ColorFilter.mode( + AppColors.statusSuccess, + BlendMode.srcIn, + ), + ), + ), + ), + const SizedBox(width: 8), + Expanded( + child: Text( + _benefit.info, + style: AppTextStyles.bodyTinyMed.copyWith( + color: AppColors.statusSuccess, + ), + ), + ), + ], + ), + ), + BenefitHistoryWidget(benefit: _benefit), + if (_isReady) + Padding( + padding: const EdgeInsets.only(top: 20), + child: KwButton.primary( + label: '${'request_payment_for'.tr()} ${_benefit.name}', + onPressed: _handleRequestPress, + ), + ), + ], + ), + ), + ); + } + + @override + void dispose() { + // TODO: implement dispose + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_history_widget.dart b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_history_widget.dart new file mode 100644 index 00000000..c7b67e2c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/benefits/presentation/widgets/benefit_history_widget.dart @@ -0,0 +1,123 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_entity.dart'; +import 'package:krow/features/profile/benefits/domain/entities/benefit_record_entity.dart'; + +class BenefitHistoryWidget extends StatelessWidget { + const BenefitHistoryWidget({super.key, required this.benefit}); + + final BenefitEntity benefit; + + @override + Widget build(BuildContext context) { + return ExpansionTile( + tilePadding: const EdgeInsets.symmetric(horizontal: 12), + childrenPadding: const EdgeInsets.symmetric(horizontal: 12), + dense: true, + visualDensity: VisualDensity.compact, + collapsedShape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + backgroundColor: AppColors.graySecondaryFrame, + collapsedBackgroundColor: AppColors.graySecondaryFrame, + iconColor: AppColors.blackBlack, + collapsedIconColor: AppColors.blackBlack, + title: Text( + '${benefit.name} ${'history'.tr()}'.toUpperCase(), + style: AppTextStyles.captionBold, + ), + children: [ + const Divider( + thickness: 1, + color: AppColors.tintGray, + ), + const SizedBox(height: 12), + if (benefit.history.isEmpty) + SizedBox( + height: 80, + child: Center( + child: Text('no_history_yet'.tr()), + ), + ) + else + SizedBox( + height: 168, + child: RawScrollbar( + padding: EdgeInsets.zero, + thumbVisibility: true, + trackVisibility: true, + thumbColor: AppColors.grayStroke, + trackColor: AppColors.grayTintStroke, + trackRadius: const Radius.circular(8), + radius: const Radius.circular(8), + trackBorderColor: Colors.transparent, + thickness: 5, + minOverscrollLength: 0, + child: ListView.separated( + padding: const EdgeInsetsDirectional.only(end: 10), + itemCount: benefit.history.length, + separatorBuilder: (context, index) => + const SizedBox(height: 12), + itemBuilder: (context, index) { + return _HistoryRecordWidget(record: benefit.history[index]); + }, + ), + ), + ), + const SizedBox(height: 12), + ], + ); + } +} + +class _HistoryRecordWidget extends StatelessWidget { + const _HistoryRecordWidget({required this.record}); + + static final _dateFormat = DateFormat('d MMM, yyyy'); + + final BenefitRecordEntity record; + + @override + Widget build(BuildContext context) { + final Color color = switch (record.status) { + RecordStatus.pending => AppColors.primaryBlue, + RecordStatus.submitted => AppColors.statusSuccess, + }; + + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + _dateFormat.format(record.createdAt), + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + DecoratedBox( + decoration: BoxDecoration( + borderRadius: const BorderRadius.all(Radius.circular(24)), + border: Border.all(color: color), + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4), + child: Text( + switch (record.status) { + RecordStatus.pending => 'pending'.tr(), + RecordStatus.submitted => 'submitted'.tr(), + }, + style: AppTextStyles.bodySmallReg.copyWith( + color: color, + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_api_provider.dart new file mode 100644 index 00000000..2e6d9da1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_api_provider.dart @@ -0,0 +1,80 @@ +import 'dart:io'; + +import 'package:http/http.dart'; +import 'package:http_parser/http_parser.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/pagination_wrapper/pagination_wrapper.dart'; +import 'package:krow/features/profile/certificates/data/models/certificate_model.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; + +import 'certificates_gql.dart'; + +@injectable +class CertificatesApiProvider { + final ApiClient _apiClient; + + CertificatesApiProvider(this._apiClient); + + Future> fetchCertificates() async { + var result = await _apiClient.query(schema: getCertificatesQuery); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return result.data!['certificates'].map((e) { + return CertificateModel.fromJson(e); + }).toList(); + } + + Future> fetchStaffCertificates() async { + var result = await _apiClient.query(schema: getStaffCertificatesQuery); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return PaginationWrapper.fromJson(result.data!['staff_certificates'], + (json) => StaffCertificate.fromJson(json)); + } + + Future putStaffCertificate( + String certificateId, String imagePath, String certificateDate) async { + var byteData = File(imagePath).readAsBytesSync(); + + var multipartFile = MultipartFile.fromBytes( + 'file', + byteData, + filename: '${DateTime.now().millisecondsSinceEpoch}.jpg', + contentType: MediaType('image', 'jpg'), + ); + + final Map variables = { + 'certificate_id': certificateId, + 'expiration_date': certificateDate, + 'file': multipartFile, + }; + var result = await _apiClient.mutate( + schema: putStaffCertificateMutation, body: {'input': variables}); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } else { + return StaffCertificate.fromJson( + result.data!['upload_staff_certificate']); + } + } + + Future deleteStaffCertificate(String certificateId) async { + final Map variables = { + 'id': certificateId, + }; + var result = await _apiClient.mutate( + schema: deleteStaffCertificateMutation, body: variables); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_gql.dart b/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_gql.dart new file mode 100644 index 00000000..72685e96 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/data/certificates_gql.dart @@ -0,0 +1,56 @@ +const String getCertificatesQuery = ''' +{ + certificates { + id + name + } +} +'''; + +const String getStaffCertificatesQuery = ''' +query fetchStaffCertificates () { + staff_certificates(first: 10) { + pageInfo { + hasNextPage + startCursor + endCursor + } + edges { + cursor + node { + id + expiration_date + status + file + certificate { + id + name + } + } + } + } +} +'''; + +const String putStaffCertificateMutation = ''' +mutation UploadStaffCertificate(\$input: UploadStaffCertificateInput!) { + upload_staff_certificate(input: \$input) { + id + expiration_date + status + file + certificate { + id + name + } + } +} +'''; + +const String deleteStaffCertificateMutation = ''' +mutation DeleteStaffCertificate(\$id: ID!) { + delete_staff_certificate(id: \$id) { + id + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificate_model.dart b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificate_model.dart new file mode 100644 index 00000000..e9ff981f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificate_model.dart @@ -0,0 +1,24 @@ +class CertificateModel { + final String id; + final String name; + + + CertificateModel({ + required this.id, + required this.name, + }); + + factory CertificateModel.fromJson(Map json) { + return CertificateModel( + id: json['id'], + name: json['name'], + ); + } + + Map toJson() { + return { + 'id': id, + 'name': name, + }; + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificates_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificates_repository_impl.dart new file mode 100644 index 00000000..1b10f074 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/certificates_repository_impl.dart @@ -0,0 +1,34 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/certificates/data/certificates_api_provider.dart'; +import 'package:krow/features/profile/certificates/domain/certificates_repository.dart'; +import 'package:krow/features/profile/certificates/data/models/certificate_model.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; + +@Injectable(as: CertificatesRepository) +class CertificatesRepositoryImpl extends CertificatesRepository { + final CertificatesApiProvider _certificatesApiProvider; + + CertificatesRepositoryImpl(this._certificatesApiProvider); + + @override + Future> getCertificates() async { + return _certificatesApiProvider.fetchCertificates(); + } + + @override + Future putStaffCertificate( + String certificateId, String imagePath, String certificateDate) { + return _certificatesApiProvider.putStaffCertificate( + certificateId, imagePath, certificateDate); + } + + @override + Future> getStaffCertificates() async{ + return (await _certificatesApiProvider.fetchStaffCertificates()).edges.map((e) => e.node).toList(); + } + + @override + Future deleteStaffCertificate(String certificateId) { + return _certificatesApiProvider.deleteStaffCertificate(certificateId); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/data/models/staff_certificate.dart b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/staff_certificate.dart new file mode 100644 index 00000000..78da269e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/data/models/staff_certificate.dart @@ -0,0 +1,32 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/features/profile/certificates/data/models/certificate_model.dart'; + +part 'staff_certificate.g.dart'; + +enum CertificateStatus { + verified, + pending, + declined, +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffCertificate { + final String id; + CertificateModel certificate; + final String expirationDate; + final CertificateStatus status; + final String file; + + StaffCertificate( + {required this.id, + required this.certificate, + required this.expirationDate, + required this.status, + required this.file}); + + factory StaffCertificate.fromJson(Map json) { + return _$StaffCertificateFromJson(json); + } + + Map toJson() => _$StaffCertificateToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_bloc.dart b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_bloc.dart new file mode 100644 index 00000000..506c2075 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_bloc.dart @@ -0,0 +1,91 @@ +import 'package:collection/collection.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/features/profile/certificates/domain/certificates_repository.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; +import 'package:krow/features/profile/certificates/domain/bloc/certificates_event.dart'; +import 'package:krow/features/profile/certificates/domain/bloc/certificates_state.dart'; + +class CertificatesBloc extends Bloc { + CertificatesBloc() : super(CertificatesState()) { + on(_onFetch); + on(_onSubmit); + on(_onUploadPhoto); + on(_onDeleteCertificate); + } + + void _onFetch( + CertificatesEventFetch event, Emitter emit) async { + emit(state.copyWith(loading: true)); + var certificates = await getIt().getCertificates(); + List staffCertificates = + await getIt().getStaffCertificates(); + var items = certificates.map((certificate) { + var staffCertificate = staffCertificates.firstWhereOrNull( + (e) => certificate.id == e.certificate.id, + ); + + return CertificatesViewModel( + id: staffCertificate?.id, + certificateId: certificate.id, + title: certificate.name, + imageUrl: staffCertificate?.file, + expirationDate: staffCertificate?.expirationDate, + status: staffCertificate?.status, + ); + }).toList(); + + emit(state.copyWith( + loading: false, + certificatesItems: items, + )); + } + + void _onUploadPhoto( + CertificatesEventUpload event, Emitter emit) async { + event.item.uploading = true; + emit(state.copyWith()); + + try { + var split = event.expirationDate.split('.').reversed; + split = [split.elementAt(0), split.elementAt(2), split.elementAt(1)]; + var formattedDate = split.join('-'); + var newCertificate = await getIt() + .putStaffCertificate( + event.item.certificateId, event.path, formattedDate); + event.item.applyNewStaffCertificate(newCertificate); + } finally { + event.item.uploading = false; + emit(state.copyWith()); + } + } + + void _onSubmit( + CertificatesEventSubmit event, Emitter emit) async { + final allCertUploaded = state.certificatesItems.every((element) { + return element.certificateId == '3' || + element.status == CertificateStatus.pending || + element.status == CertificateStatus.verified; + }); + + if (allCertUploaded) { + emit(state.copyWith(success: true)); + } else { + emit(state.copyWith(showError: true)); + } + } + + void _onDeleteCertificate( + CertificatesEventDelete event, Emitter emit) async { + emit(state.copyWith(loading: true)); + try { + await getIt() + .deleteStaffCertificate(event.item.id ?? '0'); + state.certificatesItems + .firstWhere((element) => element.id == event.item.id) + .clear(); + } finally { + emit(state.copyWith(loading: false)); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_event.dart b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_event.dart new file mode 100644 index 00000000..9498a533 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_event.dart @@ -0,0 +1,22 @@ +import 'package:krow/features/profile/certificates/domain/bloc/certificates_state.dart'; + +sealed class CertificatesEvent {} + +class CertificatesEventFetch extends CertificatesEvent {} + +class CertificatesEventSubmit extends CertificatesEvent {} + +class CertificatesEventUpload extends CertificatesEvent { + final String path; + final String expirationDate; + final CertificatesViewModel item; + + CertificatesEventUpload( + {required this.path, required this.expirationDate, required this.item}); +} + +class CertificatesEventDelete extends CertificatesEvent { + final CertificatesViewModel item; + + CertificatesEventDelete(this.item); +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_state.dart b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_state.dart new file mode 100644 index 00000000..6b8914a8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/domain/bloc/certificates_state.dart @@ -0,0 +1,93 @@ +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; + +class CertificatesState { + final bool showError; + final bool loading; + final bool success; + List certificatesItems = []; + + CertificatesState( + {this.showError = false, + this.certificatesItems = const [], + this.loading = false, + this.success = false}); + + copyWith( + {bool? showError, + List? certificatesItems, + bool? loading, + bool? success}) { + return CertificatesState( + showError: showError ?? this.showError, + certificatesItems: certificatesItems ?? this.certificatesItems, + loading: loading ?? false, + success: success ?? false, + ); + } +} + +class CertificatesViewModel { + String? id; + String certificateId; + final String title; + bool uploading; + String? imageUrl; + String? expirationDate; + CertificateStatus? status; + + CertificatesViewModel({ + this.id, + required this.certificateId, + required this.title, + this.expirationDate, + this.imageUrl, + this.uploading = false, + this.status, + }); + + void clear() { + id = null; + imageUrl = null; + expirationDate = null; + status = null; + } + + void applyNewStaffCertificate(StaffCertificate newCertificate) { + id = newCertificate.id; + imageUrl = newCertificate.file; + expirationDate = newCertificate.expirationDate; + status = newCertificate.status; + } + + bool get isExpired { + if (expirationDate == null) return false; + DateTime expiration = DateTime.parse(expirationDate!); + DateTime now = DateTime.now(); + return now.isAfter(expiration); + } + + String getExpirationInfo() { + if (expirationDate == null) return ''; + DateTime expiration = DateTime.parse(expirationDate!); + DateTime now = DateTime.now(); + Duration difference = expiration.difference(now); + String formatted = + '${expiration.month.toString().padLeft(2, '0')}.${expiration.day.toString().padLeft(2, '0')}.${expiration.year}'; + + if (difference.inDays <= 0) { + return '$formatted (expired)'; + } else if (difference.inDays < 14) { + return '$formatted (expires in ${difference.inDays} days)'; + } else { + return formatted; + } + } + + bool expireSoon() { + if (expirationDate == null) return false; + DateTime expiration = DateTime.parse(expirationDate!); + DateTime now = DateTime.now(); + Duration difference = expiration.difference(now); + return difference.inDays <= 14; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/domain/certificates_repository.dart b/mobile-apps/staff-app/lib/features/profile/certificates/domain/certificates_repository.dart new file mode 100644 index 00000000..8b07468f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/domain/certificates_repository.dart @@ -0,0 +1,13 @@ +import 'package:krow/features/profile/certificates/data/models/certificate_model.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; + +abstract class CertificatesRepository { + Future> getCertificates(); + + Future> getStaffCertificates(); + + Future putStaffCertificate( + String certificateId, String imagePath, String certificateDate); + + Future deleteStaffCertificate(String certificateId); +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_screen.dart b/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_screen.dart new file mode 100644 index 00000000..ebc7e61d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_screen.dart @@ -0,0 +1,219 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/uploud_image_card.dart'; +import 'package:krow/features/profile/certificates/data/models/staff_certificate.dart'; +import 'package:krow/features/profile/certificates/domain/bloc/certificates_bloc.dart'; +import 'package:krow/features/profile/certificates/domain/bloc/certificates_event.dart'; +import 'package:krow/features/profile/certificates/domain/bloc/certificates_state.dart'; +import 'package:krow/features/profile/certificates/presentation/screen/certificates_upload_dialog.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class CertificatesScreen extends StatelessWidget implements AutoRouteWrapper { + const CertificatesScreen({super.key}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (_) => CertificatesBloc()..add(CertificatesEventFetch()), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'certificates'.tr(), + ), + body: BlocConsumer( + listener: (context, state) { + if (state.success) { + context.router.maybePop(); + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.loading, + child: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + 'please_indicate_certificates'.tr(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: AppColors.blackGray), + ), + if (state.showError) _buildErrorMessage(), + const Gap(24), + _buildUploadProofItems( + context, + state.certificatesItems, + state.showError, + ), + ], + ), + lowerWidget: KwButton.primary( + label: 'confirm'.tr(), + onPressed: () { + BlocProvider.of(context) + .add(CertificatesEventSubmit()); + }), + ), + ); + }, + ), + ); + } + + _buildUploadProofItems( + context, + List items, + bool showError, + ) { + return Column( + children: items.map( + (item) { + Color? statusColor = _getStatusColor(showError, item); + + return UploadImageCard( + title: item.title, + onSelectImage: () { + ImagePicker() + .pickImage(source: ImageSource.gallery) + .then((value) { + if (value != null) { + _showSelectCertificateDialog(context, item, value.path); + } + }); + }, + onDeleteTap: () { + BlocProvider.of(context) + .add(CertificatesEventDelete(item)); + }, + onTap: () {}, + imageUrl: item.imageUrl, + inUploading: item.uploading, + statusColor: statusColor, + message: showError && item.imageUrl == null + ? 'availability_requires_confirmation'.tr() + : item.status == null + ? 'supported_format'.tr() + : (item.status!.name[0].toUpperCase() + + item.status!.name.substring(1).toLowerCase()), + hasError: showError, + padding: const EdgeInsets.only(bottom: 8), + child: _buildExpirationRow(item), + ); + }, + ).toList(), + ); + } + + Color? _getStatusColor(bool showError, CertificatesViewModel item) { + var statusColor = (showError && item.status == null) || + item.status == CertificateStatus.declined + ? AppColors.statusError + : item.status == CertificateStatus.verified + ? AppColors.statusSuccess + : item.status == CertificateStatus.pending + ? AppColors.primaryBlue + : null; + return statusColor; + } + + Container _buildErrorMessage() { + return Container( + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.all(8), + decoration: KwBoxDecorations.primaryLight8, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 28, + width: 28, + decoration: const BoxDecoration( + shape: BoxShape.circle, color: AppColors.tintRed), + child: Center( + child: Assets.images.icons.alertCircle.svg(), + ), + ), + const Gap(8), + Expanded( + child: Text( + 'listed_certificates_mandatory'.tr(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: AppColors.statusError), + ), + ), + ], + ), + ); + } + + Widget _buildExpirationRow(CertificatesViewModel item) { + var bgColor = item.isExpired + ? AppColors.tintRed + : item.expireSoon() + ? AppColors.tintYellow + : AppColors.tintGray; + + var textColor = item.isExpired + ? AppColors.statusError + : item.expireSoon() + ? AppColors.statusWarningBody + : null; + + return Container( + margin: const EdgeInsets.only(top: 6, right: 4), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(4), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + padding: + const EdgeInsets.only(left: 6, right: 6, top: 3, bottom: 5), + decoration: BoxDecoration( + color: bgColor, borderRadius: BorderRadius.circular(4)), + child: Text( + '${'expiration_date'.tr()} ', + style: AppTextStyles.bodyTinyReg.copyWith(color: textColor), + )), + const Gap(7), + if (item.expirationDate != null) + Text( + item.getExpirationInfo(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: textColor ?? AppColors.blackGray), + ), + ], + ), + ); + } + + void _showSelectCertificateDialog( + context, CertificatesViewModel item, imagePath) { + CertificatesUploadDialog.show(context, imagePath).then((expireDate) { + if (expireDate != null) { + BlocProvider.of(context).add(CertificatesEventUpload( + item: item, path: imagePath, expirationDate: expireDate)); + } + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_upload_dialog.dart b/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_upload_dialog.dart new file mode 100644 index 00000000..5a23aeba --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/certificates/presentation/screen/certificates_upload_dialog.dart @@ -0,0 +1,143 @@ +import 'dart:io'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/text_formatters/expiration_date_formatter.dart'; +import 'package:krow/core/application/common/validators/certificate_date_validator.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; + +class CertificatesUploadDialog extends StatefulWidget { + final String path; + + const CertificatesUploadDialog({ + super.key, + required this.path, + }); + + @override + State createState() => + _CertificatesUploadDialogState(); + + static Future show(BuildContext context, String path) { + return showDialog( + context: context, + builder: (BuildContext context) { + return CertificatesUploadDialog( + path: path, + ); + }, + ); + } +} + +class _CertificatesUploadDialogState extends State { + final TextEditingController expiryDateController = TextEditingController(); + String? inputError; + + @override + void initState() { + super.initState(); + expiryDateController.addListener(() { + if(expiryDateController.text.length == 10) { + inputError = + CertificateDateValidator.validate(expiryDateController.text); + }else{ + inputError = null; + } + setState(() {}); + }); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Center( + child: Container( + constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height * 0.9), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(16), + ), + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + ..._buildDialogTitle(context), + Material( + type: MaterialType.transparency, + child: KwTextInput( + title: 'expiry_date_1'.tr(), + hintText: 'enter_certificate_expiry_date'.tr(), + controller: expiryDateController, + maxLength: 10, + inputFormatters: [DateTextFormatter()], + keyboardType: TextInputType.datetime, + helperText: inputError, + showError: inputError != null, + ), + ), + const Gap(12), + _buildImage(context), + const Gap(24), + KwButton.primary( + label: 'save_certificate'.tr(), + disabled: expiryDateController.text.length != 10 || inputError != null, + onPressed: () { + Navigator.of(context).pop(expiryDateController.text); + }, + ), + ], + ), + ), + ), + ), + ), + ); + } + + ClipRRect _buildImage(BuildContext context) { + return ClipRRect( + borderRadius: BorderRadius.circular(16), + child: Image.file( + File(widget.path), + width: MediaQuery.of(context).size.width - 80, + fit: BoxFit.contain, + ), + ); + } + + List _buildDialogTitle(BuildContext context) { + return [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'add_certificate_expiry_date'.tr(), + style: AppTextStyles.bodyLargeMed, + ), + GestureDetector( + onTap: () { + Navigator.of(context).pop(); + }, + child: Assets.images.icons.x.svg(), + ), + ], + ), + const Gap(8), + Text( + 'please_enter_expiry_date'.tr(), + style: AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray), + ), + const SizedBox(height: 24), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/data/email_verification_service.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/data/email_verification_service.dart new file mode 100644 index 00000000..67e50c20 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/data/email_verification_service.dart @@ -0,0 +1,80 @@ +import 'dart:developer'; + +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/static/email_validation_constants.dart'; +import 'package:krow/features/profile/email_verification/domain/bloc/email_verification_bloc.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +@injectable +class EmailVerificationService { + static const recentLoginRequired = 'requires-recent-login'; + static const reLoginRequired = 'requires-re-login'; + static const tokenExpired = 'user-token-expired'; + + final FirebaseAuth _auth = FirebaseAuth.instance; + String? _currentUserPhone; + + String get currentUserPhone { + _currentUserPhone ??= _auth.currentUser?.phoneNumber; + + return _currentUserPhone ?? ''; + } + + Future sendVerificationEmail({required String email}) async { + log('Sending email verification $email'); + + await _auth.currentUser?.verifyBeforeUpdateEmail( + email, + // TODO: Enabling this code will require enabling Firebase Dynamic Links. + // ActionCodeSettings( + // url: 'https://staging.app.krow.develop.express/emailLinkAuth/', + // androidPackageName: dotenv.get('ANDROID_PACKAGE'), + // iOSBundleId: dotenv.get('IOS_BUNDLE_ID'), + // androidInstallApp: true, + // handleCodeInApp: true, + // linkDomain: 'krow-staging.firebaseapp.com', + // ), + ); + + final sharedPrefs = await SharedPreferences.getInstance(); + + sharedPrefs.setString( + EmailValidationConstants.storedEmailKey, + email, + ); + } + + bool checkEmailForVerification({required String email}) { + final user = _auth.currentUser; + + if (user == null || user.email == null) return false; + + return email == user.email && user.emailVerified; + } + + Future isUserEmailVerified({ + required String newEmail, + }) async { + await _auth.currentUser?.reload(); + final user = _auth.currentUser; + + log( + 'Current user email: ${user?.email}, ' + 'verified: ${user?.emailVerified}, ' + 'Expected email: $newEmail', + ); + if (user == null) { + throw FirebaseAuthException(code: reLoginRequired); + } + return (user.emailVerified) && user.email == newEmail; + } + + ReAuthRequirement isReAuthenticationRequired(String errorCode) { + return switch (errorCode) { + recentLoginRequired => ReAuthRequirement.recent, + reLoginRequired || tokenExpired => ReAuthRequirement.immediate, + _ => ReAuthRequirement.none, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_bloc.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_bloc.dart new file mode 100644 index 00000000..f9333adf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_bloc.dart @@ -0,0 +1,132 @@ +import 'dart:async'; +import 'dart:developer'; + +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; +import 'package:krow/features/profile/email_verification/data/email_verification_service.dart'; + +part 'email_verification_event.dart'; + +part 'email_verification_state.dart'; + +/// This BLoC is currently unfinished. +/// We faced an issue with the Firebase email verification process. As a +/// security-sensitive action, it requires recent user authentication (seems +/// like around 5-10 minutes), so we have to prompt the user to re-login. Only +/// after that can the verification email be sent. +/// But upon receiving the email and confirming it, another issue arises: the +/// current auth token becomes invalid, and the user is silently signed out from +/// Firebase. On mobile, it can be solved by integrating a deep-link into the +/// verification email, which will allow us to re-authenticate the user with +/// an email link credential in the background. +/// However, there is a possibility that the user might verify his email on a +/// desktop (or any other device), so the link won't be received. In this case, +/// we need to prompt the user to re-authenticate yet again. This will probably +/// be a bad user experience. +class EmailVerificationBloc + extends Bloc { + EmailVerificationBloc() : super(const EmailVerificationState()) { + on((event, emit) async { + emit(state.copyWith( + email: event.verifiedEmail, + userPhone: event.userPhone, + )); + + add(const SendVerificationEmail()); + }); + + on((event, emit) async { + try { + await _verificationService.sendVerificationEmail(email: state.email); + + emailCheckTimer?.cancel(); + emailCheckTimer = Timer.periodic( + const Duration(seconds: 3), + (_) => add(const CheckEmailStatus()), + ); + } catch (except) { + log( + 'Error in EmailVerificationBloc. On SetVerifiedEmail event', + error: except, + ); + + if (except is FirebaseAuthException) { + emit( + state.copyWith( + reAuthRequirement: + _verificationService.isReAuthenticationRequired(except.code), + ), + ); + } + } finally { + emit(state.copyWith(reAuthRequirement: ReAuthRequirement.none)); + } + }); + + on((event, emit) async { + bool isEmailVerified = false; + try { + isEmailVerified = await _verificationService.isUserEmailVerified( + newEmail: state.email, + ); + } catch (except) { + log( + 'Error in EmailVerificationBloc. On CheckEmailStatus event', + error: except, + ); + if (except is FirebaseAuthException) { + emit( + state.copyWith( + reAuthRequirement: + _verificationService.isReAuthenticationRequired(except.code), + ), + ); + } + } + + emit( + state.copyWith( + status: isEmailVerified ? StateStatus.success : StateStatus.idle, + ), + ); + + if (state.status == StateStatus.success) emailCheckTimer?.cancel(); + }); + + on((event, emit) { + emit(state.copyWith(reAuthRequirement: ReAuthRequirement.none)); + + add(const SendVerificationEmail()); + }); + + on((event, emit) async { + try { + await getIt().signInWithEmailLink( + link: event.verificationLink, + ); + + emit(state.copyWith(status: StateStatus.success)); + } catch (except) { + log( + 'Error in EmailVerificationBloc. On IncomingVerificationLink event', + error: except, + ); + } + + if (state.status == StateStatus.success) emailCheckTimer?.cancel(); + }); + } + + final _verificationService = getIt(); + Timer? emailCheckTimer; + + @override + Future close() { + emailCheckTimer?.cancel(); + return super.close(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_event.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_event.dart new file mode 100644 index 00000000..09b5686c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_event.dart @@ -0,0 +1,31 @@ +part of 'email_verification_bloc.dart'; + +@immutable +sealed class EmailVerificationEvent { + const EmailVerificationEvent(); +} + +class SetVerifiedData extends EmailVerificationEvent { + const SetVerifiedData({required this.verifiedEmail, required this.userPhone}); + + final String verifiedEmail; + final String userPhone; +} + +class SendVerificationEmail extends EmailVerificationEvent { + const SendVerificationEmail(); +} + +class CheckEmailStatus extends EmailVerificationEvent { + const CheckEmailStatus(); +} + +class ResendVerificationEmail extends EmailVerificationEvent { + const ResendVerificationEmail(); +} + +class IncomingVerificationLink extends EmailVerificationEvent { + const IncomingVerificationLink({required this.verificationLink}); + + final Uri verificationLink; +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_state.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_state.dart new file mode 100644 index 00000000..0355d987 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/domain/bloc/email_verification_state.dart @@ -0,0 +1,32 @@ +part of 'email_verification_bloc.dart'; + +@immutable +class EmailVerificationState { + const EmailVerificationState({ + this.email = '', + this.status = StateStatus.idle, + this.reAuthRequirement = ReAuthRequirement.none, + this.userPhone = '', + }); + + final String email; + final StateStatus status; + final ReAuthRequirement reAuthRequirement; + final String userPhone; + + EmailVerificationState copyWith({ + String? email, + StateStatus? status, + ReAuthRequirement? reAuthRequirement, + String? userPhone, + }) { + return EmailVerificationState( + email: email ?? this.email, + status: status ?? this.status, + reAuthRequirement: reAuthRequirement ?? this.reAuthRequirement, + userPhone: userPhone ?? this.userPhone, + ); + } +} + +enum ReAuthRequirement { none, recent, immediate } diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/email_verification_screen.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/email_verification_screen.dart new file mode 100644 index 00000000..70118bcb --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/email_verification_screen.dart @@ -0,0 +1,105 @@ +import 'dart:async'; + +import 'package:app_links/app_links.dart'; +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/profile/email_verification/domain/bloc/email_verification_bloc.dart'; +import 'package:krow/features/profile/email_verification/presentation/widgets/bottom_control_button.dart'; +import 'package:krow/features/profile/email_verification/presentation/widgets/verification_actions_widget.dart'; + +@RoutePage() +class EmailVerificationScreen extends StatefulWidget + implements AutoRouteWrapper { + const EmailVerificationScreen({ + super.key, + required this.verifiedEmail, + required this.userPhone, + }); + + final String verifiedEmail; + final String userPhone; + + @override + State createState() => + _EmailVerificationScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => EmailVerificationBloc() + ..add(SetVerifiedData( + verifiedEmail: verifiedEmail, + userPhone: userPhone, + )), + child: this, + ); + } +} + +class _EmailVerificationScreenState extends State { + StreamSubscription? _appLinkSubscription; + + @override + void initState() { + super.initState(); + + final context = this.context; + _appLinkSubscription = AppLinks().uriLinkStream.listen( + (link) { + if (!context.mounted) return; + + context + .read() + .add(IncomingVerificationLink(verificationLink: link)); + }, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'email_verification'.tr(), + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(4), + Text( + 'check_your_email'.tr(), + style: AppTextStyles.headingH1, + textAlign: TextAlign.start, + ), + const Gap(8), + Text( + 'verification_link_sent' + .tr(args: [widget.verifiedEmail]), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + const Gap(24), + const VerificationActionsWidget(), + ], + ), + lowerWidget: const BottomControlButton(), + ), + ); + } + + @override + void dispose() { + _appLinkSubscription?.cancel(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/bottom_control_button.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/bottom_control_button.dart new file mode 100644 index 00000000..4a22d89d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/bottom_control_button.dart @@ -0,0 +1,68 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/email_verification/domain/bloc/email_verification_bloc.dart'; + +class BottomControlButton extends StatelessWidget { + const BottomControlButton({super.key}); + + void _listenHandler(BuildContext context, EmailVerificationState state) { + if (state.reAuthRequirement == ReAuthRequirement.none) return; + + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + barrierDismissible: false, + title: 'additional_action_needed'.tr(), + message: state.reAuthRequirement == ReAuthRequirement.recent + ? 'email_verification_security_sensitive'.tr(args: [state.userPhone]) + : 'unable_to_validate_email_status'.tr(), + primaryButtonLabel: 'Continue'.tr(), + onPrimaryButtonPressed: (dialogContext) async { + final isReAuthenticated = await dialogContext.pushRoute( + PhoneReLoginFlowRoute(userPhone: state.userPhone), + ); + + if (dialogContext.mounted) Navigator.maybePop(dialogContext); + + if (isReAuthenticated == true && + context.mounted && + state.reAuthRequirement == ReAuthRequirement.recent) { + context + .read() + .add(const ResendVerificationEmail()); + } + }, + ); + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + buildWhen: (previous, current) => previous.status != current.status, + listenWhen: (previous, current) => + previous.reAuthRequirement != current.reAuthRequirement, + listener: _listenHandler, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: 'Continue'.tr(), + disabled: state.status != StateStatus.success, + onPressed: () { + context.maybePop(true); + }, + ), + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/verification_actions_widget.dart b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/verification_actions_widget.dart new file mode 100644 index 00000000..7f1b2312 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/email_verification/presentation/widgets/verification_actions_widget.dart @@ -0,0 +1,63 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/email_verification/domain/bloc/email_verification_bloc.dart'; + +class VerificationActionsWidget extends StatefulWidget { + const VerificationActionsWidget({super.key}); + + @override + State createState() => + _VerificationActionsWidgetState(); +} + +//TODO: Finish this widget incorporating increasing timer on each code resend. +class _VerificationActionsWidgetState extends State { + double secondsToHold = 1; + bool onHold = false; + + @override + Widget build(BuildContext context) { + final screenHeight = MediaQuery.sizeOf(context).height; + return Center( + child: Padding( + padding: EdgeInsets.only(top: screenHeight / 4.6), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan( + text: 'didnt_receive'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: 'resend'.tr(), + style: AppTextStyles.bodyMediumSmb, + recognizer: TapGestureRecognizer() + ..onTap = () { + context + .read() + .add(const ResendVerificationEmail()); + }, + ), + TextSpan( + text: ' ${'or'.tr()} ', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + TextSpan( + text: 'contact_support_1'.tr(), + style: AppTextStyles.bodyMediumSmb, + recognizer: TapGestureRecognizer()..onTap = () { + //TODO: Add Contact support action. + }, + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_api_provider.dart new file mode 100644 index 00000000..af1c8f10 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_api_provider.dart @@ -0,0 +1,61 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/profile/emergency_contacts/data/gql_schemas.dart'; +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; + +@injectable +class EmergencyContactApiProvider { + final ApiClient _apiClient; + + EmergencyContactApiProvider(this._apiClient); + + Stream> getStaffEmergencyContacts() async* { + await for (var response in _apiClient.queryWithCache( + schema: getEmergencyContactsQuerySchema, + )) { + if (response == null || response.data == null) continue; + + if (response.data == null || response.data!.isEmpty) { + if (response.source?.name == 'cache') continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + } + + final contactsData = + (response.data?['me'] as Map?)?['emergency_contacts'] + as List? ?? + []; + + yield [ + for (final contact in contactsData) + EmergencyContactModel.fromJson( + contact as Map? ?? {}, + ), + ]; + } + } + + Future?> updateEmergencyContacts( + List contacts, + ) async { + var result = await _apiClient.mutate( + schema: updateEmergencyContactsMutationSchema, + body: { + 'input': [ + for (final contact in contacts) contact.toJson(), + ], + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!.isEmpty) return null; + + //TODO(Heorhii) add contacts return + return null; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_repository.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_repository.dart new file mode 100644 index 00000000..288d488a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/emergency_contact_repository.dart @@ -0,0 +1,9 @@ +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; + +abstract class EmergencyContactRepository { + Stream> getStaffEmergencyContacts(); + + Future?> updateEmergencyContacts( + List contacts, + ); +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/gql_schemas.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/gql_schemas.dart new file mode 100644 index 00000000..a9f4e1e5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/gql_schemas.dart @@ -0,0 +1,26 @@ +const String getEmergencyContactsQuerySchema = r''' +query StaffEmergencyContacts { + me { + id + emergency_contacts { + id + first_name + last_name + phone + } + } +} +'''; + +const String updateEmergencyContactsMutationSchema = r''' +mutation SaveEmergencyContacts ($input: [CreateStaffEmergencyContactsInput!]) { + attach_staff_emergency_contacts(contacts: $input) { + emergency_contacts { + id + first_name + last_name + phone + } + } +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/models/emergency_contact_model.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/models/emergency_contact_model.dart new file mode 100644 index 00000000..979c8c89 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/data/models/emergency_contact_model.dart @@ -0,0 +1,58 @@ +import 'package:flutter/foundation.dart'; + +@immutable +final class EmergencyContactModel { + const EmergencyContactModel({ + this.contactId, + required this.firstName, + required this.lastName, + required this.phoneNumber, + }); + + const EmergencyContactModel.empty({ + this.contactId, + this.firstName = '', + this.lastName = '', + this.phoneNumber = '', + }); + + factory EmergencyContactModel.fromJson(Map json) { + return EmergencyContactModel( + contactId: json['id'] as String?, + firstName: json['first_name'] as String? ?? '', + lastName: json['last_name'] as String? ?? '', + phoneNumber: json['phone'] as String? ?? '', + ); + } + + final String? contactId; + final String firstName; + final String lastName; + final String phoneNumber; + + bool get isFilled => + firstName.isNotEmpty && lastName.isNotEmpty && phoneNumber.isNotEmpty; + + EmergencyContactModel copyWith({ + String? contactId, + String? firstName, + String? lastName, + String? phoneNumber, + bool? isSaved, + }) { + return EmergencyContactModel( + contactId: contactId ?? this.contactId, + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + phoneNumber: phoneNumber ?? this.phoneNumber, + ); + } + + Map toJson() { + return { + 'first_name': firstName, + 'last_name': lastName, + 'phone': phoneNumber, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart new file mode 100644 index 00000000..bd8b16e1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart @@ -0,0 +1,125 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/emergency_contacts/data/emergency_contact_repository.dart'; +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; + +part 'emergency_contacts_event.dart'; + +part 'emergency_contacts_state.dart'; + +class EmergencyContactsBloc + extends Bloc { + EmergencyContactsBloc() : super(const EmergencyContactsState()) { + on(_handleInitializeEvent); + + on(_handleAddNewContactEvent); + + on(_handleUpdateContactEvent); + + on(_handleDeleteContactEvent); + + on(_handleSaveContactsChanges); + } + + Future _handleInitializeEvent( + InitializeEmergencyContactsEvent event, + Emitter emit, + ) async { + emit( + state.copyWith( + isInEditMode: event.isInEditMode, + contacts: event.isInEditMode + ? state.contacts + : [const EmergencyContactModel.empty()], + status: event.isInEditMode ? StateStatus.loading : StateStatus.idle, + ), + ); + if (!state.isInEditMode) return; + + try { + await for (final emergencyContacts + in getIt().getStaffEmergencyContacts()) { + if (emergencyContacts.isEmpty) continue; + + emit( + state.copyWith( + contacts: emergencyContacts, + status: StateStatus.idle, + isListReducible: emergencyContacts.length > 1, + ), + ); + } + } catch (except) { + log(except.toString()); + } + + if (state.status == StateStatus.loading) { + emit(state.copyWith(status: StateStatus.idle)); + } + } + + void _handleAddNewContactEvent( + AddNewContactEvent event, + Emitter emit, + ) { + emit( + state.copyWith( + contacts: [ + ...state.contacts, + const EmergencyContactModel.empty(), + ], + isListReducible: true, + ), + ); + } + + void _handleUpdateContactEvent( + UpdateContactEvent event, + Emitter emit, + ) { + final updatedContact = state.contacts[event.index].copyWith( + firstName: event.firstName, + lastName: event.lastName, + phoneNumber: event.phoneNumber, + ); + + emit( + state.copyWith( + contacts: List.from(state.contacts)..[event.index] = updatedContact, + ), + ); + } + + void _handleDeleteContactEvent( + DeleteContactEvent event, + Emitter emit, + ) { + emit( + state.copyWith( + contacts: List.from(state.contacts)..removeAt(event.index), + isListReducible: state.contacts.length > 2, + ), + ); + } + + Future _handleSaveContactsChanges( + SaveContactsChanges event, + Emitter emit, + ) async { + emit(state.copyWith(status: StateStatus.loading)); + + try { + await getIt().updateEmergencyContacts( + state.contacts, + ); + } catch (except) { + log(except.toString()); + } + + emit(state.copyWith(status: StateStatus.success)); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_event.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_event.dart new file mode 100644 index 00000000..da3f15fe --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_event.dart @@ -0,0 +1,34 @@ +part of 'emergency_contacts_bloc.dart'; + +@immutable +sealed class EmergencyContactsEvent {} + +class InitializeEmergencyContactsEvent extends EmergencyContactsEvent { + InitializeEmergencyContactsEvent(this.isInEditMode); + + final bool isInEditMode; +} + +class AddNewContactEvent extends EmergencyContactsEvent {} + +class UpdateContactEvent extends EmergencyContactsEvent { + UpdateContactEvent({ + required this.index, + required this.firstName, + required this.lastName, + required this.phoneNumber, + }); + + final int index; + final String firstName; + final String lastName; + final String phoneNumber; +} + +class DeleteContactEvent extends EmergencyContactsEvent { + DeleteContactEvent({required this.index}); + + final int index; +} + +class SaveContactsChanges extends EmergencyContactsEvent {} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_state.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_state.dart new file mode 100644 index 00000000..31f89e91 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/bloc/emergency_contacts_state.dart @@ -0,0 +1,32 @@ +part of 'emergency_contacts_bloc.dart'; + +@immutable +final class EmergencyContactsState { + const EmergencyContactsState({ + this.contacts = const [], + this.status = StateStatus.idle, + this.isInEditMode = true, + this.isListReducible = false, + }); + + final List contacts; + final StateStatus status; + final bool isInEditMode; + final bool isListReducible; + + bool get isFilled => contacts.indexWhere((contact) => !contact.isFilled) < 0; + + EmergencyContactsState copyWith({ + List? contacts, + StateStatus? status, + bool? isInEditMode, + bool? isListReducible, + }) { + return EmergencyContactsState( + contacts: contacts ?? this.contacts, + status: status ?? this.status, + isInEditMode: isInEditMode ?? this.isInEditMode, + isListReducible: isListReducible ?? this.isListReducible, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/emergency_contact_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/emergency_contact_repository_impl.dart new file mode 100644 index 00000000..6e70ae32 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/domain/emergency_contact_repository_impl.dart @@ -0,0 +1,25 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/emergency_contacts/data/emergency_contact_api_provider.dart'; +import 'package:krow/features/profile/emergency_contacts/data/emergency_contact_repository.dart'; +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; + +@LazySingleton(as: EmergencyContactRepository) +class EmergencyContactRepositoryImpl implements EmergencyContactRepository { + EmergencyContactRepositoryImpl({ + required EmergencyContactApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final EmergencyContactApiProvider _apiProvider; + + @override + Stream> getStaffEmergencyContacts() { + return _apiProvider.getStaffEmergencyContacts(); + } + + @override + Future?> updateEmergencyContacts( + List contacts, + ) { + return _apiProvider.updateEmergencyContacts(contacts); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/emergency_contacts_screen.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/emergency_contacts_screen.dart new file mode 100644 index 00000000..b07299e6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/emergency_contacts_screen.dart @@ -0,0 +1,115 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart'; +import 'package:krow/features/profile/emergency_contacts/presentation/widgets/bottom_control_button.dart'; +import 'package:krow/features/profile/emergency_contacts/presentation/widgets/contacts_list_sliver.dart'; + +@RoutePage() +class EmergencyContactsScreen extends StatelessWidget + implements AutoRouteWrapper { + const EmergencyContactsScreen({ + super.key, + this.isInEditMode = true, + }); + + final bool isInEditMode; + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (BuildContext context) => EmergencyContactsBloc() + ..add(InitializeEmergencyContactsEvent(isInEditMode)), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + resizeToAvoidBottomInset: false, + extendBody: true, + appBar: KwAppBar( + titleText: 'emergency_contact'.tr(), + centerTitle: true, + showNotification: isInEditMode, + ), + body: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: CustomScrollView( + primary: false, + slivers: [ + if (!isInEditMode) + SliverList.list( + children: [ + const Gap(16), + Text( + 'add_emergency_contacts'.tr(), + style: Theme.of(context).textTheme.titleLarge, + ), + const Gap(8), + RichText( + text: TextSpan( + text: 'provide_emergency_contact'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + children: [ + TextSpan( + text: ' ${'must_have_one_contact'.tr()}', + style: AppTextStyles.bodyMediumSmb, + ), + ], + ), + ), + const Gap(8), + ], + ), + const SliverToBoxAdapter( + child: Gap(16), + ), + const ContactsListSliver(), + SliverList.list( + children: [ + KwButton.outlinedPrimary( + fit: KwButtonFit.shrinkWrap, + label: 'add_more'.tr(), + leftIcon: Assets.images.icons.add, + onPressed: () { + context.read().add( + AddNewContactEvent(), + ); + }, + ), + const Gap(8), + Text( + 'add_additional_contact'.tr(), + style: Theme.of(context).textTheme.bodySmall, + ), + const Gap(120), + ], + ), + ], + ), + ), + bottomNavigationBar: SafeArea( + top: false, + bottom: true, + child: Padding( + padding: const EdgeInsets.all(16), + child: BottomControlButton( + isInEditMode: isInEditMode, + footerActionName: + isInEditMode ? 'save_changes'.tr() : 'save_and_continue'.tr(), + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/bottom_control_button.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/bottom_control_button.dart new file mode 100644 index 00000000..a6ce7337 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/bottom_control_button.dart @@ -0,0 +1,95 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart'; + +class BottomControlButton extends StatefulWidget { + const BottomControlButton({ + super.key, + required this.isInEditMode, + required this.footerActionName, + }); + + final bool isInEditMode; + final String footerActionName; + + static const _height = 52.0; + + @override + State createState() => _BottomControlButtonState(); +} + +class _BottomControlButtonState extends State + with WidgetsBindingObserver { + bool isVisible = true; + + @override + void initState() { + super.initState(); + + WidgetsBinding.instance.addObserver(this); + } + + @override + void didChangeMetrics() { + if (View.of(context).viewInsets.bottom > 0 && isVisible) { + setState(() => isVisible = false); + } else if (View.of(context).viewInsets.bottom == 0 && !isVisible) { + setState(() => isVisible = true); + } + } + + @override + Widget build(BuildContext context) { + return AnimatedOpacity( + duration: Durations.short2, + opacity: isVisible ? 1 : 0, + child: AnimatedSize( + duration: Durations.short2, + alignment: Alignment.bottomCenter, + child: BlocConsumer( + buildWhen: (previous, current) => + previous.status != current.status || + previous.isFilled != current.isFilled, + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) { + if (widget.isInEditMode) { + Navigator.pop(context); + } else { + context.router.push( + MobilityRoute(isInEditMode: false), + ); + } + } + }, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: widget.footerActionName, + height: BottomControlButton._height, + disabled: !state.isFilled, + onPressed: () { + context.read().add( + SaveContactsChanges(), + ); + }, + ), + ); + }, + ), + ), + ); + } + + @override + void dispose() { + WidgetsBinding.instance.removeObserver(this); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contact_form_widget.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contact_form_widget.dart new file mode 100644 index 00000000..09ee2da1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contact_form_widget.dart @@ -0,0 +1,167 @@ +import 'dart:async'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/int_extensions.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_phone_input.dart'; +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; + +class ContactFormWidget extends StatefulWidget { + const ContactFormWidget({ + super.key, + required this.contactModel, + required this.index, + this.onDelete, + this.onContactUpdate, + }); + + final EmergencyContactModel contactModel; + final int index; + final VoidCallback? onDelete; + final void Function({ + required String firstName, + required String lastName, + required String phoneNumber, + })? onContactUpdate; + + @override + State createState() => _ContactFormWidgetState(); +} + +class _ContactFormWidgetState extends State { + final _firstNameController = TextEditingController(); + final _lastNameController = TextEditingController(); + final _phoneController = TextEditingController(); + + Timer? _contactUpdateTimer; + + void _scheduleContactUpdate() { + if (widget.onContactUpdate == null) return; + _contactUpdateTimer?.cancel(); + + _contactUpdateTimer = Timer( + const Duration(microseconds: 500), + () => widget.onContactUpdate!( + firstName: _firstNameController.text, + lastName: _lastNameController.text, + phoneNumber: _phoneController.text, + ), + ); + } + + @override + void initState() { + super.initState(); + + _firstNameController.text = widget.contactModel.firstName; + _lastNameController.text = widget.contactModel.lastName; + _phoneController.text = widget.contactModel.phoneNumber; + } + + @override + Widget build(BuildContext context) { + return Container( + margin: const EdgeInsets.only(bottom: 24), + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 24, + ), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + height: 16, + child: Stack( + clipBehavior: Clip.none, + children: [ + SizedBox( + width: double.maxFinite, + child: Text( + 'contact_details'.tr( + namedArgs: { + 'index': (widget.index + 1).toOrdinal(), + }, + ), + style: AppTextStyles.bodyMediumMed, + overflow: TextOverflow.ellipsis, + ), + ), + Positioned( + right: -18, + top: -18, + child: _DeleteIconWidget( + onDelete: widget.onDelete, + ), + ), + ], + ), + ), + const Gap(12), + KwTextInput( + title: 'first_name'.tr(), + hintText: '', + keyboardType: TextInputType.name, + controller: _firstNameController, + onChanged: (_) => _scheduleContactUpdate(), + ), + const Gap(8), + KwTextInput( + title: 'last_name'.tr(), + hintText: '', + keyboardType: TextInputType.name, + controller: _lastNameController, + onChanged: (_) => _scheduleContactUpdate(), + ), + const Gap(8), + KwPhoneInput( + title: 'phone_number'.tr(), + controller: _phoneController, + onChanged: (_) => _scheduleContactUpdate(), + ), + ], + ), + ); + } + + @override + void dispose() { + _contactUpdateTimer?.cancel(); + _firstNameController.dispose(); + _lastNameController.dispose(); + _phoneController.dispose(); + super.dispose(); + } +} + +class _DeleteIconWidget extends StatelessWidget { + const _DeleteIconWidget({this.onDelete}); + + final VoidCallback? onDelete; + + @override + Widget build(BuildContext context) { + return AnimatedSwitcher( + duration: Durations.short4, + child: onDelete != null + ? IconButton( + onPressed: onDelete, + icon: Assets.images.icons.delete.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.statusError, + BlendMode.srcIn, + ), + ), + ) + : const SizedBox(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contacts_list_sliver.dart b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contacts_list_sliver.dart new file mode 100644 index 00000000..d04b4a0c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/emergency_contacts/presentation/widgets/contacts_list_sliver.dart @@ -0,0 +1,167 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/emergency_contacts/data/models/emergency_contact_model.dart'; +import 'package:krow/features/profile/emergency_contacts/domain/bloc/emergency_contacts_bloc.dart'; +import 'package:krow/features/profile/emergency_contacts/presentation/widgets/contact_form_widget.dart'; + +class ContactsListSliver extends StatefulWidget { + const ContactsListSliver({ + super.key, + }); + + @override + State createState() => _ContactsListSliverState(); +} + +class _ContactsListSliverState extends State { + final _listKey = GlobalKey(); + late final _contactsBloc = context.read(); + + int _itemsCount = 0; + + EmergencyContactsState get _contactsState => _contactsBloc.state; + + bool _listenWhenHandler( + EmergencyContactsState previous, + EmergencyContactsState current, + ) => + previous.contacts != current.contacts; + + void _addListItem(int index) { + _listKey.currentState?.insertItem( + index, + duration: Durations.short3, + ); + + _itemsCount++; + } + + void _addSingleListItem({required int index}) => _addListItem(index); + + Future _addMultipleListItems({required int addedItemsLength}) async { + _listKey.currentState?.insertAllItems( + _itemsCount, + addedItemsLength, + duration: Durations.short3, + ); + _itemsCount += addedItemsLength; + + await Future.delayed(Durations.short2); + } + + Future _listenHandler( + BuildContext context, + EmergencyContactsState state, + ) async { + if (state.contacts.length <= _itemsCount) return; + + if (state.contacts.length - _itemsCount == 1) { + _addSingleListItem(index: state.contacts.length - 1); + } else { + await _addMultipleListItems( + addedItemsLength: state.contacts.length - _itemsCount, + ); + } + } + + void _removeListItem({ + required int index, + required EmergencyContactModel contactData, + }) { + _listKey.currentState?.removeItem( + index, + (context, animation) { + return FadeTransition( + opacity: CurvedAnimation( + parent: animation, + curve: const Interval(0, 0.5), + ), + child: ScaleTransition( + scale: CurvedAnimation( + parent: animation, + curve: const Interval(0.1, 0.6), + ), + child: SizeTransition( + sizeFactor: animation, + child: ContactFormWidget( + contactModel: contactData, + index: index, + ), + ), + ), + ); + }, + duration: Durations.short4, + ); + + _itemsCount--; + } + + @override + void initState() { + super.initState(); + + _itemsCount = _contactsState.contacts.length; + } + + @override + Widget build(BuildContext context) { + return BlocListener( + bloc: _contactsBloc, + listenWhen: _listenWhenHandler, + listener: _listenHandler, + child: SliverAnimatedList( + key: _listKey, + initialItemCount: _contactsState.contacts.length, + itemBuilder: ( + BuildContext context, + int index, + Animation animation, + ) { + return SlideTransition( + position: Tween( + begin: const Offset(0.3, 0), + end: Offset.zero, + ).animate(animation), + child: ContactFormWidget( + key: ValueKey(_contactsState.contacts[index]), + contactModel: _contactsState.contacts[index], + index: index, + onContactUpdate: ({ + required String firstName, + required String lastName, + required String phoneNumber, + }) { + context.read().add( + UpdateContactEvent( + index: index, + firstName: firstName, + lastName: lastName, + phoneNumber: phoneNumber, + ), + ); + }, + onDelete: _contactsState.isListReducible + ? () { + _removeListItem( + index: index, + contactData: _contactsState.contacts[index], + ); + + context.read().add( + DeleteContactEvent(index: index), + ); + } + : null, + ), + ); + }, + ), + ); + } + + @override + void dispose() { + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/data/faq_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/faq/data/faq_api_provider.dart new file mode 100644 index 00000000..d92f65e1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/data/faq_api_provider.dart @@ -0,0 +1,19 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/faq/data/models/faq_entry_model.dart'; + +@injectable +class FaqApiProvider { + static const List localFaqData = [ + FaqEntryModel( + question: 'How do I create a profile?', + answer: 'To create a profile, download the app, sign up with your email ' + 'or phone number, and fill in your basic details, including your ' + 'skills and experience.', + ), + ]; + + Future> fetchFaqData() async { + //TODO: Add additional FAQs either received from the backend or as static local data. + return localFaqData; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/data/faq_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/faq/data/faq_repository_impl.dart new file mode 100644 index 00000000..3ac48a41 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/data/faq_repository_impl.dart @@ -0,0 +1,24 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/faq/data/faq_api_provider.dart'; +import 'package:krow/features/profile/faq/data/models/faq_entry_model.dart'; +import 'package:krow/features/profile/faq/domain/entities/faq_entry.dart'; +import 'package:krow/features/profile/faq/domain/faq_repository.dart'; + +@Injectable(as: FaqRepository) +class FaqRepositoryImpl implements FaqRepository { + FaqRepositoryImpl({required FaqApiProvider provider}) : _provider = provider; + + final FaqApiProvider _provider; + + FaqEntry _modelConverter(FaqEntryModel data) { + return FaqEntry(question: data.question, answer: data.answer); + } + + @override + Future> getFaqData() async { + return [ + for (final entry in await _provider.fetchFaqData()) + _modelConverter(entry), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/data/models/faq_entry_model.dart b/mobile-apps/staff-app/lib/features/profile/faq/data/models/faq_entry_model.dart new file mode 100644 index 00000000..de88a227 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/data/models/faq_entry_model.dart @@ -0,0 +1,14 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class FaqEntryModel { + const FaqEntryModel({required this.question, required this.answer}); + + factory FaqEntryModel.fromJson(Map json) { + //TODO: Add from JSON conversion once the backend is ready. + throw UnimplementedError('Implement from JSON conversion'); + } + + final String question; + final String answer; +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_bloc.dart b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_bloc.dart new file mode 100644 index 00000000..fc0cc512 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_bloc.dart @@ -0,0 +1,37 @@ +import 'dart:developer'; + + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/faq/domain/entities/faq_entry.dart'; +import 'package:krow/features/profile/faq/domain/faq_repository.dart'; + + +part 'faq_event.dart'; + +part 'faq_state.dart'; + +class FaqBloc extends Bloc { + FaqBloc() : super(const FaqState()) { + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + + List entries = []; + try { + entries = await getIt().getFaqData(); + } catch (except) { + log('Error in FaqBloc, on InitializeFAQ', error: except); + emit(state.copyWith(status: StateStatus.error)); + } + + emit( + state.copyWith( + status: StateStatus.idle, + entries: entries, + ), + ); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_event.dart b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_event.dart new file mode 100644 index 00000000..b1ae652f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_event.dart @@ -0,0 +1,10 @@ +part of 'faq_bloc.dart'; + +@immutable +sealed class FaqEvent { + const FaqEvent(); +} + +class InitializeFAQ extends FaqEvent { + const InitializeFAQ(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_state.dart b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_state.dart new file mode 100644 index 00000000..d70446a5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/domain/bloc/faq_state.dart @@ -0,0 +1,22 @@ +part of 'faq_bloc.dart'; + +@immutable +class FaqState { + const FaqState({ + this.status = StateStatus.idle, + this.entries = const [], + }); + + final StateStatus status; + final List entries; + + FaqState copyWith({ + StateStatus? status, + List? entries, + }) { + return FaqState( + status: status ?? this.status, + entries: entries ?? this.entries, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/domain/entities/faq_entry.dart b/mobile-apps/staff-app/lib/features/profile/faq/domain/entities/faq_entry.dart new file mode 100644 index 00000000..67731969 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/domain/entities/faq_entry.dart @@ -0,0 +1,9 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class FaqEntry { + const FaqEntry({required this.question, required this.answer}); + + final String question; + final String answer; +} diff --git a/mobile-apps/staff-app/lib/features/profile/faq/domain/faq_repository.dart b/mobile-apps/staff-app/lib/features/profile/faq/domain/faq_repository.dart new file mode 100644 index 00000000..be89ca3d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/domain/faq_repository.dart @@ -0,0 +1,5 @@ +import 'package:krow/features/profile/faq/domain/entities/faq_entry.dart'; + +abstract interface class FaqRepository { + Future> getFaqData(); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/faq/presentation/faq_screen.dart b/mobile-apps/staff-app/lib/features/profile/faq/presentation/faq_screen.dart new file mode 100644 index 00000000..8f97aa92 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/faq/presentation/faq_screen.dart @@ -0,0 +1,97 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/profile/faq/domain/bloc/faq_bloc.dart'; + +@RoutePage() +class FaqScreen extends StatelessWidget implements AutoRouteWrapper { + const FaqScreen({super.key}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => FaqBloc()..add(const InitializeFAQ()), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'FAQ', + showNotification: true, + ), + body: CustomScrollView( + primary: false, + slivers: [ + SliverPadding( + padding: const EdgeInsets.all(16), + sliver: SliverList.list( + children: [ + Text( + 'faq_description'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + const Gap(8), + ], + ), + ), + BlocBuilder( + buildWhen: (previous, current) => + previous.entries != current.entries, + builder: (context, state) { + return SliverPadding( + padding: const EdgeInsets.symmetric(horizontal: 16), + sliver: SliverList.separated( + itemCount: state.entries.length, + separatorBuilder: (context, index) => + const SizedBox(height: 8), + itemBuilder: (context, index) { + return ExpansionTile( + collapsedBackgroundColor: AppColors.graySecondaryFrame, + backgroundColor: AppColors.graySecondaryFrame, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + collapsedShape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(8)), + ), + iconColor: Colors.black, + collapsedIconColor: AppColors.grayStroke, + childrenPadding: const EdgeInsets.only( + left: 12, + right: 12, + bottom: 16, + ), + title: Text( + state.entries[index].question, + style: AppTextStyles.bodyLargeMed, + ), + children: [ + Text( + state.entries[index].answer, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ) + ], + ); + }, + ), + ); + }, + ) + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/data/gql_shemas.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/data/gql_shemas.dart new file mode 100644 index 00000000..815291c0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/data/gql_shemas.dart @@ -0,0 +1,24 @@ +const String getStaffInclusivityInfoSchema = ''' +query GetPersonalInfo { + me { + id + accessibility { + has_car + can_relocate + requires_accommodations + accommodation_details + } + } +} +'''; + +const String updateStaffInclusivityMutationSchema = ''' +mutation UpdateStaffAccessibilityInfo(\$input: UpdateStaffAccessibilitiesInput!) { + update_staff_accessibilities(input: \$input) { + accessibility { + requires_accommodations + accommodation_details + } + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/data/models/inclusive_info_model.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/data/models/inclusive_info_model.dart new file mode 100644 index 00000000..15524508 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/data/models/inclusive_info_model.dart @@ -0,0 +1,27 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class InclusiveInfoModel { + const InclusiveInfoModel({ + required this.areAccommodationsRequired, + required this.accommodationsDetails, + }); + + factory InclusiveInfoModel.fromJson(Map json) { + return InclusiveInfoModel( + areAccommodationsRequired: + json['requires_accommodations'] as bool? ?? false, + accommodationsDetails: json['accommodation_details'] as String? ?? '', + ); + } + + final bool areAccommodationsRequired; + final String accommodationsDetails; + + Map toJson() { + return { + 'requires_accommodations': areAccommodationsRequired, + 'accommodation_details': accommodationsDetails, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_api_provider.dart new file mode 100644 index 00000000..89b0d56c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_api_provider.dart @@ -0,0 +1,62 @@ +import 'dart:developer'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/profile/inclusive/data/gql_shemas.dart'; +import 'package:krow/features/profile/inclusive/data/models/inclusive_info_model.dart'; + +@injectable +class StaffInclusivityApiProvider { + StaffInclusivityApiProvider(this._client); + + final ApiClient _client; + + Stream getStaffInclusivityInfoWithCache() async* { + await for (var response in _client.queryWithCache( + schema: getStaffInclusivityInfoSchema, + )) { + if (response == null || response.data == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + yield InclusiveInfoModel.fromJson( + (response.data?['me'] as Map?)?['accessibility'] ?? + {}, + ); + } catch (except) { + log( + 'Exception in StaffInclusivityApiProvider ' + 'on getStaffInclusivityInfoWithCache()', + error: except, + ); + continue; + } + } + } + + Future updateStaffInclusivityInfoInfo( + InclusiveInfoModel data, + ) async { + var result = await _client.mutate( + schema: updateStaffInclusivityMutationSchema, + body: { + 'input': data.toJson(), + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!.isEmpty) return null; + + return InclusiveInfoModel.fromJson( + (result.data?['update_staff_accessibilities'] + as Map?)?['accessibility'] ?? + {}, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_repository.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_repository.dart new file mode 100644 index 00000000..8909a45a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/data/staff_inclusivity_repository.dart @@ -0,0 +1,9 @@ +import 'package:krow/features/profile/inclusive/data/models/inclusive_info_model.dart'; + +abstract class StaffInclusivityRepository { + Stream getStaffInclusivityInfo(); + + Future updateStaffMobilityInfo( + InclusiveInfoModel data, + ); +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_bloc.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_bloc.dart new file mode 100644 index 00000000..28077daf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_bloc.dart @@ -0,0 +1,85 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/inclusive/data/models/inclusive_info_model.dart'; +import 'package:krow/features/profile/inclusive/data/staff_inclusivity_repository.dart'; + +part 'inclusive_info_event.dart'; + +part 'inclusive_info_state.dart'; + +class InclusiveInfoBloc extends Bloc { + InclusiveInfoBloc() : super(const InclusiveInfoState()) { + on((event, emit) async { + emit( + state.copyWith( + isInEditMode: event.isInEditMode, + status: event.isInEditMode ? StateStatus.loading : StateStatus.idle, + ), + ); + if (!state.isInEditMode) { + emit( + state.copyWith( + areAccommodationsRequired: true, + ), + ); + return; + } + + try { + await for (final inclusivityData + in getIt().getStaffInclusivityInfo()) { + emit( + state.copyWith( + areAccommodationsRequired: + inclusivityData.areAccommodationsRequired, + accommodationsDetails: inclusivityData.accommodationsDetails, + status: StateStatus.idle, + ), + ); + } + } catch (except) { + log(except.toString()); + } + + emit( + state.copyWith( + areAccommodationsRequired: state.areAccommodationsRequired ?? true, + status: state.status == StateStatus.loading + ? StateStatus.idle + : state.status, + ), + ); + }); + + on((event, emit) { + emit(state.copyWith(areAccommodationsRequired: event.index == 0)); + }); + + on((event, emit) { + emit(state.copyWith(accommodationsDetails: event.details)); + }); + + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + + try { + await getIt().updateStaffMobilityInfo( + InclusiveInfoModel( + areAccommodationsRequired: state.areAccommodationsRequired ?? false, + accommodationsDetails: state.accommodationsDetails, + ), + ); + } catch (except) { + emit(state.copyWith(status: StateStatus.idle)); + + log(except.toString()); + } + + emit(state.copyWith(status: StateStatus.success)); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_event.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_event.dart new file mode 100644 index 00000000..3eae2755 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_event.dart @@ -0,0 +1,24 @@ +part of 'inclusive_info_bloc.dart'; + +@immutable +sealed class InclusiveInfoEvent {} + +class InitializeInclusiveInfoEvent extends InclusiveInfoEvent { + InitializeInclusiveInfoEvent({required this.isInEditMode}); + + final bool isInEditMode; +} + +class ToggleRequiresAccommodations extends InclusiveInfoEvent { + ToggleRequiresAccommodations(this.index); + + final int index; +} + +class ChangeAccommodationsDetails extends InclusiveInfoEvent { + ChangeAccommodationsDetails(this.details); + + final String details; +} + +class SaveInclusiveInfoChanges extends InclusiveInfoEvent {} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_state.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_state.dart new file mode 100644 index 00000000..4cc060b6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/bloc/inclusive_info_state.dart @@ -0,0 +1,37 @@ +part of 'inclusive_info_bloc.dart'; + +@immutable +class InclusiveInfoState { + const InclusiveInfoState({ + this.areAccommodationsRequired, + this.accommodationsDetails = '', + this.isInEditMode = true, + this.status = StateStatus.idle, + }); + + final bool? areAccommodationsRequired; + final String accommodationsDetails; + final bool isInEditMode; + final StateStatus status; + + bool get isFilled { + return (areAccommodationsRequired != null && !areAccommodationsRequired!) || + accommodationsDetails.isNotEmpty; + } + + InclusiveInfoState copyWith({ + bool? areAccommodationsRequired, + String? accommodationsDetails, + bool? isInEditMode, + StateStatus? status, + }) { + return InclusiveInfoState( + areAccommodationsRequired: + areAccommodationsRequired ?? this.areAccommodationsRequired, + accommodationsDetails: + accommodationsDetails ?? this.accommodationsDetails, + isInEditMode: isInEditMode ?? this.isInEditMode, + status: status ?? this.status, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/domain/staff_inclusivity_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/staff_inclusivity_repository_impl.dart new file mode 100644 index 00000000..a1d93f59 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/domain/staff_inclusivity_repository_impl.dart @@ -0,0 +1,25 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/inclusive/data/models/inclusive_info_model.dart'; +import 'package:krow/features/profile/inclusive/data/staff_inclusivity_api_provider.dart'; +import 'package:krow/features/profile/inclusive/data/staff_inclusivity_repository.dart'; + +@Injectable(as: StaffInclusivityRepository) +class StaffMobilityRepositoryImpl extends StaffInclusivityRepository { + StaffMobilityRepositoryImpl({ + required StaffInclusivityApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final StaffInclusivityApiProvider _apiProvider; + + @override + Stream getStaffInclusivityInfo() { + return _apiProvider.getStaffInclusivityInfoWithCache(); + } + + @override + Future updateStaffMobilityInfo( + InclusiveInfoModel data, + ) { + return _apiProvider.updateStaffInclusivityInfoInfo(data); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/inclusive_screen.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/inclusive_screen.dart new file mode 100644 index 00000000..15f013d8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/inclusive_screen.dart @@ -0,0 +1,128 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/bool_extension.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/features/profile/inclusive/domain/bloc/inclusive_info_bloc.dart'; +import 'package:krow/features/profile/inclusive/presentation/widgets/accessibility_details_widget.dart'; + +@RoutePage() +class InclusiveScreen extends StatelessWidget implements AutoRouteWrapper { + const InclusiveScreen({ + super.key, + this.isInEditMode = true, + }); + + final bool isInEditMode; + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => InclusiveInfoBloc() + ..add(InitializeInclusiveInfoEvent(isInEditMode: isInEditMode)), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'inclusive'.tr(), + showNotification: false, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(4), + Text( + 'inclusive_information'.tr(), + style: AppTextStyles.headingH1, + textAlign: TextAlign.start, + ), + const Gap(8), + Text( + 'providing_optional_information'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + Padding( + padding: const EdgeInsets.only(bottom: 16, top: 24), + child: Text( + 'specific_accommodations_question'.tr(), + style: AppTextStyles.headingH3, + ), + ), + BlocSelector( + selector: (state) => state.areAccommodationsRequired, + builder: (context, areAccommodationsRequired) { + return KwOptionSelector( + selectedIndex: areAccommodationsRequired?.toInt(), + selectedColor: AppColors.blackDarkBgBody, + itemBorder: const Border.fromBorderSide( + BorderSide(color: AppColors.grayStroke), + ), + items: ['yes'.tr(), 'no'.tr()], + onChanged: (index) { + context + .read() + .add(ToggleRequiresAccommodations(index)); + }, + ); + }, + ), + const Gap(16), + const AccessibilityDetailsWidget(), + const Gap(90), + ], + ), + lowerWidget: BlocConsumer( + buildWhen: (previous, current) => + previous.status != current.status || + previous.isFilled != current.isFilled, + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) { + if (isInEditMode) { + Navigator.pop(context); + } else { + context.router.push( + AddressRoute(isInEditMode: false), + ); + } + } + }, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: isInEditMode ? 'save_changes'.tr() : 'save_and_continue'.tr(), + height: 52, + disabled: !state.isFilled, + onPressed: () { + context + .read() + .add(SaveInclusiveInfoChanges()); + }, + ), + ); + }, + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/widgets/accessibility_details_widget.dart b/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/widgets/accessibility_details_widget.dart new file mode 100644 index 00000000..ce4b9c0f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/inclusive/presentation/widgets/accessibility_details_widget.dart @@ -0,0 +1,73 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/inclusive/domain/bloc/inclusive_info_bloc.dart'; + +class AccessibilityDetailsWidget extends StatefulWidget { + const AccessibilityDetailsWidget({super.key}); + + @override + State createState() => + _AccessibilityDetailsWidgetState(); +} + +class _AccessibilityDetailsWidgetState + extends State { + final _controller = TextEditingController(); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + buildWhen: (previous, current) => + previous.areAccommodationsRequired != + current.areAccommodationsRequired || + previous.status != current.status, + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + _controller.text = state.accommodationsDetails; + }, + builder: (context, state) { + return AnimatedOpacity( + opacity: state.areAccommodationsRequired ?? false ? 1 : 0, + duration: Durations.medium2, + child: Column( + children: [ + Text( + 'describe_accommodations'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + const Gap(16), + KwTextInput( + enabled: state.areAccommodationsRequired ?? false, + controller: _controller, + minHeight: 160, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'additional_details'.tr(), + hintText: 'enter_main_text'.tr(), + showError: state.status == StateStatus.error, + helperText: state.status == StateStatus.error + ? 'required_to_fill'.tr() + : null, + onChanged: (details) { + context + .read() + .add(ChangeAccommodationsDetails(details)); + }, + ), + ], + ), + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/data/gql_schemas.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/data/gql_schemas.dart new file mode 100644 index 00000000..ba4bd6ec --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/data/gql_schemas.dart @@ -0,0 +1,27 @@ +const String getStaffLivePhotoSchema = ''' +query GetLivePhoto { + me { + id + live_photo + live_photo_obj { + status + url + uploaded_at + } + } +} +'''; + +const String uploadStaffLivePhotoSchema = ''' +mutation UploadStaffLivePhoto(\$file: Upload!) { + upload_staff_live_photo(file: \$file) { + id + live_photo + live_photo_obj { + status + url + uploaded_at + } + } +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/data/models/live_photo_data.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/data/models/live_photo_data.dart new file mode 100644 index 00000000..66241ef5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/data/models/live_photo_data.dart @@ -0,0 +1,66 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class LivePhotoData { + const LivePhotoData({ + required this.id, + required this.imageUrl, + required this.imagePath, + required this.status, + required this.timestamp, + }); + + factory LivePhotoData.fromJson(Map json) { + // TODO: For now live_photo_obj returns a placeholder from the backend. + final livePhotoObj = json['live_photo_obj'] as Map; + + return LivePhotoData( + id: json['id'] as String? ?? '', + imageUrl: json['live_photo'] as String? ?? '', + imagePath: null, + status: LivePhotoStatus.fromString( + livePhotoObj['status'] as String? ?? '', + ), + timestamp: DateTime.tryParse( + livePhotoObj['uploaded_at'] as String? ?? '', + ) ?? + DateTime.now(), + ); + } + + final String? id; + final String? imageUrl; + final String? imagePath; + final LivePhotoStatus status; + final DateTime timestamp; + + LivePhotoData copyWith({ + String? id, + String? imageUrl, + String? imagePath, + LivePhotoStatus? status, + DateTime? timestamp, + }) { + return LivePhotoData( + id: id ?? this.id, + imageUrl: imageUrl ?? this.imageUrl, + imagePath: imagePath ?? this.imagePath, + status: status ?? this.status, + timestamp: timestamp ?? this.timestamp, + ); + } +} + +enum LivePhotoStatus { + pending, + verified, + declined; + + static fromString(String value) { + return switch (value) { + 'pending' => pending, + 'verified' => verified, + _ => declined, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_api_provider.dart new file mode 100644 index 00000000..53285498 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_api_provider.dart @@ -0,0 +1,63 @@ +import 'dart:developer'; + +import 'package:http/http.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/profile/live_photo/data/gql_schemas.dart'; +import 'package:krow/features/profile/live_photo/data/models/live_photo_data.dart'; + +@injectable +class StaffLivePhotoApiProvider { + StaffLivePhotoApiProvider(this._client); + + final ApiClient _client; + + Stream getStaffLivePhotoWithCache() async* { + await for (var response in _client.queryWithCache( + schema: getStaffLivePhotoSchema, + )) { + if (response == null || response.data == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + yield LivePhotoData.fromJson( + response.data?['me'] as Map, + ); + } catch (except) { + log( + 'Exception in StaffInclusivityApiProvider ' + 'on getStaffLivePhotoWithCache()', + error: except, + ); + continue; + } + } + } + + Future uploadStaffLivePhoto(LivePhotoData data) async { + var result = await _client.mutate( + schema: uploadStaffLivePhotoSchema, + body: { + 'file': await MultipartFile.fromPath( + 'file', + data.imagePath ?? '', + ), + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!.isEmpty) { + throw Exception('Missing Live photo response from server'); + } + + return LivePhotoData.fromJson( + result.data?['upload_staff_live_photo'] as Map, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_repository_impl.dart new file mode 100644 index 00000000..655d0064 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/data/staff_live_photo_repository_impl.dart @@ -0,0 +1,23 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/live_photo/data/models/live_photo_data.dart'; +import 'package:krow/features/profile/live_photo/data/staff_live_photo_api_provider.dart'; +import 'package:krow/features/profile/live_photo/domain/staff_live_photo_repository.dart'; + +@Injectable(as: StaffLivePhotoRepository) +class StaffLivePhotoRepositoryImpl implements StaffLivePhotoRepository { + StaffLivePhotoRepositoryImpl({ + required StaffLivePhotoApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final StaffLivePhotoApiProvider _apiProvider; + + @override + Stream getStaffLivePhotoWithCache() { + return _apiProvider.getStaffLivePhotoWithCache(); + } + + @override + Future uploadStaffLivePhoto(LivePhotoData data) { + return _apiProvider.uploadStaffLivePhoto(data); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_bloc.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_bloc.dart new file mode 100644 index 00000000..838d6b55 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_bloc.dart @@ -0,0 +1,80 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/live_photo/data/models/live_photo_data.dart'; +import 'package:krow/features/profile/live_photo/domain/staff_live_photo_repository.dart'; + +part 'live_photo_event.dart'; + +part 'live_photo_state.dart'; + +class LivePhotoBloc extends Bloc { + LivePhotoBloc() : super(const LivePhotoState()) { + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + + try { + await for (final photoData + in _repository.getStaffLivePhotoWithCache()) { + emit( + state.copyWith( + status: StateStatus.idle, + photoData: photoData, + ), + ); + } + } catch (except) { + log( + except.toString(), + error: except, + ); + } + + emit(state.copyWith(status: StateStatus.idle)); + }); + + on((event, emit) async { + final photoData = LivePhotoData( + id: null, + imageUrl: null, + imagePath: event.newImagePath, + status: LivePhotoStatus.pending, + timestamp: DateTime.now(), + ); + + emit(state.copyWith(photoData: photoData)); + + try { + await _repository.uploadStaffLivePhoto(photoData); + } catch (except) { + log( + except.toString(), + error: except, + ); + + emit( + state.copyWith( + photoData: state.photoData?.copyWith( + status: LivePhotoStatus.declined, + ), + ), + ); + } + }); + + on((event, emit) async { + emit(state.removeCurrentPhoto(status: StateStatus.loading)); + + //TODO: Add photo deletion once backend implements the mutation + await Future.delayed(const Duration(seconds: 1)); + + emit(state.copyWith(status: StateStatus.idle)); + }); + } + + final StaffLivePhotoRepository _repository = + getIt(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_event.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_event.dart new file mode 100644 index 00000000..122a8db0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_event.dart @@ -0,0 +1,20 @@ +part of 'live_photo_bloc.dart'; + +@immutable +sealed class LivePhotoEvent { + const LivePhotoEvent(); +} + +class InitLivePhotoBloc extends LivePhotoEvent { + const InitLivePhotoBloc(); +} + +class AddNewPhotoEvent extends LivePhotoEvent { + const AddNewPhotoEvent({required this.newImagePath}); + + final String newImagePath; +} + +class DeleteCurrentPhotoEvent extends LivePhotoEvent { + const DeleteCurrentPhotoEvent(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_state.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_state.dart new file mode 100644 index 00000000..0797f1e8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/bloc/live_photo_state.dart @@ -0,0 +1,31 @@ +part of 'live_photo_bloc.dart'; + +@immutable +class LivePhotoState { + const LivePhotoState({ + this.status = StateStatus.idle, + this.photoData, + }); + + final StateStatus status; + final LivePhotoData? photoData; + + LivePhotoState copyWith({ + StateStatus? status, + LivePhotoData? photoData, + }) { + return LivePhotoState( + status: status ?? this.status, + photoData: photoData ?? this.photoData, + ); + } + + LivePhotoState removeCurrentPhoto({ + StateStatus? status, + }) { + return LivePhotoState( + status: status ?? this.status, + photoData: null, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/domain/staff_live_photo_repository.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/staff_live_photo_repository.dart new file mode 100644 index 00000000..5aa0b69d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/domain/staff_live_photo_repository.dart @@ -0,0 +1,7 @@ +import 'package:krow/features/profile/live_photo/data/models/live_photo_data.dart'; + +abstract class StaffLivePhotoRepository { + Stream getStaffLivePhotoWithCache(); + + Future uploadStaffLivePhoto(LivePhotoData data); +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/live_photo_screen.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/live_photo_screen.dart new file mode 100644 index 00000000..ae5c1744 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/live_photo_screen.dart @@ -0,0 +1,64 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/live_photo/domain/bloc/live_photo_bloc.dart'; +import 'package:krow/features/profile/live_photo/presentation/widgets/live_photo_display_card.dart'; +import 'package:krow/features/profile/live_photo/presentation/widgets/photo_requirements_card.dart'; + +@RoutePage() +class LivePhotoScreen extends StatelessWidget implements AutoRouteWrapper { + const LivePhotoScreen({super.key}); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => LivePhotoBloc()..add(const InitLivePhotoBloc()), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'live_photo'.tr(), + showNotification: true, + ), + body: ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + BlocBuilder( + buildWhen: (previous, current) => previous.status != current.status, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: const PhotoRequirementsCard(), + ); + }, + ), + const Gap(24), + BlocBuilder( + buildWhen: (previous, current) => + previous.photoData != current.photoData, + builder: (context, state) { + final photoData = state.photoData; + return AnimatedSwitcher( + duration: Durations.short4, + child: photoData == null + ? const SizedBox(height: 56) + : LivePhotoDisplayCard(photoData: photoData), + ); + }, + ), + const Gap(90), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/live_photo_display_card.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/live_photo_display_card.dart new file mode 100644 index 00000000..b0563d54 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/live_photo_display_card.dart @@ -0,0 +1,65 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/uploud_image_card.dart'; +import 'package:krow/features/profile/live_photo/domain/bloc/live_photo_bloc.dart'; +import 'package:krow/features/profile/live_photo/data/models/live_photo_data.dart'; + +class LivePhotoDisplayCard extends StatelessWidget { + const LivePhotoDisplayCard({ + super.key, + required this.photoData, + }); + + final LivePhotoData photoData; + + String _getPhotoStatus(LivePhotoStatus status) { + return switch (status) { + LivePhotoStatus.pending => 'Pending'.tr(), + LivePhotoStatus.verified => 'Verified'.tr(), + LivePhotoStatus.declined => 'Declined'.tr(), + }; + } + + Color _getPhotoStatusColor(LivePhotoStatus status) { + return switch (status) { + LivePhotoStatus.pending => AppColors.primaryBlue, + LivePhotoStatus.verified => AppColors.statusSuccess, + LivePhotoStatus.declined => AppColors.statusError, + }; + } + + @override + Widget build(BuildContext context) { + return UploadImageCard( + title: '${'Photo'.tr()} ${photoData.timestamp.toDayMonthYearString()}', + imageUrl: photoData.imageUrl, + localImagePath: photoData.imagePath, + message: _getPhotoStatus(photoData.status), + statusColor: _getPhotoStatusColor(photoData.status), + onDeleteTap: () { + context.read().add(const DeleteCurrentPhotoEvent()); + }, + onSelectImage: () { + ImagePicker() + .pickImage( + source: ImageSource.camera, + preferredCameraDevice: CameraDevice.front, + ) + .then( + (photo) { + if (photo == null || !context.mounted) return; + + context.read().add( + AddNewPhotoEvent(newImagePath: photo.path), + ); + }, + ); + }, + onTap: () {}, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/photo_requirements_card.dart b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/photo_requirements_card.dart new file mode 100644 index 00000000..b4c9cd0e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/live_photo/presentation/widgets/photo_requirements_card.dart @@ -0,0 +1,103 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/live_photo/domain/bloc/live_photo_bloc.dart'; + +class PhotoRequirementsCard extends StatelessWidget { + const PhotoRequirementsCard({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(12), + decoration: const BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.all( + Radius.circular(12), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'ensure_meet_requirements'.tr(), + style: AppTextStyles.bodyMediumMed, + ), + const Gap(12), + Column( + spacing: 8, + children: [ + for (int i = 0; i < requirementsData.length; i++) + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + height: 20, + width: 20, + alignment: Alignment.center, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.bgColorDark, + ), + child: Text( + '${i + 1}', + style: const TextStyle( + fontFamily: 'Poppins', + fontWeight: FontWeight.w500, + fontSize: 8, + color: AppColors.grayWhite, + ), + ), + ), + const Gap(8), + Expanded( + child: Text( + requirementsData[i].tr(), + style: AppTextStyles.bodySmallReg, + ), + ), + ], + ), + ], + ), + const Gap(16), + BlocSelector( + selector: (state) => state.photoData != null, + builder: (context, isPhotoTaken) { + return KwButton.primary( + label: isPhotoTaken?'take_new_photo'.tr():'take_photo'.tr(), + onPressed: () { + ImagePicker() + .pickImage( + source: ImageSource.camera, + preferredCameraDevice: CameraDevice.front, + ) + .then( + (photo) { + if (photo == null || !context.mounted) return; + + context.read().add( + AddNewPhotoEvent(newImagePath: photo.path), + ); + }, + ); + }, + ); + }, + ), + ], + ), + ); + } +} + +const requirementsData = [ + 'stand_in_well_lit_area', + 'ensure_face_visible', + 'avoid_filters_obstructions', +]; diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/data/gql_shemas.dart b/mobile-apps/staff-app/lib/features/profile/mobility/data/gql_shemas.dart new file mode 100644 index 00000000..cf9630cd --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/data/gql_shemas.dart @@ -0,0 +1,24 @@ +const String getStaffMobilityInfoSchema = ''' +query GetPersonalInfo { + me { + id + accessibility { + has_car + can_relocate + requires_accommodations + accommodation_details + } + } +} +'''; + +const String updateStaffMobilityMutationSchema = ''' +mutation UpdateStaffAccessibilityInfo(\$input: UpdateStaffAccessibilitiesInput!) { + update_staff_accessibilities(input: \$input) { + accessibility { + has_car + can_relocate + } + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/data/models/mobility_model.dart b/mobile-apps/staff-app/lib/features/profile/mobility/data/models/mobility_model.dart new file mode 100644 index 00000000..5c116343 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/data/models/mobility_model.dart @@ -0,0 +1,26 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class MobilityModel { + const MobilityModel({ + required this.hasACar, + required this.canRelocate, + }); + + factory MobilityModel.fromJson(Map json) { + return MobilityModel( + hasACar: json['has_car'] as bool? ?? false, + canRelocate: json['can_relocate'] as bool? ?? false, + ); + } + + final bool hasACar; + final bool canRelocate; + + Map toJson() { + return { + 'has_car': hasACar, + 'can_relocate': canRelocate, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_api_provider.dart new file mode 100644 index 00000000..23a376a9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_api_provider.dart @@ -0,0 +1,60 @@ +import 'dart:developer'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/profile/mobility/data/gql_shemas.dart'; +import 'package:krow/features/profile/mobility/data/models/mobility_model.dart'; + +@injectable +class StaffMobilityApiProvider { + StaffMobilityApiProvider(this._client); + + final ApiClient _client; + + Stream getStaffMobilityWithCache() async* { + await for (var response in _client.queryWithCache( + schema: getStaffMobilityInfoSchema, + )) { + if (response == null || response.data == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + yield MobilityModel.fromJson( + (response.data?['me'] as Map?)?['accessibility'] ?? + {}, + ); + } catch (except) { + log( + 'Exception in StaffMobilityApiProvider ' + 'on getStaffMobilityWithCache()', + error: except, + ); + continue; + } + } + } + + Future updateStaffMobilityInfo(MobilityModel data) async { + var result = await _client.mutate( + schema: updateStaffMobilityMutationSchema, + body: { + 'input': data.toJson(), + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + if (result.data == null || result.data!.isEmpty) return null; + + return MobilityModel.fromJson( + (result.data?['update_staff_accessibilities'] + as Map?)?['accessibility'] ?? + {}, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_repository.dart b/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_repository.dart new file mode 100644 index 00000000..5f4c4aa7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/data/staff_mobility_repository.dart @@ -0,0 +1,9 @@ +import 'package:krow/features/profile/mobility/data/models/mobility_model.dart'; + +abstract class StaffMobilityRepository { + Stream getStaffMobility(); + + Future updateStaffMobilityInfo( + MobilityModel data, + ); +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_bloc.dart b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_bloc.dart new file mode 100644 index 00000000..9177198a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_bloc.dart @@ -0,0 +1,86 @@ +import 'dart:developer'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/mobility/data/models/mobility_model.dart'; +import 'package:krow/features/profile/mobility/data/staff_mobility_repository.dart'; + +part 'mobility_event.dart'; +part 'mobility_state.dart'; + +class MobilityBloc extends Bloc { + MobilityBloc() : super(const MobilityState()) { + on((event, emit) async { + emit( + state.copyWith( + isInEditMode: event.isInEditMode, + status: event.isInEditMode ? StateStatus.loading : StateStatus.idle, + ), + ); + if (!state.isInEditMode) { + emit( + state.copyWith( + hasACar: true, + canRelocate: true, + ), + ); + return; + } + + try { + await for (final mobilityData + in getIt().getStaffMobility()) { + emit( + state.copyWith( + hasACar: mobilityData.hasACar, + canRelocate: mobilityData.canRelocate, + status: StateStatus.idle, + ), + ); + } + } catch (except) { + log(except.toString()); + } + + emit( + state.copyWith( + hasACar: state.hasACar ?? true, + canRelocate: state.canRelocate ?? true, + status: state.status == StateStatus.loading + ? StateStatus.idle + : state.status, + ), + ); + }); + + on((event, emit) { + emit(state.copyWith(hasACar: event.index == 0)); + }); + + on((event, emit) { + emit(state.copyWith(canRelocate: event.index == 0)); + }); + + on((event, emit) async { + emit(state.copyWith(status: StateStatus.loading)); + try { + await getIt().updateStaffMobilityInfo( + MobilityModel( + hasACar: state.hasACar ?? false, + canRelocate: state.canRelocate ?? false, + ), + ); + + //resave cached data + getIt().getStaffMobility(); + } catch (except) { + emit(state.copyWith(status: StateStatus.idle)); + log(except.toString()); + } + + emit(state.copyWith(status: StateStatus.success)); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_event.dart b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_event.dart new file mode 100644 index 00000000..c4bd86ec --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_event.dart @@ -0,0 +1,24 @@ +part of 'mobility_bloc.dart'; + +@immutable +sealed class MobilityEvent {} + +class InitializeMobilityEvent extends MobilityEvent { + InitializeMobilityEvent({required this.isInEditMode}); + + final bool isInEditMode; +} + +class ToggleCarAvailability extends MobilityEvent { + ToggleCarAvailability(this.index); + + final int index; +} + +class ToggleRelocationPossibility extends MobilityEvent { + ToggleRelocationPossibility(this.index); + + final int index; +} + +class SaveMobilityChanges extends MobilityEvent {} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_state.dart b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_state.dart new file mode 100644 index 00000000..2dfd14cf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/domain/bloc/mobility_state.dart @@ -0,0 +1,30 @@ +part of 'mobility_bloc.dart'; + +@immutable +class MobilityState { + const MobilityState({ + this.hasACar, + this.canRelocate, + this.isInEditMode = true, + this.status = StateStatus.idle, + }); + + final bool? hasACar; + final bool? canRelocate; + final bool isInEditMode; + final StateStatus status; + + MobilityState copyWith({ + bool? hasACar, + bool? canRelocate, + bool? isInEditMode, + StateStatus? status, + }) { + return MobilityState( + hasACar: hasACar ?? this.hasACar, + canRelocate: canRelocate ?? this.canRelocate, + isInEditMode: isInEditMode ?? this.isInEditMode, + status: status ?? this.status, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/domain/staff_mobility_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/mobility/domain/staff_mobility_repository_impl.dart new file mode 100644 index 00000000..b6dc59be --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/domain/staff_mobility_repository_impl.dart @@ -0,0 +1,23 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/mobility/data/models/mobility_model.dart'; +import 'package:krow/features/profile/mobility/data/staff_mobility_api_provider.dart'; +import 'package:krow/features/profile/mobility/data/staff_mobility_repository.dart'; + +@LazySingleton(as: StaffMobilityRepository) +class StaffMobilityRepositoryImpl extends StaffMobilityRepository { + StaffMobilityRepositoryImpl({ + required StaffMobilityApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final StaffMobilityApiProvider _apiProvider; + + @override + Stream getStaffMobility() { + return _apiProvider.getStaffMobilityWithCache(); + } + + @override + Future updateStaffMobilityInfo(MobilityModel data) { + return _apiProvider.updateStaffMobilityInfo(data); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/mobility/presentation/mobility_screen.dart b/mobile-apps/staff-app/lib/features/profile/mobility/presentation/mobility_screen.dart new file mode 100644 index 00000000..4d52b53a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/mobility/presentation/mobility_screen.dart @@ -0,0 +1,166 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/bool_extension.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/features/profile/mobility/domain/bloc/mobility_bloc.dart'; + +@RoutePage() +class MobilityScreen extends StatelessWidget implements AutoRouteWrapper { + const MobilityScreen({ + super.key, + this.isInEditMode = true, + }); + + final bool isInEditMode; + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => MobilityBloc() + ..add(InitializeMobilityEvent(isInEditMode: isInEditMode)), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'mobility'.tr(), + showNotification: false, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(4), + Text( + 'mobility_information'.tr(), + style: AppTextStyles.headingH1, + textAlign: TextAlign.start, + ), + const Gap(8), + Text( + 'help_us_understand_mobility'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + Padding( + padding: const EdgeInsets.only(left: 8, bottom: 16, top: 24), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + '1. ', + style: AppTextStyles.headingH3, + ), + Expanded( + child: Text( + 'do_you_have_a_car'.tr(), + style: AppTextStyles.headingH3, + ), + ) + ], + ), + ), + BlocSelector( + selector: (state) => state.hasACar, + builder: (context, hasACar) { + return KwOptionSelector( + selectedIndex: hasACar?.toInt(), + selectedColor: AppColors.blackDarkBgBody, + itemBorder: const Border.fromBorderSide( + BorderSide(color: AppColors.grayStroke), + ), + items: ['yes'.tr(), 'no'.tr()], + onChanged: (index) { + context + .read() + .add(ToggleCarAvailability(index)); + }, + ); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 8, bottom: 16, top: 24), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + '2. ', + style: AppTextStyles.headingH3, + ), + Expanded( + child: Text( + 'can_you_relocate'.tr(), + style: AppTextStyles.headingH3, + ), + ), + ], + ), + ), + BlocSelector( + selector: (state) => state.canRelocate, + builder: (context, canRelocate) { + return KwOptionSelector( + selectedColor: AppColors.blackDarkBgBody, + itemBorder: const Border.fromBorderSide( + BorderSide(color: AppColors.grayStroke), + ), + selectedIndex: canRelocate?.toInt(), + items: ['yes'.tr(), 'no'.tr()], + onChanged: (index) { + context + .read() + .add(ToggleRelocationPossibility(index)); + }, + ); + }, + ), + const Gap(90), + ], + ), + lowerWidget: BlocConsumer( + buildWhen: (previous, current) => previous.status != current.status, + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) { + if (isInEditMode) { + Navigator.pop(context); + } else { + context.router.push( + InclusiveRoute(isInEditMode: false), + ); + } + } + }, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: isInEditMode ? 'save_changes'.tr() : 'save_and_continue'.tr(), + onPressed: () { + context.read().add(SaveMobilityChanges()); + }, + ), + ); + }, + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/data/gql_schemas.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/data/gql_schemas.dart new file mode 100644 index 00000000..60b8fe77 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/data/gql_schemas.dart @@ -0,0 +1,35 @@ +import 'package:krow/core/application/clients/api/gql.dart'; + +const String getStaffPersonalInfoSchema = ''' +query GetPersonalInfo { + me { + id + first_name + last_name + middle_name + email + phone + status + avatar + } +} +'''; + +const String updateStaffMutationSchema = ''' +$staffFragment +mutation UpdateStaffPersonalInfo(\$input: UpdateStaffPersonalInfoInput!) { + update_staff_personal_info(input: \$input) { + ...StaffFields + } +} +'''; + +const String updateStaffMutationWithAvatarSchema = ''' +$staffFragment +mutation UpdateStaffPersonalInfo(\$input: UpdateStaffPersonalInfoInput!, \$file: Upload!) { + update_staff_personal_info(input: \$input) { + ...StaffFields + } + upload_staff_avatar(file: \$file) +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_api_source.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_api_source.dart new file mode 100644 index 00000000..41e64e8e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_api_source.dart @@ -0,0 +1,85 @@ +import 'dart:developer'; +import 'dart:io'; + +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:http/http.dart'; +import 'package:http_parser/http_parser.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/features/profile/personal_info/data/gql_schemas.dart'; + +@singleton +class StaffPersonalInfoApiProvider { + StaffPersonalInfoApiProvider(this._client); + + final ApiClient _client; + + Stream getMeWithCache() async* { + await for (var response in _client.queryWithCache( + schema: getStaffPersonalInfoSchema, + )) { + if (response == null || response.data == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + final staffData = response.data?['me'] as Map? ?? {}; + if (staffData.isEmpty) continue; + + yield Staff.fromJson(staffData); + } catch (except) { + log( + 'Exception in StaffApi on getMeWithCache()', + error: except, + ); + continue; + } + } + } + + Future updateStaffPersonalInfo({ + required String firstName, + required String? middleName, + required String lastName, + required String email, + String? avatarPath, + }) async { + MultipartFile? multipartFile; + if (avatarPath != null) { + var byteData = File(avatarPath).readAsBytesSync(); + + multipartFile = MultipartFile.fromBytes( + 'file', + byteData, + filename: '${DateTime.now().millisecondsSinceEpoch}.jpg', + contentType: MediaType('image', 'jpg'), + ); + } + + final QueryResult result = await _client.mutate( + schema: multipartFile != null + ? updateStaffMutationWithAvatarSchema + : updateStaffMutationSchema, + body: { + 'input': { + 'first_name': firstName, + 'middle_name': middleName, + 'last_name': lastName, + 'email': email, + }, + if (multipartFile != null) 'file': multipartFile, + }, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return Staff.fromJson( + (result.data as Map)['update_staff_personal_info'], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_repository.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_repository.dart new file mode 100644 index 00000000..afd0012f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/data/staff_repository.dart @@ -0,0 +1,13 @@ +import 'package:krow/core/data/models/staff/staff.dart'; + +abstract class StaffPersonalInfoRepository { + Stream getPersonalInfo(); + + Future updatePersonalInfo({ + required String firstName, + required String? middleName, + required String lastName, + required String email, + String? avatarPath, + }); +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_bloc.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_bloc.dart new file mode 100644 index 00000000..c9582abe --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_bloc.dart @@ -0,0 +1,217 @@ +import 'dart:developer'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:krow/core/application/common/validators/email_validator.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/email_verification/data/email_verification_service.dart'; +import 'package:krow/features/profile/personal_info/data/staff_repository.dart'; + +part 'personal_info_event.dart'; + +part 'personal_info_state.dart'; + +class PersonalInfoBloc extends Bloc { + PersonalInfoBloc() : super(const PersonalInfoState()) { + on(_onInitializeProfileInfoEvent); + + on(_onUpdateProfileImage); + + on(_onUpdateFirstName); + + on(_onUpdateLastName); + + on(_onUpdateMiddleName); + + on(_onUpdateEmail); + + on(_onUpdatePhoneNumber); + + on(_onUpdateEmailVerification); + + on(_onSaveProfileChanges); + } + + Future _onInitializeProfileInfoEvent( + InitializeProfileInfoEvent event, + Emitter emit, + ) async { + emit( + state.copyWith( + isInEditMode: event.isInEditMode, + status: event.isInEditMode ? StateStatus.loading : StateStatus.idle, + ), + ); + if (!state.isInEditMode) return; + + await for (final currentStaffData + in getIt().getPersonalInfo()) { + try { + emit( + state.copyWith( + firstName: currentStaffData.firstName, + lastName: currentStaffData.lastName, + middleName: currentStaffData.middleName, + email: currentStaffData.email, + phoneNumber: currentStaffData.phone, + profileImageUrl: currentStaffData.avatar, + isUpdateReceived: true, + status: StateStatus.idle, + ), + ); + } catch (except) { + log(except.toString()); + } finally { + emit(state.copyWith(isUpdateReceived: false)); + } + } + + if (state.status == StateStatus.loading) { + emit(state.copyWith(status: StateStatus.idle)); + } + } + + void _onUpdateProfileImage( + UpdateProfileImage event, + Emitter emit, + ) { + emit(state.copyWith(profileImagePath: event.imagePath)); + } + + void _onUpdateFirstName( + UpdateFirstName event, + Emitter emit, + ) { + emit( + state.copyWith( + firstName: event.firstName, + validationErrors: Map.from(state.validationErrors) + ..remove(ProfileRequiredField.firstName), + ), + ); + } + + void _onUpdateLastName( + UpdateLastName event, + Emitter emit, + ) { + emit( + state.copyWith( + lastName: event.lastName, + validationErrors: Map.from(state.validationErrors) + ..remove(ProfileRequiredField.lastName), + ), + ); + } + + void _onUpdateMiddleName( + UpdateMiddleName event, + Emitter emit, + ) { + emit(state.copyWith(middleName: event.middleName)); + } + + void _onUpdateEmail( + UpdateEmail event, + Emitter emit, + ) { + emit( + state.copyWith( + email: event.email, + validationErrors: Map.from(state.validationErrors) + ..remove(ProfileRequiredField.email), + ), + ); + } + + void _onUpdatePhoneNumber( + UpdatePhoneNumber event, + Emitter emit, + ) { + emit(state.copyWith(phoneNumber: event.phoneNumber)); + } + + void _onUpdateEmailVerification( + UpdateEmailVerificationStatus event, + Emitter emit, + ) { + emit( + state.copyWith( + isEmailVerified: event.isEmailVerified, + shouldRouteToVerification: false, + ), + ); + + if (state.isEmailVerified) { + add(const SaveProfileChanges(shouldSkipEmailVerification: true)); + } + } + + Future _onSaveProfileChanges( + SaveProfileChanges event, + Emitter emit, + ) async { + final errorsMap = state.invalidate(); + if (errorsMap.isNotEmpty) { + emit( + state.copyWith( + status: StateStatus.error, + validationErrors: errorsMap, + ), + ); + return; + } + + emit(state.copyWith(status: StateStatus.loading, validationErrors: {})); + + if (!event.shouldSkipEmailVerification) { + log('Verifying email'); + bool isEmailVerified = getIt() + .checkEmailForVerification(email: state.email); + log('Email verified: $isEmailVerified'); + emit( + state.copyWith( + isEmailVerified: isEmailVerified, + shouldRouteToVerification: !isEmailVerified, + ), + ); + + log('Should route to Verification ${state.shouldRouteToVerification}'); + if (!isEmailVerified) { + emit( + state.copyWith( + status: StateStatus.idle, + shouldRouteToVerification: false, + ), + ); + return; + } + log('Continuing with profile saving'); + } + + Staff? response; + try { + response = await getIt().updatePersonalInfo( + firstName: state.firstName, + middleName: state.middleName, + lastName: state.lastName, + email: state.email, + avatarPath: state.profileImagePath, + ); + } catch (except) { + log( + 'Error in PersonalInfoBloc. Event SaveProfileChanges', + error: except, + ); + } finally { + emit( + state.copyWith( + status: response != null ? StateStatus.success : StateStatus.idle, + ), + ); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_event.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_event.dart new file mode 100644 index 00000000..23b46f6c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_event.dart @@ -0,0 +1,60 @@ +part of 'personal_info_bloc.dart'; + +@immutable +sealed class PersonalInfoEvent { + const PersonalInfoEvent(); +} + +class InitializeProfileInfoEvent extends PersonalInfoEvent { + const InitializeProfileInfoEvent(this.isInEditMode); + + final bool isInEditMode; +} + +class UpdateProfileImage extends PersonalInfoEvent { + const UpdateProfileImage(this.imagePath); + + final String imagePath; +} + +class UpdateFirstName extends PersonalInfoEvent { + const UpdateFirstName(this.firstName); + + final String firstName; +} + +class UpdateLastName extends PersonalInfoEvent { + const UpdateLastName(this.lastName); + + final String lastName; +} + +class UpdateMiddleName extends PersonalInfoEvent { + const UpdateMiddleName(this.middleName); + + final String middleName; +} + +class UpdateEmail extends PersonalInfoEvent { + const UpdateEmail(this.email); + + final String email; +} + +class UpdatePhoneNumber extends PersonalInfoEvent { + const UpdatePhoneNumber(this.phoneNumber); + + final String phoneNumber; +} + +class UpdateEmailVerificationStatus extends PersonalInfoEvent { + const UpdateEmailVerificationStatus({required this.isEmailVerified}); + + final bool isEmailVerified; +} + +class SaveProfileChanges extends PersonalInfoEvent { + const SaveProfileChanges({this.shouldSkipEmailVerification = false}); + + final bool shouldSkipEmailVerification; +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_state.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_state.dart new file mode 100644 index 00000000..571de0d0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/bloc/personal_info_state.dart @@ -0,0 +1,81 @@ +part of 'personal_info_bloc.dart'; + +@immutable +class PersonalInfoState { + const PersonalInfoState({ + this.firstName = '', + this.lastName = '', + this.email = '', + this.phoneNumber = '', + this.middleName, + this.profileImageUrl, + this.profileImagePath, + this.isInEditMode = true, + this.isUpdateReceived = false, + this.status = StateStatus.idle, + this.validationErrors = const {}, + this.isEmailVerified = false, + this.shouldRouteToVerification = false, + }); + + final String firstName; + final String lastName; + final String email; + final String phoneNumber; + final String? middleName; + final String? profileImageUrl; + final String? profileImagePath; + final bool isInEditMode; + final bool isUpdateReceived; + final StateStatus status; + final Map validationErrors; + final bool isEmailVerified; + final bool shouldRouteToVerification; + + PersonalInfoState copyWith({ + String? firstName, + String? lastName, + String? email, + String? phoneNumber, + String? middleName, + String? profileImageUrl, + String? profileImagePath, + bool? isInEditMode, + bool? isUpdateReceived, + StateStatus? status, + Map? validationErrors, + bool? isEmailVerified, + bool? shouldRouteToVerification, + }) { + return PersonalInfoState( + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + email: email ?? this.email, + phoneNumber: phoneNumber ?? this.phoneNumber, + middleName: middleName ?? this.middleName, + profileImagePath: profileImagePath ?? this.profileImagePath, + profileImageUrl: profileImageUrl ?? this.profileImageUrl, + isInEditMode: isInEditMode ?? this.isInEditMode, + isUpdateReceived: isUpdateReceived ?? this.isUpdateReceived, + status: status ?? this.status, + validationErrors: validationErrors ?? this.validationErrors, + isEmailVerified: isEmailVerified ?? this.isEmailVerified, + shouldRouteToVerification: + shouldRouteToVerification ?? this.shouldRouteToVerification, + ); + } + + Map invalidate() { + final emailError = EmailValidator.validate(email, isRequired: true); + + return { + if (firstName.isEmpty) ProfileRequiredField.firstName: 'required_to_fill'.tr(), + if (lastName.isEmpty) ProfileRequiredField.lastName: 'required_to_fill'.tr(), + if (emailError != null) ProfileRequiredField.email: emailError, + if (profileImagePath == null && profileImageUrl == null) + ProfileRequiredField.avatar: 'required'.tr(), + }; + } +} + +enum ProfileRequiredField { firstName, lastName, email, avatar } diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/domain/staff_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/staff_repository_impl.dart new file mode 100644 index 00000000..531f226c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/domain/staff_repository_impl.dart @@ -0,0 +1,42 @@ +import 'dart:developer'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/features/profile/personal_info/data/staff_api_source.dart'; +import 'package:krow/features/profile/personal_info/data/staff_repository.dart'; + +@Singleton(as: StaffPersonalInfoRepository) +class StaffPersonalInfoRepositoryImpl implements StaffPersonalInfoRepository { + StaffPersonalInfoRepositoryImpl({ + required StaffPersonalInfoApiProvider staffApi, + }) : _staffApi = staffApi; + + final StaffPersonalInfoApiProvider _staffApi; + + @override + Stream getPersonalInfo() { + return _staffApi.getMeWithCache(); + } + + @override + Future updatePersonalInfo({ + required String firstName, + required String? middleName, + required String lastName, + required String email, + String? avatarPath, + }) { + try { + return _staffApi.updateStaffPersonalInfo( + firstName: firstName, + middleName: middleName, + lastName: lastName, + email: email, + avatarPath: avatarPath, + ); + } catch (exception) { + log((exception as Error).stackTrace.toString()); + rethrow; + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/personal_info_screen.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/personal_info_screen.dart new file mode 100644 index 00000000..53aba737 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/personal_info_screen.dart @@ -0,0 +1,118 @@ +import 'dart:developer'; + +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/personal_info/domain/bloc/personal_info_bloc.dart'; +import 'package:krow/features/profile/personal_info/presentation/widgets/personal_info_form.dart'; + +@RoutePage() +class PersonalInfoScreen extends StatelessWidget implements AutoRouteWrapper { + const PersonalInfoScreen({ + super.key, + this.isInEditMode = false, + }); + + final bool isInEditMode; + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => + PersonalInfoBloc()..add(InitializeProfileInfoEvent(isInEditMode)), + child: this, + ); + } + + bool _handleBuildWhen( + PersonalInfoState previous, + PersonalInfoState current, + ) { + return previous.status != current.status; + } + + bool _handleListenWhen( + PersonalInfoState previous, + PersonalInfoState current, + ) { + return previous.status != current.status || + previous.shouldRouteToVerification != current.shouldRouteToVerification; + } + + Future _handleListen( + BuildContext context, + PersonalInfoState state, + ) async { + if (state.shouldRouteToVerification) { + final isEmailVerified = await context.pushRoute( + EmailVerificationRoute( + verifiedEmail: state.email, + userPhone: state.phoneNumber, + ), + ); + + if (!context.mounted) return; + context.read().add( + UpdateEmailVerificationStatus( + isEmailVerified: isEmailVerified ?? false, + ), + ); + return; + } + + if (state.status == StateStatus.success && context.mounted) { + if (isInEditMode) { + context.maybePop(); + } else { + context.pushRoute( + EmergencyContactsRoute(isInEditMode: false), + ); + } + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Personal Information'.tr(), + showNotification: isInEditMode, + ), + body: SingleChildScrollView( + primary: false, + padding: const EdgeInsets.all(16), + child: PersonalInfoForm(isInEditMode: isInEditMode), + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16.0), + child: BlocConsumer( + buildWhen: _handleBuildWhen, + listenWhen: _handleListenWhen, + listener: _handleListen, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: isInEditMode ? 'save_changes'.tr() : 'save_and_continue'.tr(), + onPressed: () { + context + .read() + .add(const SaveProfileChanges()); + }, + ), + ); + }, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/widgets/personal_info_form.dart b/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/widgets/personal_info_form.dart new file mode 100644 index 00000000..be0367f5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/personal_info/presentation/widgets/personal_info_form.dart @@ -0,0 +1,174 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/profile_icon.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/personal_info/domain/bloc/personal_info_bloc.dart'; + +class PersonalInfoForm extends StatefulWidget { + const PersonalInfoForm({ + super.key, + required this.isInEditMode, + }); + + final bool isInEditMode; + + @override + State createState() => _PersonalInfoFormState(); +} + +class _PersonalInfoFormState extends State { + final _firstNameController = TextEditingController(); + final _lastNameController = TextEditingController(); + final _middleNameController = TextEditingController(); + final _emailController = TextEditingController(); + late final _bloc = context.read(); + + void _syncControllersWithState(PersonalInfoState state) { + _firstNameController.text = state.firstName; + _lastNameController.text = state.lastName; + _middleNameController.text = state.middleName ?? ''; + _emailController.text = state.email; + } + + @override + void initState() { + super.initState(); + + _syncControllersWithState(_bloc.state); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (!widget.isInEditMode) ...[ + const Gap(4), + Text( + 'lets_get_started'.tr(), + style: AppTextStyles.headingH1, + textAlign: TextAlign.start, + ), + const Gap(8), + Text( + 'tell_us_about_yourself'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.blackGray, + ), + textAlign: TextAlign.start, + ), + const Gap(24), + ], + BlocBuilder( + buildWhen: (previous, current) => + previous.profileImageUrl != current.profileImageUrl || + previous.validationErrors != current.validationErrors, + builder: (context, state) { + return ProfileIcon( + onChange: (imagePath) { + _bloc.add(UpdateProfileImage(imagePath)); + }, + imagePath: state.profileImagePath, + imageUrl: state.profileImageUrl, + showError: state.validationErrors + .containsKey(ProfileRequiredField.avatar), + ); + }, + ), + const Gap(8), + BlocConsumer( + buildWhen: (previous, current) { + return previous.status != current.status || + previous.validationErrors != current.validationErrors; + }, + listenWhen: (previous, current) => + previous.isUpdateReceived != current.isUpdateReceived, + listener: (_, state) { + if (!state.isUpdateReceived) return; + + _syncControllersWithState(state); + }, + builder: (context, state) { + return Column( + children: [ + KwTextInput( + title: 'first_name'.tr(), + hintText: 'enter_first_name'.tr(), + controller: _firstNameController, + keyboardType: TextInputType.name, + textInputAction: TextInputAction.next, + textCapitalization: TextCapitalization.sentences, + showError: state.validationErrors + .containsKey(ProfileRequiredField.firstName), + helperText: + state.validationErrors[ProfileRequiredField.firstName], + onChanged: (firstName) { + _bloc.add(UpdateFirstName(firstName)); + }, + ), + const Gap(8), + KwTextInput( + title: 'last_name'.tr(), + hintText: 'enter_last_name'.tr(), + controller: _lastNameController, + keyboardType: TextInputType.name, + textInputAction: TextInputAction.next, + textCapitalization: TextCapitalization.sentences, + showError: state.validationErrors + .containsKey(ProfileRequiredField.lastName), + helperText: + state.validationErrors[ProfileRequiredField.lastName], + onChanged: (lastName) { + _bloc.add(UpdateLastName(lastName)); + }, + ), + const Gap(8), + KwTextInput( + title: 'middle_name_optional'.tr(), + hintText: 'enter_middle_name'.tr(), + controller: _middleNameController, + keyboardType: TextInputType.name, + textInputAction: TextInputAction.next, + textCapitalization: TextCapitalization.sentences, + onChanged: (middleName) { + _bloc.add(UpdateMiddleName(middleName)); + }, + ), + const Gap(8), + KwTextInput( + title: 'email'.tr(), + hintText: 'email@website.com', + controller: _emailController, + keyboardType: TextInputType.emailAddress, + showError: state.validationErrors + .containsKey(ProfileRequiredField.email), + helperText: + state.validationErrors[ProfileRequiredField.email], + textInputAction: TextInputAction.done, + onChanged: (email) { + _bloc.add(UpdateEmail(email)); + }, + ), + // It is nor clear if we will need it in future. + // if (widget.isInEditMode) ...[ + // const Gap(8), + // KwPhoneInput( + // label: 'Phone', + // onChanged: (phoneNumber) { + // _bloc.add(UpdatePhoneNumber(phoneNumber)); + // }, + // ), + // ] + ], + ); + }, + ), + const Gap(40), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_api_provider.dart new file mode 100644 index 00000000..06741d06 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_api_provider.dart @@ -0,0 +1,48 @@ +import 'dart:developer'; + +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/profile_main/data/profile_gql.dart'; + +@injectable +class ProfileApiProvider { + final ApiClient _apiClient; + + ProfileApiProvider({required ApiClient apiClient}) : _apiClient = apiClient; + + Future> fetchUserProfileRoles() async { + var result = await _apiClient.query(schema: getStaffProfileRolesQuery); + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return result.data!['staff_roles'].map((e) { + return StaffRole.fromJson(e); + }).toList(); + } + + Stream getMeWithCache() async* { + await for (var response in _apiClient.queryWithCache(schema: getMeQuery)) { + if (response == null || response.data == null) continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + try { + final staffData = response.data?['me'] as Map? ?? {}; + if (staffData.isEmpty) continue; + + yield Staff.fromJson(staffData); + } catch (except) { + log( + 'Exception in StaffApi on getMeWithCache()', + error: except, + ); + continue; + } + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_gql.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_gql.dart new file mode 100644 index 00000000..389b7f24 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_gql.dart @@ -0,0 +1,36 @@ +import 'package:krow/core/application/clients/api/gql.dart'; + +const String getMeQuery = ''' +$staffFragment +query GetMe { + me { + id + ...StaffFields + } +} +'''; + +const String getStaffProfileRolesQuery = ''' +$skillFragment +query GetStaffRoles { + staff_roles { + id + skill { + ...SkillFragment + } + confirmed_uniforms { + id + skill_kit_id + photo + } + confirmed_equipments { + id + skill_kit_id + photo + } + level + experience + status + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_local_provider.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_local_provider.dart new file mode 100644 index 00000000..12696f49 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_local_provider.dart @@ -0,0 +1,54 @@ +import 'dart:convert'; +import 'package:injectable/injectable.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:firebase_auth/firebase_auth.dart'; + +@LazySingleton() +class ProfileLocalProvider { + Future _getUserId() async { + final user = FirebaseAuth.instance.currentUser; + if (user != null) { + return user.uid; + } else { + + throw Exception('No user logged in'); + } + } + + Future saveStaff(Staff staff) async { + final prefs = await SharedPreferences.getInstance(); + final userId = await _getUserId(); + final staffJson = jsonEncode(staff.toJson()); + await prefs.setString('cached_staff_$userId', staffJson); + } + + Future loadStaff() async { + final prefs = await SharedPreferences.getInstance(); + final userId = await _getUserId(); + final staffJson = prefs.getString('cached_staff_$userId'); + if (staffJson != null) { + return Staff.fromJson(jsonDecode(staffJson)); + } + return null; + } + + Future saveRoles(List roles) async { + final prefs = await SharedPreferences.getInstance(); + final userId = await _getUserId(); + final rolesJson = jsonEncode(roles.map((role) => role.toJson()).toList()); + await prefs.setString('cached_roles_$userId', rolesJson); + } + + Future?> loadRoles() async { + final prefs = await SharedPreferences.getInstance(); + final userId = await _getUserId(); + final rolesJson = prefs.getString('cached_roles_$userId'); + if (rolesJson != null) { + final List rolesList = jsonDecode(rolesJson); + return rolesList.map((json) => StaffRole.fromJson(json)).toList(); + } + return null; + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_repository_impl.dart new file mode 100644 index 00000000..4ba825d9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/data/profile_repository_impl.dart @@ -0,0 +1,36 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/profile_main/data/profile_api_provider.dart'; +import 'package:krow/features/profile/profile_main/data/profile_local_provider.dart'; +import 'package:krow/features/profile/profile_main/domain/profile_repository.dart'; + +@Injectable(as: ProfileRepository) +class ProfileRepositoryImpl extends ProfileRepository{ + final ProfileApiProvider _apiProvider; + final ProfileLocalProvider _cacheProvider; + + ProfileRepositoryImpl(this._apiProvider, this._cacheProvider); + + @override + Future> getUserProfileRoles() async{ + var roles = await _apiProvider.fetchUserProfileRoles(); + await cacheProfileRoles(roles); + return roles; + } + + @override + Future cacheProfileRoles(List roles) async{ + await _cacheProvider.saveRoles(roles); + } + + @override + Future?> getCachedProfileRoles() { + return _cacheProvider.loadRoles(); + } + + @override + Stream getUserProfile() { + return _apiProvider.getMeWithCache(); + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_bloc.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_bloc.dart new file mode 100644 index 00000000..25837b2d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_bloc.dart @@ -0,0 +1,57 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_event.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; +import 'package:krow/features/profile/profile_main/domain/menu_tree.dart'; +import 'package:krow/features/profile/profile_main/domain/profile_repository.dart'; + +class ProfileBloc extends Bloc { + final menuTree = MenuTree(); + + ProfileBloc() + : super(ProfileState( + menu: MenuRoutItem(), + roles: const [], + )) { + on(_onInit); + on(_onSelectMenu); + on(_onSwitchAvailability); + } + + void _onInit(ProfileEventInit event, emit) async { + var repo = getIt(); + var menu = menuTree.buildMenuTree(); + emit(state.copyWith( + menu: menu, + )); + + emit(state.copyWith( + roles: (await repo.getCachedProfileRoles()) + ?.map(mapRoleToRoleState) + .toList())); + + await for (var staff in repo.getUserProfile()) { + emit(state.copyWith( + staff: staff, + )); + } + + emit(state.copyWith( + roles: (await repo.getUserProfileRoles()) + .map(mapRoleToRoleState) + .toList())); + } + + RoleState mapRoleToRoleState(e) { + return RoleState( + name: e.skill!.name, experience: e.experience!, level: e.level!); + } + + void _onSelectMenu(ProfileEventSelectMenu event, emit) { + emit(state.copyWith(menu: event.item)); + } + + void _onSwitchAvailability(ProfileSwitchAvailability event, emit) { + emit(state.copyWith(isAvailableNow: event.available)); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_event.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_event.dart new file mode 100644 index 00000000..698f2ae6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_event.dart @@ -0,0 +1,19 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; + +@immutable +sealed class ProfileEvent {} + +class ProfileEventInit extends ProfileEvent {} + +class ProfileEventSelectMenu extends ProfileEvent { + ProfileEventSelectMenu({required this.item}); + + final MenuRoutItem item; +} + +class ProfileSwitchAvailability extends ProfileEvent { + ProfileSwitchAvailability({required this.available}); + + final bool available; +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_state.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_state.dart new file mode 100644 index 00000000..c6be2412 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/bloc/user_profile_state.dart @@ -0,0 +1,66 @@ + +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:krow/core/data/enums/staff_skill_enums.dart'; +import 'package:krow/core/data/models/staff/staff.dart'; + +@immutable +class ProfileState { + final List roles; + final Staff? staff; + final MenuRoutItem menu; + final bool isAvailableNow; + + const ProfileState({ + required this.menu, + this.staff, + this.roles = const [], + this.isAvailableNow = false, + }); + + ProfileState copyWith({ + MenuRoutItem? menu, + List? roles, + Staff? staff, + bool? isAvailableNow, + int? testField, + }) { + return ProfileState( + menu: menu ?? this.menu, + roles: roles ?? this.roles, + staff: staff ?? this.staff, + isAvailableNow: isAvailableNow ?? this.isAvailableNow, + ); + } +} + +//mock +class RoleState { + final String name; + final int experience; + final StaffSkillLevel level; + + RoleState( + {required this.name, required this.experience, required this.level}); +} + +class MenuRoutItem { + final String? title; + final SvgPicture? icon; + final bool showBadge; + final PageRouteInfo? route; + final VoidCallback? onTap; + MenuRoutItem? parent; + + List children; + + MenuRoutItem({ + this.title, + this.parent, + this.icon, + this.onTap, + this.showBadge = false, + this.route, + }) : children = []; +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/domain/menu_tree.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/menu_tree.dart new file mode 100644 index 00000000..d5a5dc15 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/menu_tree.dart @@ -0,0 +1,165 @@ +import 'package:flutter/foundation.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; + +class MenuTree { + final MenuRoutItem root; + final MenuRoutItem profileSettings; + final MenuRoutItem personalInfo; + final MenuRoutItem bankAccount; + final MenuRoutItem workSettings; + final MenuRoutItem workingArea; + final MenuRoutItem schedule; + final MenuRoutItem verificationCenter; + final MenuRoutItem certification; + final MenuRoutItem livePhoto; + final MenuRoutItem wagesForm; + final MenuRoutItem equipment; + final MenuRoutItem uniform; + final MenuRoutItem employeeResources; + final MenuRoutItem training; + final MenuRoutItem benefits; + final MenuRoutItem helpSupport; + final MenuRoutItem faq; + final MenuRoutItem termsConditions; + final MenuRoutItem contactSupport; + + MenuTree() + : root = MenuRoutItem(), + profileSettings = MenuRoutItem( + title: 'account_settings', + icon: Assets.images.userProfile.menu.profileCircle.svg(), + ), + personalInfo = MenuRoutItem( + title: 'profile_settings', + icon: Assets.images.userProfile.menu.userEdit.svg(), + route: const ProfileSettingsFlowRoute(), + ), + bankAccount = MenuRoutItem( + title: 'bank_account', + icon: Assets.images.userProfile.menu.emptyWallet.svg(), + route: const BankAccountFlowRoute(), + ), + workSettings = MenuRoutItem( + title: 'work_settings', + showBadge: true, + icon: Assets.images.userProfile.menu.briefcase.svg(), + ), + workingArea = MenuRoutItem( + title: 'working_area', + icon: Assets.images.userProfile.menu.map.svg(), + route: WorkingAreaRoute(), + ), + schedule = MenuRoutItem( + title: 'schedule', + icon: Assets.images.userProfile.menu.calendar.svg(), + route: ScheduleRoute(), + ), + verificationCenter = MenuRoutItem( + title: 'verification_center', + showBadge: true, + icon: Assets.images.userProfile.menu.shieldTick.svg(), + ), + certification = MenuRoutItem( + title: 'certification', + icon: Assets.images.userProfile.menu.medalStar.svg(), + route: const CertificatesRoute(), + ), + livePhoto = MenuRoutItem( + title: 'live_photo', + icon: Assets.images.userProfile.menu.gallery.svg(), + route: const LivePhotoRoute(), + ), + wagesForm = MenuRoutItem( + title: 'wages_form', + icon: Assets.images.userProfile.menu.note.svg(), + route: const WagesFormsFlowRoute(), + ), + equipment = MenuRoutItem( + title: 'equipment', + icon: Assets.images.userProfile.menu.pot.svg(), + route: RoleKitFlowRoute(roleKitType: RoleKitType.equipment), + ), + uniform = MenuRoutItem( + title: 'uniform', + icon: Assets.images.userProfile.menu.chef.svg(), + route: RoleKitFlowRoute(roleKitType: RoleKitType.uniform), + ), + employeeResources = MenuRoutItem( + title: 'employee_resources', + icon: Assets.images.userProfile.menu.star.svg(), + ), + training = MenuRoutItem( + title: 'training', + icon: Assets.images.userProfile.menu.teacher.svg(), + ), + benefits = MenuRoutItem( + title: 'benefits', + icon: Assets.images.userProfile.menu.star.svg(), + route: const BenefitsRoute(), + ), + helpSupport = MenuRoutItem( + title: 'help_support', + icon: Assets.images.userProfile.menu.message.svg(), + ), + faq = MenuRoutItem( + title: 'faq', + icon: Assets.images.userProfile.menu.helpCircle.svg(), + route: const FaqRoute(), + ), + termsConditions = MenuRoutItem( + title: 'terms_conditions', + icon: Assets.images.userProfile.menu.securitySafe.svg(), + ), + contactSupport = MenuRoutItem( + title: 'contact_support', + icon: Assets.images.userProfile.menu.headphone.svg(), + route: const SupportRoute(), + ); + + MenuRoutItem buildMenuTree() { + profileSettings.children.addAll( + [ + personalInfo..parent = profileSettings, + bankAccount..parent = profileSettings + ], + ); + workSettings.children.addAll( + [workingArea..parent = workSettings, schedule..parent = workSettings], + ); + verificationCenter.children.addAll( + [ + certification..parent = verificationCenter, + livePhoto..parent = verificationCenter, + equipment..parent = verificationCenter, + uniform..parent = verificationCenter + ], + ); + employeeResources.children.addAll( + [ + if (kDebugMode) benefits..parent = employeeResources + ], + ); + helpSupport.children.addAll( + [ + faq..parent = helpSupport, + contactSupport..parent = helpSupport + ], + ); + + root.children.addAll( + [ + profileSettings..parent = root, + workSettings..parent = root, + verificationCenter..parent = root, + employeeResources..parent = root, + helpSupport..parent = root, + ], + ); + + return root; + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/domain/profile_repository.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/profile_repository.dart new file mode 100644 index 00000000..6065a3e4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/domain/profile_repository.dart @@ -0,0 +1,14 @@ +import 'package:krow/core/data/models/staff/staff.dart'; +import 'package:krow/core/data/models/staff_role.dart'; + +abstract class ProfileRepository { + + + Stream getUserProfile(); + + Future?> getCachedProfileRoles(); + + Future cacheProfileRoles(List roles); + + Future> getUserProfileRoles(); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_flow_screen.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_flow_screen.dart new file mode 100644 index 00000000..c6f60104 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_flow_screen.dart @@ -0,0 +1,12 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class ProfileMainFlowScreen extends StatelessWidget { + const ProfileMainFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_screen.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_screen.dart new file mode 100644 index 00000000..df7f6a96 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/profile_main_screen.dart @@ -0,0 +1,141 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/restart_widget.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_bloc.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_event.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; +import 'package:krow/features/profile/profile_main/presentation/widgets/profile_menu_widget.dart'; +import 'package:krow/features/profile/profile_main/presentation/widgets/user_profile_card.dart'; + +@RoutePage() +class ProfileMainScreen extends StatefulWidget implements AutoRouteWrapper { + const ProfileMainScreen({super.key}); + + @override + State createState() => _ProfileMainScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => ProfileBloc()..add(ProfileEventInit()), + child: this, + ); + } +} + +class _ProfileMainScreenState extends State { + final ScrollController _scrollController = ScrollController(); + bool _isScrolled = false; + + @override + void initState() { + super.initState(); + _scrollController.addListener(_scrollListener); + } + + void _scrollListener() { + if (_scrollController.offset > 50 && !_isScrolled) { + setState(() { + _isScrolled = true; + }); + } else if (_scrollController.offset <= 50 && _isScrolled) { + setState(() { + _isScrolled = false; + }); + } + } + + @override + void dispose() { + _scrollController.dispose(); + super.dispose(); + } + + + @override + Widget build(BuildContext context) { + return Scaffold( + extendBodyBehindAppBar: true, + body: Stack( + children: [ + SingleChildScrollView( + controller: _scrollController, + physics: const ClampingScrollPhysics(), + child: BlocBuilder( + builder: (context, state) { + return Column( + children: [ + UserProfileCard(state: state), + ProfileMenuWidget(state: state), + ], + ); + }, + ), + ), + Positioned( + top: 0, + left: 0, + right: 0, + child: AppBar( + titleSpacing: 0, + leadingWidth: 0, + automaticallyImplyLeading: false, + title: _buildAppBar(context), + actionsPadding: EdgeInsets.zero, + elevation: 0, + backgroundColor: _isScrolled? AppColors.bgColorDark : Colors.transparent, + scrolledUnderElevation: 0, + + shadowColor: Colors.black, + ), + ), + ], + ), + ); + } + + Widget _buildAppBar(BuildContext context) { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text('Profile'.tr(), + style: Theme.of(context) + .textTheme + .headlineSmall + ?.copyWith(color: Colors.white)), + const Spacer(), + GestureDetector( + onTap: () async{ + context.setLocale( + context.locale == Locale('es') ? Locale('en') : Locale('es'), + ); + await Future.delayed(Duration(microseconds: 500)); + RestartWidget.restartApp(context); + }, + child: Row( + children: [ + Text(context.locale == Locale('en')?'ENG':'ESP',style: AppTextStyles.bodyMediumMed.copyWith(color: Colors.white)), + ], + ), + ), + Container( + width: 48, + height: 48, + alignment: Alignment.center, + child: Assets.images.appBar.notification.svg( + colorFilter: + const ColorFilter.mode(Colors.white, BlendMode.srcIn)), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/profile_menu_widget.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/profile_menu_widget.dart new file mode 100644 index 00000000..a0653752 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/profile_menu_widget.dart @@ -0,0 +1,188 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/app.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_bloc.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_event.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; + +class ProfileMenuWidget extends StatelessWidget { + final ProfileState state; + + const ProfileMenuWidget({super.key, required this.state}); + + @override + Widget build(BuildContext context) { + return SafeArea( + top: false, + child: AnimatedSize( + alignment: Alignment.topCenter, + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.only(top: 18), + child: Column( + children: [ + if (state.menu.parent != null && state.menu.title != null) + _buildCurrentMenuTitle(context), + for (var item in state.menu.children) ...[ + const Gap(6), + _buildMenuItem(item, context), + const Gap(6), + ], + const Gap(18), + if (state.menu.parent == null) ...[ + const Padding( + padding: EdgeInsets.only(left: 16, right: 16, bottom: 24), + child: Divider(color: AppColors.grayStroke), + ), + _buildLogOutItem(context), + const Gap(24), + ] + ], + ), + ), + ), + ); + } + + Widget _buildCurrentMenuTitle(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(bottom: 18.0, top: 6), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + GestureDetector( + onTap: () { + if (state.menu.parent != null) { + context + .read() + .add(ProfileEventSelectMenu(item: state.menu.parent!)); + } + }, + child: Container( + margin: const EdgeInsets.only(left: 16), + color: Colors.transparent, + height: 48, + width: 48, + child: Center(child: Assets.images.appBar.appbarLeading.svg()), + ), + ), + Expanded( + child: Text( + state.menu.title!.tr(), + + style: AppTextStyles.headingH2.copyWith( + color: AppColors.blackBlack, + ), + ), + ), + const Gap(64), + ], + ), + ); + } + + Widget _buildMenuItem(MenuRoutItem item, BuildContext context) { + return GestureDetector( + onTap: () { + if (item.children.isNotEmpty) { + context.read().add(ProfileEventSelectMenu(item: item)); + } else if (item.route != null) { + appRouter.push(item.route!); + return; + } else { + item.onTap?.call(); + } + }, + child: Container( + color: Colors.transparent, + child: Row( + children: [ + _buildMenuIcon(icon: item.icon!, showBadge: item.showBadge), + Expanded( + child: Text( + item.title?.tr() ?? '', + style: AppTextStyles.headingH3.copyWith( + color: AppColors.blackBlack, + ), + ), + ), + const Gap(16), + Assets.images.userProfile.chevron2.svg(), + const Gap(16), + ], + ), + ), + ); + } + + Widget _buildLogOutItem(BuildContext context) { + return GestureDetector( + onTap: () { + FirebaseAuth.instance.signOut(); + getIt().dropCache(); + appRouter.replace(const WelcomeRoute()); + }, + child: Row( + children: [ + _buildMenuIcon( + icon: Assets.images.userProfile.menu.logOut.svg(), + ), + Expanded( + child: Text( + 'log_out'.tr(), + style: AppTextStyles.headingH3.copyWith( + color: AppColors.statusError, + ), + ), + ), + const Gap(16), + ], + ), + ); + } + + Stack _buildMenuIcon({required SvgPicture icon, bool showBadge = false}) { + return Stack( + children: [ + Container( + margin: const EdgeInsets.symmetric(horizontal: 16), + height: 48, + width: 48, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.primaryYellow, + ), + child: Center( + child: icon, + ), + ), + if (showBadge) _buildBadge(), + ], + ); + } + + Widget _buildBadge() { + return Positioned( + right: 16, + child: Container( + height: 12, + width: 12, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: AppColors.statusError, + border: Border.all(color: AppColors.bgColorLight, width: 2), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_avatar_widget.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_avatar_widget.dart new file mode 100644 index 00000000..5820c73d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_avatar_widget.dart @@ -0,0 +1,136 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_image_animated_placeholder.dart'; + +class UserAvatarWidget extends StatelessWidget { + final String? imageUrl; + final String userName; + final double? rating; + + const UserAvatarWidget({ + super.key, + this.imageUrl, + required this.userName, + required this.rating, + }); + + @override + Widget build(BuildContext context) { + return Stack( + clipBehavior: Clip.none, + children: [ + _buildUserPhoto(imageUrl, userName), + _buildEditButton(context), + if(rating!=null && rating! > 0) + _buildUserRating(), + ], + ); + } + + Container _buildUserPhoto(String? imageUrl, String? userName) { + return Container( + width: 96, + height: 96, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.darkBgPrimaryFrame, + ), + child: ClipOval( + child: Image.network( + imageUrl ?? '', + fit: BoxFit.cover, + width: 96, + height: 96, + loadingBuilder: (context, child, chunkEvent) { + if (chunkEvent?.expectedTotalBytes == + chunkEvent?.cumulativeBytesLoaded) { + return child; + } + + return const KwAnimatedImagePlaceholder(); + }, + errorBuilder: (context, error, trace) { + return Center( + child: Text( + getInitials(userName), + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + ); + }, + ), + ), + ); + } + + Positioned _buildEditButton(BuildContext context) { + return Positioned( + bottom: 0, + left: -5, + child: GestureDetector( + onTap: () { + context.router.push(PersonalInfoRoute(isInEditMode: true)); + }, + child: Container( + width: 28, + height: 28, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + border: Border.all(color: AppColors.bgColorDark, width: 2), + ), + child: Center( + child: Assets.images.userProfile.editPhoto.svg(), + ), + ), + ), + ); + } + + _buildUserRating() { + return Positioned( + bottom: 0, + right: -20, + child: Container( + height: 28, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(14), + color: Colors.white, + border: Border.all(color: AppColors.bgColorDark, width: 2), + ), + child: Row( + children: [ + const SizedBox(width: 8), + Assets.images.userProfile.star.svg(width: 16, height: 16), + const SizedBox(width: 4), + Text( + rating.toString(), + style: AppTextStyles.bodyTinyMed.copyWith( + color: AppColors.bgColorDark, + ), + ), + const SizedBox(width: 8), + ], + ), + ), + ); + } + + String getInitials(String? name) { + try { + if (name == null || name.isEmpty) return ' '; + List nameParts = name.split(' '); + if (nameParts.length == 1) { + return nameParts[0].substring(0, 1).toUpperCase(); + } + return (nameParts[0][0] + nameParts[1][0]).toUpperCase(); + } catch (e) { + return ' '; + } + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_profile_card.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_profile_card.dart new file mode 100644 index 00000000..9abc774d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_profile_card.dart @@ -0,0 +1,187 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/app.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_bloc.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_event.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; +import 'package:krow/features/profile/profile_main/presentation/widgets/user_avatar_widget.dart'; +import 'package:krow/features/profile/profile_main/presentation/widgets/user_roles_widget.dart'; + +import '../../../../../core/presentation/widgets/restart_widget.dart'; + +class UserProfileCard extends StatefulWidget { + final ProfileState state; + + const UserProfileCard({super.key, required this.state}); + + @override + State createState() => _UserProfileCardState(); +} + +class _UserProfileCardState extends State { + @override + Widget build(BuildContext context) { + return Stack( + fit: StackFit.loose, + children: [ + _buildProfileBackground(context), + SafeArea( + bottom: false, + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const Gap(32+ kToolbarHeight), + UserAvatarWidget( + imageUrl: widget.state.staff?.avatar, + userName: + '${widget.state.staff?.firstName ?? ''} ${widget.state.staff?.lastName ?? ''}', + rating: widget.state.staff?.averageRating ?? 5, + ), + const Gap(16), + _buildUserInfo(context), + const Gap(24), + _buildAvailabilitySwitcher(context), + const Gap(8), + UserRolesWidget(roles: widget.state.roles), + const Gap(24), + ], + ), + ), + ) + ], + ); + } + + Column _buildUserInfo(BuildContext context) { + return Column( + children: [ + Text( + '${widget.state.staff?.firstName ?? ''} ${widget.state.staff?.lastName ?? ''}', + style: AppTextStyles.headingH3.copyWith(color: Colors.white), + textAlign: TextAlign.center, + ), + if (widget.state.staff?.email?.isNotEmpty ?? false) ...[ + const Gap(8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.userProfile.sms.svg(), + const Gap(4), + Text( + widget.state.staff!.email!, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.darkBgInactive), + ) + ], + ), + ], + if (widget.state.staff?.phone != null) ...[ + const Gap(8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Assets.images.userProfile.call.svg(), + const Gap(4), + Text( + widget.state.staff!.phone!, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.darkBgInactive), + ) + ], + ), + ] + ], + ); + } + + Widget _buildAppBar(BuildContext context) { + return Container( + height: 48, + margin: const EdgeInsets.symmetric(horizontal: 16), + // child: Row( + // crossAxisAlignment: CrossAxisAlignment.center, + // children: [ + // Text('Profile'.tr(), + // style: Theme.of(context) + // .textTheme + // .headlineSmall + // ?.copyWith(color: Colors.white)), + // const Spacer(), + // GestureDetector( + // onTap: () async{ + // context.setLocale( + // context.locale == Locale('es') ? Locale('en') : Locale('es'), + // ); + // await Future.delayed(Duration(microseconds: 500)); + // RestartWidget.restartApp(context); + // }, + // child: Row( + // children: [ + // Text(context.locale == Locale('en')?'ENG':'ESP',style: AppTextStyles.bodyMediumMed.copyWith(color: Colors.white)), + // ], + // ), + // ), + // Container( + // width: 48, + // height: 48, + // alignment: Alignment.center, + // child: Assets.images.appBar.notification.svg( + // colorFilter: + // const ColorFilter.mode(Colors.white, BlendMode.srcIn)), + // ), + // ], + // ), + ); + } + + Widget _buildProfileBackground(BuildContext context) { + return Positioned.fill( + child: ClipRRect( + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(12), + bottomRight: Radius.circular(12), + ), + child: Container( + width: MediaQuery.of(context).size.width, + color: AppColors.bgColorDark, + child: Assets.images.bg + .svg(fit: BoxFit.fitWidth, alignment: Alignment.topCenter), + ), + ), + ); + } + + Widget _buildAvailabilitySwitcher(BuildContext context) { + return Container( + height: 52, + margin: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.primaryDark, + child: Row( + children: [ + Text( + 'available_right_away'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: Colors.white, fontWeight: FontWeight.w500), + ), + const Spacer(), + CupertinoSwitch( + value: widget.state.isAvailableNow, + onChanged: (value) { + BlocProvider.of(context) + .add(ProfileSwitchAvailability(available: value)); + }, + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_roles_widget.dart b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_roles_widget.dart new file mode 100644 index 00000000..2f36ad2e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_main/presentation/widgets/user_roles_widget.dart @@ -0,0 +1,162 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/profile_main/domain/bloc/user_profile_state.dart'; + +class UserRolesWidget extends StatefulWidget { + final List roles; + + const UserRolesWidget({super.key, required this.roles}); + + @override + State createState() => _UserRolesWidgetState(); +} + +class _UserRolesWidgetState extends State { + int expandedIndex = -1; + + @override + Widget build(BuildContext context) { + return Container( + margin: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: KwBoxDecorations.primaryDark, + child: Column( + children: [ + const Gap(12), + Row( + children: [ + Text( + 'about_me'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: Colors.white, + ), + ), + const Spacer(), + GestureDetector( + onTap: () { + context.router.push(RoleRoute()); + }, + child: Assets.images.userProfile.editPhoto.svg( + height: 16, + width: 16, + colorFilter: + const ColorFilter.mode(Colors.white, BlendMode.srcIn), + ), + ), + ], + ), + if (widget.roles.isEmpty) const Gap(12), + for (var i = 0; i < widget.roles.length; i++) ...[ + _buildRole(i, context), + if (i != widget.roles.length - 1) ...[ + const Divider(color: AppColors.darkBgStroke), + ], + ] + ], + ), + ); + } + + Widget _buildRole(int index, BuildContext context) { + return Column( + children: [ + _buildRoleHeader(index, context, widget.roles[index].name), + _buildRoleExpandedInfo(expandedIndex == index, widget.roles[index]), + ], + ); + } + + GestureDetector _buildRoleHeader( + int index, + BuildContext context, + String roleName, + ) { + return GestureDetector( + onTap: () { + setState(() { + expandedIndex = expandedIndex == index ? -1 : index; + }); + }, + child: Container( + padding: const EdgeInsets.only(bottom: 12, top: 12), + color: Colors.transparent, + child: Row( + children: [ + Text( + roleName, + style: (expandedIndex == index + ? AppTextStyles.captionBold + : AppTextStyles.captionReg) + .copyWith( + color: Colors.white, + ), + ), + const Spacer(), + AnimatedRotation( + turns: expandedIndex == index ? 0.5 : 0, + duration: const Duration(milliseconds: 200), + child: (expandedIndex == index + ? Assets.images.userProfile.chevronDownSelected + : Assets.images.userProfile.chevronDown) + .svg(), + ) + ], + ), + ), + ); + } + + Widget _buildRoleExpandedInfo(bool isExpanded, RoleState role) { + return AnimatedSize( + alignment: Alignment.topCenter, + duration: const Duration(milliseconds: 200), + curve: Curves.easeInOut, + child: isExpanded + ? Column( + children: [ + _buildRoleTextRow('${'role'.tr()}:', role.name), + _buildRoleTextRow('${'experience'.tr()}:', + '${role.experience} ${'years'.tr()}'), + _buildRoleTextRow('level:', role.level.name.capitalize()), + ], + ) + : SizedBox( + height: 0, + width: MediaQuery.of(context).size.width, + ), + ); + } + + Widget _buildRoleTextRow(String key, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Row(children: [ + Text( + key, + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.darkBgInactive, + ), + ), + Expanded( + child: Text( + value, + maxLines: 1, + textAlign: TextAlign.end, + overflow: TextOverflow.ellipsis, + style: AppTextStyles.bodySmallMed.copyWith( + color: Colors.white, + ), + ), + ), + ]), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_bloc.dart b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_bloc.dart new file mode 100644 index 00000000..fe771bf1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_bloc.dart @@ -0,0 +1,16 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/auth_state_service/auth_service.dart'; +import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_event.dart'; +import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_state.dart'; + +class ProfileSettingsBloc + extends Bloc { + ProfileSettingsBloc() : super(const ProfileSettingsState()) { + on((event, emit) async { + await getIt().deleteAccount(); + + emit(state.copyWith(isAccRemoved: true)); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_event.dart b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_event.dart new file mode 100644 index 00000000..6adfed03 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_event.dart @@ -0,0 +1,6 @@ +import 'package:flutter/foundation.dart'; + +@immutable +sealed class ProfileSettingsEvent {} + +class ProfileSettingsRemoveAccEvent extends ProfileSettingsEvent {} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_state.dart b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_state.dart new file mode 100644 index 00000000..c1606ab4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_settings/domain/bloc/profile_settings_state.dart @@ -0,0 +1,16 @@ +import 'package:flutter/foundation.dart'; + +@immutable +class ProfileSettingsState { + final bool isAccRemoved; + + const ProfileSettingsState({this.isAccRemoved = false}); + + ProfileSettingsState copyWith({ + bool? isAccRemoved, + }) { + return ProfileSettingsState( + isAccRemoved: isAccRemoved ?? this.isAccRemoved, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_setting_menu_screen.dart b/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_setting_menu_screen.dart new file mode 100644 index 00000000..a500303e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_setting_menu_screen.dart @@ -0,0 +1,157 @@ +import 'package:auto_route/auto_route.dart'; + import 'package:flutter/material.dart'; + import 'package:flutter_bloc/flutter_bloc.dart'; + import 'package:krow/app.dart'; + import 'package:krow/core/application/routing/routes.gr.dart'; + import 'package:krow/core/presentation/gen/assets.gen.dart'; + import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; + import 'package:krow/core/presentation/styles/kw_text_styles.dart'; + import 'package:krow/core/presentation/styles/theme.dart'; + import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; + import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; + import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; + import 'package:easy_localization/easy_localization.dart'; + import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_bloc.dart'; + import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_event.dart'; + import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_state.dart'; + + @RoutePage() + class ProfileSettingsMenuScreen extends StatelessWidget { + const ProfileSettingsMenuScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocListener( + listener: (context, state) { + if (state.isAccRemoved) { + appRouter.replace(const SplashRoute()); + } + }, + child: Scaffold( + appBar: KwAppBar( + titleText: 'profile_settings'.tr(), + showNotification: true, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'personal_info'.tr(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionGreen), + ), + _buildMenuItem( + context: context, + title: 'roles'.tr(), + rout: RoleRoute(), + ), + _buildMenuItem( + context: context, + title: 'personal_info'.tr(), + rout: PersonalInfoRoute(isInEditMode: true)), + _buildMenuItem( + context: context, + title: 'address'.tr(), + rout: AddressRoute(), + ), + _buildMenuItem( + context: context, + title: 'emergency_contact'.tr(), + rout: EmergencyContactsRoute(), + ), + _buildMenuItem( + context: context, + title: 'mobility'.tr(), + rout: MobilityRoute(), + ), + _buildMenuItem( + context: context, + title: 'inclusive'.tr(), + rout: InclusiveRoute(), + ), + ], + ), + lowerWidget: _buildRemoveAccountButton(context)), + ), + ); + } + + _buildRemoveAccountButton(BuildContext context) { + return Container( + margin: const EdgeInsets.only(top: 8), + height: 56, + decoration: KwBoxDecorations.primaryLight8, + child: Material( + type: MaterialType.transparency, + child: InkWell( + onTap: () { + _showDeleteAccDialog(context); + }, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 12), + child: Row( + children: [ + Text( + 'remove_my_account'.tr(), + style: AppTextStyles.headingH3 + .copyWith(color: AppColors.statusError), + ), + ], + ), + ), + ), + ), + ); + } + + _buildMenuItem( + {required BuildContext context, required String title, required rout}) { + return Container( + margin: const EdgeInsets.only(top: 8), + height: 56, + decoration: KwBoxDecorations.primaryLight8, + child: Material( + type: MaterialType.transparency, + child: InkWell( + onTap: () { + AutoRouter.of(context).push(rout); + }, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 12), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + title, + style: AppTextStyles.headingH3, + ), + ), + Assets.images.icons.caretRight.svg(height: 24, width: 24) + ], + ), + ), + ), + ), + ); + } + + void _showDeleteAccDialog(BuildContext context) { + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'are_you_sure_delete_account'.tr(), + message: 'delete_account_warning'.tr(), + primaryButtonLabel: 'delete_account'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + BlocProvider.of(context) + .add(ProfileSettingsRemoveAccEvent()); + }); + } + } \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_settings_flow_screen.dart b/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_settings_flow_screen.dart new file mode 100644 index 00000000..dd5bc150 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/profile_settings/presentation/profile_settings_flow_screen.dart @@ -0,0 +1,18 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/profile_settings/domain/bloc/profile_settings_bloc.dart'; + +@RoutePage() +class ProfileSettingsFlowScreen extends StatelessWidget { + const ProfileSettingsFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return MultiBlocProvider(providers: [ + BlocProvider( + create: (context) => ProfileSettingsBloc(), + ), + ], child: const AutoRouter()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/data/gql.dart b/mobile-apps/staff-app/lib/features/profile/role/data/gql.dart new file mode 100644 index 00000000..74cf8acc --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/data/gql.dart @@ -0,0 +1,11 @@ +const String attachStaffRolesMutation = r''' + mutation AttachStaffRoles($roles: [AttachStaffSkillInput!]!) { + attach_staff_roles(roles: $roles){} + } + '''; + +const String detachStaffRolesMutation = r''' + mutation DetachStaffRoles($ids: [ID!]!) { + detach_staff_roles(ids: $ids) + } + '''; diff --git a/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_api.dart b/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_api.dart new file mode 100644 index 00000000..1914cb7d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_api.dart @@ -0,0 +1,65 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/gql.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role/data/gql.dart'; + +@injectable +class StaffRoleApiProvider { + final ApiClient _apiClient; + + StaffRoleApiProvider(this._apiClient); + + Future> fetchStaffRoles() async { + var result = await _apiClient.query(schema: getStaffRolesQuery); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return result.data!['staff_roles'].map((e) { + return StaffRole.fromJson(e); + }).toList(); + } + + Future> fetchSkills() { + return _apiClient.query(schema: getSkillsQuery).then((result) { + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return result.data!['skills'].map((e) { + return Skill.fromJson(e); + }).toList(); + }); + } + + Future saveStaffRole(StaffRole role) { + return _apiClient.mutate(schema: attachStaffRolesMutation, body: { + 'roles': [ + { + 'level': role.level.toString().split('.').last, + 'experience': role.experience, + 'skill_id': role.skill!.id, + } + ], + }).then((result) { + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return ''; + }); + } + + Future deleteStaffRole(StaffRole role) { + return _apiClient.mutate(schema: detachStaffRolesMutation, body: { + 'ids': [role.skill?.id], + }).then((result) { + if (result.hasException) { + throw Exception(result.exception.toString()); + } + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_repository_impl.dart new file mode 100644 index 00000000..e0d0fee8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/data/staff_role_repository_impl.dart @@ -0,0 +1,32 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role/data/staff_role_api.dart'; +import 'package:krow/features/profile/role/domain/staff_role_repository.dart'; + +@Injectable(as: StaffRoleRepository) +class StaffRoleRepositoryImpl extends StaffRoleRepository { + final StaffRoleApiProvider _staffRoleApi; + + StaffRoleRepositoryImpl(this._staffRoleApi); + + @override + Future> getStaffRole() async { + return _staffRoleApi.fetchStaffRoles(); + } + + @override + Future> getSkills() { + return _staffRoleApi.fetchSkills(); + } + + @override + Future saveStaffRole(StaffRole role) { + return _staffRoleApi.saveStaffRole(role); + } + + @override + Future deleteStaffRole(StaffRole role) { + return _staffRoleApi.deleteStaffRole(role); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_bloc.dart b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_bloc.dart new file mode 100644 index 00000000..e0e9603f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_bloc.dart @@ -0,0 +1,99 @@ +import 'dart:async'; + +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/staff_skill_enums.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_event.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_state.dart'; +import 'package:krow/features/profile/role/domain/staff_role_repository.dart'; + +class RoleBloc extends Bloc { + List? skills; + List staffRoles = []; + + RoleBloc() : super(const RoleState(staffRoles: [], isLoading: true)) { + on(_onFetch); + on(_onSelect); + on(_onSpawn); + on(_onDelete); + on(_onUpdate); + on(_onSaveChanges); + } + + FutureOr _onFetch(event, emit) async { + staffRoles = await getIt().getStaffRole(); + skills = await getIt().getSkills(); + var availableSkills = skills! + .where((e) => !staffRoles.any((r) => r.skill?.id == e.id)) + .toList(); + emit(RoleState( + staffRoles: staffRoles, skills: availableSkills, isLoading: false)); + + if (staffRoles.isEmpty) { + var staffRole = StaffRole( + id: DateTime.now().toIso8601String(), + level: StaffSkillLevel.beginner, + experience: 1); + emit(state.copyWith(editedRole: staffRole, staffRoles: [staffRole])); + } + } + + FutureOr _onSelect(RoleSelectEvent event, emit) async { + emit(state.copyWith(editedRole: event.editedRole)); + } + + FutureOr _onSpawn(event, emit) async { + var newRole = StaffRole( + id: DateTime.now().toIso8601String(), + level: StaffSkillLevel.beginner, + experience: 1); + emit(state.copyWith( + editedRole: newRole, staffRoles: [...state.staffRoles, newRole])); + } + + FutureOr _onDelete(RoleDeleteEvent event, emit) async { + emit(state.copyWith(isLoading: true)); + if (event.role.status != null) { + await getIt().deleteStaffRole(event.role); + } + var roles = state.staffRoles.where((e) => e != event.role).toList(); + var availableSkills = + skills!.where((e) => !roles.any((r) => r.skill?.id == e.id)).toList(); + + emit(state.copyWith( + editedRole: + event.role.id == state.editedRole?.id ? null : state.editedRole, + staffRoles: roles, + skills: availableSkills, + isLoading: false)); + } + + FutureOr _onUpdate(RoleUpdateEvent event, emit) async { + var roles = state.staffRoles + .map((e) => e.id == event.role.id ? event.role : e) + .toList(); + + var availableSkills = + skills!.where((e) => !roles.any((r) => r.skill?.id == e.id)).toList(); + emit(state.copyWith( + staffRoles: roles, editedRole: event.role, skills: availableSkills)); + } + + Future _onSaveChanges(RoleSaveChangesEvent event, emit) async { + emit(state.copyWith(isLoading: true)); + await getIt().saveStaffRole(event.role); + + List roles = state.staffRoles + .map((e) => e.id == event.role.id + ? event.role.copyWith(status: StaffSkillStatus.pending) + : e) + .toList(); + emit(state.copyWith( + staffRoles: roles, + isLoading: false, + editedRole: StaffRole.empty(), + )); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_event.dart b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_event.dart new file mode 100644 index 00000000..13b61b0d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_event.dart @@ -0,0 +1,37 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/core/data/models/staff_role.dart'; + +@immutable +sealed class RoleEvent {} + +class RoleFetchEvent extends RoleEvent { + RoleFetchEvent(); +} + +class RoleSelectEvent extends RoleEvent { + final StaffRole editedRole; + + RoleSelectEvent(this.editedRole); +} + +class RoleSpawnEvent extends RoleEvent { + RoleSpawnEvent(); +} + +class RoleDeleteEvent extends RoleEvent { + final StaffRole role; + + RoleDeleteEvent(this.role); +} + +class RoleUpdateEvent extends RoleEvent { + final StaffRole role; + + RoleUpdateEvent(this.role); +} + +class RoleSaveChangesEvent extends RoleEvent { + final StaffRole role; + + RoleSaveChangesEvent(this.role); +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_state.dart b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_state.dart new file mode 100644 index 00000000..46942446 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/domain/bloc/role_state.dart @@ -0,0 +1,31 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; + +@immutable +class RoleState { + final bool isLoading; + final List staffRoles; + final List skills; + final StaffRole? editedRole; + + const RoleState( + {required this.staffRoles, + this.editedRole, + this.isLoading = false, + this.skills = const []}); + + copyWith({ + List? staffRoles, + StaffRole? editedRole, + bool? isLoading, + List? skills, + }) { + return RoleState( + staffRoles: staffRoles ?? this.staffRoles, + editedRole: editedRole ?? this.editedRole, + isLoading: isLoading ?? this.isLoading, + skills: skills ?? this.skills, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/domain/staff_role_repository.dart b/mobile-apps/staff-app/lib/features/profile/role/domain/staff_role_repository.dart new file mode 100644 index 00000000..8fca3c40 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/domain/staff_role_repository.dart @@ -0,0 +1,12 @@ +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; + +abstract class StaffRoleRepository { + Future> getStaffRole(); + + Future> getSkills(); + + Future saveStaffRole(StaffRole role); + + Future deleteStaffRole(StaffRole role); +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/presentation/role_screen.dart b/mobile-apps/staff-app/lib/features/profile/role/presentation/role_screen.dart new file mode 100644 index 00000000..439cd6a1 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/presentation/role_screen.dart @@ -0,0 +1,118 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_bloc.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_event.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_state.dart'; +import 'package:krow/features/profile/role/presentation/widgets/role_card_widget.dart'; +import 'package:krow/features/profile/role/presentation/widgets/role_edit_card_widget.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class RoleScreen extends StatelessWidget implements AutoRouteWrapper { + final bool isInEditMode; + + const RoleScreen({ + super.key, + this.isInEditMode = true, + }); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'role'.tr(), + centerTitle: true, + ), + body: BlocBuilder( + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.isLoading, + child: ScrollLayoutHelper( + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Gap(36), + Text('select_u_role'.tr(), + style: AppTextStyles.headingH1), + const Gap(8), + Text( + 'what_u_area'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray)), + const SizedBox(height: 12), + Column( + children: [ + ...state.staffRoles.indexed.toList().map( + (e) { + var (index, role) = e; + return Container( + decoration: KwBoxDecorations.primaryLight12, + padding: const EdgeInsets.only( + top: 12, left: 12, right: 12), + margin: const EdgeInsets.only(bottom: 12), + child: AnimatedSize( + alignment: Alignment.topCenter, + duration: const Duration(milliseconds: 200), + child: state.editedRole == role + ? RoleEditCardWidget( + role: role, + index: index, + skills: state.skills, + mustShowWarningDialog: isInEditMode, + canDelete: + state.staffRoles.length > 1) + : RoleCard( + role: role, + index: index, + canDelete: + state.staffRoles.length > 1))); + }, + ), + const Gap(12), + if (!state.isLoading) + KwButton.outlinedPrimary( + label: 'add_role'.tr(), + onPressed: () { + context.read().add(RoleSpawnEvent()); + }, + ), + ], + ) + ], + ), + lowerWidget: isInEditMode + ? const SizedBox.shrink() + : Padding( + padding: const EdgeInsets.only(bottom: 20, top: 24), + child: KwButton.primary( + label: 'save_and_continue'.tr(), onPressed: () { + context.router.replace(const SplashRoute()); + }), + ), + ), + ); + }, + ), + ); + } + + + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => RoleBloc()..add(RoleFetchEvent()), + child: this, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/exp_slider_widget.dart b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/exp_slider_widget.dart new file mode 100644 index 00000000..2f7b38aa --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/exp_slider_widget.dart @@ -0,0 +1,195 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_xlider/flutter_xlider.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ExpSliderWidget extends StatefulWidget { + final int initialValue; + final ValueChanged? onChanged; + + const ExpSliderWidget({ + super.key, + this.initialValue = 1, + this.onChanged, + }); + + @override + State createState() => _ExpSliderWidgetState(); +} + +class _ExpSliderWidgetState extends State { + late double _value; + + @override + void initState() { + super.initState(); + _value = widget.initialValue.toDouble(); + _value = _value.clamp(1, 20); + } + + @override + void didUpdateWidget(covariant ExpSliderWidget oldWidget) { + _value = widget.initialValue.toDouble(); + _value = _value.clamp(1, 20); + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.only(top: 12, bottom: 12), + margin: const EdgeInsets.only(bottom: 24), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: AppColors.grayStroke, + width: 1, + ), + color: AppColors.graySecondaryFrame, + ), + child: Column( + children: [ + const Gap(24), + FlutterSlider( + min: 1, + max: 20, + handlerHeight: 26, + handlerWidth: 26, + tooltip: FlutterSliderTooltip( + alwaysShowTooltip: true, + custom: (value) { + return _SliderTooltip( + text: value.toStringAsFixed(0), + ); + }), + handler: FlutterSliderHandler( + child: Container( + decoration: const BoxDecoration( + color: AppColors.grayWhite, + shape: BoxShape.circle, + ), + child: Center( + child: Container( + height: 16, + width: 16, + decoration: const BoxDecoration( + color: AppColors.bgColorDark, + shape: BoxShape.circle, + )), + ), + )), + trackBar: FlutterSliderTrackBar( + activeTrackBarHeight: 12, + inactiveTrackBarHeight: 12, + inactiveTrackBar: BoxDecoration( + borderRadius: BorderRadius.circular(6), + color: AppColors.grayTintStroke, + ), + activeTrackBar: BoxDecoration( + borderRadius: BorderRadius.circular(6), + color: AppColors.bgColorDark, + ), + ), + values: [_value], + onDragging: (handlerIndex, lowerValue, upperValue) { + // setState(() { + // _value = lowerValue; + // }); + widget.onChanged?.call(lowerValue.toInt()); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 12, right: 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '1 ${'year'.tr()}', + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.blackCaptionGreen), + ), + Text( + '20 ${'years'.tr()}', + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.blackCaptionGreen), + ), + ], + ), + ) + ], + ), + ); + } +} + +class _SliderTooltip extends StatelessWidget { + final String text; + + const _SliderTooltip({ + required this.text, + }); + + @override + Widget build(BuildContext context) { + return Transform.translate( + offset: const Offset(0, -30), + child: Container( + alignment: Alignment.centerLeft, + width: 50, + height: 36, + child: CustomPaint( + painter: TooltipPainter(), + child: Center( + child: Padding( + padding: const EdgeInsets.only(bottom: 10), + child: Text( + '$text y', + textAlign: TextAlign.center, + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.grayWhite, + ), + ), + ), + ), + ), + ), + ); + } +} + +class TooltipPainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { + final paint = Paint()..color = const Color(0xFF001F2D); + final path = Path(); + + path.addRRect( + RRect.fromRectAndRadius( + const Rect.fromLTWH(0, 0, 48, 30), + const Radius.circular(15), + ), + ); + + const double triangleWidth = 10; + const double triangleHeight = 6; + const double centerX = 24; + + path.moveTo(centerX - triangleWidth / 2, 30); + path.quadraticBezierTo( + centerX, + 40 + triangleHeight / 3, + centerX + triangleWidth / 2, + 30, + ); + path.close(); + + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return false; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_card_widget.dart b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_card_widget.dart new file mode 100644 index 00000000..9215928f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_card_widget.dart @@ -0,0 +1,132 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/int_extensions.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/data/enums/staff_skill_enums.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_bloc.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_event.dart'; + +class RoleCard extends StatelessWidget { + final StaffRole role; + final int index; + + final bool canDelete; + + const RoleCard({ + super.key, + required this.role, + required this.index, + required this.canDelete, + }); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${(index + 1).toOrdinal()} ${'role_details'.tr()}', + style: AppTextStyles.bodyMediumMed, + ), + if (role.status != null) _buildStatus(), + ], + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildRoleTextInfo(context, '${'role'.tr()}:', role.skill?.name), + _buildRoleTextInfo( + context, '${'experience'.tr()}:', '${role.experience} ${'years'.tr()}'), + _buildRoleTextInfo(context, '${'level'.tr()}:', role.level?.name), + ], + ), + const SizedBox(height: 24), + Row( + children: [ + Expanded( + child: KwButton.outlinedPrimary( + label: 'edit_role'.tr(), + onPressed: () { + BlocProvider.of(context).add( + RoleSelectEvent(role), + ); + }, + leftIcon: Assets.images.icons.edit, + ), + ), + if (canDelete) ...[ + const Gap(8), + KwButton.outlinedPrimary( + fit: KwButtonFit.circular, + onPressed: () { + BlocProvider.of(context).add( + RoleDeleteEvent(role), + ); + }, + leftIcon: Assets.images.icons.delete) + .copyWith(color: AppColors.statusError), + ], + ], + ), + const Gap(12), + ], + ); + } + + Container _buildStatus() { + Color color; + switch (role.status) { + case StaffSkillStatus.pending: + color = AppColors.primaryBlue; + break; + case StaffSkillStatus.verified: + color = AppColors.statusSuccess; + break; + case StaffSkillStatus.deactivated: + color = AppColors.statusError; + break; + default: + color = AppColors.bgColorDark; + } + return Container( + height: 24, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(12), + ), + padding: const EdgeInsets.only(left: 8, right: 8), + child: Center( + child: Text( + role.status?.name.capitalize() ?? '', + style: AppTextStyles.bodySmallMed.copyWith(color: Colors.white), + )), + ); + } + + Column _buildRoleTextInfo(BuildContext context, String title, String? value) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: AppTextStyles.captionReg.copyWith( + color: AppColors.blackGray, + ), + ), + const Gap(4), + Text(value ?? '', style: AppTextStyles.bodyMediumMed) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_edit_card_widget.dart b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_edit_card_widget.dart new file mode 100644 index 00000000..9ead27f5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role/presentation/widgets/role_edit_card_widget.dart @@ -0,0 +1,210 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/int_extensions.dart'; +import 'package:krow/core/application/common/validators/skill_exp_validator.dart'; +import 'package:krow/core/data/enums/staff_skill_enums.dart'; +import 'package:krow/core/data/models/skill.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_bloc.dart'; +import 'package:krow/features/profile/role/domain/bloc/role_event.dart'; +import 'package:krow/features/profile/role/presentation/widgets/exp_slider_widget.dart'; + +class RoleEditCardWidget extends StatefulWidget { + final StaffRole role; + + final int index; + + final List skills; + + final bool canDelete; + + final bool mustShowWarningDialog; + + const RoleEditCardWidget( + {super.key, + required this.role, + required this.index, + required this.skills, + required this.canDelete, + this.mustShowWarningDialog = false}); + + @override + State createState() => _RoleEditCardWidgetState(); +} + +class _RoleEditCardWidgetState extends State { + String? experienceError; + late TextEditingController textEditingController; + + @override + void initState() { + textEditingController = + TextEditingController(text: widget.role.experience.toString()); + + textEditingController.addListener(() { + final value = textEditingController.text; + setState(() { + experienceError = SkillExpValidator.validate(value); + }); + + var exp = int.tryParse(value); + if (exp != null && experienceError == null) { + BlocProvider.of(context).add(RoleUpdateEvent( + widget.role.copyWith(experience: exp), + )); + } + }); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _header(), + const Gap(16), + _skillDropDown(context), + const Gap(16), + KwOptionSelector( + selectedIndex: widget.role.level?.index ?? 0, + backgroundColor: AppColors.graySecondaryFrame, + onChanged: (index) { + BlocProvider.of(context).add(RoleUpdateEvent( + widget.role.copyWith(level: StaffSkillLevel.values[index]), + )); + }, + title: 'level'.tr(), + items: [ + 'Beginner'.tr(), + 'Skilled'.tr(), + 'Professional'.tr(), + ]), + const Gap(16), + KwTextInput( + controller: textEditingController, + title: 'years_of_exp'.tr(), + helperText: experienceError, + showError: experienceError != null, + onChanged: (value) {}), + const Gap(12), + ExpSliderWidget( + initialValue: widget.role.experience ?? 1, + onChanged: (value) { + setState(() { + textEditingController.text = value.toString(); + }); + }, + ), + KwButton.primary( + disabled: widget.role.skill == null, + label: 'save_changes'.tr(), + onPressed: _onSaveChanges, + ), + const Gap(12), + ], + ); + } + + Widget _skillDropDown(BuildContext context) { + return IgnorePointer( + ignoring: widget.role.status != null, + child: KwDropdown( + horizontalPadding: 28, + title: 'role'.tr(), + hintText: 'select_role'.tr(), + selectedItem: widget.role.skill == null + ? null + : KwDropDownItem( + data: widget.role.skill!, + title: widget.role.skill?.name ?? ''), + items: widget.skills + .map((skill) => KwDropDownItem(data: skill, title: skill.name)), + onSelected: (skill) { + BlocProvider.of(context).add(RoleUpdateEvent( + widget.role.copyWith(skill: skill), + )); + }), + ); + } + + Row _header() { + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${(widget.index + 1).toOrdinal()} ${'role_details'.tr()}:', + style: AppTextStyles.bodyMediumMed, + ), + if (widget.canDelete) + GestureDetector( + onTap: () async { + BlocProvider.of(context) + .add(RoleDeleteEvent(widget.role)); + }, + child: Container( + color: Colors.transparent, + height: 24, + width: 24, + child: Center( + child: Assets.images.icons.delete.svg( + height: 16, + width: 16, + colorFilter: const ColorFilter.mode( + AppColors.statusError, BlendMode.srcIn), + ), + ), + ), + ), + ], + ); + } + + void _onSaveChanges() { + if (widget.mustShowWarningDialog && + widget.role.status != StaffSkillStatus.pending) { + _showWarningReviewDialog(context).then( + (value) { + if (value == true && context.mounted) { + BlocProvider.of(context) + .add(RoleSaveChangesEvent(widget.role)); + } + }, + ); + } else { + BlocProvider.of(context).add(RoleSaveChangesEvent(widget.role)); + } + } + + Future _showWarningReviewDialog(BuildContext context) { + return KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.neutral, + title: 'role_change'.tr(), + message: 'change_u_role'.tr(), + child: Text( + 'wont_to_proceed'.tr(), + style: AppTextStyles.bodyMediumMed, + ), + primaryButtonLabel: 'Continue'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (BuildContext dialogContext) { + dialogContext.maybePop(true); + }, + onSecondaryButtonPressed: (BuildContext dialogContext) { + dialogContext.maybePop(false); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/data/models/mutate_kit_dto.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/data/models/mutate_kit_dto.dart new file mode 100644 index 00000000..c5826543 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/data/models/mutate_kit_dto.dart @@ -0,0 +1,19 @@ +class MutateKitDto { + String id; + String? photo; + + MutateKitDto({ + required this.id, + this.photo, + }); + + Map toJson() => { + 'id': id, + if (photo != null) 'photo': photo!, + }; + + @override + String toString() { + return toJson().toString(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/data/staf_kit_gql.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staf_kit_gql.dart new file mode 100644 index 00000000..a2a0a1c7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staf_kit_gql.dart @@ -0,0 +1,20 @@ +const String confirmStaffUniformsMutation = ''' +mutation ConfirmStaffUniforms(\$skillId: String!, \$uniforms: [ConfirmStaffUniformInput!]!) { + confirm_staff_uniforms(skill_id: \$skillId, uniforms: \$uniforms) +} +'''; + +const String confirmStaffEquipmentsMutation = ''' +mutation ConfirmStaffEquipments(\$skillId: String!, \$equipments: [ConfirmStaffEquipmentInput!]!) { + confirm_staff_equipments(skill_id: \$skillId, equipments: \$equipments) +} +'''; + +const String uploadImageMutation = ''' +mutation UploadImage(\$file: Upload!) { + upload_file(file: \$file) { + token + url + } +} +'''; \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_api.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_api.dart new file mode 100644 index 00000000..5873eabb --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_api.dart @@ -0,0 +1,85 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:http/http.dart'; +import 'package:http_parser/http_parser.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/clients/api/gql.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role_kit/data/models/mutate_kit_dto.dart'; +import 'package:krow/features/profile/role_kit/data/staf_kit_gql.dart'; + +@injectable +class StaffRoleKitApiProvider { + final ApiClient _apiClient; + + StaffRoleKitApiProvider(this._apiClient); + + Future> fetchStaffRoles() async { + var result = await _apiClient.query(schema: getStaffRolesQuery); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + + return result.data!['staff_roles'].map((e) { + return StaffRole.fromJson(e); + }).toList(); + } + + Future putUniform(String skillId, List kits) async { + final Map variables = { + 'skillId': skillId, + 'uniforms': kits, + }; + var result = await _apiClient.mutate( + schema: confirmStaffUniformsMutation, body: variables); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future putEquipment(String skillId, List kits) async { + final Map variables = { + 'skillId': skillId, + 'equipments': kits, + }; + var result = await _apiClient.mutate( + schema: confirmStaffEquipmentsMutation, body: variables); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future> uploadImage(String imagePath) async { + final ApiClient apiClient = ApiClient(); + + var byteData = File(imagePath).readAsBytesSync(); + + var multipartFile = MultipartFile.fromBytes( + 'photo', + byteData, + filename: '${DateTime.now().millisecondsSinceEpoch}.jpg', + contentType: MediaType('image', 'jpg'), + ); + + final Map variables = { + 'file': multipartFile, + }; + + final result = await apiClient.mutate( + schema: uploadImageMutation, + body: variables, + ); + + if (result.hasException) { + debugPrint(result.exception.toString()); + } else { + return result.data!['upload_file']; + } + return {}; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_repository.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_repository.dart new file mode 100644 index 00000000..2bc1c187 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/data/staff_role_kit_repository.dart @@ -0,0 +1,13 @@ +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; + +import 'models/mutate_kit_dto.dart'; + +abstract class StaffRoleKitRepository { + Future> getStaffRole(); + + Future putKit( + String skillId, List kits, RoleKitType type); + + Future> uploadImage(String imagePath); +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_bloc.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_bloc.dart new file mode 100644 index 00000000..ca862950 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_bloc.dart @@ -0,0 +1,133 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/features/profile/role_kit/data/models/mutate_kit_dto.dart'; +import 'package:krow/features/profile/role_kit/data/staff_role_kit_repository.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_event.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_state.dart'; +import 'package:krow/features/profile/role_kit/domain/role_kit_entity.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; + +class RoleKitBloc extends Bloc { + RoleKitBloc() : super(RoleKitState()) { + on(_onFetch); + on(_onSelectRole); + on(_onSubmit); + on(_onChangeState); + on(_onUploadPhoto); + on(_onDeletePhoto); + } + + Future _onFetch( + RoleKitEventFetch event, Emitter emit) async { + emit(state.copyWith(roleKitType: event.type, loading: true)); + var roles = await getIt().getStaffRole(); + emit(state.copyWith(roles: roles, loading: false)); + } + + Future _onSelectRole( + RoleKitEventSelectRole event, Emitter emit) async { + List roleKitViewModels = []; + + var confirmedKits = state.roleKitType == RoleKitType.equipment + ? event.role.confirmedEquipments + : event.role.confirmedUniforms; + + + + + (state.roleKitType == RoleKitType.equipment + ? event.role.skill?.equipments + : event.role.skill?.uniforms) + ?.forEach((item) { + var confirmed = confirmedKits + ?.where((element) => element.skillKitId == item.id) + .firstOrNull; + roleKitViewModels.add(RoleKitEntity( + id: item.id, + title: item.name ?? '', + confirmed: confirmed != null, + imageUrl: confirmed?.photo, + isMandatory: (item.isRequired ?? false) || (item.photoRequired ?? false), + needPhoto: item.photoRequired ?? false)); + }); + + emit(state.copyWith( + selectedRole: event.role, roleKitItems: roleKitViewModels)); + } + + void _onChangeState( + RoleKiEventChangeState event, Emitter emit) { + event.item.confirmed = !event.item.confirmed; + emit(state.copyWith(showError: false)); + } + + void _onUploadPhoto( + RoleKitEventUploadPhoto event, Emitter emit) async { + event.item.uploading = true; + emit(state.copyWith(showError: false)); + try { + var image = await ImagePicker().pickImage(source: ImageSource.gallery); + if (image != null) { + var imagePath = image.path; + var result = + await getIt().uploadImage(imagePath); + event.item.uploading = false; + event.item.imageToken = result['token']; + event.item.imageUrl = result['url']; + event.item.localImage = imagePath; + } + } catch(e){ + if (e is DisplayableException) { + emit(state.copyWith(apiError: e.message,loading: false)); + } + }finally { + event.item.uploading = false; + emit(state.copyWith()); + } + } + + void _onSubmit(RoleKitEventSubmit event, Emitter emit) async { + final allMandatoryItemsChecked = state.roleKitItems + .where((element) => element.isMandatory) + .every((element) => element.confirmed); + final allPhotoUploaded = state.roleKitItems + .where((element) => element.needPhoto) + .every((element) => + element.imageUrl != null || element.localImage != null); + + if (allMandatoryItemsChecked && allPhotoUploaded) { + emit(state.copyWith(loading: true)); + + var confirmed = state.roleKitItems + .where((e) => e.confirmed) + .map((e) => MutateKitDto(id: e.id, photo: e.imageToken ?? e.imageUrl)) + .toList(); + try { + await getIt() + .putKit( + state.selectedRole!.skill!.id, confirmed, state.roleKitType); + + }catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(apiError: e.message)); + } + return; + } finally { + emit(state.copyWith(loading: false)); + } + emit(state.copyWith(success: true)); + } else { + emit(state.copyWith(showError: true)); + } + } + + void _onDeletePhoto( + RoleKitEventDeletePhoto event, Emitter emit) { + event.item.imageUrl = null; + event.item.localImage = null; + event.item.imageToken = null; + emit(state.copyWith()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_event.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_event.dart new file mode 100644 index 00000000..40094823 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_event.dart @@ -0,0 +1,38 @@ +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; +import 'package:krow/features/profile/role_kit/domain/role_kit_entity.dart'; + +sealed class RoleKitEvent {} + +class RoleKitEventFetch extends RoleKitEvent { + final RoleKitType type; + + RoleKitEventFetch({required this.type}); +} + +class RoleKitEventSubmit extends RoleKitEvent {} + +class RoleKiEventChangeState extends RoleKitEvent { + final RoleKitEntity item; + + RoleKiEventChangeState(this.item); +} + +class RoleKitEventUploadPhoto extends RoleKitEvent { + final RoleKitEntity item; + final String photoPath; + + RoleKitEventUploadPhoto({required this.item, required this.photoPath}); +} + +class RoleKitEventDeletePhoto extends RoleKitEvent { + final RoleKitEntity item; + + RoleKitEventDeletePhoto(this.item); +} + +class RoleKitEventSelectRole extends RoleKitEvent { + final StaffRole role; + + RoleKitEventSelectRole({required this.role}); +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_state.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_state.dart new file mode 100644 index 00000000..81bf0e9a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/bloc/role_kit_state.dart @@ -0,0 +1,46 @@ +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; +import 'package:krow/features/profile/role_kit/domain/role_kit_entity.dart'; + +class RoleKitState { + final bool showError; + final bool loading; + final bool success; + final RoleKitType roleKitType; + final List roleKitItems; + final List roles; + final StaffRole? selectedRole; + final String? apiError; + + RoleKitState( + {this.showError = false, + this.roleKitItems = const [], + this.roles = const [], + this.loading = false, + this.selectedRole, + this.roleKitType = RoleKitType.uniform, + this.success = false, + this.apiError}); + + copyWith( + {bool? showError, + List? roleKitItems, + RoleKitType? roleKitType, + bool? loading, + bool? success, + List? roles, + StaffRole? selectedRole, + String? apiError}) { + return RoleKitState( + showError: showError ?? this.showError, + roleKitItems: roleKitItems ?? this.roleKitItems, + loading: loading ?? false, + success: success ?? false, + roleKitType: roleKitType ?? this.roleKitType, + roles: roles ?? this.roles, + selectedRole: selectedRole ?? this.selectedRole, + apiError: apiError, + ); + } +} + diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/domain/role_kit_entity.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/role_kit_entity.dart new file mode 100644 index 00000000..0c4d385d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/role_kit_entity.dart @@ -0,0 +1,23 @@ +class RoleKitEntity { + final String id; + final String title; + final bool isMandatory; + final bool needPhoto; + bool uploading; + bool confirmed; + String? imageUrl; + String? localImage; + + String? imageToken; + + RoleKitEntity({ + required this.id, + required this.title, + this.isMandatory = false, + this.confirmed = false, + this.imageUrl, + this.needPhoto = false, + this.uploading = false, + this.localImage, + }); +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart new file mode 100644 index 00000000..09970cc6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart @@ -0,0 +1,37 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/features/profile/role_kit/data/models/mutate_kit_dto.dart'; +import 'package:krow/features/profile/role_kit/data/staff_role_kit_api.dart'; +import 'package:krow/features/profile/role_kit/data/staff_role_kit_repository.dart'; + +enum RoleKitType { + uniform, + equipment, +} + +@Injectable(as: StaffRoleKitRepository) +class StaffRoleKitRepositoryImpl extends StaffRoleKitRepository { + final StaffRoleKitApiProvider _staffRoleApi; + + StaffRoleKitRepositoryImpl(this._staffRoleApi); + + @override + Future> getStaffRole() async { + return _staffRoleApi.fetchStaffRoles(); + } + + @override + Future putKit( + String skillId, List kits, RoleKitType type) async { + if (type == RoleKitType.uniform) { + return _staffRoleApi.putUniform(skillId, kits); + } else { + return _staffRoleApi.putEquipment(skillId, kits); + } + } + + @override + Future> uploadImage(String imagePath) async { + return _staffRoleApi.uploadImage(imagePath); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_flow_screen.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_flow_screen.dart new file mode 100644 index 00000000..0db14287 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_flow_screen.dart @@ -0,0 +1,21 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_bloc.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_event.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; + +@RoutePage() +class RoleKitFlowScreen extends StatelessWidget { + final RoleKitType roleKitType; + + const RoleKitFlowScreen({super.key, required this.roleKitType}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (context) => + RoleKitBloc()..add(RoleKitEventFetch(type: roleKitType)), + child: const AutoRouter()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_screen.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_screen.dart new file mode 100644 index 00000000..368f4ee4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/role_kit_screen.dart @@ -0,0 +1,197 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box_card.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/uploud_image_card.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_bloc.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_event.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_state.dart'; +import 'package:krow/features/profile/role_kit/domain/role_kit_entity.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class RoleKitScreen extends StatelessWidget { + const RoleKitScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listenWhen: (oldState, newState) => + oldState.success != newState.success || + oldState.apiError != newState.apiError, + listener: (context, state) { + if (state.success) { + context.router.maybePop(); + } + if (state.apiError != null) { + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(state.apiError ?? ''), + )); + } + }, + builder: (context, state) { + return ModalProgressHUD( + inAsyncCall: state.loading, + child: Scaffold( + appBar: KwAppBar( + titleText: state.roleKitType == RoleKitType.uniform + ? '${state.selectedRole?.skill?.name} ${'uniform'.tr()}' + : '${state.selectedRole?.skill?.name} ${'equipment'.tr()}', + ), + body: ScrollLayoutHelper( + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + '${'please_indicate'.tr()} ${state.roleKitType == RoleKitType.uniform ? 'uniform'.tr().toLowerCase() : 'equipment'.tr().toLowerCase()}:', + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.blackGray), + ), + if (state.showError) _buildErrorMessage(), + const Gap(24), + if (state.roleKitItems + .where((item) => item.isMandatory) + .isNotEmpty) ...[ + _buildSectionLabel('mandatory_items'.tr()), + _buildItems( + context, state.roleKitItems, true, state.showError), + const Gap(4), + ], + if (state.roleKitItems + .where((item) => !item.isMandatory) + .isNotEmpty) ...[ + _buildSectionLabel('optional_items'.tr()), + _buildItems( + context, state.roleKitItems, false, state.showError), + ], + if (state.roleKitItems + .where((item) => item.needPhoto) + .isNotEmpty) ...[ + const Gap(32), + _buildSectionLabel('confirm_availability'.tr()), + _buildUploadProofItems( + context, state.roleKitItems, state.showError), + ] + ], + ), + lowerWidget: KwButton.primary( + label: 'confirm'.tr(), + onPressed: () { + BlocProvider.of(context) + .add(RoleKitEventSubmit()); + }), + ), + ), + ); + }); + } + + Widget _buildSectionLabel(String text) { + return Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Text(text.toUpperCase(), + style: AppTextStyles.captionReg.copyWith( + color: AppColors.blackCaptionGreen, + )), + ); + } + + _buildItems( + context, List items, bool required, bool showError) { + return Column( + children: items.where((item) => item.isMandatory == required).map((item) { + return CheckBoxCard( + isChecked: item.confirmed, + title: item.title, + errorMessage: showError && !item.confirmed && required + ? 'please_confirm_availability'.tr() + : null, + message: item.confirmed + ? 'availability_confirmed'.tr() + : item.needPhoto + ? 'confirm_availability_photo'.tr() + : null, + onTap: () { + BlocProvider.of(context) + .add(RoleKiEventChangeState(item)); + }, + padding: const EdgeInsets.only(bottom: 8), + ); + }).toList(), + ); + } + + _buildUploadProofItems(context, List items, bool showError) { + return Column( + children: items.where((item) => item.needPhoto).map((item) { + return UploadImageCard( + title: item.title, + onSelectImage: () { + BlocProvider.of(context) + .add(RoleKitEventUploadPhoto(item: item, photoPath: '')); + }, + onDeleteTap: () { + BlocProvider.of(context) + .add(RoleKitEventDeletePhoto(item)); + }, + onTap: () {}, + imageUrl: item.imageUrl, + localImagePath: item.localImage, + inUploading: item.uploading, + statusColor: item.imageUrl == null + ? AppColors.statusError + : AppColors.statusSuccess, + message: (item.imageUrl == null) + ? showError + ? 'availability_requires_confirmation'.tr() + : null + : 'availability_confirmed'.tr(), + hasError: showError, + padding: const EdgeInsets.only(bottom: 8), + ); + }).toList(), + ); + } + + Container _buildErrorMessage() { + return Container( + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.all(8), + decoration: KwBoxDecorations.primaryLight8, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 28, + width: 28, + decoration: const BoxDecoration( + shape: BoxShape.circle, color: AppColors.tintRed), + child: Center( + child: Assets.images.icons.alertCircle.svg(), + ), + ), + const Gap(8), + Expanded( + child: Text( + 'item_checked_in_box'.tr(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: AppColors.statusError), + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/roles_kit_list_screen.dart b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/roles_kit_list_screen.dart new file mode 100644 index 00000000..3656aec5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/role_kit/presentation/roles_kit_list_screen.dart @@ -0,0 +1,95 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/models/staff_role.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/features/profile/role_kit/domain/staff_role_kit_repository_impl.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_bloc.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_event.dart'; +import 'package:krow/features/profile/role_kit/domain/bloc/role_kit_state.dart'; +import 'package:modal_progress_hud_nsn/modal_progress_hud_nsn.dart'; + +@RoutePage() +class RolesKitListScreen extends StatefulWidget { + + const RolesKitListScreen({super.key, }); + + @override + State createState() => _RolesKitListScreenState(); +} + +class _RolesKitListScreenState extends State { + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Scaffold( + appBar: KwAppBar( + titleText: state.roleKitType == RoleKitType.uniform + ? 'uniform'.tr() + : 'equipment'.tr(), + ), + body: ModalProgressHUD( + inAsyncCall: state.loading, + child: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + 'roles'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionGreen), + ), + ...state.roles.map((role) => _buildKitWidget(role,state.roleKitType)), + const Gap(24), + ]), + lowerWidget: const SizedBox.shrink(), + ), + ), + ); + }, + ); + } + + Widget _buildKitWidget(StaffRole role, RoleKitType roleKitType ) { + return GestureDetector( + onTap: () async{ + context.read().add(RoleKitEventSelectRole(role: role)); + await context.router.push(const RoleKitRoute()); + context.read().add(RoleKitEventFetch(type: roleKitType)); + }, + child: Container( + height: 56, + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(top: 8), + decoration: KwBoxDecorations.primaryLight8, + child: Row( + children: [ + Expanded( + child: Text( + role.skill?.name ?? '', + style: AppTextStyles.headingH3, + ), + ), + const Gap(16), + Assets.images.icons.caretRight.svg() + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/data/gql_schemas.dart b/mobile-apps/staff-app/lib/features/profile/schedule/data/gql_schemas.dart new file mode 100644 index 00000000..848afd38 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/data/gql_schemas.dart @@ -0,0 +1,50 @@ +const String getStaffScheduleSchema = ''' +query GetStaffSchedule { + me { + id + schedule { + id + type + start_at + end_at + day_of_week + } + } +} +'''; + +const String createStaffScheduleMutationSchema = r''' +mutation CreateStaffSchedule($input: [StaffScheduleInput!]!) { + create_staff_schedule(input: $input) { + id + type + start_at + end_at + day_of_week + } +} +'''; + +const String updateStaffScheduleMutationSchema = r''' +mutation UpdateStaffSchedule($id: ID!, $input: StaffScheduleInput!) { + update_staff_schedule(id: $id, input: $input) { + id + type + start_at + end_at + day_of_week + } +} +'''; + +const String deleteStaffScheduleMutationSchema = r''' +mutation DeleteStaffSchedule($ids: [ID!]!) { + delete_staff_schedule(ids: $ids) { + id + type + start_at + end_at + day_of_week + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/data/models/day_schedule_model.dart b/mobile-apps/staff-app/lib/features/profile/schedule/data/models/day_schedule_model.dart new file mode 100644 index 00000000..0e88baf8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/data/models/day_schedule_model.dart @@ -0,0 +1,13 @@ +import 'package:krow/features/profile/schedule/data/models/schedule_slot_model.dart'; + +class DayScheduleModel { + DayScheduleModel({ + required this.date, + required this.slots, + this.isWeekly = false, + }); + + final DateTime date; + final bool isWeekly; + List slots; +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/data/models/schedule_slot_model.dart b/mobile-apps/staff-app/lib/features/profile/schedule/data/models/schedule_slot_model.dart new file mode 100644 index 00000000..c2ba3f1d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/data/models/schedule_slot_model.dart @@ -0,0 +1,38 @@ +import 'package:krow/core/application/common/date_time_extension.dart'; + +class ScheduleSlotModel { + ScheduleSlotModel({ + required this.isWeekly, + required this.startAt, + required this.endAt, + this.id, + }); + + factory ScheduleSlotModel.fromJson(Map data) { + return ScheduleSlotModel( + id: data['id'] as String?, + isWeekly: data['type'] == 'weekly', + startAt: DateTime.parse(data['start_at'] as String), + endAt: DateTime.parse(data['end_at'] as String), + ); + } + + final String? id; + final bool isWeekly; + final DateTime startAt; + final DateTime endAt; + + // TODO(Sleep): For now has to use .replaceAll('.000', '') for trim DateTime otherwise will result in error from backend. + Map toJson() { + return { + // if (id != null) 'id': id, + 'type': isWeekly ? 'weekly' : 'range', + 'start_at': startAt.toString().replaceAll('.000', ''), + 'end_at': endAt.toString().replaceAll('.000', ''), + 'day_of_week': startAt.getWeekdayId(), + }; + } + + String getIdKey() => + isWeekly ? startAt.getWeekdayId() : startAt.getDayDateId(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_api_provider.dart new file mode 100644 index 00000000..d3344247 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_api_provider.dart @@ -0,0 +1,180 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/features/profile/schedule/data/gql_schemas.dart'; +import 'package:krow/features/profile/schedule/data/models/day_schedule_model.dart'; +import 'package:krow/features/profile/schedule/data/models/schedule_slot_model.dart'; + +@injectable +class StaffScheduleApiProvider { + final ApiClient _apiClient; + + StaffScheduleApiProvider(this._apiClient); + + Map _processScheduleDataList( + List scheduleData, + ) { + final schedules = [ + for (final scheduleItem in scheduleData) + ScheduleSlotModel.fromJson( + scheduleItem as Map, + ), + ]; + + Map scheduleMap = {}; + + for (int i = 0; i < schedules.length; i++) { + final scheduleKey = schedules[i].getIdKey(); + var scheduleDay = scheduleMap[scheduleKey]; + + if (scheduleDay == null) { + scheduleDay = DayScheduleModel( + date: schedules[i].startAt.copyWith( + hour: 0, + minute: 0, + second: 0, + ), + slots: [schedules[i]], + isWeekly: schedules[i].isWeekly, + ); + scheduleMap[scheduleKey] = scheduleDay; + } else { + scheduleDay.slots.add(schedules[i]); + } + } + + return scheduleMap; + } + + Future> _handleResultReturn( + QueryResult result, + String mutationKey, + ) async { + if (result.hasException) throw Exception(result.exception.toString()); + + if (result.data == null || result.data!.isEmpty) return {}; + + final scheduleData = result.data?[mutationKey] as List? ?? []; + + return _processScheduleDataList(scheduleData); + } + + Future> getStaffSchedule() async { + final response = await _apiClient.query(schema: getStaffScheduleSchema); + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + + final scheduleData = (response.data?['me'] + as Map?)?['schedule'] as List? ?? + []; + + return _processScheduleDataList(scheduleData); + } + + Stream> getStaffScheduleWithCache() async* { + await for (var response in _apiClient.queryWithCache( + schema: getStaffScheduleSchema, + )) { + if (response == null || response.data == null) continue; + + if (response.data == null || response.data!.isEmpty) { + if (response.source?.name == 'cache') continue; + + if (response.hasException) { + throw Exception(response.exception.toString()); + } + } + + final scheduleData = (response.data?['me'] + as Map?)?['schedule'] as List? ?? + []; + + yield _processScheduleDataList(scheduleData); + } + } + + Future> createStaffSchedule( + List schedules, + ) async { + final result = await _apiClient.mutate( + schema: createStaffScheduleMutationSchema, + body: { + 'input': [ + for (final schedule in schedules) schedule.toJson(), + ], + }, + ); + + return _handleResultReturn(result, 'create_staff_schedule'); + } + + Future> updateStaffSchedule( + List schedules, + ) async { + // var result = await _apiClient.mutate( + // schema: updateStaffScheduleMutationSchema, + // body: { + // 'input': [ + // for (final schedule in schedules) schedule.toJson(), + // ], + // }, + // ); + + await Future.wait( + [ + for (final schedule in schedules) + _apiClient.mutate( + schema: updateStaffScheduleMutationSchema, + body: { + 'id': schedule.id, + 'input': schedule.toJson(), + }, + ), + ], + ); + + final result = await _apiClient.mutate( + schema: updateStaffScheduleMutationSchema, + body: { + 'id': schedules.last.id, + 'input': schedules.last.toJson(), + }, + ); + + return _handleResultReturn(result, 'update_staff_schedule'); + } + + Future deleteStaffSchedule( + List schedules, + ) async { + final result = await _apiClient.mutate( + schema: deleteStaffScheduleMutationSchema, + body: { + 'ids': [ + for (final schedule in schedules) schedule.id, + ], + }, + ); + + if (result.hasException) throw Exception(result.exception.toString()); + + if (result.data == null || result.data!.isEmpty) return null; + + //TODO: For now backend returns only one value so there is no + // point in returning it + return null; + } + + Future deleteStaffScheduleById(List ids) async { + final result = await _apiClient.mutate( + schema: deleteStaffScheduleMutationSchema, + body: {'ids': ids}, + ); + + if (result.hasException) throw Exception(result.exception.toString()); + + return null; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_repository_impl.dart new file mode 100644 index 00000000..90c4a47d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/data/staff_schedule_repository_impl.dart @@ -0,0 +1,116 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/schedule/data/models/day_schedule_model.dart'; +import 'package:krow/features/profile/schedule/data/models/schedule_slot_model.dart'; +import 'package:krow/features/profile/schedule/data/staff_schedule_api_provider.dart'; +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; +import 'package:krow/features/profile/schedule/domain/entities/schedule_slot.dart'; +import 'package:krow/features/profile/schedule/domain/staff_schedule_repository.dart'; + +@Injectable(as: StaffScheduleRepository) +class StaffScheduleRepositoryImpl extends StaffScheduleRepository { + StaffScheduleRepositoryImpl({ + required StaffScheduleApiProvider apiProvider, + }) : _apiProvider = apiProvider; + + final StaffScheduleApiProvider _apiProvider; + + Map _processSchedulesMap( + Map daySchedulesData, + ) { + return daySchedulesData.map( + (key, dayEntry) { + return MapEntry( + key, + DaySchedule( + date: dayEntry.date, + isWeekly: dayEntry.isWeekly, + slots: [ + for (final slot in dayEntry.slots) + ScheduleSlot( + id: slot.startAt.microsecondsSinceEpoch.toString(), + startTime: slot.startAt, + endTime: slot.endAt, + remoteId: slot.id, + ), + ], + ), + ); + }, + ); + } + + List _expandDailySchedulesToSlots( + List schedules, + ) { + return [ + for (final daySchedule in schedules) ...[ + for (final slot in daySchedule.slots) + ScheduleSlotModel( + isWeekly: daySchedule.isWeekly, + startAt: slot.startTime, + endAt: slot.endTime, + id: slot.remoteId, + ), + ], + ]; + } + + @override + Stream> getStaffSchedule() async* { + await for (final daySchedulesData + in _apiProvider.getStaffScheduleWithCache()) { + yield _processSchedulesMap(daySchedulesData); + } + } + + @override + Future> createStaffSchedule({ + required List schedules, + }) async { + return _processSchedulesMap( + await _apiProvider.createStaffSchedule( + _expandDailySchedulesToSlots(schedules), + ), + ); + } + + @override + Future> updateStaffSchedule({ + required List schedules, + }) async { + if (schedules.length == 1) { + if (schedules.first.deletedSlots != null) { + await _apiProvider.deleteStaffScheduleById( + [ + for (final deletedSlot in schedules.first.deletedSlots!) + deletedSlot.remoteId ?? '', + ], + ); + } + + // In case there were only deletion of slots for the day, and no edits + if (schedules.first.slots.isEmpty) { + return _processSchedulesMap( + await _apiProvider.getStaffSchedule(), + ); + } + } + + return _processSchedulesMap( + await _apiProvider.updateStaffSchedule( + _expandDailySchedulesToSlots(schedules), + ), + ); + } + + @override + Future deleteStaffSchedule({ + required List schedules, + }) async { + await _apiProvider.deleteStaffSchedule( + _expandDailySchedulesToSlots(schedules), + ); + + return null; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_bloc.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_bloc.dart new file mode 100644 index 00000000..6320b4f4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_bloc.dart @@ -0,0 +1,337 @@ +import 'dart:developer'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; +import 'package:krow/features/profile/schedule/domain/entities/schedule_slot.dart'; +import 'package:krow/features/profile/schedule/domain/staff_schedule_repository.dart'; + +part 'schedule_event.dart'; + +part 'schedule_state.dart'; + +class ScheduleBloc extends Bloc { + ScheduleBloc() : super(const ScheduleState()) { + on(_onBlocInit); + on(_onChangeMode); + on(_onSelectDates); + on(_onAddSlot); + on(_onRemoveSlot); + on(_onEditSlot); + on(_onConfirmChanges); + on(_onCancelChanges); + on(_onDeleteSchedule); + } + + final StaffScheduleRepository staffRepository = + getIt(); + + Future _onBlocInit( + ScheduleInitEvent event, + Emitter emit, + ) async { + emit(state.copyWith(status: StateStatus.loading)); + + try { + await for (final scheduleData in staffRepository.getStaffSchedule()) { + emit( + state.copyWith( + schedules: scheduleData, + status: StateStatus.idle, + ), + ); + } + } catch (except) { + log(except.toString()); + } + + if (state.status == StateStatus.loading) { + emit(state.copyWith(status: StateStatus.idle)); + } + } + + Future _onSelectDates( + ScheduleEventSelectDates event, + Emitter emit, + ) async { + if (event.dates.length == 1) { + emit( + state.copyWith( + scheduleErrorText: '', + selectedDates: [event.dates.first], + prevSelectedDates: [], + isInEditMode: false, + ), + ); + + emit( + state.copyWith( + selectedSchedules: await state.findSchedulesForSelection(), + ), + ); + return; + } + + var startDate = event.dates.first; + final endDate = event.dates.last; + + emit( + state.copyWith( + scheduleErrorText: '', + selectedDates: [ + for (var i = 0; i < endDate.difference(startDate).inDays; i++) + startDate.add(Duration(days: i)), + endDate, + ], + prevSelectedDates: [], + isInEditMode: false, + ), + ); + + emit( + state.copyWith( + selectedSchedules: await state.findSchedulesForSelection(), + ), + ); + } + + void _onChangeMode( + ScheduleEventChangeMode event, + Emitter emit, + ) { + if (event.isInScheduleAddMode != null && state.selectedDates.length == 1) { + emit(state.copyWith( + scheduleErrorText: '', + isScheduleAddMode: event.isInScheduleAddMode, + )); + return; + } + + if (event.editedDate != null) { + emit( + state.copyWith( + selectedDates: [event.editedDate!], + prevSelectedDates: List.from(state.selectedDates), + ), + ); + } + + emit( + state.copyWith( + isInEditMode: event.isInEditScheduleMode, + scheduleErrorText: '', + isScheduleAddMode: false, + tempSchedules: state.selectedDates.length == 1 + ? [ + state.getScheduleForDate( + date: state.selectedDates.first, + isWeekly: event.isWeekly, + ), + ] + : [ + for (int i = 0; i < state.selectedDates.length; i++) + DaySchedule( + date: state.selectedDates[i], + slots: const [], + ), + ], + ), + ); + } + + void _onAddSlot( + ScheduleEventAddSlot event, + Emitter emit, + ) { + emit( + state.copyWith( + tempSchedules: state.tempSchedules.map( + (daySchedule) { + final startTime = daySchedule.getLatestSlot(); + + return daySchedule.copyWith( + slots: [ + ...daySchedule.slots, + ScheduleSlot.minFromStartTime( + start: startTime, + ), + ], + ); + }, + ).toList(), + ), + ); + } + + void _onRemoveSlot( + ScheduleEventRemoveSlot event, + Emitter emit, + ) { + emit( + state.copyWith( + scheduleErrorText: '', + tempSchedules: state.tempSchedules.map( + (daySchedule) { + return daySchedule.removeSlotAtIndex(event.slotIndex); + }, + ).toList(), + ), + ); + } + + void _onEditSlot( + ScheduleEventEditSlot event, + Emitter emit, + ) { + emit( + state.copyWith( + scheduleErrorText: '', + tempSchedules: state.tempSchedules.map( + (daySchedule) { + final daySlots = List.from(daySchedule.slots); + daySlots[event.slotIndex] = daySlots[event.slotIndex].editTime( + startTime: event.start?.copyWith( + day: daySchedule.date.day, + month: daySchedule.date.month, + ), + endTime: event.end?.copyWith( + day: daySchedule.date.day, + month: daySchedule.date.month, + ), + ); + + return daySchedule.copyWith( + slots: daySlots, + ); + }, + ).toList(), + ), + ); + } + + Future> _handleTemporaryScheduleSave() async { + final previousSchedules = state.getDailySchedulesForTemporary(); + if (state.tempSchedules.length == 1) { + return previousSchedules.isNotEmpty + ? staffRepository.updateStaffSchedule( + schedules: state.tempSchedules, + ) + : staffRepository.createStaffSchedule( + schedules: state.tempSchedules, + ); + } + + if (previousSchedules.isNotEmpty) { + await staffRepository.deleteStaffSchedule(schedules: previousSchedules); + } + + return staffRepository.createStaffSchedule( + schedules: state.tempSchedules, + ); + } + + Future _onConfirmChanges( + ScheduleEventSave event, + Emitter emit, + ) async { + emit( + state.copyWith( + status: StateStatus.loading, + selectedDates: + state.prevSelectedDates.isNotEmpty ? state.prevSelectedDates : null, + prevSelectedDates: [], + ), + ); + + final isTempScheduleValid = await state.isValid; + if (!isTempScheduleValid) { + emit( + state.copyWith( + status: StateStatus.error, + scheduleErrorText: 'overlap_error'.tr(), + ), + ); + return; + } + + Map? schedules; + try { + schedules = await _handleTemporaryScheduleSave(); + } catch (except) { + log(except.toString()); + } + + emit( + state.copyWith( + status: StateStatus.idle, + isInEditMode: false, + schedules: schedules, + tempSchedules: [], + ), + ); + + emit( + state.copyWith( + selectedSchedules: await state.findSchedulesForSelection(), + ), + ); + } + + void _onCancelChanges( + ScheduleEventCancel event, + Emitter emit, + ) { + emit( + state.copyWith( + isInEditMode: false, + scheduleErrorText: '', + tempSchedules: [], + selectedDates: + state.prevSelectedDates.isNotEmpty ? state.prevSelectedDates : null, + prevSelectedDates: [], + ), + ); + } + + Future _onDeleteSchedule( + ScheduleEventDeleteSchedule event, + Emitter emit, + ) async { + emit( + state.copyWith( + isInEditMode: false, + status: StateStatus.loading, + ), + ); + + Map? schedules; + try { + final result = staffRepository.deleteStaffSchedule( + schedules: [event.schedule], + ); + schedules = Map.from(state.schedules); + + await result; + schedules.remove(event.schedule.getIdKey()); + } catch (except) { + log(except.toString()); + } + + emit( + state.copyWith( + status: StateStatus.idle, + schedules: schedules, + ), + ); + + emit( + state.copyWith( + selectedSchedules: await state.findSchedulesForSelection(), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_event.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_event.dart new file mode 100644 index 00000000..29292438 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_event.dart @@ -0,0 +1,74 @@ +part of 'schedule_bloc.dart'; + +@immutable +sealed class ScheduleEvent { + const ScheduleEvent(); +} + +class ScheduleInitEvent extends ScheduleEvent { + const ScheduleInitEvent(); +} + +class ScheduleEventChangeMode extends ScheduleEvent { + const ScheduleEventChangeMode({ + this.isInEditScheduleMode, + this.isInScheduleAddMode, + this.editedDate, + this.isWeekly = false, + }); + + final bool? isInEditScheduleMode; + final bool? isInScheduleAddMode; + final DateTime? editedDate; + final bool isWeekly; +} + +class ScheduleEventSelectDates extends ScheduleEvent { + const ScheduleEventSelectDates({required this.dates}); + + final List dates; +} + +class ScheduleEventAddSlot extends ScheduleEvent { + const ScheduleEventAddSlot(); +} + +class ScheduleEventRemoveSlot extends ScheduleEvent { + const ScheduleEventRemoveSlot({ + required this.slot, + required this.slotIndex, + }); + + final ScheduleSlot slot; + final int slotIndex; +} + +class ScheduleEventDeleteSchedule extends ScheduleEvent { + const ScheduleEventDeleteSchedule({ + required this.schedule, + }); + + final DaySchedule schedule; +} + +class ScheduleEventEditSlot extends ScheduleEvent { + const ScheduleEventEditSlot({ + required this.slot, + required this.slotIndex, + this.start, + this.end, + }); + + final ScheduleSlot slot; + final int slotIndex; + final DateTime? start; + final DateTime? end; +} + +class ScheduleEventSave extends ScheduleEvent { + const ScheduleEventSave(); +} + +class ScheduleEventCancel extends ScheduleEvent { + const ScheduleEventCancel(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_state.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_state.dart new file mode 100644 index 00000000..b2873df7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/bloc/schedule_state.dart @@ -0,0 +1,122 @@ +part of 'schedule_bloc.dart'; + +@immutable +class ScheduleState { + const ScheduleState({ + this.schedules = const {}, + this.tempSchedules = const [], + this.selectedDates = const [], + this.prevSelectedDates = const [], + this.selectedSchedules = const [], + this.status = StateStatus.idle, + this.isInEditMode = false, + this.isScheduleAddMode = false, + this.scheduleErrorText = '', + }); + + final Map schedules; + final List tempSchedules; + final List selectedDates; + final List prevSelectedDates; + final List selectedSchedules; + final StateStatus status; + final bool isInEditMode; + final bool isScheduleAddMode; + final String scheduleErrorText; + + Future get isValid async { + if (tempSchedules.isEmpty) return false; + bool isValid = true; + + for (int i = 0; i < tempSchedules.length; i++) { + isValid = tempSchedules[i].isValid; + + if (!isValid) return isValid; + } + + return isValid; + } + + ScheduleState copyWith({ + Map? schedules, + List? tempSchedules, + List? selectedDates, + List? prevSelectedDates, + List? selectedSchedules, + StateStatus? status, + bool? isInEditMode, + bool? isScheduleAddMode, + String? scheduleErrorText, + }) { + return ScheduleState( + schedules: schedules ?? this.schedules, + tempSchedules: tempSchedules ?? this.tempSchedules, + selectedDates: selectedDates ?? this.selectedDates, + prevSelectedDates: prevSelectedDates ?? this.prevSelectedDates, + selectedSchedules: selectedSchedules ?? this.selectedSchedules, + status: status ?? this.status, + isInEditMode: isInEditMode ?? this.isInEditMode, + isScheduleAddMode: isScheduleAddMode ?? this.isScheduleAddMode, + scheduleErrorText: scheduleErrorText ?? this.scheduleErrorText, + ); + } + + DaySchedule? findScheduleForDate(DateTime date) { + return schedules[date.getDayDateId()] ?? schedules[date.getWeekdayId()]; + } + + bool containsScheduleForDate(DateTime date) { + return schedules.containsKey(date.getDayDateId()) || + schedules.containsKey(date.getWeekdayId()); + } + + Future> findSchedulesForSelection() async { + return [ + for (final date in selectedDates) + if (schedules.containsKey(date.getDayDateId())) + schedules[date.getDayDateId()]! + else if (schedules.containsKey(date.getWeekdayId())) + schedules[date.getWeekdayId()]!.copyWith( + date: date, + ), + ]; + } + + List getDailySchedulesForTemporary() { + return [ + for (final day in tempSchedules) + if (schedules.containsKey(day.getIdKey())) schedules[day.getIdKey()]! + ]; + } + + bool isRangeContainsSchedules(List dates) { + return dates.any( + (date) => schedules.containsKey(date.getDayDateId()), + ); + } + + DaySchedule getScheduleForDate({ + required DateTime date, + required bool isWeekly, + }) { + final daySchedule = + schedules[isWeekly ? date.getWeekdayId() : date.getDayDateId()]; + + return daySchedule ?? + DaySchedule( + date: date, + slots: const [], + isWeekly: isWeekly, + ); + } + + Map mergeSchedules() { + final schedules = Map.from(this.schedules); + + for (final schedule in tempSchedules) { + schedules[schedule.getIdKey()] = schedule; + } + + return schedules; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/day_shedule.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/day_shedule.dart new file mode 100644 index 00000000..b08ce1d7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/day_shedule.dart @@ -0,0 +1,75 @@ +import 'package:flutter/foundation.dart' show immutable; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/features/profile/schedule/domain/entities/schedule_slot.dart'; + +@immutable +class DaySchedule { + const DaySchedule({ + required this.date, + required this.slots, + this.isWeekly = false, + this.deletedSlots, + }); + + final DateTime date; + final List slots; + final bool isWeekly; + final List? deletedSlots; + + bool get isValid { + bool isValid = true; + + for (int i = 0; i < slots.length; i++) { + for (int k = i; k < slots.length; k++) { + if (k == i) continue; // Skip validation for same slot + + isValid = slots[i].isNotOverlappingWith(slots[k]); + if (!isValid) return isValid; + } + } + + return isValid; + } + + bool get isViableForSaving { + return slots.isNotEmpty || deletedSlots != null; + } + + DaySchedule copyWith({ + DateTime? date, + List? slots, + bool? isWeekly, + List? deletedSlots, + }) { + return DaySchedule( + date: date ?? this.date, + slots: slots ?? this.slots, + isWeekly: isWeekly ?? this.isWeekly, + deletedSlots: deletedSlots ?? this.deletedSlots, + ); + } + + String getIdKey() => isWeekly ? date.getWeekdayId() : date.getDayDateId(); + + DateTime getLatestSlot() { + if (slots.isEmpty) return date.copyWith(hour: 8, minute: 0); + + var lastSlot = slots.first; + for (int i = 0; i < slots.length; i++) { + if (lastSlot.endTime.isBefore(slots[i].endTime)) { + lastSlot = slots[i]; + } + } + + return lastSlot.endTime; + } + + DaySchedule removeSlotAtIndex(int slotIndex) { + return copyWith( + deletedSlots: slots[slotIndex].remoteId != null + ? [...?deletedSlots, slots[slotIndex]] + : null, + slots: List.from(slots)..removeAt(slotIndex), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/schedule_slot.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/schedule_slot.dart new file mode 100644 index 00000000..149d4c89 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/entities/schedule_slot.dart @@ -0,0 +1,120 @@ +import 'package:flutter/foundation.dart' show immutable; + +@immutable +class ScheduleSlot { + const ScheduleSlot({ + required this.id, + required this.startTime, + required this.endTime, + this.remoteId, + }); + + factory ScheduleSlot.minFromStartTime({required DateTime start}) { + if (start.hour > 19) start = start.copyWith(hour: 8); + + return ScheduleSlot( + id: start.millisecondsSinceEpoch.toString(), + startTime: start.copyWith(minute: 0, second: 0), + endTime: start.copyWith(minute: 0, second: 0).add( + const Duration(hours: 5), + ), + ); + } + + final String id; + final DateTime startTime; + final DateTime endTime; + final String? remoteId; + + ScheduleSlot copyWith({ + String? id, + DateTime? startTime, + DateTime? endTime, + String? remoteId, + }) { + return ScheduleSlot( + id: id ?? this.id, + startTime: startTime ?? this.startTime, + endTime: endTime ?? this.endTime, + remoteId: remoteId ?? this.remoteId, + ); + } + + ScheduleSlot editTime({ + DateTime? startTime, + DateTime? endTime, + }) { + ScheduleSlot? slot; + if (endTime != null) { + slot = copyWith( + startTime: endTime.difference(this.startTime).inHours.abs() < 5 || + endTime.isBefore(this.startTime) + ? endTime.subtract(const Duration(hours: 5)) + : this.startTime, + endTime: endTime, + ); + if (slot.startTime.day != slot.endTime.day) { + final DateTime midnight = DateTime( + endTime.year, + endTime.month, + endTime.day, + 0, + 0, + ); + + slot = copyWith( + startTime: midnight, + endTime: midnight.add(const Duration(hours: 5)), + ); + } + return slot; + } else if (startTime == null) { + slot = this; + } else { + slot = copyWith( + startTime: startTime, + endTime: startTime.difference(this.endTime).inHours.abs() < 5 || + startTime.isAfter(this.endTime) + ? startTime.add(const Duration(hours: 5)) + : this.endTime, + ); + + if (slot.startTime.day != slot.endTime.day) { + final DateTime midnight = DateTime( + startTime.year, + startTime.month, + startTime.day + 1, + 0, + 0, + ); + + slot = copyWith( + startTime: midnight.subtract(const Duration(hours: 5)), + endTime: midnight, + ); + } + } + return slot; + } + + bool isNotOverlappingWith(ScheduleSlot other) { + // End and start time should be before other slot's start time + if (((endTime.isBefore(other.startTime) || + endTime.isAtSameMomentAs(other.startTime)) && + startTime.isBefore(other.startTime))) { + return true; + } + + // Or start and end time should be after other slot's end time + return ((startTime.isAfter(other.endTime) || + startTime.isAtSameMomentAs(other.endTime)) && + endTime.isAfter(other.endTime)); + } + + @override + String toString() { + return 'Slot data: ID $id\n' + 'Start time: $startTime\n' + 'End time: $endTime'; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/domain/staff_schedule_repository.dart b/mobile-apps/staff-app/lib/features/profile/schedule/domain/staff_schedule_repository.dart new file mode 100644 index 00000000..e6188ff5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/domain/staff_schedule_repository.dart @@ -0,0 +1,17 @@ +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; + +abstract class StaffScheduleRepository { + Stream> getStaffSchedule(); + + Future> createStaffSchedule({ + required List schedules, + }); + + Future> updateStaffSchedule({ + required List schedules, + }); + + Future deleteStaffSchedule({ + required List schedules, + }); +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/schedule_screen.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/schedule_screen.dart new file mode 100644 index 00000000..78e3f635 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/schedule_screen.dart @@ -0,0 +1,141 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/schedule_calendar.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_button_section_widget.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_edit_slot.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_footer_widget.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_slot_list_widget.dart'; + +@RoutePage() +class ScheduleScreen extends StatelessWidget implements AutoRouteWrapper { + ScheduleScreen({super.key}); + + final OverlayPortalController _controller = OverlayPortalController(); + + bool _calendarBuildWhen(ScheduleState previous, ScheduleState current) { + return previous.isInEditMode != current.isInEditMode || + previous.isScheduleAddMode != current.isScheduleAddMode || + previous.selectedDates != current.selectedDates || + previous.schedules != current.schedules; + } + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => ScheduleBloc()..add(const ScheduleInitEvent()), + child: this, + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(titleText: 'schedule'.tr()), + body: KwLoadingOverlay( + controller: _controller, + child: BlocListener( + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.loading) { + _controller.show(); + } else { + _controller.hide(); + } + }, + child: ListView( + primary: false, + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 16, + ), + children: [ + _buildPageTitle(), + const Gap(12), + Container( + decoration: KwBoxDecorations.primaryLight8.copyWith( + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(12), + topRight: Radius.circular(12), + ), + ), + child: BlocBuilder( + buildWhen: _calendarBuildWhen, + builder: (context, state) { + return ScheduleCalendar( + disabled: state.isInEditMode || state.isScheduleAddMode, + selectedDates: state.selectedDates, + containsScheduleForDate: state.containsScheduleForDate, + onDateSelected: (dates) { + BlocProvider.of(context).add( + ScheduleEventSelectDates(dates: dates), + ); + }, + ); + }, + ), + ), + BlocBuilder( + buildWhen: (previous, current) => + previous.isInEditMode != current.isInEditMode || + previous.selectedSchedules != current.selectedSchedules, + builder: (context, state) { + if (state.isInEditMode) { + return const Column( + children: [ + CalendarEditSlot(), + CalendarButtonSectionWidget() + ], + ); + } + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + CalendarFooterWidget( + selectedDates: state.selectedDates, + existedSlots: state.selectedSchedules, + ), + CalendarSlotListWidget( + selectedSchedules: state.selectedSchedules, + ), + ], + ); + }, + ), + ], + ), + ), + ), + ); + } + + RichText _buildPageTitle() { + return RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${'set_your_availability'.tr()} ', + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.blackBlack, + ), + ), + TextSpan( + text: 'mark_days_and_times'.tr(), + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_button_section_widget.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_button_section_widget.dart new file mode 100644 index 00000000..2f0349ab --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_button_section_widget.dart @@ -0,0 +1,41 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; + +class CalendarButtonSectionWidget extends StatelessWidget { + const CalendarButtonSectionWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + const Gap(16), + BlocSelector( + selector: (state) => + state.tempSchedules.firstOrNull?.isViableForSaving ?? false, + builder: (context, isEnabled) { + return KwButton.primary( + label: 'save_slots'.tr(), + disabled: !isEnabled, + onPressed: () { + BlocProvider.of(context) + .add(const ScheduleEventSave()); + }, + ); + }, + ), + const Gap(12), + KwButton.outlinedPrimary( + label: 'cancel'.tr(), + onPressed: () { + BlocProvider.of(context) + .add(const ScheduleEventCancel()); + }, + ) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_data_detail_setting_widget.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_data_detail_setting_widget.dart new file mode 100644 index 00000000..03a5a881 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_data_detail_setting_widget.dart @@ -0,0 +1,191 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; + +class CalendarDataDetailSettingWidget extends StatefulWidget { + const CalendarDataDetailSettingWidget({ + super.key, + required this.selectedDate, + }); + + final DateTime? selectedDate; + + @override + State createState() => + _CalendarDataDetailSettingWidgetState(); +} + +class _CalendarDataDetailSettingWidgetState + extends State { + var mode = SelectionMode.empty; + + @override + Widget build(BuildContext context) { + final selectedDate = widget.selectedDate; + if (selectedDate == null) return const SizedBox.shrink(); + + return Container( + padding: const EdgeInsets.all(12), + decoration: const BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(12), + bottomRight: Radius.circular(12), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + 'selected_date_details'.tr(), + style: AppTextStyles.bodyMediumMed, + ), + const Divider( + color: AppColors.grayTintStroke, + ), + Row( + children: [ + Expanded( + child: Text( + DateFormat('EEEE, MMMM d', context.locale.languageCode).format(selectedDate), + overflow: TextOverflow.ellipsis, + style: AppTextStyles.headingH3, + ), + ), + const Gap(8), + _buildKwPopupMenu(context, selectedDate), + ], + ), + const Gap(16), + Row( + children: [ + Expanded( + child: KwButton.outlinedPrimary( + label: 'cancel'.tr(), + onPressed: () { + context.read().add( + const ScheduleEventChangeMode( + isInScheduleAddMode: false, + ), + ); + }, + ), + ), + const Gap(8), + Expanded( + child: KwButton.primary( + disabled: mode == SelectionMode.empty, + label: 'choose_time'.tr(), + onPressed: () { + BlocProvider.of(context).add( + ScheduleEventChangeMode( + isInEditScheduleMode: true, + isWeekly: mode == SelectionMode.weekly, + ), + ); + }, + ), + ), + ], + ), + ], + ), + ); + } + + KwPopupMenu _buildKwPopupMenu(BuildContext context, DateTime selectedDate) { + return KwPopupMenu( + customButtonBuilder: (_, isOpened) { + return _buildPopupButton(isOpened, selectedDate); + }, + menuItems: [ + KwPopupMenuItem( + icon: Assets.images.icons.calendarV2.svg( + height: 16, + width: 16, + ), + title: 'date'.tr(), + onTap: () { + setState(() { + mode = SelectionMode.single; + }); + }, + ), + KwPopupMenuItem( + icon: Assets.images.icons.calendar.svg( + height: 16, + width: 16, + ), + title: '${'all'.tr()} ${DateFormat('EEEE', context.locale.languageCode).format(selectedDate)}', + onTap: () { + setState(() { + mode = SelectionMode.weekly; + }); + }, + ) + ], + ); + } + + Widget _buildPopupButton(bool isOpened, DateTime selectedDate) { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + height: 34, + padding: const EdgeInsets.only(left: 12, right: 10), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(17), + border: Border.all( + color: isOpened ? AppColors.bgColorDark : AppColors.grayTintStroke, + width: 1, + ), + ), + child: Row( + children: [ + if (mode == SelectionMode.empty) + Text( + 'modify'.tr(), + style: AppTextStyles.bodySmallMed, + ) + else + RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${'modify'.tr()}: ', + style: AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.blackGray, + ), + ), + TextSpan( + text: '${mode == SelectionMode.single ? 'one'.tr() : 'all'.tr()} ' + '${DateFormat('EEEE', context.locale.languageCode).format(selectedDate)}', + style: AppTextStyles.bodyMediumMed, + ), + ], + ), + ), + const Gap(4), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: isOpened ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + height: 16, + width: 16, + ), + ) + ], + ), + ); + } +} + +enum SelectionMode {empty, single, weekly} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_edit_slot.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_edit_slot.dart new file mode 100644 index 00000000..67239c10 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_edit_slot.dart @@ -0,0 +1,152 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/kw_time_slot.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; +import 'package:krow/features/profile/schedule/domain/entities/schedule_slot.dart'; + +class CalendarEditSlot extends StatelessWidget { + const CalendarEditSlot({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) { + return previous.scheduleErrorText != current.scheduleErrorText || + previous.tempSchedules != current.tempSchedules; + }, + builder: (context, state) { + final daySchedule = state.tempSchedules.first; + + return Container( + padding: const EdgeInsets.all(12), + decoration: const BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(12), + bottomRight: Radius.circular(12), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Text( + 'what_hours_available'.tr(), + style: AppTextStyles.bodyMediumMed, + ), + const Divider( + color: AppColors.grayTintStroke, + ), + AnimatedSize( + duration: const Duration(milliseconds: 300), + alignment: Alignment.topCenter, + child: Column( + children: [ + for (int i = 0; i < daySchedule.slots.length; i++) + _CalendarEditSlotItemWidget( + slot: daySchedule.slots[i], + slotIndex: i, + ), + ], + ), + ), + if (state.scheduleErrorText.isNotEmpty) + Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Text( + state.scheduleErrorText, + style: AppTextStyles.bodyTinyReg.copyWith( + color: AppColors.statusError, + ), + ), + ), + const Gap(16), + KwButton.secondary( + label: 'add_slot'.tr(), + leftIcon: Assets.images.icons.add, + onPressed: () { + BlocProvider.of(context).add( + const ScheduleEventAddSlot(), + ); + }, + ) + ], + ), + ); + }, + ); + } +} + +class _CalendarEditSlotItemWidget extends StatelessWidget { + const _CalendarEditSlotItemWidget({ + required this.slot, + required this.slotIndex, + }); + + final ScheduleSlot slot; + final int slotIndex; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + const Gap(8), + Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Expanded( + child: KwTimeSlotInput( + label: 'start_time'.tr(), + initialValue: slot.startTime, + onChange: (DateTime start) { + BlocProvider.of(context).add( + ScheduleEventEditSlot( + start: start, + slot: slot, + slotIndex: slotIndex, + ), + ); + }, + ), + ), + const Gap(8), + Expanded( + child: KwTimeSlotInput( + label: 'end_time'.tr(), + initialValue: slot.endTime, + onChange: (DateTime end) { + BlocProvider.of(context).add( + ScheduleEventEditSlot( + end: end, + slot: slot, + slotIndex: slotIndex, + ), + ); + }, + ), + ), + const Gap(8), + KwButton.secondary( + onPressed: () { + BlocProvider.of(context).add( + ScheduleEventRemoveSlot( + slot: slot, + slotIndex: slotIndex, + ), + ); + }, + leftIcon: Assets.images.icons.x, + fit: KwButtonFit.circular, + ) + ], + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_footer_widget.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_footer_widget.dart new file mode 100644 index 00000000..b3d6b885 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_footer_widget.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_data_detail_setting_widget.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/calendar_legend_widget.dart'; + +class CalendarFooterWidget extends StatelessWidget { + const CalendarFooterWidget({ + super.key, + required this.selectedDates, + required this.existedSlots, + }); + + final List selectedDates; + final List existedSlots; + + @override + Widget build(BuildContext context) { + return BlocSelector( + selector: (state) => state.isScheduleAddMode, + builder: (context, isInScheduleAddMode) { + return AnimatedCrossFade( + duration: Durations.short4, + crossFadeState: isInScheduleAddMode + ? CrossFadeState.showSecond + : CrossFadeState.showFirst, + firstChild: CalendarLegendWidget( + selectedDates: selectedDates, + existedSlots: existedSlots, + ), + secondChild: CalendarDataDetailSettingWidget( + selectedDate: selectedDates.firstOrNull, + ), + ); + }, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_legend_widget.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_legend_widget.dart new file mode 100644 index 00000000..6a35fa7d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_legend_widget.dart @@ -0,0 +1,117 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/shared_functions.dart'; + +class CalendarLegendWidget extends StatelessWidget { + const CalendarLegendWidget({ + super.key, + required this.selectedDates, + required this.existedSlots, + }); + + final List selectedDates; + final List existedSlots; + + @override + Widget build(BuildContext context) { + final selectedDatesOption = _getSelectedDatesOption(); + + return Container( + padding: const EdgeInsets.symmetric(horizontal: 12), + decoration: const BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(12), + bottomRight: Radius.circular(12), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Divider( + color: AppColors.grayTintStroke, + ), + const Gap(8), + Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Container( + height: 16, + width: 16, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.bgColorDark, + ), + ), + const Gap(8), + Text( + 'available'.tr(), + style: AppTextStyles.bodyMediumReg, + ), + const Gap(32), + Container( + height: 16, + width: 16, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.blackCaptionText, + ), + ), + const Gap(8), + Text( + 'not_available'.tr(), + style: AppTextStyles.bodyMediumReg, + ), + const Spacer(), + if (selectedDates.isEmpty) + const SizedBox( + height: 34, + ) + else + Container( + decoration: BoxDecoration( + border: Border.all( + color: AppColors.grayTintStroke, + ), + borderRadius: BorderRadius.circular(16), + ), + child: KwButton.secondary( + height: 32, + label: switch (selectedDatesOption) { + SelectedDatesOption.add => 'add'.tr(), + SelectedDatesOption.edit => 'edit'.tr(), + SelectedDatesOption.editAll => 'edit_all'.tr(), + }, + onPressed: () => onEditButtonPress( + context, + selectedDatesOption: selectedDatesOption, + isWeeklySchedule: existedSlots.length == 1 && + existedSlots.first.isWeekly, + ), + rightIcon: existedSlots.isNotEmpty + ? Assets.images.icons.edit + : Assets.images.icons.add, + ), + ), + ], + ), + const Gap(24), + ], + ), + ); + } + + SelectedDatesOption _getSelectedDatesOption() { + if (existedSlots.isEmpty) return SelectedDatesOption.add; + + return existedSlots.length > 1 || selectedDates.length > 1 + ? SelectedDatesOption.editAll + : SelectedDatesOption.edit; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_slot_list_widget.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_slot_list_widget.dart new file mode 100644 index 00000000..480c78ec --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/calendar_slot_list_widget.dart @@ -0,0 +1,184 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; +import 'package:krow/features/profile/schedule/domain/entities/day_shedule.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; +import 'package:krow/features/profile/schedule/domain/entities/schedule_slot.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/shared_functions.dart'; + +import '../../../../../app.dart'; + +class CalendarSlotListWidget extends StatelessWidget { + const CalendarSlotListWidget({ + super.key, + required this.selectedSchedules, + }); + + final List selectedSchedules; + + static final timeFormat = DateFormat('h:mma', 'en'); + + Future _onDeleteButtonPress( + BuildContext context, + DaySchedule schedule, + ) async { + final scheduleBloc = context.read(); + if (!schedule.isWeekly) { + scheduleBloc.add( + ScheduleEventDeleteSchedule(schedule: schedule), + ); + return; + } + + await KwDialog.show( + context: context, + state: KwDialogState.warning, + icon: Assets.images.icons.alertTriangle, + title: 'delete_schedule'.tr(), + message: 'delete_schedule_message'.tr(args: [(DateFormat('EEEE', context.locale.languageCode).format(schedule.date))]), + primaryButtonLabel: 'confirm'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (dialogContext) { + scheduleBloc.add( + ScheduleEventDeleteSchedule(schedule: schedule), + ); + + Navigator.of(dialogContext).pop(); + }, + ); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) => + previous.selectedDates != current.selectedDates, + builder: (context, state) { + if (state.selectedDates.isEmpty) return const SizedBox.shrink(); + + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Gap(12), + Text( + 'slot_details'.tr(), + style: AppTextStyles.bodySmallMed, + ), + const Gap(12), + for (var schedule in selectedSchedules) + _buildInfoWidget(context, schedule), + ], + ); + }, + ); + } + + Widget _buildInfoWidget(context, DaySchedule schedule) { + return Container( + margin: const EdgeInsets.only(top: 12), + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight8, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + children: [ + Container( + height: 36, + width: 36, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColors.grayStroke, + width: 1, + ), + ), + child: Center( + child: Assets.images.icons.calendar.svg(), + ), + ), + const Gap(12), + Text( + DateFormat('MMMM d', appContext!.locale.languageCode).format(schedule.date), + style: AppTextStyles.headingH3, + ), + const Spacer(), + KwPopupMenu( + horizontalMargin: 24, + menuItems: [ + KwPopupMenuItem( + title: 'edit'.tr(), + icon: Assets.images.icons.edit.svg(), + onTap: () => onEditButtonPress( + context, + editedDate: schedule.date, + isWeeklySchedule: schedule.isWeekly, + ), + ), + KwPopupMenuItem( + title: 'delete'.tr(), + textStyle: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.statusError, + ), + icon: Assets.images.icons.trash.svg(), + onTap: () => _onDeleteButtonPress(context, schedule), + ), + ], + ), + ], + ), + const Gap(12), + Text( + 'time_slots'.tr(), + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.blackGray, + ), + ), + for (var i = 0; i < schedule.slots.length / 2; i++) + Row( + children: [ + _buildSlotWidget(context, schedule.slots[i * 2]), + const Gap(12), + schedule.slots.length > (i * 2 + 1) + ? _buildSlotWidget(context, schedule.slots[i * 2 + 1]) + : const Spacer(), + ], + ), + ], + ), + ); + } + + _buildSlotWidget(BuildContext context, ScheduleSlot slot) { + return Expanded( + child: Container( + margin: const EdgeInsets.only(top: 12), + height: 36, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColors.grayTintStroke, + width: 1, + ), + ), + child: Center( + child: Text( + '${timeFormat.format(slot.startTime)} - ' + '${timeFormat.format(slot.endTime)}', + style: AppTextStyles.bodyMediumReg, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/schedule_calendar.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/schedule_calendar.dart new file mode 100644 index 00000000..e7b6680d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/schedule_calendar.dart @@ -0,0 +1,235 @@ +import 'package:calendar_date_picker2/calendar_date_picker2.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ScheduleCalendar extends StatefulWidget { + const ScheduleCalendar({ + super.key, + required this.selectedDates, + required this.onDateSelected, + required this.containsScheduleForDate, + required this.disabled, + }); + + // static const _monthNames = [ + // 'Jan', + // 'Feb', + // 'Mar', + // 'Apr', + // 'May', + // 'Jun', + // 'Jul', + // 'Aug', + // 'Sep', + // 'Oct', + // 'Nov', + // 'Dec', + // ]; + + + final List selectedDates; + final void Function(List value) onDateSelected; + final bool Function(DateTime date) containsScheduleForDate; + final bool disabled; + + @override + State createState() => _ScheduleCalendarState(); +} + +class _ScheduleCalendarState extends State { + final currentDate = DateTime.now(); + final selectedTextStyle = AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.grayWhite, + ); + final dayTextStyle = AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.bgColorDark, + ); + + late List _selectedDates = + _getStateSelectedDates(widget.selectedDates); + + List _getStateSelectedDates(List selectedDates) { + if (selectedDates.isEmpty) return []; + + return [ + selectedDates.first, + if (selectedDates.length > 1) selectedDates.last, + ]; + } + + @override + void didUpdateWidget(covariant ScheduleCalendar oldWidget) { + _selectedDates = _getStateSelectedDates(widget.selectedDates); + super.didUpdateWidget(oldWidget); + } + + @override + Widget build(BuildContext context) { + return IgnorePointer( + ignoring: widget.disabled, + child: CalendarDatePicker2( + value: _selectedDates, + config: CalendarDatePicker2Config( + calendarType: CalendarDatePicker2Type.range, + selectedRangeHighlightColor: AppColors.tintGray, + selectedDayTextStyle: selectedTextStyle, + dayTextStyle: dayTextStyle, + + selectedMonthTextStyle: selectedTextStyle, + selectedYearTextStyle: selectedTextStyle, + selectedDayHighlightColor: AppColors.bgColorDark, + centerAlignModePicker: true, + monthTextStyle: dayTextStyle, + weekdayLabelBuilder: _dayWeekBuilder, + dayBuilder: _dayBuilder, + monthBuilder: _monthBuilder, + yearBuilder: _yearBuilder, + controlsTextStyle: AppTextStyles.headingH3, + nextMonthIcon: Assets.images.icons.caretRight.svg(), + lastMonthIcon: Assets.images.icons.caretLeft.svg(), + customModePickerIcon: Padding( + padding: const EdgeInsets.only(left: 4), + child: Assets.images.icons.caretDown.svg(), + ), + // modePickerBuilder: _controlBuilder, + ), + onValueChanged: widget.onDateSelected, + ), + ); + } + + Widget? _monthBuilder({ + required int month, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentMonth, + }) { + return Center( + child: Container( + margin: const EdgeInsets.only(top: 12), + height: 46, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.blackDarkBgBody : null, + borderRadius: BorderRadius.circular(23), + border: Border.all( + color: AppColors.grayStroke, + width: isSelected == true ? 0 : 1, + ), + ), + child: Center( + child: Text( + DateFormat.MMM(context.locale.toLanguageTag()).format( + DateFormat('M').parse(month.toString()), + ), + style: isSelected == true + ? AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite) + : AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + ), + ), + ); + } + + Widget? _yearBuilder({ + required int year, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isCurrentYear, + }) { + return Center( + child: Text( + year.toString(), + style: dayTextStyle, + textAlign: TextAlign.center, + ), + ); + } + + Widget? _dayBuilder({ + required DateTime date, + TextStyle? textStyle, + BoxDecoration? decoration, + bool? isSelected, + bool? isDisabled, + bool? isToday, + }) { + final eventExist = widget.containsScheduleForDate(date); + + return Center( + child: Container( + margin: const EdgeInsets.only(left: 2, right: 2), + alignment: Alignment.center, + decoration: BoxDecoration( + color: isSelected == true ? AppColors.bgColorDark : null, + borderRadius: BorderRadius.circular(20), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (eventExist) const Gap(5), + Text( + date.day.toString(), + style: isSelected == true + ? selectedTextStyle + : AppTextStyles.bodyMediumReg.copyWith( + color: _isPast(date) + ? AppColors.blackCaptionText + : AppColors.bgColorDark, + ), + textAlign: TextAlign.center, + ), + if (eventExist) ...[ + const Gap(1), + DecoratedBox( + decoration: BoxDecoration( + color: isSelected == true + ? AppColors.grayWhite + : AppColors.bgColorDark, + borderRadius: BorderRadius.circular(2), + ), + child: const SizedBox( + height: 4, + width: 4, + ), + ), + ], + const Gap(2), + ], + ), + ), + ); + } + + bool _isPast(DateTime date) { + return date.isBefore( + DateTime(currentDate.year, currentDate.month, currentDate.day), + ); + } + + Widget? _dayWeekBuilder({ + required int weekday, + bool? isScrollViewTopHeader, + }) { + print(DateFormat('d', 'en').parse((weekday).toString())); + return Text( + DateFormat.E(context.locale.toLanguageTag()).format( + DateTime(2020, 1, (5 + weekday)) // 5 is Monday, so we start from there), + ), + style: AppTextStyles.bodyMediumSmb.copyWith( + color: AppColors.bgColorDark, + ), + textAlign: TextAlign.center, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/shared_functions.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/shared_functions.dart new file mode 100644 index 00000000..f5f969ac --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/shared_functions.dart @@ -0,0 +1,63 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/features/profile/schedule/domain/bloc/schedule_bloc.dart'; +import 'package:krow/features/profile/schedule/presentation/widgets/weekly_option_selector.dart'; + +enum SelectedDatesOption { add, edit, editAll } + +Future onEditButtonPress( + BuildContext context, { + required bool isWeeklySchedule, + SelectedDatesOption selectedDatesOption = SelectedDatesOption.edit, + DateTime? editedDate, +}) async { + if (selectedDatesOption != SelectedDatesOption.edit) { + context.read().add( + const ScheduleEventChangeMode( + isInScheduleAddMode: true, + isInEditScheduleMode: true, + ), + ); + return; + } + + if (!isWeeklySchedule) { + context.read().add( + ScheduleEventChangeMode( + isWeekly: false, + isInEditScheduleMode: true, + editedDate: editedDate, + ), + ); + return; + } + + var isWeeklySelected = false; + await KwDialog.show( + context: context, + icon: Assets.images.icons.menuBoard, + title: 'update_schedule'.tr(), + message: 'update_schedule_message'.tr(), + primaryButtonLabel: 'submit_update'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (dialogContext) { + context.read().add( + ScheduleEventChangeMode( + isWeekly: isWeeklySelected, + isInEditScheduleMode: true, + editedDate: editedDate, + ), + ); + + Navigator.of(dialogContext).pop(); + }, + child: WeeklyOptionSelector( + onWeeklyToggle: (isWeekly) { + isWeeklySelected = isWeekly; + }, + ), + ); +} diff --git a/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/weekly_option_selector.dart b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/weekly_option_selector.dart new file mode 100644 index 00000000..878ed9a9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/schedule/presentation/widgets/weekly_option_selector.dart @@ -0,0 +1,36 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_option_selector.dart'; + +class WeeklyOptionSelector extends StatefulWidget { + const WeeklyOptionSelector({ + super.key, + required this.onWeeklyToggle, + }); + + final void Function(bool) onWeeklyToggle; + + @override + State createState() => _WeeklyOptionSelectorState(); +} + +class _WeeklyOptionSelectorState extends State { + int selectedOption = 0; + + @override + Widget build(BuildContext context) { + return KwOptionSelector( + selectedIndex: selectedOption, + selectedColor: AppColors.blackDarkBgBody, + itemBorder: const Border.fromBorderSide( + BorderSide(color: AppColors.grayStroke), + ), + onChanged: (index) => setState(() { + selectedOption = index; + widget.onWeeklyToggle(selectedOption != 0); + }), + items: ['this_day_only'.tr(), 'entire_schedule'.tr()], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_form_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_form_api_provider.dart new file mode 100644 index 00000000..58b4359a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_form_api_provider.dart @@ -0,0 +1,24 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; + +@injectable +class WagesFormApiProvider { + Future> fetchActualForms() async { + await Future.delayed(const Duration(seconds: 1)); + + return [ + const EddFormEntity.empty(), + const INineEntity.empty(), + const OfferLetterEntity.empty(), + const WFourEntity.empty(), + ]; + } + + Future submitWageForm(WageFormEntity formData) async { + await Future.delayed(const Duration(seconds: 1)); + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_forms_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_forms_repository_impl.dart new file mode 100644 index 00000000..b56ee780 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/data/wages_forms_repository_impl.dart @@ -0,0 +1,22 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/features/profile/wages_forms/data/wages_form_api_provider.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/wages_forms_repository.dart'; + +@Injectable(as: WagesFormsRepository) +class WagesFormsRepositoryImpl implements WagesFormsRepository { + WagesFormsRepositoryImpl({required WagesFormApiProvider apiProvider}) + : _apiProvider = apiProvider; + + final WagesFormApiProvider _apiProvider; + + @override + Future> getActualForms() async { + return _apiProvider.fetchActualForms(); + } + + @override + Future submitWageForm({required WageFormEntity form}) { + return _apiProvider.submitWageForm(form); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart new file mode 100644 index 00000000..91a5e999 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart @@ -0,0 +1,106 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/validator_wage_from_visitor.dart'; +import 'package:krow/features/profile/wages_forms/domain/wages_forms_repository.dart'; + +part 'wages_form_event.dart'; + +part 'wages_form_state.dart'; + +part 'wages_form_fields.dart'; + +class WagesFormBloc extends Bloc { + WagesFormBloc() : super(const WagesFormState()) { + on(_onInitial); + + on(_onSetActiveForm); + + on(_onAddUserSign); + + on(_onUpdateCurrentForm); + + on(_onValidateCurrentForm); + + on(_onSubmitCurrentForm); + } + + final _repository = getIt(); + final _validatorVisitor = const ValidatorWageFromVisitor(); + + Future _onInitial( + InitializeWagesFormBloc event, + Emitter emit, + ) async { + final forms = await _repository.getActualForms(); + + emit( + state.copyWith( + status: StateStatus.idle, + actualForms: forms, + ), + ); + } + + void _onSetActiveForm(SetActiveForm event, Emitter emit) { + emit(state.copyWith(activeForm: event.form)); + } + + void _onAddUserSign(AddUserSignImage event, Emitter emit) { + emit(state.copyWith(signImageData: event.imageData)); + } + + void _onUpdateCurrentForm( + UpdateCurrentForm event, + Emitter emit, + ) { + emit(state.copyWith(activeForm: event.form)); + + final index = state.actualForms.indexWhere( + (item) => item.runtimeType == event.form.runtimeType, + ); + if (index < 0) return; + + emit( + state.copyWith( + actualForms: List.from(state.actualForms)..[index] = event.form, + ), + ); + } + + void _onValidateCurrentForm( + ValidateCurrentForm event, + Emitter emit, + ) { + final formErrors = state.activeForm?.visit(_validatorVisitor) ?? {}; + + final isSignAdded = state.signImageData != null; + + emit( + state.copyWith( + status: formErrors.isEmpty && isSignAdded + ? StateStatus.success + : StateStatus.error, + formErrors: formErrors, + ), + ); + + emit(state.copyWith(status: StateStatus.idle, formErrors: {})); + } + + void _onSubmitCurrentForm( + SubmitCurrentForm event, + Emitter emit, + ) async { + final form = state.activeForm; + if (form == null) return; + + emit(state.copyWith(status: StateStatus.loading)); + + await _repository.submitWageForm(form: form); + + emit(state.copyWith(status: StateStatus.success)); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_event.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_event.dart new file mode 100644 index 00000000..30d09da6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_event.dart @@ -0,0 +1,36 @@ +part of 'wages_form_bloc.dart'; + +@immutable +sealed class WagesFormEvent { + const WagesFormEvent(); +} + +class InitializeWagesFormBloc extends WagesFormEvent { + const InitializeWagesFormBloc(); +} + +class SetActiveForm extends WagesFormEvent { + const SetActiveForm({required this.form}); + + final WageFormEntity form; +} + +class AddUserSignImage extends WagesFormEvent { + const AddUserSignImage({required this.imageData}); + + final Uint8List imageData; +} + +class UpdateCurrentForm extends WagesFormEvent { + const UpdateCurrentForm({required this.form}); + + final WageFormEntity form; +} + +class ValidateCurrentForm extends WagesFormEvent { + const ValidateCurrentForm(); +} + +class SubmitCurrentForm extends WagesFormEvent { + const SubmitCurrentForm(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_fields.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_fields.dart new file mode 100644 index 00000000..13762e8f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_fields.dart @@ -0,0 +1,70 @@ +part of 'wages_form_bloc.dart'; + +abstract class WagesFormFields { + static const fullName = 'fullName'; + static const city = 'city'; + static const lastName = 'lastName'; + static const firstName = 'firstName'; + static const middleName = 'middleName'; + static const address = 'address'; + static const state = 'state'; + static const zipCode = 'zipCode'; + static const birthdate = 'birthdate'; + static const socialNumber = 'socialNumber'; + static const email = 'email'; + static const phone = 'phone'; +} + +const usStates = [ + 'Alabama', + 'Alaska', + 'Arizona', + 'Arkansas', + 'California', + 'Colorado', + 'Connecticut', + 'Delaware', + 'District of Columbia', + 'Florida', + 'Georgia', + 'Hawaii', + 'Idaho', + 'Illinois', + 'Indiana', + 'Iowa', + 'Kansas', + 'Kentucky', + 'Louisiana', + 'Maine', + 'Montana', + 'Nebraska', + 'Nevada', + 'New Hampshire', + 'New Jersey', + 'New Mexico', + 'New York', + 'North Carolina', + 'North Dakota', + 'Ohio', + 'Oklahoma', + 'Oregon', + 'Maryland', + 'Massachusetts', + 'Michigan', + 'Minnesota', + 'Mississippi', + 'Missouri', + 'Pennsylvania', + 'Rhode Island', + 'South Carolina', + 'South Dakota', + 'Tennessee', + 'Texas', + 'Utah', + 'Vermont', + 'Virginia', + 'Washington', + 'West Virginia', + 'Wisconsin', + 'Wyoming', +]; diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_state.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_state.dart new file mode 100644 index 00000000..37e4c1c4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/bloc/wages_form_state.dart @@ -0,0 +1,34 @@ +part of 'wages_form_bloc.dart'; + +@immutable +class WagesFormState { + const WagesFormState({ + this.status = StateStatus.loading, + this.signImageData, + this.actualForms = const [], + this.activeForm, + this.formErrors = const {}, + }); + + final StateStatus status; + final Uint8List? signImageData; + final List actualForms; + final WageFormEntity? activeForm; + final Map formErrors; + + WagesFormState copyWith({ + StateStatus? status, + Uint8List? signImageData, + List? actualForms, + WageFormEntity? activeForm, + Map? formErrors + }) { + return WagesFormState( + status: status ?? this.status, + signImageData: signImageData ?? this.signImageData, + actualForms: actualForms ?? this.actualForms, + activeForm: activeForm ?? this.activeForm, + formErrors: formErrors ?? this.formErrors, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/edd_form_entity.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/edd_form_entity.dart new file mode 100644 index 00000000..fe1e5bee --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/edd_form_entity.dart @@ -0,0 +1,73 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class EddFormEntity extends WageFormEntity { + const EddFormEntity({ + required super.isSigned, + required super.isSubmitted, + required this.firstName, + required this.lastName, + required this.address, + required this.aptNumber, + required this.city, + required this.state, + required this.zipCode, + required this.socialNumber, + }); + + const EddFormEntity.empty({ + super.isSigned = false, + super.isSubmitted = false, + this.firstName = '', + this.lastName = '', + this.address = '', + this.aptNumber, + this.city = '', + this.state = '', + this.zipCode = '', + this.socialNumber = '', + }); + + final String firstName; + final String lastName; + final String address; + final int? aptNumber; + final String city; + final String state; + final String zipCode; + final String socialNumber; + + @override + String get name => 'EDD'; + + @override + T visit(WageFormVisitor visitor) { + return visitor.visitEddForm(this); + } + + EddFormEntity copyWith({ + bool? isSigned, + bool? isSubmitted, + String? firstName, + String? lastName, + String? address, + int? aptNumber, + String? city, + String? state, + String? zipCode, + String? socialNumber, + }) { + return EddFormEntity( + isSigned: isSigned ?? this.isSigned, + isSubmitted: isSubmitted ?? this.isSubmitted, + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + address: address ?? this.address, + aptNumber: aptNumber ?? this.aptNumber, + city: city ?? this.city, + state: state ?? this.state, + zipCode: zipCode ?? this.zipCode, + socialNumber: socialNumber ?? this.socialNumber, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/i_nine_entity.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/i_nine_entity.dart new file mode 100644 index 00000000..f6f529e9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/i_nine_entity.dart @@ -0,0 +1,93 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class INineEntity extends WageFormEntity { + const INineEntity({ + required super.isSigned, + required super.isSubmitted, + required this.firstName, + required this.lastName, + required this.middleName, + required this.address, + required this.aptNumber, + required this.city, + required this.state, + required this.zipCode, + required this.dateOfBirth, + required this.socialNumber, + required this.email, + required this.phoneNumber, + }); + + const INineEntity.empty({ + super.isSigned = false, + super.isSubmitted = false, + this.firstName = '', + this.lastName = '', + this.middleName = '', + this.address = '', + this.aptNumber, + this.city = '', + this.state = '', + this.zipCode = '', + this.dateOfBirth, + this.socialNumber = '', + this.email = '', + this.phoneNumber = '+1', + }); + + final String firstName; + final String lastName; + final String middleName; + final String address; + final int? aptNumber; + final String city; + final String state; + final String zipCode; + final DateTime? dateOfBirth; + final String socialNumber; + final String email; + final String phoneNumber; + + @override + String get name => 'I-9'; + + @override + T visit(WageFormVisitor visitor) { + return visitor.visitINineForm(this); + } + + INineEntity copyWith({ + bool? isSigned, + bool? isSubmitted, + String? firstName, + String? middleName, + String? lastName, + String? address, + int? aptNumber, + String? city, + String? state, + String? zipCode, + String? socialNumber, + DateTime? dateOfBirth, + String? email, + String? phoneNumber, + }) { + return INineEntity( + isSigned: isSigned ?? this.isSigned, + isSubmitted: isSubmitted ?? this.isSubmitted, + firstName: firstName ?? this.firstName, + middleName: middleName ?? this.middleName, + lastName: lastName ?? this.lastName, + address: address ?? this.address, + aptNumber: aptNumber ?? this.aptNumber, + city: city ?? this.city, + state: state ?? this.state, + zipCode: zipCode ?? this.zipCode, + socialNumber: socialNumber ?? this.socialNumber, + dateOfBirth: dateOfBirth ?? this.dateOfBirth, + email: email ?? this.email, + phoneNumber: phoneNumber ?? this.phoneNumber, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/offer_letter_entity.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/offer_letter_entity.dart new file mode 100644 index 00000000..55a6d22f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/offer_letter_entity.dart @@ -0,0 +1,43 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class OfferLetterEntity extends WageFormEntity { + const OfferLetterEntity({ + required super.isSigned, + required super.isSubmitted, + required this.fullName, + required this.city, + }); + + const OfferLetterEntity.empty({ + super.isSigned = false, + super.isSubmitted = false, + this.fullName = '', + this.city = '', + }); + + final String fullName; + final String city; + + @override + String get name => 'Offer Letter & Agreement'; + + @override + T visit(WageFormVisitor visitor) { + return visitor.visitOfferLetterFrom(this); + } + + OfferLetterEntity copyWith({ + bool? isSigned, + bool? isSubmitted, + String? fullName, + String? city, + }) { + return OfferLetterEntity( + isSigned: isSigned ?? this.isSigned, + isSubmitted: isSubmitted ?? this.isSubmitted, + fullName: fullName ?? this.fullName, + city: city ?? this.city, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/w_four_entity.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/w_four_entity.dart new file mode 100644 index 00000000..7825e6dd --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/w_four_entity.dart @@ -0,0 +1,73 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class WFourEntity extends WageFormEntity { + const WFourEntity({ + required super.isSigned, + required super.isSubmitted, + required this.firstName, + required this.lastName, + required this.middleName, + required this.address, + required this.city, + required this.state, + required this.zipCode, + required this.socialNumber, + }); + + const WFourEntity.empty({ + super.isSigned = false, + super.isSubmitted = false, + this.firstName = '', + this.lastName = '', + this.middleName = '', + this.address = '', + this.city = '', + this.state = '', + this.zipCode = '', + this.socialNumber = '', + }); + + final String firstName; + final String lastName; + final String middleName; + final String address; + final String city; + final String state; + final String zipCode; + final String socialNumber; + + @override + String get name => 'W-4'; + + @override + T visit(WageFormVisitor visitor) { + return visitor.visitWFourForm(this); + } + + WFourEntity copyWith({ + bool? isSigned, + bool? isSubmitted, + String? firstName, + String? middleName, + String? lastName, + String? address, + String? city, + String? state, + String? zipCode, + String? socialNumber, + }) { + return WFourEntity( + isSigned: isSigned ?? this.isSigned, + isSubmitted: isSubmitted ?? this.isSubmitted, + firstName: firstName ?? this.firstName, + middleName: middleName ?? this.middleName, + lastName: lastName ?? this.lastName, + address: address ?? this.address, + city: city ?? this.city, + state: state ?? this.state, + zipCode: zipCode ?? this.zipCode, + socialNumber: socialNumber ?? this.socialNumber, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/wage_form_entity.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/wage_form_entity.dart new file mode 100644 index 00000000..11456f66 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/entities/wage_form_entity.dart @@ -0,0 +1,14 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +@immutable +abstract class WageFormEntity { + const WageFormEntity({required this.isSigned, required this.isSubmitted}); + + final bool isSigned; + final bool isSubmitted; + + String get name; + + T visit(WageFormVisitor visitor); +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/sign_image_service.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/sign_image_service.dart new file mode 100644 index 00000000..fd186a12 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/sign_image_service.dart @@ -0,0 +1,56 @@ +import 'dart:typed_data'; +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:syncfusion_flutter_signaturepad/signaturepad.dart'; + +class SignImageService { + Future getSignPngBytes(SfSignaturePadState state) async { + final image = await getSignImage(state); + final byteData = await image.toByteData(format: ui.ImageByteFormat.png); + final bytes = byteData!.buffer.asUint8List(); + return bytes; + } + + Future getSignImage(SfSignaturePadState state) async { + var paths = state.toPathList(); + Rect? bounds; + + for (final path in paths) { + final pathBounds = path.getBounds(); + if (bounds == null) { + bounds = pathBounds; + } else { + bounds = bounds.expandToInclude(pathBounds); + } + } + + if (bounds == null) { + throw ArgumentError('The paths list is empty!'); + } + + final offset = Offset(-bounds.left, -bounds.top); + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + var scale = 2.0; + canvas.scale(scale); // Масштабування для більшої деталізації + + final paint = Paint() + ..color = Colors.black + ..style = PaintingStyle.stroke + ..strokeWidth = 1.0 + ..isAntiAlias = true + ..strokeCap = StrokeCap.round + ..strokeJoin = StrokeJoin.round; + + for (final path in paths) { + canvas.drawPath(path.shift(offset), paint); + } + + final picture = recorder.endRecording(); + return await picture.toImage( + (bounds.width * scale).ceil(), + (bounds.height * scale).ceil(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/validator_wage_from_visitor.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/validator_wage_from_visitor.dart new file mode 100644 index 00000000..bf9211d3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/validator_wage_from_visitor.dart @@ -0,0 +1,101 @@ +import 'package:krow/core/application/common/validators/email_validator.dart'; +import 'package:krow/core/application/common/validators/phone_validator.dart'; +import 'package:krow/core/application/common/validators/social_number_validator.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +/// Returns a Map of keys that represent the form fields and values that +/// represent corresponding error +class ValidatorWageFromVisitor implements WageFormVisitor> { + const ValidatorWageFromVisitor(); + + @override + Map visitEddForm(EddFormEntity entity) { + final ssnError = SocialNumberValidator.validate( + entity.socialNumber, + isRequired: true, + ); + + return { + if (entity.firstName.isEmpty) + WagesFormFields.firstName: 'Required to fill', + if (entity.lastName.isEmpty) WagesFormFields.lastName: 'Required to fill', + if (entity.address.isEmpty) WagesFormFields.address: 'Required to fill', + if (entity.city.isEmpty) WagesFormFields.city: 'Required to fill', + if (entity.state.isEmpty) WagesFormFields.state: 'Required to fill', + if (entity.zipCode.isEmpty) WagesFormFields.zipCode: 'Required to fill', + if (ssnError != null) WagesFormFields.socialNumber: ssnError, + }; + } + + @override + Map visitINineForm(INineEntity entity) { + final emailError = EmailValidator.validate(entity.email, isRequired: true); + final phoneError = PhoneValidator.validate( + entity.phoneNumber, + isRequired: true, + ); + final ssnError = SocialNumberValidator.validate( + entity.socialNumber, + isRequired: true, + ); + + final birthdate = entity.dateOfBirth; + String? birthDateError; + if (birthdate == null) { + birthDateError = 'This field is required'; + } else { + final now = DateTime.now(); + if (birthdate.isAfter(now)) { + birthDateError = 'Future date selected'; + } else if (birthdate.difference(now).inDays.abs() < 5840) { + birthDateError = 'Invalid date selected'; + } + } + + return { + if (entity.firstName.isEmpty) + WagesFormFields.firstName: 'Required to fill', + if (entity.lastName.isEmpty) WagesFormFields.lastName: 'Required to fill', + if (entity.address.isEmpty) WagesFormFields.address: 'Required to fill', + if (entity.city.isEmpty) WagesFormFields.city: 'Required to fill', + if (entity.state.isEmpty) WagesFormFields.state: 'Required to fill', + if (entity.zipCode.isEmpty) WagesFormFields.zipCode: 'Required to fill', + if (birthDateError != null) WagesFormFields.birthdate: birthDateError, + if (ssnError != null) WagesFormFields.socialNumber: ssnError, + if (emailError != null) WagesFormFields.email: emailError, + if (phoneError != null) WagesFormFields.phone: phoneError, + }; + } + + @override + Map visitOfferLetterFrom(OfferLetterEntity entity) { + return { + if (entity.fullName.isEmpty) WagesFormFields.fullName: 'Required to fill', + if (entity.city.isEmpty) WagesFormFields.city: 'Required to fill' + }; + } + + @override + Map visitWFourForm(WFourEntity entity) { + final ssnError = SocialNumberValidator.validate( + entity.socialNumber, + isRequired: true, + ); + + return { + if (entity.firstName.isEmpty) + WagesFormFields.firstName: 'Required to fill', + if (entity.lastName.isEmpty) WagesFormFields.lastName: 'Required to fill', + if (entity.address.isEmpty) WagesFormFields.address: 'Required to fill', + if (entity.city.isEmpty) WagesFormFields.city: 'Required to fill', + if (entity.state.isEmpty) WagesFormFields.state: 'Required to fill', + if (entity.zipCode.isEmpty) WagesFormFields.zipCode: 'Required to fill', + if (ssnError != null) WagesFormFields.socialNumber: ssnError, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/wage_form_visitor.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/wage_form_visitor.dart new file mode 100644 index 00000000..7d5c2301 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/utils/wage_form_visitor.dart @@ -0,0 +1,16 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; + +abstract interface class WageFormVisitor { + const WageFormVisitor(); + + T visitEddForm(EddFormEntity entity); + + T visitINineForm(INineEntity entity); + + T visitOfferLetterFrom(OfferLetterEntity entity); + + T visitWFourForm(WFourEntity entity); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/wages_forms_repository.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/wages_forms_repository.dart new file mode 100644 index 00000000..c2ca2b79 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/domain/wages_forms_repository.dart @@ -0,0 +1,7 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; + +abstract interface class WagesFormsRepository { + Future> getActualForms(); + + Future submitWageForm({required WageFormEntity form}); +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/preview_wage_from_visitor.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/preview_wage_from_visitor.dart new file mode 100644 index 00000000..406712e8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/preview_wage_from_visitor.dart @@ -0,0 +1,66 @@ +import 'package:intl/intl.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class PreviewWageFormVisitor implements WageFormVisitor> { + const PreviewWageFormVisitor(); + + @override + Map visitEddForm(EddFormEntity entity) { + return { + 'Last Name': entity.lastName, + 'First Name': entity.firstName, + 'Address': entity.address, + 'Apt. number': entity.aptNumber?.toString() ?? '', + 'City': entity.city, + 'State': entity.state, + 'ZIP code': entity.zipCode, + 'Social Number': entity.socialNumber, + }; + } + + @override + Map visitINineForm(INineEntity entity) { + return { + 'Last Name': entity.lastName, + 'First Name': entity.firstName, + 'Middle Name': entity.middleName, + 'Address': entity.address, + 'Apt. number': entity.aptNumber?.toString() ?? '', + 'City': entity.city, + 'State': entity.state, + 'ZIP code': entity.zipCode, + 'Date of birth': entity.dateOfBirth != null + ? DateFormat('M/d/y').format(entity.dateOfBirth!) + : '', + 'Social Number': entity.socialNumber, + 'Email': entity.email, + 'Phone Number': entity.phoneNumber, + }; + } + + @override + Map visitOfferLetterFrom(OfferLetterEntity entity) { + return { + 'Full Name': entity.fullName, + 'City': entity.city, + }; + } + + @override + Map visitWFourForm(WFourEntity entity) { + return { + 'Last Name': entity.lastName, + 'First Name': entity.firstName, + 'Middle Name': entity.middleName, + 'Address': entity.address, + 'City': entity.city, + 'State': entity.state, + 'ZIP code': entity.zipCode, + 'Social Number': entity.socialNumber, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/routing_wage_form_visitor.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/routing_wage_form_visitor.dart new file mode 100644 index 00000000..208be453 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/routing_wage_form_visitor.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/form_item_widget.dart'; + +class RoutingWageFormVisitor implements WageFormVisitor { + const RoutingWageFormVisitor(); + + @override + Widget visitEddForm(EddFormEntity entity) { + return FormItemWidget( + formRoute: const EddFormRoute(), + wageForm: entity, + label: 'EDD', + ); + } + + @override + Widget visitINineForm(INineEntity entity) { + return FormItemWidget( + formRoute: const INineFormRoute(), + wageForm: entity, + label: 'I-9', + ); + } + + @override + Widget visitOfferLetterFrom(OfferLetterEntity entity) { + return FormItemWidget( + formRoute: const OfferLetterFormRoute(), + wageForm: entity, + label: 'Offer Letter & Agreement', + ); + } + + @override + Widget visitWFourForm(WFourEntity entity) { + return FormItemWidget( + formRoute: const WFourFormRoute(), + wageForm: entity, + label: 'W-4', + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/title_wage_form_visitor.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/title_wage_form_visitor.dart new file mode 100644 index 00000000..99a911f2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/components/title_wage_form_visitor.dart @@ -0,0 +1,31 @@ +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/domain/utils/wage_form_visitor.dart'; + +class TitleWageFormVisitor implements WageFormVisitor { + const TitleWageFormVisitor({this.isPreview = false}); + + final bool isPreview; + + @override + String visitEddForm(EddFormEntity entity) { + return 'Form EDD${isPreview ? ' Preview' : ''}'; + } + + @override + String visitINineForm(INineEntity entity) { + return 'Form I-9${isPreview ? ' Preview' : ''}'; + } + + @override + String visitOfferLetterFrom(OfferLetterEntity entity) { + return isPreview ? 'Form Offer Let... Preview' : 'Offer Letter & Agreement'; + } + + @override + String visitWFourForm(WFourEntity entity) { + return 'Form W-4${isPreview ? ' Preview' : ''}'; + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart new file mode 100644 index 00000000..f91fd67b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart @@ -0,0 +1,29 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; + +mixin FormUpdaterMixin + on State { + late final formBloc = context.read(); + late F form; + Timer? updateTimer; + + void updateCurrentForm(F updatedForm) { + updateTimer?.cancel(); + form = updatedForm; + + updateTimer = Timer( + const Duration(milliseconds: 500), + () { + formBloc.add(UpdateCurrentForm(form: form)); + }, + ); + } + + void handleSubmit() { + formBloc.add(const ValidateCurrentForm()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/edd_form_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/edd_form_screen.dart new file mode 100644 index 00000000..69f45589 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/edd_form_screen.dart @@ -0,0 +1,216 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_date_selector.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/edd_form_entity.dart'; +import 'package:krow/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart'; + +@RoutePage() +class EddFormScreen extends StatefulWidget { + const EddFormScreen({super.key}); + + @override + State createState() => _EddFormScreenState(); +} + +class _EddFormScreenState extends State + with FormUpdaterMixin { + @override + void initState() { + super.initState(); + + final activeForm = context.read().state.activeForm; + form = + activeForm is EddFormEntity ? activeForm : const EddFormEntity.empty(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'EDD', + showNotification: true, + ), + body: BlocConsumer( + listenWhen: (previous, current) => + current.status == StateStatus.success, + buildWhen: (previous, current) => current.status == StateStatus.error, + listener: (context, state) { + context.pushRoute(const SignedFormRoute()); + updateCurrentForm(form.copyWith(isSigned: true)); + }, + builder: (context, state) { + final formErrors = state.formErrors; + + return ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + const Text( + 'Fill the form below:', + style: AppTextStyles.bodySmallRegBlackGrey, + ), + const Gap(24), + KwTextInput( + initialValue: form.lastName, + onChanged: (lastName) { + updateCurrentForm(form.copyWith(lastName: lastName)); + }, + title: 'Last Name (Family Name)', + hintText: 'Enter your Last name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.lastName), + helperText: formErrors[WagesFormFields.lastName], + ), + const Gap(8), + KwTextInput( + initialValue: form.firstName, + onChanged: (firstName) { + updateCurrentForm(form.copyWith(firstName: firstName)); + }, + title: 'First Name (Given Name)', + hintText: 'Enter your First name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.firstName), + helperText: formErrors[WagesFormFields.firstName], + ), + const Gap(8), + KwTextInput( + initialValue: form.address, + onChanged: (address) { + updateCurrentForm(form.copyWith(address: address)); + }, + title: 'Address', + hintText: 'Enter your Address name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.address), + helperText: formErrors[WagesFormFields.address], + ), + const Gap(8), + KwTextInput( + initialValue: form.aptNumber?.toString(), + onChanged: (apt) { + updateCurrentForm( + form.copyWith(aptNumber: int.tryParse(apt)), + ); + }, + title: 'Apt. Number (if any)', + hintText: 'Enter your Apt. Number', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.number, + showError: false, + ), + const Gap(8), + KwTextInput( + initialValue: form.city, + onChanged: (city) { + updateCurrentForm(form.copyWith(city: city)); + }, + title: 'City or Town', + hintText: 'Enter your City', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.city), + helperText: formErrors[WagesFormFields.city], + ), + const Gap(8), + KwDropdown( + title: 'State', + horizontalPadding: 16, + borderColor: AppColors.grayStroke, + hintText: 'Select state', + selectedItem: form.state.toDropDownItem(), + items: [ + for (final state in usStates) + KwDropDownItem(data: state, title: state), + ], + onSelected: (state) { + updateCurrentForm(form.copyWith(state: state)); + }, + showError: formErrors.containsKey(WagesFormFields.state), + helperText: formErrors[WagesFormFields.state], + ), + const Gap(8), + KwTextInput( + initialValue: form.zipCode, + onChanged: (zipCode) { + updateCurrentForm(form.copyWith(zipCode: zipCode)); + }, + title: 'ZIP Code', + hintText: 'Enter your City\'s ZIP code', + borderColor: AppColors.grayStroke, + keyboardType: TextInputType.number, + textInputAction: TextInputAction.next, + showError: formErrors.containsKey(WagesFormFields.zipCode), + helperText: formErrors[WagesFormFields.zipCode], + ), + const Gap(8), + KwTextInput( + initialValue: form.socialNumber, + onChanged: (socialNumber) { + updateCurrentForm(form.copyWith(socialNumber: socialNumber)); + }, + title: 'U.S. Social Number', + hintText: 'Enter your U.S. Social Number', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.done, + showError: formErrors.containsKey(WagesFormFields.socialNumber), + helperText: formErrors[WagesFormFields.socialNumber], + ), + const Gap(24), + const FormSignHolderWidget(signingPageTitle: 'EDD'), + const Gap(24), + KwDateSelector( + readOnly: true, + title: 'Today’s Date', + hintText: 'mm/dd/yyyy', + initialValue: DateTime.now(), + onSelect: (date) {}, + ), + const Gap(24), + KwButton.outlinedPrimary( + label: 'Document Preview', + leftIcon: Assets.images.icons.eye, + onPressed: () { + context.pushRoute(const FormPreviewRoute()); + }, + ), + ], + ); + }, + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: KwButton.primary(label: 'Submit', onPressed: handleSubmit), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_preview_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_preview_screen.dart new file mode 100644 index 00000000..5f79c2e7 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_preview_screen.dart @@ -0,0 +1,68 @@ +import 'package:auto_route/annotations.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/presentation/components/preview_wage_from_visitor.dart'; +import 'package:krow/features/profile/wages_forms/presentation/components/title_wage_form_visitor.dart'; + +@RoutePage() +class FormPreviewScreen extends StatelessWidget { + const FormPreviewScreen({super.key}); + + @override + Widget build(BuildContext context) { + final form = context.read().state.activeForm; + const titleVisitor = TitleWageFormVisitor(isPreview: true); + final previewData = + form != null ? form.visit(const PreviewWageFormVisitor()) : {}; + + return Scaffold( + appBar: KwAppBar( + titleText: form != null ? form.visit(titleVisitor) : 'Preview', + showNotification: true, + ), + body: Container( + margin: const EdgeInsets.symmetric(horizontal: 12, vertical: 24), + decoration: const BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.all(Radius.circular(12)), + ), + child: SingleChildScrollView( + primary: false, + padding: const EdgeInsets.all(16), + child: Column( + spacing: 16, + children: [ + for (final entry in previewData.entries) + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${entry.key}:', + textAlign: TextAlign.start, + style: AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.blackGray, + ), + ), + const Gap(12), + Expanded( + child: Text( + entry.value, + textAlign: TextAlign.end, + style: AppTextStyles.bodyMediumMed, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ], + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_sign_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_sign_screen.dart new file mode 100644 index 00000000..5dadc352 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/form_sign_screen.dart @@ -0,0 +1,151 @@ +import 'dart:async'; + +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/sign_image_service.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/sign_notice_widget.dart'; +import 'package:syncfusion_flutter_signaturepad/signaturepad.dart'; + +@RoutePage() +class FormSignScreen extends StatefulWidget { + const FormSignScreen({super.key, required this.title}); + + final String title; + + @override + State createState() => _FormSignScreenState(); +} + +class _FormSignScreenState extends State { + final GlobalKey _signaturePadKey = GlobalKey(); + final _signNotifier = ValueNotifier(false); + Timer? _signTrackingTimer; + + void _startSignTracking() { + _signNotifier.value = false; + _signTrackingTimer?.cancel(); + _signTrackingTimer = Timer.periodic(const Duration(milliseconds: 300), (_) { + _signNotifier.value = + _signaturePadKey.currentState?.toPathList().isNotEmpty ?? false; + + if (_signNotifier.value) _signTrackingTimer?.cancel(); + }); + } + + void _handleOnSubmit() { + final wagesBloc = context.read(); + SignImageService() + .getSignPngBytes(_signaturePadKey.currentState!) + .then((imageData) { + wagesBloc.add(AddUserSignImage(imageData: imageData)); + }); + + context.router.maybePop(); + } + + @override + void initState() { + super.initState(); + + _startSignTracking(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: widget.title, + showNotification: true, + ), + body: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Sign the document below:', + style: AppTextStyles.bodySmallRegBlackGrey, + ), + const Gap(24), + Expanded( + child: Stack( + alignment: AlignmentDirectional.topEnd, + children: [ + DecoratedBox( + decoration: KwBoxDecorations.primaryLight8, + child: SfSignaturePad( + key: _signaturePadKey, + ), + ), + ListenableBuilder( + listenable: _signNotifier, + builder: (context, _) { + return _signNotifier.value + ? IconButton( + onPressed: () { + _signaturePadKey.currentState?.clear(); + _startSignTracking(); + }, + icon: const Icon( + Icons.close, + color: AppColors.bgColorDark, + size: 24, + ), + ) + : const SizedBox.shrink(); + }, + ), + Align( + alignment: Alignment.bottomCenter, + child: ListenableBuilder( + listenable: _signNotifier, + builder: (context, _) { + return _signNotifier.value + ? const SizedBox.shrink() + : const Padding( + padding: EdgeInsets.all(12), + child: SignNoticeWidget(), + ); + }, + ), + ) + ], + ), + ), + const Gap(28), + ], + ), + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: ListenableBuilder( + listenable: _signNotifier, + builder: (context, _) { + return KwButton.primary( + label: 'Submit and Back to Form', + disabled: !_signNotifier.value, + onPressed: _handleOnSubmit, + ); + }, + ), + ), + ), + ); + } + + @override + void dispose() { + _signTrackingTimer?.cancel(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/forms_list_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/forms_list_screen.dart new file mode 100644 index 00000000..138cb94c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/forms_list_screen.dart @@ -0,0 +1,53 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/presentation/components/routing_wage_form_visitor.dart'; + +@RoutePage() +class FormsListScreen extends StatelessWidget { + const FormsListScreen({super.key}); + + final _routingVisitor = const RoutingWageFormVisitor(); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar(titleText: 'Wages Form', showNotification: true), + body: BlocBuilder( + buildWhen: (previous, current) => + previous.actualForms != current.actualForms, + builder: (context, state) { + return ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + Text( + 'View and manage your wage forms below. ' + 'Select a form to review or update details.', + style: AppTextStyles.bodySmallReg.copyWith( + color: AppColors.blackGray, + ), + ), + const Gap(24), + if (state.status == StateStatus.loading && + state.actualForms.isEmpty) + const Align( + alignment: AlignmentDirectional.bottomCenter, + child: CircularProgressIndicator(), + ), + for (final entry in state.actualForms) + entry.visit(_routingVisitor), + const Gap(90), + ], + ); + }, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/i_nine_form_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/i_nine_form_screen.dart new file mode 100644 index 00000000..982a2609 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/i_nine_form_screen.dart @@ -0,0 +1,270 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_date_selector.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_phone_input.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/i_nine_entity.dart'; +import 'package:krow/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart'; + +@RoutePage() +class INineFormScreen extends StatefulWidget { + const INineFormScreen({super.key}); + + @override + State createState() => _INineFormScreenState(); +} + +class _INineFormScreenState extends State + with FormUpdaterMixin { + @override + void initState() { + super.initState(); + + final activeForm = context.read().state.activeForm; + form = activeForm is INineEntity ? activeForm : const INineEntity.empty(); + } + + @override + Widget build(BuildContext context) { + final currentData = DateTime.now(); + + return Scaffold( + appBar: KwAppBar( + titleText: 'I-9', + showNotification: true, + ), + body: BlocConsumer( + listenWhen: (previous, current) => + current.status == StateStatus.success, + buildWhen: (previous, current) => current.status == StateStatus.error, + listener: (context, state) { + context.pushRoute(const SignedFormRoute()); + updateCurrentForm(form.copyWith(isSigned: true)); + }, + builder: (context, state) { + final formErrors = state.formErrors; + + return ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + const Text( + 'Fill the form below:', + style: AppTextStyles.bodySmallRegBlackGrey, + ), + const Gap(24), + KwTextInput( + initialValue: form.lastName, + onChanged: (lastName) { + updateCurrentForm(form.copyWith(lastName: lastName)); + }, + title: 'Last Name (Family Name)', + hintText: 'Enter your Last name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.lastName), + helperText: formErrors[WagesFormFields.lastName], + ), + const Gap(8), + KwTextInput( + initialValue: form.firstName, + onChanged: (firstName) { + updateCurrentForm(form.copyWith(firstName: firstName)); + }, + title: 'First Name (Given Name)', + hintText: 'Enter your First name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.firstName), + helperText: formErrors[WagesFormFields.firstName], + ), + const Gap(8), + KwTextInput( + initialValue: form.middleName, + onChanged: (middleName) { + updateCurrentForm(form.copyWith(middleName: middleName)); + }, + title: 'Middle Initial (if any)', + hintText: 'Enter your Middle name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + ), + const Gap(8), + KwTextInput( + initialValue: form.address, + onChanged: (address) { + updateCurrentForm(form.copyWith(address: address)); + }, + title: 'Address', + hintText: 'Enter your Address name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.address), + helperText: formErrors[WagesFormFields.address], + ), + const Gap(8), + KwTextInput( + initialValue: form.aptNumber?.toString(), + onChanged: (apt) { + updateCurrentForm( + form.copyWith(aptNumber: int.tryParse(apt)), + ); + }, + title: 'Apt. Number (if any)', + hintText: 'Enter your Apt. Number', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.number, + showError: false, + ), + const Gap(8), + KwTextInput( + initialValue: form.city, + onChanged: (city) { + updateCurrentForm(form.copyWith(city: city)); + }, + title: 'City or Town', + hintText: 'Enter your City', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.city), + helperText: formErrors[WagesFormFields.city], + ), + const Gap(8), + KwDropdown( + title: 'State', + horizontalPadding: 16, + borderColor: AppColors.grayStroke, + hintText: 'Select state', + selectedItem: form.state.toDropDownItem(), + items: [ + for (final state in usStates) + KwDropDownItem(data: state, title: state), + ], + onSelected: (state) { + updateCurrentForm(form.copyWith(state: state)); + }, + showError: formErrors.containsKey(WagesFormFields.state), + helperText: formErrors[WagesFormFields.state], + ), + const Gap(8), + KwTextInput( + initialValue: form.zipCode, + onChanged: (zipCode) { + updateCurrentForm(form.copyWith(zipCode: zipCode)); + }, + title: 'ZIP Code', + hintText: 'Enter your City\'s ZIP code', + borderColor: AppColors.grayStroke, + keyboardType: TextInputType.number, + textInputAction: TextInputAction.next, + showError: formErrors.containsKey(WagesFormFields.zipCode), + helperText: formErrors[WagesFormFields.zipCode], + ), + const Gap(8), + KwDateSelector( + title: 'Date of Birth', + hintText: 'mm/dd/yyyy', + initialValue: form.dateOfBirth, + firstDate: currentData.subtract(const Duration(days: 36500)), + lastDate: currentData.subtract(const Duration(days: 3650)), + initialDate: currentData.subtract(const Duration(days: 6570)), + onSelect: (date) { + updateCurrentForm(form.copyWith(dateOfBirth: date)); + }, + showError: formErrors.containsKey(WagesFormFields.birthdate), + helperText: formErrors[WagesFormFields.birthdate], + ), + const Gap(8), + KwTextInput( + initialValue: form.socialNumber, + onChanged: (socialNumber) { + updateCurrentForm(form.copyWith(socialNumber: socialNumber)); + }, + title: 'U.S. Social Number', + hintText: 'Enter your U.S. Social Number', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + showError: formErrors.containsKey(WagesFormFields.socialNumber), + helperText: formErrors[WagesFormFields.socialNumber], + ), + const Gap(8), + KwTextInput( + initialValue: form.email, + onChanged: (email) { + updateCurrentForm(form.copyWith(email: email)); + }, + title: 'Employee’s Email Address', + hintText: 'Enter your Email', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.emailAddress, + showError: formErrors.containsKey(WagesFormFields.email), + helperText: formErrors[WagesFormFields.email], + ), + const Gap(8), + KwPhoneInput( + title: 'Phone Number', + initialValue: form.phoneNumber, + onChanged: (phone) { + updateCurrentForm(form.copyWith(phoneNumber: phone)); + }, + borderColor: AppColors.grayStroke, + showError: formErrors.containsKey(WagesFormFields.phone), + helperText: formErrors[WagesFormFields.phone], + ), + const Gap(24), + const FormSignHolderWidget(signingPageTitle: 'I-9'), + const Gap(24), + KwDateSelector( + readOnly: true, + title: 'Today’s Date', + hintText: 'mm/dd/yyyy', + initialValue: currentData, + onSelect: (date) {}, + ), + const Gap(24), + KwButton.outlinedPrimary( + label: 'Document Preview', + leftIcon: Assets.images.icons.eye, + onPressed: () { + context.pushRoute(const FormPreviewRoute()); + }, + ), + ], + ); + }, + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: KwButton.primary(label: 'Submit', onPressed: handleSubmit), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/offer_letter_form_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/offer_letter_form_screen.dart new file mode 100644 index 00000000..1bf963fb --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/offer_letter_form_screen.dart @@ -0,0 +1,148 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/offer_letter_entity.dart'; +import 'package:krow/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart'; + +@RoutePage() +class OfferLetterFormScreen extends StatefulWidget { + const OfferLetterFormScreen({super.key}); + + @override + State createState() => _OfferLetterFormScreenState(); +} + +class _OfferLetterFormScreenState extends State + with FormUpdaterMixin { + @override + void initState() { + super.initState(); + + final activeForm = context.read().state.activeForm; + form = activeForm is OfferLetterEntity + ? activeForm + : const OfferLetterEntity.empty(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'Offer Letter & Agreement', + showNotification: true, + ), + body: BlocConsumer( + listenWhen: (previous, current) => + current.status == StateStatus.success, + buildWhen: (previous, current) => current.status == StateStatus.error, + listener: (context, state) { + context.pushRoute( + const SignedFormRoute(), + ); + updateCurrentForm(form.copyWith(isSigned: true)); + }, + builder: (context, state) { + final formErrors = state.formErrors; + + return ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + const Text( + 'Fill the form below:', + style: AppTextStyles.bodySmallRegBlackGrey, + ), + const Gap(24), + KwTextInput( + initialValue: form.fullName, + onChanged: (fullName) { + updateCurrentForm(form.copyWith(fullName: fullName)); + }, + title: 'Full Name', + hintText: 'Enter your full name', + textInputAction: TextInputAction.next, + textCapitalization: TextCapitalization.sentences, + keyboardType: TextInputType.name, + borderColor: AppColors.grayStroke, + showError: formErrors.containsKey(WagesFormFields.fullName), + helperText: formErrors[WagesFormFields.fullName], + ), + const Gap(8), + KwTextInput( + initialValue: form.city, + onChanged: (city) { + updateCurrentForm(form.copyWith(city: city)); + }, + title: 'City', + hintText: 'Enter your City', + textInputAction: TextInputAction.next, + textCapitalization: TextCapitalization.sentences, + keyboardType: TextInputType.name, + borderColor: AppColors.grayStroke, + showError: formErrors.containsKey(WagesFormFields.city), + helperText: formErrors[WagesFormFields.city], + ), + const Gap(24), + const Text( + 'By signing below, you agree you have read and ' + 'understood the following documents:', + style: AppTextStyles.bodySmallMed, + ), + const Gap(12), + Text( + ' • Advantage Workforce Services (“AWS”) Offer Letter', + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.primaryBlue, + ), + ), + const Gap(12), + Text( + ' • Arbitration Agreements', + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.primaryBlue, + ), + ), + const Gap(12), + Text( + ' • Employee Policies', + style: AppTextStyles.bodySmallMed.copyWith( + color: AppColors.primaryBlue, + ), + ), + const Gap(24), + const FormSignHolderWidget( + signingPageTitle: 'Offer Letter & Agreement', + ), + const Gap(24), + KwButton.outlinedPrimary( + label: 'Document Preview', + leftIcon: Assets.images.icons.eye, + onPressed: () { + context.pushRoute(const FormPreviewRoute()); + }, + ), + ], + ); + }, + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: KwButton.primary(label: 'Submit', onPressed: handleSubmit), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/signed_form_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/signed_form_screen.dart new file mode 100644 index 00000000..9c08f378 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/signed_form_screen.dart @@ -0,0 +1,159 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/presentation/components/title_wage_form_visitor.dart'; + +@RoutePage() +class SignedFormScreen extends StatelessWidget { + const SignedFormScreen({ + super.key, + }); + + @override + Widget build(BuildContext context) { + final form = context.read().state.activeForm; + const titleVisitor = TitleWageFormVisitor(); + + return Scaffold( + appBar: KwAppBar( + titleText: form != null ? form.visit(titleVisitor) : 'Form', + showNotification: true, + ), + body: ListView( + primary: false, + padding: const EdgeInsetsDirectional.fromSTEB(16, 4, 16, 60), + children: [ + Container( + padding: const EdgeInsets.all(12), + decoration: const BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.all( + Radius.circular(12), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + form?.name ?? 'Form', + style: AppTextStyles.headingH3, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + const Gap(12), + DecoratedBox( + decoration: const BoxDecoration( + color: AppColors.statusSuccess, + borderRadius: BorderRadius.all(Radius.circular(32)), + ), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 6, + ), + child: Text( + 'Signed', + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite), + ), + ), + ) + ], + ), + const Gap(12), + const Divider(color: AppColors.grayTintStroke), + const Gap(12), + const Text('SIGNED DATE', style: AppTextStyles.captionReg), + const Gap(8), + Text( + DateFormat('M/d/y').format(DateTime.now()), + style: AppTextStyles.bodyMediumMed, + ), + const Gap(24), + const Text('SIGNATURE', style: AppTextStyles.captionReg), + const Gap(6), + Container( + height: 106, + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + Expanded( + child: Align( + alignment: AlignmentDirectional.centerStart, + child: Image.memory( + context.read().state.signImageData ?? + Uint8List(0), + ), + ), + ), + const Gap(6), + const Divider( + height: 1, + color: AppColors.grayTintStroke, + ), + ], + ), + ), + const Gap(12), + KwButton.outlinedPrimary( + label: 'Document Preview', + leftIcon: Assets.images.icons.eye, + onPressed: () { + context.pushRoute(const FormPreviewRoute()); + }, + ), + ], + ), + ), + ], + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: BlocConsumer( + listenWhen: (previous, current) => + current.status == StateStatus.success, + buildWhen: (previous, current) => current.status != previous.status, + listener: (context, state) { + context.router.popUntilRoot(); + }, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: KwButton.primary( + label: 'Submit', + onPressed: () { + context + .read() + .add(const SubmitCurrentForm()); + }, + ), + ); + }, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/w_four_form_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/w_four_form_screen.dart new file mode 100644 index 00000000..0fd7aa3a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/w_four_form_screen.dart @@ -0,0 +1,213 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/str_extensions.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_date_selector.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_dropdown.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/w_four_entity.dart'; +import 'package:krow/features/profile/wages_forms/presentation/mixins/form_updater_mixin.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart'; + +@RoutePage() +class WFourFormScreen extends StatefulWidget { + const WFourFormScreen({super.key}); + + @override + State createState() => _WFourFormScreenState(); +} + +class _WFourFormScreenState extends State + with FormUpdaterMixin { + @override + void initState() { + super.initState(); + + final activeForm = context.read().state.activeForm; + form = activeForm is WFourEntity ? activeForm : const WFourEntity.empty(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + titleText: 'W-4', + showNotification: true, + ), + body: BlocConsumer( + listenWhen: (previous, current) => + current.status == StateStatus.success, + buildWhen: (previous, current) => current.status == StateStatus.error, + listener: (context, state) { + context.pushRoute(const SignedFormRoute()); + updateCurrentForm(form.copyWith(isSigned: true)); + }, + builder: (context, state) { + final formErrors = state.formErrors; + + return ListView( + primary: false, + padding: const EdgeInsets.all(16), + children: [ + const Text( + 'Fill the form below:', + style: AppTextStyles.bodySmallRegBlackGrey, + ), + const Gap(24), + KwTextInput( + initialValue: form.lastName, + onChanged: (lastName) { + updateCurrentForm(form.copyWith(lastName: lastName)); + }, + title: 'Last Name (Family Name)', + hintText: 'Enter your Last name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.lastName), + helperText: formErrors[WagesFormFields.lastName], + ), + const Gap(8), + KwTextInput( + initialValue: form.firstName, + onChanged: (firstName) { + updateCurrentForm(form.copyWith(firstName: firstName)); + }, + title: 'First Name (Given Name)', + hintText: 'Enter your First name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.firstName), + helperText: formErrors[WagesFormFields.firstName], + ), + const Gap(8), + KwTextInput( + initialValue: form.middleName, + onChanged: (middleName) { + updateCurrentForm(form.copyWith(middleName: middleName)); + }, + title: 'Middle Initial (if any)', + hintText: 'Enter your Middle name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + ), + const Gap(8), + KwTextInput( + initialValue: form.address, + onChanged: (address) { + updateCurrentForm(form.copyWith(address: address)); + }, + title: 'Address', + hintText: 'Enter your Address name', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.address), + helperText: formErrors[WagesFormFields.address], + ), + const Gap(8), + KwTextInput( + initialValue: form.city, + onChanged: (city) { + updateCurrentForm(form.copyWith(city: city)); + }, + title: 'City or Town', + hintText: 'Enter your City', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + keyboardType: TextInputType.name, + textCapitalization: TextCapitalization.sentences, + showError: formErrors.containsKey(WagesFormFields.city), + helperText: formErrors[WagesFormFields.city], + ), + const Gap(8), + KwDropdown( + title: 'State', + horizontalPadding: 16, + borderColor: AppColors.grayStroke, + hintText: 'Select state', + selectedItem: form.state.toDropDownItem(), + items: [ + for (final state in usStates) + KwDropDownItem(data: state, title: state), + ], + onSelected: (state) { + updateCurrentForm(form.copyWith(state: state)); + }, + showError: formErrors.containsKey(WagesFormFields.state), + helperText: formErrors[WagesFormFields.state], + ), + const Gap(8), + KwTextInput( + initialValue: form.zipCode, + onChanged: (zipCode) { + updateCurrentForm(form.copyWith(zipCode: zipCode)); + }, + title: 'ZIP Code', + hintText: 'Enter your City\'s ZIP code', + borderColor: AppColors.grayStroke, + keyboardType: TextInputType.number, + textInputAction: TextInputAction.next, + showError: formErrors.containsKey(WagesFormFields.zipCode), + helperText: formErrors[WagesFormFields.zipCode], + ), + const Gap(8), + KwTextInput( + initialValue: form.socialNumber, + onChanged: (socialNumber) { + updateCurrentForm(form.copyWith(socialNumber: socialNumber)); + }, + title: 'U.S. Social Number', + hintText: 'Enter your U.S. Social Number', + borderColor: AppColors.grayStroke, + textInputAction: TextInputAction.next, + showError: formErrors.containsKey(WagesFormFields.socialNumber), + helperText: formErrors[WagesFormFields.socialNumber], + ), + const Gap(24), + const FormSignHolderWidget(signingPageTitle: 'W-4'), + const Gap(24), + KwDateSelector( + readOnly: true, + title: 'Today’s Date', + hintText: 'mm/dd/yyyy', + initialValue: DateTime.now(), + onSelect: (date) {}, + ), + const Gap(24), + KwButton.outlinedPrimary( + label: 'Document Preview', + leftIcon: Assets.images.icons.eye, + onPressed: () { + context.pushRoute(const FormPreviewRoute()); + }, + ), + ], + ); + }, + ), + bottomNavigationBar: SafeArea( + top: false, + child: Padding( + padding: const EdgeInsets.all(16), + child: KwButton.primary(label: 'Submit', onPressed: handleSubmit), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/wages_forms_flow_screen.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/wages_forms_flow_screen.dart new file mode 100644 index 00000000..45c549e6 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/screens/wages_forms_flow_screen.dart @@ -0,0 +1,18 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; + +@RoutePage() +class WagesFormsFlowScreen extends StatelessWidget { + const WagesFormsFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (context) => + WagesFormBloc()..add(const InitializeWagesFormBloc()), + child: const AutoRouter(), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_item_widget.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_item_widget.dart new file mode 100644 index 00000000..8dd9cf4b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_item_widget.dart @@ -0,0 +1,48 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/domain/entities/wage_form_entity.dart'; + +class FormItemWidget extends StatelessWidget { + const FormItemWidget({ + super.key, + required this.formRoute, + required this.label, + required this.wageForm, + }); + + final PageRouteInfo formRoute; + final WageFormEntity wageForm; + final String label; + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + context.pushRoute(formRoute); + + context.read().add(SetActiveForm(form: wageForm)); + }, + child: Container( + height: 56, + decoration: KwBoxDecorations.primaryLight8, + margin: const EdgeInsets.only(bottom: 8), + padding: const EdgeInsetsDirectional.fromSTEB(12, 16, 12, 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + label, + style: AppTextStyles.headingH3, + ), + Assets.images.icons.caretRight.svg(width: 24, height: 24) + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart new file mode 100644 index 00000000..2950ad80 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/form_sign_holder_widget.dart @@ -0,0 +1,61 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/profile/wages_forms/domain/bloc/wages_form_bloc.dart'; +import 'package:krow/features/profile/wages_forms/presentation/widgets/sign_notice_widget.dart'; + +class FormSignHolderWidget extends StatelessWidget { + const FormSignHolderWidget({super.key, required this.signingPageTitle}); + + final String signingPageTitle; + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () => context.router.push(FormSignRoute(title: signingPageTitle)), + child: BlocBuilder( + buildWhen: (previous, current) => + previous.signImageData != current.signImageData || + current.status == StateStatus.error, + builder: (context, state) { + final signImage = state.signImageData; + final shouldShowError = + state.status == StateStatus.error && signImage == null; + + return Container( + decoration: BoxDecoration( + color: AppColors.grayPrimaryFrame, + borderRadius: BorderRadius.circular(12), + border: shouldShowError + ? Border.all(color: AppColors.statusError) + : null, + ), + height: 106, + padding: const EdgeInsets.all(12), + child: signImage == null + ? const SignNoticeWidget() + : Column( + children: [ + Expanded( + child: Align( + alignment: AlignmentDirectional.centerStart, + child: Image.memory(signImage), + ), + ), + const Gap(6), + const Divider( + height: 1, + color: AppColors.grayTintStroke, + ), + ], + ), + ); + }, + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/sign_notice_widget.dart b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/sign_notice_widget.dart new file mode 100644 index 00000000..6419b338 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/wages_forms/presentation/widgets/sign_notice_widget.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class SignNoticeWidget extends StatelessWidget { + const SignNoticeWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + mainAxisAlignment: MainAxisAlignment.end, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Assets.images.icons.edit.svg(), + const Gap(6), + const Text( + 'Tap to Sign', + style: AppTextStyles.bodyMediumMed, + ) + ], + ), + const Gap(12), + const Divider( + height: 1, + color: AppColors.grayTintStroke, + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/data/gql.dart b/mobile-apps/staff-app/lib/features/profile/working_area/data/gql.dart new file mode 100644 index 00000000..7042525a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/data/gql.dart @@ -0,0 +1,27 @@ +const String allWorkingAreas = r''' +query allWorkingAreas { + working_areas { + id + address + } +} +'''; + +const String staffWorkingAreas = r''' +query staffAreas { + me { + id + working_areas { + id + address + } + } +} +'''; + +const syncWorkingAreas = r''' + mutation sync($areas: [ID!]!) { + sync_staff_working_areas(areas: $areas) { + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/data/working_area_repository.dart b/mobile-apps/staff-app/lib/features/profile/working_area/data/working_area_repository.dart new file mode 100644 index 00000000..fc99d9b0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/data/working_area_repository.dart @@ -0,0 +1,9 @@ +import 'package:krow/core/data/models/staff/workin_area.dart'; + +abstract class WorkingAreaRepository { + Stream> getAllWorkingAreas(); + + Stream> getStaffWorkingAreas(); + + Future saveWorkingArea(List ids); +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/data/working_areas_api_provider.dart b/mobile-apps/staff-app/lib/features/profile/working_area/data/working_areas_api_provider.dart new file mode 100644 index 00000000..c7c77d80 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/data/working_areas_api_provider.dart @@ -0,0 +1,57 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/data/models/staff/workin_area.dart'; +import 'package:krow/features/profile/working_area/data/gql.dart'; + +@injectable +class WorkingAreasApiProvider { + final ApiClient _apiClient; + + WorkingAreasApiProvider(this._apiClient); + + Stream> getAllWorkingAreas() async* { + await for (var result + in _apiClient.queryWithCache(schema: allWorkingAreas)) { + if (result == null || result.data == null) continue; + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + if (result.data?['working_areas'] == null) continue; + + yield result.data!['working_areas'].map((e) { + return WorkingArea.fromJson(e); + }).toList(); + } + } + + Stream> getStaffWorkingAreas() async* { + await for (var result + in _apiClient.queryWithCache(schema: staffWorkingAreas)) { + if (result == null || result.data == null) { + continue; + } + if (result.hasException) { + if (result.exception is OperationException) continue; + throw Exception(result.exception.toString()); + } + + if (result.data?['me']?['working_areas'] == null) continue; + + yield result.data!['me']['working_areas'].map((e) { + return WorkingArea.fromJson(e); + }).toList(); + } + } + + Future putWorkingAreas(List workingAreas) async { + final Map variables = { + 'areas': workingAreas, + }; + var result = + await _apiClient.mutate(schema: syncWorkingAreas, body: variables); + + if (result.hasException) throw Exception(result.exception.toString()); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_bloc.dart b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_bloc.dart new file mode 100644 index 00000000..e3b1aa4e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_bloc.dart @@ -0,0 +1,64 @@ + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/data/models/staff/workin_area.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/features/profile/working_area/data/working_area_repository.dart'; +import 'package:rxdart/rxdart.dart'; + +part 'working_area_event.dart'; +part 'working_area_state.dart'; + +class WorkingAreaBloc extends Bloc { + WorkingAreaBloc() : super(const WorkingAreaState()) { + on(_onInitialize); + on(_onCheckArea); + on(_onSubmit); + } + + void _onInitialize( + InitializeWorkingAreaEvent event, Emitter emit) async { + emit(state.copyWith(status: StateStatus.loading)); + + + var staffWorkingAreasStream = + getIt().getStaffWorkingAreas(); + var allWorkingAreasStream = + getIt().getAllWorkingAreas(); + + await for (var areas in CombineLatestStream.combine2( + allWorkingAreasStream, + staffWorkingAreasStream, + (List allAreas, List staffAreas) { + return allAreas.map((area) { + var selected = staffAreas.any((assignedArea) => assignedArea.id == area.id); + return AreaItemState(id: area.id, name: area.address, selected: selected); + }).toList(); + }, + )) { + emit(state.copyWith(status: StateStatus.idle, areas: areas)); + } + } + + void _onCheckArea(CheckAreaEvent event, Emitter emit) { + var areas = state.areas.map((e) { + if (e.id == event.id) { + return e.copyWith(selected: event.selected); + } + return e; + }).toList(); + emit(state.copyWith(areas: areas)); + } + + void _onSubmit( + SubmitWorkingAreaEvent event, Emitter emit) async { + emit(state.copyWith(status: StateStatus.loading)); + var ids = state.areas + .where((element) => element.selected) + .map((e) => e.id) + .toList(); + await getIt().saveWorkingArea(ids); + emit(state.copyWith(status: StateStatus.success)); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_event.dart b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_event.dart new file mode 100644 index 00000000..c35d8931 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_event.dart @@ -0,0 +1,19 @@ +part of 'working_area_bloc.dart'; + +@immutable +sealed class WorkingAreaEvent {} + +class InitializeWorkingAreaEvent extends WorkingAreaEvent { + InitializeWorkingAreaEvent(); +} + +class CheckAreaEvent extends WorkingAreaEvent { + final String id; + final bool selected; + + CheckAreaEvent({required this.id, required this.selected}); +} + +class SubmitWorkingAreaEvent extends WorkingAreaEvent { + SubmitWorkingAreaEvent(); +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_state.dart b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_state.dart new file mode 100644 index 00000000..bed4b687 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/domain/bloc/working_area_state.dart @@ -0,0 +1,40 @@ +part of 'working_area_bloc.dart'; + +@immutable +class WorkingAreaState { + final StateStatus status; + final List areas; + + const WorkingAreaState({ + this.areas = const [], + this.status = StateStatus.idle, + }); + + WorkingAreaState copyWith({ + List? areas, + StateStatus? status, + }) { + return WorkingAreaState( + areas: areas ?? this.areas, + status: status ?? this.status, + ); + } +} + +class AreaItemState { + final String id; + final String name; + final bool selected; + + AreaItemState({required this.id, required this.name, this.selected = false}); + + AreaItemState copyWith({ + bool? selected, + }) { + return AreaItemState( + id: id, + name: name, + selected: selected ?? this.selected, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/domain/working_area_repository_impl.dart b/mobile-apps/staff-app/lib/features/profile/working_area/domain/working_area_repository_impl.dart new file mode 100644 index 00000000..98e7d080 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/domain/working_area_repository_impl.dart @@ -0,0 +1,27 @@ +import 'package:injectable/injectable.dart'; +import 'package:krow/core/data/models/staff/workin_area.dart'; +import 'package:krow/features/profile/working_area/data/working_area_repository.dart'; +import 'package:krow/features/profile/working_area/data/working_areas_api_provider.dart'; + +@Singleton(as: WorkingAreaRepository) +class WorkingAreaRepositoryImpl implements WorkingAreaRepository { + final WorkingAreasApiProvider _apiProvider; + + WorkingAreaRepositoryImpl({required WorkingAreasApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream> getAllWorkingAreas() { + return _apiProvider.getAllWorkingAreas(); + } + + @override + Stream> getStaffWorkingAreas() { + return _apiProvider.getStaffWorkingAreas(); + } + + @override + Future saveWorkingArea(List ids) { + return _apiProvider.putWorkingAreas(ids); + } +} diff --git a/mobile-apps/staff-app/lib/features/profile/working_area/presentation/working_area_screen.dart b/mobile-apps/staff-app/lib/features/profile/working_area/presentation/working_area_screen.dart new file mode 100644 index 00000000..f482045a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/profile/working_area/presentation/working_area_screen.dart @@ -0,0 +1,106 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/data/enums/state_status.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/check_box_card.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/profile/working_area/domain/bloc/working_area_bloc.dart'; + +@RoutePage() +class WorkingAreaScreen extends StatelessWidget implements AutoRouteWrapper { + final bool isInEditMode; + + const WorkingAreaScreen({super.key, this.isInEditMode = true}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: KwAppBar( + showNotification: isInEditMode, + titleText: 'working_area'.tr(), + ), + body: BlocConsumer( + listenWhen: (previous, current) => previous.status != current.status, + listener: (context, state) { + if (state.status == StateStatus.success) { + if (isInEditMode) { + Navigator.pop(context); + } else { + context.router.push( + RoleRoute(isInEditMode: false), + ); + } + } + }, + builder: (context, state) { + return KwLoadingOverlay( + shouldShowLoading: state.status == StateStatus.loading, + child: ScrollLayoutHelper( + padding: isInEditMode? const EdgeInsets.symmetric(horizontal: 16):const EdgeInsets.all(16), + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + if (isInEditMode) + Text( + 'select_nearby'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + if (!isInEditMode) ...[ + const Gap(20), + Text( + 'where_u_can_work'.tr(), + style: AppTextStyles.headingH1, + ), + Text( + 'define_the_zone'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + ], + const Gap(24), + ...state.areas.map((item) => CheckBoxCard( + checkBoxStyle: CheckBoxStyle.black, + padding: const EdgeInsets.only(bottom: 8.0), + isChecked: item.selected, + title: item.name, + onTap: () { + context.read().add(CheckAreaEvent( + id: item.id, selected: !item.selected)); + }, + )), + const Gap(24), + ], + ), + lowerWidget: KwButton.primary( + disabled: state.areas.every((element) => !element.selected), + label: isInEditMode ? 'save_changes'.tr() : 'save_and_continue'.tr(), + onPressed: () { + context + .read() + .add(SubmitWorkingAreaEvent()); + }), + ), + ); + }, + ), + ); + } + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => WorkingAreaBloc()..add(InitializeWorkingAreaEvent()), + child: this, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/qr_scanner/presentation/qr_scanner.dart b/mobile-apps/staff-app/lib/features/qr_scanner/presentation/qr_scanner.dart new file mode 100644 index 00000000..9b0bd45b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/qr_scanner/presentation/qr_scanner.dart @@ -0,0 +1,241 @@ +import 'dart:async'; +import 'dart:convert'; +import 'dart:io'; + +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:qr_code_scanner_plus/qr_code_scanner_plus.dart'; + +@RoutePage() +class QrScannerScreen extends StatefulWidget { + const QrScannerScreen({super.key}); + + @override + State createState() => _QrScannerScreenState(); +} + +class _QrScannerScreenState extends State + with SingleTickerProviderStateMixin { + final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); + QRViewController? _cameraController; + Timer? _debounceTimer; + + var _scannerColor = AppColors.grayWhite; + var popped = false; + + late AnimationController _animationController; + + @override + void reassemble() { + super.reassemble(); + if (Platform.isAndroid) { + _cameraController!.pauseCamera(); + } else if (Platform.isIOS) { + _cameraController!.resumeCamera(); + } + } + + @override + void initState() { + super.initState(); + _animationController = AnimationController( + vsync: this, + duration: const Duration(seconds: 2), + )..repeat(reverse: true); + } + + @override + Widget build(BuildContext context) { + var size = MediaQuery.of(context).size.width * 0.75; + return Scaffold( + body: Stack( + children: [ + _buildQrPreview(context, size), + _buildOverlayContent(), + _buildScannerAnimation(size) + ], + ), + ); + } + + Widget _buildScannerAnimation(double size) { + return Center( + child: Container( + clipBehavior: Clip.antiAlias, + height: size, + width: size, + decoration: const BoxDecoration(), + child: Stack( + children: [ + AnimatedBuilder( + animation: _animationController, + builder: (context, child) { + return Positioned( + left: 0, + right: 0, + top: size - (_animationController.value * (size - 20) + 10), + child: Column( + children: [ + Container( + width: size - 6, + height: 4, + decoration: + BoxDecoration(color: _scannerColor, boxShadow: [ + BoxShadow( + color: _scannerColor.withAlpha(0xFA), + blurRadius: 21, + spreadRadius: 1, + offset: Offset( + 0, + _animationController.status == + AnimationStatus.reverse + ? -10 + : 10), + ), + BoxShadow( + color: _scannerColor.withAlpha(0xD9), + blurRadius: 39, + spreadRadius: 1, + offset: Offset( + 0, + _animationController.status == + AnimationStatus.reverse + ? -39 + : 39), + ) + ]), + ), + ], + ), + ); + }, + ), + ], + ), + ), + ); + } + + Column _buildOverlayContent() { + return Column( + children: [ + KwAppBar( + titleText: 'QR Code', + contentColor: AppColors.grayWhite, + backgroundColor: Colors.transparent, + iconColorStyle: AppBarIconColorStyle.inverted, + ), + const Gap(12), + Text( + 'scan_qr_code'.tr(), + style: AppTextStyles.headingH1.copyWith(color: AppColors.grayWhite), + ), + const Gap(4), + Padding( + padding: const EdgeInsets.only(left: 20, right: 20), + child: Text( + 'align_qr_code'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackCaptionText)), + ), + const Spacer(), + _bottomTooltip() + ], + ); + } + + Container _bottomTooltip() { + return Container( + padding: const EdgeInsets.fromLTRB(8, 8, 20, 8), + margin: const EdgeInsets.only(bottom: 60), + decoration: BoxDecoration( + color: AppColors.grayWhite.withAlpha(25), + borderRadius: BorderRadius.circular(8), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text('tips'.tr(), + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.grayWhite)), + ], + ), + const Gap(8), + Text( + 'tips_qr'.tr(), + style: AppTextStyles.bodyTinyMed + .copyWith(color: AppColors.grayWhite)) + ], + ), + ); + } + + Column _buildQrPreview(BuildContext context, size) { + return Column( + children: [ + Expanded( + child: QRView( + overlay: QrScannerOverlayShape( + overlayColor: AppColors.blackBlack.withAlpha(0xCC), + borderColor: _scannerColor, + borderRadius: 12, + borderLength: 42, + borderWidth: 5, + cutOutSize: size, + ), + key: qrKey, + onQRViewCreated: _onQRViewCreated, + ), + ), + ], + ); + } + + void _onQRViewCreated(QRViewController controller) { + _cameraController = controller; + controller.scannedDataStream.listen((scanData) { + if (scanData.code == null) { + setState(() { + _scannerColor = AppColors.statusRate; + }); + } + var json = const JsonDecoder().convert(scanData.code??'{}'); + + if (json['type'] == 'event' && json['birth'] == 'app') { + if (mounted && !popped) { + popped = true; + context.router.maybePop(json['eventId']); + } + } else { + setState(() { + _scannerColor = AppColors.statusError; + }); + if (_debounceTimer?.isActive ?? false) { + _debounceTimer?.cancel(); + } + + _debounceTimer = Timer(const Duration(seconds: 1), () { + setState(() { + _scannerColor = AppColors.grayWhite; + }); + }); + } + }); + } + + @override + void dispose() { + _debounceTimer?.cancel(); + _animationController.dispose(); + super.dispose(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/business_skill.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/business_skill.dart new file mode 100644 index 00000000..542f67d0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/business_skill.dart @@ -0,0 +1,17 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/skill.dart'; + +part 'business_skill.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class BusinessSkill { + Skill? skill; + + BusinessSkill({this.skill}); + + factory BusinessSkill.fromJson(Map json) { + return _$BusinessSkillFromJson(json); + } + + Map toJson() => _$BusinessSkillToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/cancellation_reason.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/cancellation_reason.dart new file mode 100644 index 00000000..c91b291f --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/cancellation_reason.dart @@ -0,0 +1,33 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'cancellation_reason.g.dart'; + +@JsonEnum(fieldRename: FieldRename.snake) +enum CancellationReason { + sickLeave, + vacation, + other, + health, + transportation, + personal, + scheduleConflict, +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class CancellationReasonModel { + final String type; + final CancellationReason? reason; + final String? details; + + CancellationReasonModel({ + required this.type, + required this.reason, + required this.details, + }); + + factory CancellationReasonModel.fromJson(Map json) { + return _$CancellationReasonModelFromJson(json); + } + + Map toJson() => _$CancellationReasonModelToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/event.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/event.dart new file mode 100644 index 00000000..4ce93e5b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/event.dart @@ -0,0 +1,64 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/features/shifts/data/models/event_tag.dart'; + +part 'event.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Event { + String? id; + Business? business; + String? name; + String? date; + String? additionalInfo; + List? addons; + List? tags; + + + Event({ + this.business, + this.name, + this.date, + this.additionalInfo, + this.addons, + this.tags, + }); + + factory Event.fromJson(Map json) { + return _$EventFromJson(json); + } + + Map toJson() => _$EventToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class Business { + String? name; + String? avatar; + + Business({this.name, this.avatar}); + + factory Business.fromJson(Map json) { + return _$BusinessFromJson(json); + } + + Map toJson() => _$BusinessToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class Addon { + String? name; + + Addon({this.name}); + + factory Addon.fromJson(Map json) { + return Addon( + name: json['name'], + ); + } + + Map toJson() { + return { + 'name': name, + }; + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/event_shift.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/event_shift.dart new file mode 100644 index 00000000..ab4a0d5e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/event_shift.dart @@ -0,0 +1,31 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/core/data/models/staff/full_address_model.dart'; +import 'package:krow/features/shifts/data/models/event.dart'; +import 'package:krow/features/shifts/data/models/shift_contact.dart'; + +part 'event_shift.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Shift { + String? id; + String? name; + String? address; + FullAddress? fullAddress; + List? contacts; + Event? event; + + Shift({ + this.id, + this.name, + this.address, + this.event, + this.contacts, + this.fullAddress, + }); + + factory Shift.fromJson(Map json) { + return _$ShiftFromJson(json); + } + + Map toJson() => _$ShiftToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/event_tag.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/event_tag.dart new file mode 100644 index 00000000..ebe4d24c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/event_tag.dart @@ -0,0 +1,18 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'event_tag.g.dart'; + +@JsonSerializable() +class EventTag{ + final String id; + final String name; + final String? slug; + + EventTag({required this.name, required this.id, required this.slug}); + + factory EventTag.fromJson(Map json) { + return _$EventTagFromJson(json); + } + + Map toJson() => _$EventTagToJson(this); +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/position.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/position.dart new file mode 100644 index 00000000..8aa223b2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/position.dart @@ -0,0 +1,30 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/features/shifts/data/models/business_skill.dart'; +import 'package:krow/features/shifts/data/models/event_shift.dart'; + +part 'position.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Position { + String? id; + String? startTime; + String? endTime; + Shift? shift; + BusinessSkill? businessSkill; + double? rate; + @JsonKey(name: 'break') + int? breakMinutes; + + Position({ + this.id, + this.startTime, + this.endTime, + this.shift, + this.businessSkill, + }); + + factory Position.fromJson(Map json) => + _$PositionFromJson(json); + + Map toJson() => _$PositionToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/shift_contact.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/shift_contact.dart new file mode 100644 index 00000000..564fdd0e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/shift_contact.dart @@ -0,0 +1,45 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'shift_contact.g.dart'; + +@JsonSerializable(fieldRename: FieldRename.snake) +class Contact { + final String id; + final String firstName; + final String? avatar; + final String lastName; + final String title; + final AuthInfo authInfo; + + Contact({ + required this.id, + required this.firstName, + required this.lastName, + required this.title, + required this.avatar, + required this.authInfo, + }); + + factory Contact.fromJson(Map json) { + return _$ContactFromJson(json); + } + + Map toJson() => _$ContactToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class AuthInfo { + final String email; + final String phone; + + AuthInfo({ + required this.email, + required this.phone, + }); + + factory AuthInfo.fromJson(Map json) { + return _$AuthInfoFromJson(json); + } + + Map toJson() => _$AuthInfoToJson(this); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/models/staff_shift.dart b/mobile-apps/staff-app/lib/features/shifts/data/models/staff_shift.dart new file mode 100644 index 00000000..1c883040 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/models/staff_shift.dart @@ -0,0 +1,73 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:krow/features/shifts/data/models/cancellation_reason.dart'; +import 'package:krow/features/shifts/data/models/position.dart'; + +part 'staff_shift.g.dart'; + +@JsonEnum(fieldRename: FieldRename.snake) +enum EventShiftRoleStaffStatus { + assigned, + confirmed, + ongoing, + completed, + canceledByStaff, + canceledByBusiness, + canceledByAdmin, + requestedReplace, + declineByStaff, +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffShift { + String id; + DateTime? statusUpdatedAt; + EventShiftRoleStaffStatus status; + Position? position; + DateTime? startAt; + DateTime? endAt; + DateTime? clockIn; + DateTime? clockOut; + DateTime? breakIn; + DateTime? breakOut; + List? cancelReason; + StaffRating? rating; + + + // Staff? staff; + + StaffShift({ + required this.id, + required this.status, + this.statusUpdatedAt, + this.position, + this.startAt, + this.endAt, + this.clockIn, + this.clockOut, + this.breakIn, + this.breakOut, + this.rating, + // this.staff + }); + + factory StaffShift.fromJson(Map json) { + return _$StaffShiftFromJson(json); + } + + Map toJson() => _$StaffShiftToJson(this); +} + +@JsonSerializable(fieldRename: FieldRename.snake) +class StaffRating{ + final String id; + final double rating; + + factory StaffRating.fromJson(Map json) { + return _$StaffRatingFromJson(json); + } + + StaffRating({required this.id, required this.rating}); + + Map toJson() => _$StaffRatingToJson(this); + +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/shifts_api_provider.dart b/mobile-apps/staff-app/lib/features/shifts/data/shifts_api_provider.dart new file mode 100644 index 00000000..8e961c6c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/shifts_api_provider.dart @@ -0,0 +1,124 @@ +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/clients/api/api_client.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/data/models/pagination_wrapper/pagination_wrapper.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/data/shifts_gql.dart'; + +@Injectable() +class ShiftsApiProvider { + final ApiClient _client; + + ShiftsApiProvider({required ApiClient client}) : _client = client; + + Future fetchShifts(String status, {String? after}) async { + final QueryResult result = await _client.query( + schema: getShiftsQuery, + body: {'status': status, 'first': 100, 'after': after}, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + + return PaginationWrapper.fromJson( + result.data!['staff_shifts'], + (json) => StaffShift.fromJson(json), + ); + } + + Future getMissBreakFinishedShift() async { + final QueryResult result = await _client.query( + schema: staffNoBreakShifts, + body: {'first': 100}, + ); + + if (result.hasException) { + throw Exception(result.exception.toString()); + } + return PaginationWrapper.fromJson( + result.data!['staff_no_break_shifts'], + (json) => StaffShift.fromJson(json), + ); + } + + Future confirmShift(String id) async { + final QueryResult result = + await _client.mutate(schema: acceptShiftMutation, body: {'id': id}); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future clockInShift(String id) async { + final QueryResult result = + await _client.mutate(schema: trackStaffClockin, body: {'id': id}); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future completeShift(String id, + {String? breakIn, String? breakOut, bool isPast = false}) async { + final QueryResult result = await _client.mutate( + schema: isPast ? trackStaffBreak : completeShiftMutation, + body: {'id': id, 'break_in': breakIn, 'break_out': breakOut}); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future completeShiftNoBreak(String id, + {String? reason, String? additionalReason}) async { + final QueryResult result = await _client.mutate( + schema: submitNoBreakStaffShiftMutation, + body: {'id': id, 'reason': reason, 'details': additionalReason}); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future declineShift(String id, + {String? reason, String? additionalReason}) async { + final QueryResult result = await _client.mutate( + schema: declineStaffShiftMutation, + body: { + 'position_id': id, + 'reason': reason, + 'details': additionalReason + }); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future cancelShift(String id, + {String? reason, String? additionalReason}) async { + final QueryResult result = await _client.mutate( + schema: cancelStaffShiftMutation, + body: { + 'position_id': id, + 'reason': reason, + 'details': additionalReason + }); + if (result.hasException) { + throw parseBackendError(result.exception); + } + } + + Future getShiftById(String id) async { + final QueryResult result = await _client.query( + schema: getShiftPositionQuery, + body: {'id': id}, + ); + + if (result.hasException) { + throw parseBackendError(result.exception); + } + if (result.data == null || result.data!['staff_shift'] == null) { + throw Exception('No data found'); + } + return StaffShift.fromJson(result.data!['staff_shift']); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/data/shifts_gql.dart b/mobile-apps/staff-app/lib/features/shifts/data/shifts_gql.dart new file mode 100644 index 00000000..c48b9043 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/shifts_gql.dart @@ -0,0 +1,207 @@ +import 'package:krow/core/application/clients/api/gql.dart'; + +const String _shiftFields = ''' + id + status + status_updated_at + start_at + end_at + clock_in + clock_out + break_in + break_out + ...position + cancel_reason { + type + reason + details + } + rating { + id + rating + } +'''; + +const String getShiftsQuery = ''' +$_positionFragment + +query GetShifts (\$status: EventShiftPositionStaffStatusInput!, \$first: Int!, \$after: String) { + staff_shifts(status: \$status, first: \$first, after: \$after) { + pageInfo { + hasNextPage + } + edges { + node { + $_shiftFields + } + cursor + } + } +} + +'''; + +const String staffNoBreakShifts = ''' +$_positionFragment + +query staffNoBreakShifts (\$first: Int!) { + staff_no_break_shifts(first: \$first) { + pageInfo{ + } + edges { + + node { + $_shiftFields + } + } + } +} + +'''; + +const String getShiftPositionQuery = ''' +$_positionFragment +query GetShiftPosition (\$id: ID!) { + staff_shift(id: \$id) { + $_shiftFields + } +} +'''; + +const String acceptShiftMutation = ''' +$_positionFragment + +mutation AcceptShift(\$id: ID!) { + accept_shift(position_id: \$id) { + $_shiftFields + } +} +'''; + +const String trackStaffClockin = ''' +mutation TrackStaffClockin(\$id: ID!) { + track_staff_clockin(position_staff_id: \$id) { + + } +} +'''; + +const String completeShiftMutation = ''' +mutation CompleteShift(\$id: ID!, \$break_in: DateTime, \$break_out: DateTime) { + track_staff_clockout(position_staff_id: \$id, break_in: \$break_in, break_out: \$break_out) { + } +} +'''; + +const String trackStaffBreak = ''' +mutation trackStaffBreak(\$id: ID!, \$break_in: DateTime!, \$break_out: DateTime!) { + track_staff_break(position_staff_id: \$id, break_in: \$break_in, break_out: \$break_out) { + } +} +'''; + +const String submitNoBreakStaffShiftMutation = ''' +mutation SubmitNoBreakStaffShift(\$id: ID!, \$reason: NoBreakShiftPenaltyLogReason, \$details: String) { + submit_no_break_staff_shift(position_staff_id: \$id, reason: \$reason, details: \$details) { + } +} +'''; + +const String cancelStaffShiftMutation = ''' + +mutation cancelStaffShiftMutation(\$position_id: ID!, \$reason: CancelShiftPenaltyLogReason, \$details: String) { + cancel_staff_shift(position_staff_id: \$position_id, reason: \$reason, details: \$details) { + } +} +'''; + +const String declineStaffShiftMutation = ''' +mutation DeclineStaffShift(\$position_id: ID!,\$reason: DeclineShiftPenaltyLogReason, \$details: String) { + decline_shift(position_id: \$position_id, reason: \$reason, details: \$details) { + } +} +'''; + +const _positionFragment = ''' +$skillFragment + +fragment position on EventShiftPositionStaff { + position { + id + start_time + end_time + rate + break + ...shift + ...business_skill + } +} + +fragment shift on EventShiftPosition { + shift { + id + name + address + ...FullAddress + ...contacts + event { + id + date + name + ...business + additional_info + tags{ + id + name + slug + } + addons{ + name + } + } + } +} + +fragment business_skill on EventShiftPosition { + business_skill { + skill { + ...SkillFragment + } + } +} + +fragment business on Event { + business { + name + avatar + } +} + +fragment contacts on EventShift { + contacts { + id + first_name + last_name + avatar + title + auth_info { + email + phone + } + } +} + +fragment FullAddress on EventShift { + full_address { + street_number + zip_code + latitude + longitude + formatted_address + street + region + city + country + } +} +'''; diff --git a/mobile-apps/staff-app/lib/features/shifts/data/shifts_repository_impl.dart b/mobile-apps/staff-app/lib/features/shifts/data/shifts_repository_impl.dart new file mode 100644 index 00000000..cfb1239d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/data/shifts_repository_impl.dart @@ -0,0 +1,155 @@ +import 'dart:async'; + +import 'package:injectable/injectable.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/data/shifts_api_provider.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart'; + +@Singleton(as: ShiftsRepository) +class ShiftsRepositoryImpl extends ShiftsRepository { + final ShiftsApiProvider _apiProvider; + StreamController? _statusController; + + ShiftsRepositoryImpl({required ShiftsApiProvider apiProvider}) + : _apiProvider = apiProvider; + + @override + Stream get statusStream { + _statusController ??= + StreamController.broadcast(); + return _statusController!.stream; + } + + @override + Future> getShifts( + {String? lastItemId, required ShiftStatusFilterType statusFilter}) async { + var paginationWrapper = await _apiProvider + .fetchShifts(statusFilterToGqlString(statusFilter), after: lastItemId); + return paginationWrapper.edges.map((e) { + return ShiftEntity.fromStaffShift( + e.node, + cursor: (paginationWrapper.pageInfo?.hasNextPage??false) ? e.cursor : null, + ); + }).toList(); + } + + statusFilterToGqlString(ShiftStatusFilterType statusFilter) { + return statusFilter.name; + } + + @override + Future confirmShift(ShiftEntity shiftViewModel) async { + var result = await _apiProvider.confirmShift(shiftViewModel.id); + _statusController?.add(EventShiftRoleStaffStatus.assigned); + _statusController?.add(EventShiftRoleStaffStatus.confirmed); + return result; + } + + @override + Future clockInShift(ShiftEntity shiftViewModel) async { + // try { + await _apiProvider.clockInShift(shiftViewModel.id); + _statusController?.add(EventShiftRoleStaffStatus.assigned); + _statusController?.add(EventShiftRoleStaffStatus.ongoing); + // } catch (e) { + // _statusController?.add(EventShiftRoleStaffStatus.assigned); + // _statusController?.add(EventShiftRoleStaffStatus.ongoing); + // rethrow; + // } + } + + @override + Future completeShift( + ShiftEntity shiftViewModel, ClockOutDetails clockOutDetails, bool isPast) async { + if (clockOutDetails.reason != null) { + _apiProvider.completeShiftNoBreak( + shiftViewModel.id, + reason: clockOutDetails.reason, + additionalReason: clockOutDetails.additionalReason, + ); + } else { + var breakInTime = + DateFormat('H:mm').parse(clockOutDetails.breakStartTime!); + var start = DateTime( + shiftViewModel.startDate.year, + shiftViewModel.startDate.month, + shiftViewModel.startDate.day, + breakInTime.hour, + breakInTime.minute); + var breakOutTime = + DateFormat('H:mm').parse(clockOutDetails.breakEndTime!); + var end = DateTime( + shiftViewModel.startDate.year, + shiftViewModel.startDate.month, + shiftViewModel.startDate.day, + breakOutTime.hour, + breakOutTime.minute); + _apiProvider.completeShift( + shiftViewModel.id, + isPast: isPast, + breakIn: DateFormat('yyyy-MM-dd HH:mm:ss').format(start), + breakOut: DateFormat('yyyy-MM-dd HH:mm:ss').format(end), + ); + } + _statusController?.add(EventShiftRoleStaffStatus.ongoing); + _statusController?.add(EventShiftRoleStaffStatus.completed); + } + + @override + Future forceClockOut(String id) async { + await _apiProvider.completeShift(id); + _statusController?.add(EventShiftRoleStaffStatus.assigned); + _statusController?.add(EventShiftRoleStaffStatus.confirmed); + } + + @override + void dispose() { + _statusController?.close(); + _statusController = null; + } + + @override + declineShift( + ShiftEntity shiftViewModel, String? reason, String? additionalReason) { + _apiProvider.declineShift( + shiftViewModel.id, + reason: reason, + additionalReason: additionalReason, + ); + _statusController?.add(EventShiftRoleStaffStatus.assigned); + _statusController?.add(EventShiftRoleStaffStatus.canceledByStaff); + } + + @override + cancelShift( + ShiftEntity shiftViewModel, String? reason, String? additionalReason) { + _apiProvider.cancelShift( + shiftViewModel.id, + reason: reason, + additionalReason: additionalReason, + ); + _statusController?.add(EventShiftRoleStaffStatus.assigned); + _statusController?.add(EventShiftRoleStaffStatus.canceledByStaff); + } + + @override + Future getShiftById(String id) async { + return ShiftEntity.fromStaffShift( + cursor: '', await _apiProvider.getShiftById(id)); + } + + @override + Future> getMissBreakFinishedShift() async{ + var paginationWrapper = await _apiProvider + .getMissBreakFinishedShift(); + return paginationWrapper.edges.map((e) { + return ShiftEntity.fromStaffShift( + e.node, + cursor: (paginationWrapper.pageInfo?.hasNextPage??false) ? e.cursor : null, + ); + }).toList(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart new file mode 100644 index 00000000..69b95dab --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart @@ -0,0 +1,39 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart'; + +class CompleteDialogBloc + extends Bloc { + CompleteDialogBloc() : super(const CompleteDialogState()) { + on((event, emit) { + + emit(state.copyWith( + minLimit: event.minLimit, + startTime: event.minLimit?.toHourMinuteString() ?? DateTime.now().toHourMinuteString(), + endTime: event.minLimit?.add(Duration(minutes: event.breakDurationInMinutes)).toHourMinuteString() ?? DateTime.now().add(Duration(minutes: event.breakDurationInMinutes)).toHourMinuteString(), + breakDuration: Duration(minutes: event.breakDurationInMinutes), + )); + }); + + on((event, emit) { + emit(state.copyWith(status: event.status)); + }); + + on((event, emit) { + emit(state.copyWith(selectedReason: event.reason)); + }); + + on((event, emit) { + emit(state.copyWith(startTime: event.startTime.toHourMinuteString(),endTime: event.startTime.add(state.breakDuration).toHourMinuteString())); + }); + + on((event, emit) { + emit(state.copyWith(endTime: event.endTime.toHourMinuteString())); + }); + + on((event, emit) { + emit(state.copyWith(additionalReason: event.additionalReason)); + }); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart new file mode 100644 index 00000000..ef7cf72a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart @@ -0,0 +1,63 @@ +import 'package:equatable/equatable.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart'; + +abstract class CompleteDialogEvent extends Equatable { + @override + List get props => []; +} + +class InitializeCompleteDialog extends CompleteDialogEvent { + final DateTime? minLimit; + final int breakDurationInMinutes; + + InitializeCompleteDialog( + {this.minLimit, required this.breakDurationInMinutes}); + + @override + List get props => [minLimit]; +} + +class SelectBreakStatus extends CompleteDialogEvent { + final BreakStatus status; + + SelectBreakStatus(this.status); + + @override + List get props => [status]; +} + +class SelectReason extends CompleteDialogEvent { + final String reason; + + SelectReason(this.reason); + + @override + List get props => [reason]; +} + +class ChangeStartTime extends CompleteDialogEvent { + final DateTime startTime; + + ChangeStartTime(this.startTime); + + @override + List get props => [startTime]; +} + +class ChangeEndTime extends CompleteDialogEvent { + final DateTime endTime; + + ChangeEndTime(this.endTime); + + @override + List get props => [endTime]; +} + +class ChangeAdditionalReason extends CompleteDialogEvent { + final String additionalReason; + + ChangeAdditionalReason(this.additionalReason); + + @override + List get props => [additionalReason]; +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart new file mode 100644 index 00000000..60748495 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart @@ -0,0 +1,73 @@ +import 'package:equatable/equatable.dart'; +import 'package:intl/intl.dart'; + +enum BreakStatus { neutral, positive, negative } + +class CompleteDialogState extends Equatable { + final BreakStatus status; + final String? selectedReason; + final String startTime; + final String endTime; + final String additionalReason; + final DateTime? minLimit; + final Duration breakDuration; + + const CompleteDialogState({ + this.status = BreakStatus.neutral, + this.selectedReason, + this.startTime = '00:00', + this.endTime = '00:00', + this.additionalReason = '', + this.minLimit, + this.breakDuration = const Duration(minutes: 0), + }); + + String? get breakTimeInputError { + if (startTime == endTime) { + return 'Break start time and end time cannot be the same'; + } + if (DateFormat('H:mm') + .parse(startTime) + .isAfter(DateFormat('H:mm').parse(endTime))) { + return 'Break start time cannot be after break end time'; + } + if (DateFormat('H:mm').parse(endTime).isAfter(DateTime.now())) { + return 'Break end time cannot be in the future'; + } + + if (minLimit != null) { + final start = DateFormat('H:mm').parse(startTime); + final min = + DateFormat('H:mm').parse(DateFormat('H:mm').format(minLimit!)); + if (start.isBefore(min)) { + return 'Break start time cannot be before the shift start time'; + } + } + + return null; + } + + CompleteDialogState copyWith({ + BreakStatus? status, + String? selectedReason, + String? startTime, + String? endTime, + String? additionalReason, + DateTime? minLimit, + Duration? breakDuration, + }) { + return CompleteDialogState( + status: status ?? this.status, + selectedReason: selectedReason ?? this.selectedReason, + startTime: startTime ?? this.startTime, + endTime: endTime ?? this.endTime, + additionalReason: additionalReason ?? this.additionalReason, + minLimit: minLimit ?? this.minLimit, + breakDuration: breakDuration ?? this.breakDuration, + ); + } + + @override + List get props => + [status, selectedReason, startTime, endTime, additionalReason]; +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart new file mode 100644 index 00000000..1c484711 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart @@ -0,0 +1,309 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/clients/api/api_exception.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/geofencing_serivce.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/services/force_clockout_service.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; + +part 'shift_details_event.dart'; +part 'shift_details_state.dart'; + +class ShiftDetailsBloc extends Bloc { + ShiftDetailsBloc() + : super(ShiftDetailsState(shiftViewModel: ShiftEntity.empty)) { + on(_onInitial); + on(_onStaffGeofencingUpdate); + on(_onUpdateTimer); + on(_onConfirm); + on(_onClockIn); + on(_onComplete); + on(_onDecline); + on(_onCancel); + on(_onRefresh); + on(_onCheckGeocoding); + on(_onErrorWasShown); + } + + final GeofencingService _geofencingService = getIt(); + Timer? _timer; + Timer? _refreshTimer; + StreamSubscription? _geofencingStream; + + Future _onInitial( + ShiftDetailsInitialEvent event, + Emitter emit, + ) async { + emit(state.copyWith(shiftViewModel: event.shift)); + if (event.shift.status == EventShiftRoleStaffStatus.ongoing) { + _startOngoingTimer(); + } + _runRefreshTimer(); + + add(const ShiftCheckGeocodingEvent()); + } + + void _onStaffGeofencingUpdate( + StaffGeofencingUpdate event, + Emitter emit, + ) { + emit(state.copyWith(isToFar: !event.isInRange)); + } + + void _onUpdateTimer( + ShiftUpdateTimerEvent event, + Emitter emit, + ) { + emit(state.copyWith(shiftViewModel: state.shiftViewModel.copyWith())); + } + + void _onConfirm( + ShiftConfirmEvent event, + Emitter emit, + ) async { + try { + emit(state.copyWith(isLoading: true)); + await getIt().confirmShift(state.shiftViewModel); + + emit( + state.copyWith( + shiftViewModel: state.shiftViewModel.copyWith( + status: EventShiftRoleStaffStatus.confirmed, + ), + ), + ); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(errorMessage: e.message)); + }else{ + emit(state.copyWith(errorMessage: e.toString())); + } + } + emit(state.copyWith(isLoading: false)); + + } + + void _onClockIn( + ShiftClockInEvent event, Emitter emit) async { + emit(state.copyWith(isLoading: true)); + + try { + await getIt().clockInShift(state.shiftViewModel); + _geofencingStream?.cancel(); + emit( + state.copyWith( + isLoading: false, + shiftViewModel: state.shiftViewModel.copyWith( + status: EventShiftRoleStaffStatus.ongoing, + clockIn: DateTime.now(), + ), + ), + ); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(errorMessage: e.message)); + }else{ + emit(state.copyWith(errorMessage: e.toString())); + } + emit(state.copyWith(isLoading: false)); + } + _startOngoingTimer(); + + getIt().startTrackOngoingLocation( + state.shiftViewModel, + () { + onForceUpdateUI(); + }, + ); + } + + void _onComplete( + ShiftCompleteEvent event, + Emitter emit, + ) async { + emit(state.copyWith(isLoading: true)); + try { + emit( + state.copyWith( + shiftViewModel: state.shiftViewModel.copyWith( + status: EventShiftRoleStaffStatus.completed, + ), + ), + ); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(errorMessage: e.message)); + }else{ + emit(state.copyWith(errorMessage: e.toString())); + } + } + emit(state.copyWith(isLoading: false)); + + } + + void _onDecline( + ShiftDeclineEvent event, + Emitter emit, + ) async { + emit(state.copyWith(isLoading: true)); + try { + await getIt().declineShift( + state.shiftViewModel, event.reason, event.additionalReason); + emit(state.copyWith( + needPop: true, + shiftViewModel: state.shiftViewModel.copyWith( + status: EventShiftRoleStaffStatus.canceledByStaff, + ))); + } catch (e) { + if (e is DisplayableException) { + emit(state.copyWith(errorMessage: e.message)); + }else{ + emit(state.copyWith(errorMessage: e.toString())); + } + } + emit(state.copyWith(isLoading: false)); + + } + + void _onErrorWasShown( + ShiftErrorWasShownEvent event, + Emitter emit, + ) { + emit(state.copyWith(errorMessage: '')); + } + + void _onCancel( + ShiftCancelEvent event, + Emitter emit, + ) async { + emit(state.copyWith(isLoading: true)); + try { + await getIt().cancelShift( + state.shiftViewModel, event.reason, event.additionalReason); + emit(state.copyWith( + shiftViewModel: state.shiftViewModel.copyWith( + status: EventShiftRoleStaffStatus.canceledByStaff, + ))); + } catch (e) { + print('!!!!!! ${e}'); + if (e is DisplayableException) { + emit(state.copyWith(errorMessage: e.message)); + }else{ + emit(state.copyWith(errorMessage: e.toString())); + } + } + emit(state.copyWith(isLoading: false)); + + } + + void _onRefresh( + ShiftRefreshEvent event, + Emitter emit, + ) { + emit(state.copyWith( + shiftViewModel: event.shift, + proximityState: GeofencingProximityState.none)); + } + + void _onCheckGeocoding( + ShiftCheckGeocodingEvent event, + Emitter emit, + ) async { + emit(state.copyWith( + proximityState: GeofencingProximityState.none, + )); + + await _checkByGeocoding(emit); + } + + @override + Future close() { + _timer?.cancel(); + _refreshTimer?.cancel(); + _geofencingStream?.cancel(); + return super.close(); + } + + void _runRefreshTimer() { + _refreshTimer = Timer.periodic( + const Duration(seconds: 10), + (timer) async { + final shift = await getIt() + .getShiftById(state.shiftViewModel.id); + if (shift == null) { + return; + } + add((ShiftRefreshEvent(shift))); + }, + ); + } + + Future _checkByGeocoding(Emitter emit) async { + if (![ + EventShiftRoleStaffStatus.assigned, + EventShiftRoleStaffStatus.confirmed, + EventShiftRoleStaffStatus.ongoing + ].contains(state.shiftViewModel.status)) { + return; + } + + final geolocationCheck = + await _geofencingService.requestGeolocationPermission(); + emit( + state.copyWith( + proximityState: switch (geolocationCheck) { + GeolocationStatus.disabled => + GeofencingProximityState.locationDisabled, + GeolocationStatus.denied => GeofencingProximityState.permissionDenied, + GeolocationStatus.prohibited => GeofencingProximityState.goToSettings, + GeolocationStatus.onlyInUse => GeofencingProximityState.onlyInUse, + GeolocationStatus.enabled => null, + }, + ), + ); + + if (geolocationCheck == GeolocationStatus.enabled) { + _geofencingStream = _geofencingService + .isInRangeStream( + pointLatitude: state.shiftViewModel.locationLat, + pointLongitude: state.shiftViewModel.locationLon, + ) + .listen( + (isInRange) { + + add(StaffGeofencingUpdate(isInRange: isInRange)); + }, + ); + } + } + + void _startOngoingTimer() { + _timer?.cancel(); + _timer = Timer.periodic( + const Duration(seconds: 10), + (timer) { + if (state.shiftViewModel.status != EventShiftRoleStaffStatus.ongoing) { + timer.cancel(); + } else { + add(const ShiftUpdateTimerEvent()); + } + }, + ); + } + + Future onForceUpdateUI() async { + _timer?.cancel(); + if (!isClosed) { + final shift = + await getIt().getShiftById(state.shiftViewModel.id); + if (shift == null) { + return; + } + add((ShiftRefreshEvent(shift))); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_event.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_event.dart new file mode 100644 index 00000000..e08b554b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_event.dart @@ -0,0 +1,62 @@ +part of 'shift_details_bloc.dart'; + +@immutable +sealed class ShiftDetailsEvent { + const ShiftDetailsEvent(); +} + +class ShiftDetailsInitialEvent extends ShiftDetailsEvent { + final ShiftEntity shift; + + const ShiftDetailsInitialEvent({required this.shift}); +} + +class StaffGeofencingUpdate extends ShiftDetailsEvent { + const StaffGeofencingUpdate({required this.isInRange}); + + final bool isInRange; +} + +class ShiftUpdateTimerEvent extends ShiftDetailsEvent { + const ShiftUpdateTimerEvent(); +} + +class ShiftCompleteEvent extends ShiftDetailsEvent { + const ShiftCompleteEvent(); +} + +class ShiftClockInEvent extends ShiftDetailsEvent { + const ShiftClockInEvent(); +} + +class ShiftConfirmEvent extends ShiftDetailsEvent { + const ShiftConfirmEvent(); +} + +class ShiftDeclineEvent extends ShiftDetailsEvent { + final String? reason; + final String? additionalReason; + + const ShiftDeclineEvent(this.reason, this.additionalReason); +} + +class ShiftCancelEvent extends ShiftDetailsEvent { + final String? reason; + final String? additionalReason; + + const ShiftCancelEvent(this.reason, this.additionalReason); +} + +class ShiftRefreshEvent extends ShiftDetailsEvent { + final ShiftEntity shift; + + const ShiftRefreshEvent(this.shift); +} + +class ShiftCheckGeocodingEvent extends ShiftDetailsEvent { + const ShiftCheckGeocodingEvent(); +} + +class ShiftErrorWasShownEvent extends ShiftDetailsEvent { + const ShiftErrorWasShownEvent(); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_state.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_state.dart new file mode 100644 index 00000000..77c6aa93 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_state.dart @@ -0,0 +1,47 @@ +part of 'shift_details_bloc.dart'; + +@immutable +class ShiftDetailsState { + final ShiftEntity shiftViewModel; + final bool isToFar; + final bool isLoading; + final GeofencingProximityState proximityState; + final String? errorMessage; + final bool needPop; + + const ShiftDetailsState({ + required this.shiftViewModel, + this.isToFar = true, + this.isLoading = false, + this.proximityState = GeofencingProximityState.none, + this.errorMessage, + this.needPop = false, + }); + + ShiftDetailsState copyWith({ + ShiftEntity? shiftViewModel, + bool? isToFar, + bool? isLoading, + GeofencingProximityState? proximityState, + String? errorMessage, + bool? needPop + }) { + return ShiftDetailsState( + shiftViewModel: shiftViewModel ?? this.shiftViewModel, + isToFar: isToFar ?? this.isToFar, + isLoading: isLoading ?? false, + proximityState: proximityState ?? this.proximityState, + errorMessage: errorMessage, + needPop: needPop ?? this.needPop, + ); + } +} + +enum GeofencingProximityState { + none, + tooFar, + locationDisabled, + goToSettings, + onlyInUse, + permissionDenied, +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_bloc.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_bloc.dart new file mode 100644 index 00000000..fd0b4e63 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_bloc.dart @@ -0,0 +1,133 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_state.dart'; +import 'package:krow/features/shifts/domain/services/force_clockout_service.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; + +class ShiftsBloc extends Bloc { + var indexToStatus = { + 0: ShiftStatusFilterType.assigned, + 1: ShiftStatusFilterType.confirmed, + 2: ShiftStatusFilterType.ongoing, + 3: ShiftStatusFilterType.completed, + 4: ShiftStatusFilterType.canceled, + }; + + ShiftsBloc() + : super(const ShiftsState(tabs: { + 0: ShiftTabState(items: [], isLoading: true), + 1: ShiftTabState(items: []), + 2: ShiftTabState(items: []), + 3: ShiftTabState(items: []), + 4: ShiftTabState(items: []), + })) { + on(_onInitial); + on(_onTabChanged); + on(_onLoadTabItems); + on(_onLoadMoreTabItems); + on(_onReloadMissingBreakShift); + + getIt().statusStream.listen((event) { + add(LoadTabShiftEvent(status: event.index)); + }); + } + + Future _onInitial(ShiftsInitialEvent event, emit) async { + add(const LoadTabShiftEvent(status: 0)); + add(const LoadTabShiftEvent(status: 2)); + + var missedShifts = + await getIt().getMissBreakFinishedShift(); + if (missedShifts.isNotEmpty) { + emit(state.copyWith( + missedShifts: missedShifts, + )); + } + } + + Future _onTabChanged(ShiftsTabChangedEvent event, emit) async { + emit(state.copyWith(tabIndex: event.tabIndex)); + final currentTabState = state.tabs[event.tabIndex]!; + if (currentTabState.items.isEmpty && !currentTabState.isLoading) { + add(LoadTabShiftEvent(status: event.tabIndex)); + } + } + + Future _onLoadTabItems(LoadTabShiftEvent event, emit) async { + await _fetchShifts(event.status, null, emit); + } + + Future _onLoadMoreTabItems(LoadMoreShiftEvent event, emit) async { + final currentTabState = state.tabs[event.status]!; + if (!currentTabState.hasMoreItems || currentTabState.isLoading) return; + await _fetchShifts(event.status, currentTabState.items, emit); + } + + _fetchShifts(int tabIndex, List? previousItems, emit) async { + if (previousItems != null && previousItems.lastOrNull?.cursor == null) { + return; + } + final currentTabState = state.tabs[tabIndex]!; + + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith(isLoading: true), + }, + )); + + try { + var items = await getIt().getShifts( + statusFilter: indexToStatus[tabIndex]!, + lastItemId: previousItems?.lastOrNull?.cursor, + ); + + // if(items.isNotEmpty){ + // items = List.generate(20, (i)=>items[0]); + // } + var allItems = (previousItems ?? [])..addAll(items); + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith( + items: allItems, + hasMoreItems: items.isNotEmpty, + isLoading: false, + ), + }, + )); + + if (tabIndex == 2 && + allItems.isNotEmpty ) { + getIt() + .startTrackOngoingLocation(allItems.first, () {}); + } + } catch (e, s) { + debugPrint(e.toString()); + debugPrint(s.toString()); + emit(state.copyWith( + tabs: { + ...state.tabs, + tabIndex: currentTabState.copyWith(isLoading: false), + }, + )); + } + } + + Future _onReloadMissingBreakShift( + ReloadMissingBreakShift event, emit) async { + emit(state.copyWith(missedShifts: [])); + var missedShifts = + await getIt().getMissBreakFinishedShift(); + emit(state.copyWith(missedShifts: missedShifts)); + } + + @override + Future close() { + getIt().dispose(); + return super.close(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart new file mode 100644 index 00000000..376bc102 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart @@ -0,0 +1,30 @@ +sealed class ShiftsEvent { + const ShiftsEvent(); +} + +class ShiftsInitialEvent extends ShiftsEvent { + const ShiftsInitialEvent(); +} + +class ShiftsTabChangedEvent extends ShiftsEvent { + final int tabIndex; + + const ShiftsTabChangedEvent({required this.tabIndex}); +} + +class LoadTabShiftEvent extends ShiftsEvent { + final int status; + + const LoadTabShiftEvent({required this.status}); +} + +class LoadMoreShiftEvent extends ShiftsEvent { + final int status; + + const LoadMoreShiftEvent({required this.status}); +} + +class ReloadMissingBreakShift extends ShiftsEvent { + + const ReloadMissingBreakShift(); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_state.dart b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_state.dart new file mode 100644 index 00000000..208e9754 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/blocs/shifts_list_bloc/shifts_state.dart @@ -0,0 +1,53 @@ +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftsState { + final bool isLoading; + final int tabIndex; + + final Map tabs; + final List missedShifts; + + const ShiftsState( + {this.isLoading = false, + this.tabIndex = 0, + required this.tabs, + this.missedShifts = const []}); + + ShiftsState copyWith({ + bool? isLoading, + int? tabIndex, + Map? tabs, + List? missedShifts, + }) { + return ShiftsState( + isLoading: isLoading ?? this.isLoading, + tabIndex: tabIndex ?? this.tabIndex, + tabs: tabs ?? this.tabs, + missedShifts: missedShifts ?? this.missedShifts, + ); + } +} + +class ShiftTabState { + final List items; + final bool isLoading; + final bool hasMoreItems; + + const ShiftTabState({ + required this.items, + this.isLoading = false, + this.hasMoreItems = true, + }); + + ShiftTabState copyWith({ + List? items, + bool? isLoading, + bool? hasMoreItems, + }) { + return ShiftTabState( + items: items ?? this.items, + isLoading: isLoading ?? this.isLoading, + hasMoreItems: hasMoreItems ?? this.hasMoreItems, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/services/clockout_checker_bg_task.dart b/mobile-apps/staff-app/lib/features/shifts/domain/services/clockout_checker_bg_task.dart new file mode 100644 index 00000000..e513c5b4 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/services/clockout_checker_bg_task.dart @@ -0,0 +1,44 @@ +import 'dart:async'; + +import 'package:flutter_background_service/flutter_background_service.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/background_service/background_task.dart'; +import 'package:krow/core/sevices/geofencing_serivce.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; + +class ContinuousClockoutCheckerTask implements BackgroundTask { + @override + Future oneTime(ServiceInstance? service) async { + // var shift = (await getIt() + // .getShifts(statusFilter: ShiftStatusFilterType.ongoing) + // .onError((error, stackTrace) { + // return []; + // })) + // .firstOrNull; + // + // if (shift == null) { + // if (service is AndroidServiceInstance) { + // service.setAsBackgroundService(); + // } + // return; + // } else { + // GeofencingService geofencingService = getIt(); + // try { + // var permission = await geofencingService.requestGeolocationPermission(); + // if (permission == GeolocationStatus.enabled) { + // var inArea = await geofencingService.isInRangeCheck( + // pointLatitude: shift.locationLat, + // pointLongitude: shift.locationLon, + // range: 500, + // ); + // if (!inArea) { + // await getIt().forceClockOut(shift.id); + // } + // } + // } catch (e) {} + // } + } + + @override + Future stop() async {} +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/services/force_clockout_service.dart b/mobile-apps/staff-app/lib/features/shifts/domain/services/force_clockout_service.dart new file mode 100644 index 00000000..27479994 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/services/force_clockout_service.dart @@ -0,0 +1,37 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/sevices/geofencing_serivce.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; + + +StreamSubscription? geofencingClockOutStream; + +@singleton +class ForceClockoutService { + final GeofencingService geofencingService; + + ForceClockoutService(this.geofencingService); + + startTrackOngoingLocation(ShiftEntity shift, VoidCallback? onClockOut) { + // if (geofencingClockOutStream != null) { + // geofencingClockOutStream?.cancel(); + // } + // + // geofencingClockOutStream = geofencingService + // .isInRangeStream( + // pointLatitude: shift.locationLat, pointLongitude: shift.locationLon) + // .listen( + // (isInRange) async { + // if (!isInRange) { + // await getIt().forceClockOut(shift.id); + // onClockOut?.call(); + // geofencingClockOutStream?.cancel(); + // } + // }, + // ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/services/shift_completer_service.dart b/mobile-apps/staff-app/lib/features/shifts/domain/services/shift_completer_service.dart new file mode 100644 index 00000000..907b6097 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/services/shift_completer_service.dart @@ -0,0 +1,52 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/application/di/injectable.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/domain/shifts_repository.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart'; + +class ShiftCompleterService { + Future startCompleteProcess(BuildContext context, ShiftEntity shift, + {required Null Function() onComplete, bool canSkip = true}) async { + + var result = await ShiftCompleteDialog.showCustomDialog( + context, + canSkip, + shift.eventName, + shift.clockIn ?? DateTime.now(), + shift.planingBreakTime ?? 30); + + if (result != null) { + if(!kDebugMode) + await getIt() + .completeShift(shift, result['details'], !canSkip); + if (result['result'] == true) { + await KwDialog.show( + context: context, + icon: Assets.images.icons.medalStar, + state: KwDialogState.positive, + title: 'Congratulations, Shift Completed!', + message: + 'Your break has been logged and added to your timeline. Keep up the good work!', + primaryButtonLabel: 'Back to Shift'); + } else { + await KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Your Selection is under review', + message: + 'Labor Code § 512 requires California employers to give unpaid lunch breaks to non-exempt employees. Lunch breaks must be uninterrupted. Employers cannot require employees to do any work while on their lunch breaks. They also cannot discourage employees from taking one. However, the employer and employee can agree to waive the meal break if the worker’s shift is less than 6 hours.', + child: const Text( + 'Once resolved you will be notify.\nNo further Action', + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumMed, + ), + primaryButtonLabel: 'Continue'); + } + } + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/shift_entity.dart b/mobile-apps/staff-app/lib/features/shifts/domain/shift_entity.dart new file mode 100644 index 00000000..8f05f410 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/shift_entity.dart @@ -0,0 +1,213 @@ +import 'package:flutter/foundation.dart'; +import 'package:krow/features/shifts/data/models/cancellation_reason.dart'; +import 'package:krow/features/shifts/data/models/event.dart'; +import 'package:krow/features/shifts/data/models/event_tag.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; + +@immutable +class ShiftEntity { + final String id; + final String imageUrl; + final String skillName; + final String businessName; + final DateTime assignedDate; + final DateTime startDate; + final DateTime endDate; + final DateTime? clockIn; + final DateTime? clockOut; + final String locationName; + final double locationLat; + final double locationLon; + final EventShiftRoleStaffStatus status; + final String? rate; + final List? tags; + final StaffRating? rating; + final int? planingBreakTime; + final int? totalBreakTime; + final int? paymentStatus; + final int? canceledReason; + final List? additionalData; + final List managers; + final String? additionalInfo; + final String? cursor; + final CancellationReason? cancellationReason; + final String eventId; + final String eventName; + + const ShiftEntity({ + required this.id, + required this.skillName, + required this.businessName, + required this.locationName, + required this.locationLat, + required this.locationLon, + required this.status, + required this.rate, + required this.imageUrl, + required this.assignedDate, + required this.startDate, + required this.endDate, + required this.clockIn, + required this.clockOut, + required this.tags, + required this.planingBreakTime, + required this.totalBreakTime, + required this.paymentStatus, + required this.canceledReason, + required this.additionalData, + required this.managers, + required this.rating, + required this.additionalInfo, + required this.eventId, + required this.eventName, + this.cancellationReason, + this.cursor, + }); + + ShiftEntity copyWith({ + String? id, + String? imageUrl, + String? skillName, + String? businessName, + DateTime? assignedDate, + DateTime? startDate, + DateTime? endDate, + DateTime? clockIn, + DateTime? clockOut, + String? locationName, + double? locationLat, + double? locationLon, + EventShiftRoleStaffStatus? status, + String? rate, + List? tags, + StaffRating? rating, + int? planingBreakTime, + int? totalBreakTime, + int? paymentStatus, + int? canceledReason, + List? additionalData, + List? managers, + String? additionalInfo, + String? eventId, + String? eventName, + String? cursor, + }) => + ShiftEntity( + id: id ?? this.id, + imageUrl: imageUrl ?? this.imageUrl, + skillName: skillName ?? this.skillName, + businessName: businessName ?? this.businessName, + locationName: locationName ?? this.locationName, + locationLat: locationLat ?? this.locationLat, + locationLon: locationLon ?? this.locationLon, + status: status ?? this.status, + rate: rate ?? this.rate, + assignedDate: assignedDate ?? this.assignedDate, + startDate: startDate ?? this.startDate, + endDate: endDate ?? this.endDate, + clockIn: clockIn ?? this.clockIn, + clockOut: clockOut ?? this.clockOut, + tags: tags ?? this.tags, + planingBreakTime: planingBreakTime ?? this.planingBreakTime, + totalBreakTime: totalBreakTime ?? this.totalBreakTime, + paymentStatus: paymentStatus ?? this.paymentStatus, + canceledReason: canceledReason ?? this.canceledReason, + additionalData: additionalData ?? this.additionalData, + managers: managers ?? this.managers, + rating: rating ?? this.rating, + additionalInfo: additionalInfo ?? this.additionalInfo, + cancellationReason: cancellationReason, + eventId: eventId ?? this.eventId, + eventName: eventName ?? this.eventName, + cursor: cursor ?? this.cursor, + ); + + static ShiftEntity empty = ShiftEntity( + id: '', + skillName: '', + businessName: '', + locationName: '', + locationLat: .0, + locationLon: .0, + status: EventShiftRoleStaffStatus.assigned, + rate: '', + imageUrl: '', + assignedDate: DateTime.now(), + clockIn: null, + clockOut: null, + startDate: DateTime.now(), + endDate: DateTime.now(), + tags: [], + planingBreakTime: 0, + totalBreakTime: 0, + paymentStatus: 0, + canceledReason: 0, + rating: StaffRating(id: '0', rating: 0), + additionalData: [], + managers: [], + eventId: '', + eventName: '', + additionalInfo: null, + ); + + static ShiftEntity fromStaffShift( + StaffShift shift, { + required String? cursor, + }) { + return ShiftEntity( + id: shift.id, + eventId: shift.position?.shift?.event?.id ?? '', + eventName: shift.position?.shift?.event?.name ?? '', + cursor: cursor, + skillName: shift.position?.businessSkill?.skill?.name ?? '', + businessName: shift.position?.shift?.event?.business?.name ?? '', + locationName: shift.position?.shift?.fullAddress?.formattedAddress ?? '', + locationLat: shift.position?.shift?.fullAddress?.latitude ?? 0, + locationLon: shift.position?.shift?.fullAddress?.longitude ?? 0, + status: shift.status, + rate: shift.position?.rate?.toStringAsFixed(2) ?? '0', + imageUrl: shift.position?.shift?.event?.business?.avatar ?? '', + additionalInfo: shift.position?.shift?.event?.additionalInfo, + assignedDate: shift.statusUpdatedAt ?? DateTime.now(), + clockIn: shift.clockIn, + clockOut: shift.clockOut, + startDate: shift.startAt ?? DateTime.now(), + endDate: shift.endAt ?? DateTime.now(), + tags: shift.position?.shift?.event?.tags, + planingBreakTime: shift.position?.breakMinutes ?? 0, + totalBreakTime: shift.breakOut + ?.difference(shift.breakIn ?? DateTime.now()) + .inMinutes ?? + 0, + paymentStatus: 0, + canceledReason: 0, + rating: shift.rating, + cancellationReason: shift.cancelReason?.firstOrNull?.reason, + additionalData: shift.position?.shift?.event?.addons ?? [], + managers: [ + for (final contact in shift.position?.shift?.contacts ?? []) + ShiftManager( + id: contact.id, + name: '${contact.firstName} ${contact.lastName}', + imageUrl: contact.avatar ?? '', + phoneNumber: contact.authInfo.phone, + ) + ], + ); + } +} + +@immutable +class ShiftManager { + final String id; + final String name; + final String imageUrl; + final String phoneNumber; + + const ShiftManager({ + required this.id, + required this.name, + required this.imageUrl, + required this.phoneNumber, + }); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/domain/shifts_repository.dart b/mobile-apps/staff-app/lib/features/shifts/domain/shifts_repository.dart new file mode 100644 index 00000000..0e0361a5 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/domain/shifts_repository.dart @@ -0,0 +1,33 @@ +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart'; + +enum ShiftStatusFilterType { assigned, confirmed, ongoing, completed, canceled } + +abstract class ShiftsRepository { + Stream get statusStream; + + Future> getShifts( + {String? lastItemId, required ShiftStatusFilterType statusFilter}); + + Future confirmShift(ShiftEntity shiftViewModel); + + Future clockInShift(ShiftEntity shiftViewModel); + + Future completeShift( + ShiftEntity shiftViewModel, ClockOutDetails clockOutDetails,bool isPast); + + Future forceClockOut(String id); + + void dispose(); + + declineShift( + ShiftEntity shiftViewModel, String? reason, String? additionalReason); + + cancelShift( + ShiftEntity shiftViewModel, String? reason, String? additionalReason); + + Future getShiftById(String id); + + Future> getMissBreakFinishedShift(); +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_dialog_view.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_dialog_view.dart new file mode 100644 index 00000000..37c7ba72 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_dialog_view.dart @@ -0,0 +1,104 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/shifts/presentation/dialogs/cancel_dialog/cancel_reason_dropdown.dart'; + +class CancelDialogView extends StatefulWidget { + const CancelDialogView({super.key}); + + @override + State createState() => _CancelDialogViewState(); +} + +class _CancelDialogViewState extends State { + String selectedReason = ''; + final _textEditingController = TextEditingController(); + + @override + Widget build(BuildContext context) { + return Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + ), + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'cancel_shift'.tr(), + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + 'please_select_reason'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + const Gap(8), + CancelReasonDropdown( + selectedReason: selectedReason, + onReasonSelected: (String reason) { + setState(() { + selectedReason = reason; + }); + }, + ), + const Gap(8), + KwTextInput( + controller: _textEditingController, + minHeight: 144, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'additional_reasons'.tr(), + hintText: 'enter_main_text'.tr(), + ), + const Gap(24), + _buttonGroup(context), + ], + ), + ), + ), + ), + ); + } + + Widget _buttonGroup( + BuildContext context, + ) { + return Column( + children: [ + KwButton.primary( + disabled: selectedReason.isEmpty, + label: 'submit_reason'.tr(), + onPressed: () { + context.maybePop({ + 'reason': selectedReason, + 'additionalReason': _textEditingController.text, + }); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'cancel'.tr(), + onPressed: () { + context.maybePop(); + }), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_reason_dropdown.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_reason_dropdown.dart new file mode 100644 index 00000000..9771ecb0 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/cancel_reason_dropdown.dart @@ -0,0 +1,114 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +const reasons = { + 'sick_leave': 'sick_leave', + 'vacation ': 'vacation', + 'other': 'other_specify', +}; + +class CancelReasonDropdown extends StatelessWidget { + final String? selectedReason; + final Function(String reason) onReasonSelected; + + const CancelReasonDropdown( + {super.key, + required this.selectedReason, + required this.onReasonSelected}); + + @override + Widget build(BuildContext context) { + return Column( + children: buildReasonInput(context, selectedReason), + ); + } + + List buildReasonInput(BuildContext context, String? selectedReason) { + return [ + const Gap(24), + Row( + children: [ + const Gap(16), + Text( + 'reason'.tr(), + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ], + ), + const Gap(4), + KwPopupMenu( + horizontalPadding: 40, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened, selectedReason); + }, + menuItems: [ + ...reasons.entries + .map((e) => _buildMenuItem(context, e, selectedReason ?? '')) + ]) + ]; + } + + Container _buildMenuButton(bool isOpened, String? selectedReason) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: isOpened ? AppColors.bgColorDark : AppColors.grayTintStroke, + width: 1), + ), + child: Row( + children: [ + Expanded( + child: Text( + reasons[selectedReason]?.tr() ?? 'select_reason_from_list'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: selectedReason == null + ? AppColors.blackGray + : AppColors.blackBlack), + )), + ], + ), + ); + } + + KwPopupMenuItem _buildMenuItem(BuildContext context, + MapEntry entry, String selectedReason) { + return KwPopupMenuItem( + title: entry.value.tr(), + onTap: () { + onReasonSelected(entry.key); + }, + icon: Container( + height: 16, + width: 16, + decoration: BoxDecoration( + color: selectedReason != entry.key ? null : AppColors.bgColorDark, + shape: BoxShape.circle, + border: selectedReason == entry.key + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: selectedReason == entry.key + ? Center( + child: Assets.images.icons.check.svg( + height: 10, + width: 10, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, BlendMode.srcIn), + )) + : null, + ), + textStyle: AppTextStyles.bodySmallMed, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/shift_cancel_dialog.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/shift_cancel_dialog.dart new file mode 100644 index 00000000..8a1aa6e3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/cancel_dialog/shift_cancel_dialog.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'package:krow/features/shifts/presentation/dialogs/cancel_dialog/cancel_dialog_view.dart'; + +class ShiftCancelDialog extends StatelessWidget { + const ShiftCancelDialog({super.key}); + + static Future?> showCustomDialog( + BuildContext context) async { + return await showDialog>( + context: context, + builder: (context) => const CancelDialogView(), + ); + } + + @override + Widget build(BuildContext context) { + return const CancelDialogView(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart new file mode 100644 index 00000000..f5c7d515 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_dialog_view.dart'; + +//TODO(Artem: create widgets instead helper methods. Add initial break time values.Move reasons to state. Create Time slots validator.) +class ShiftCompleteDialog { + static Future?> showCustomDialog(BuildContext context, + bool canSkip, String eventName, DateTime minLimit, int breakDurationInMinutes) async { + return showDialog>( + barrierDismissible: canSkip, + context: context, + builder: (context) => BlocProvider( + create: (_) => CompleteDialogBloc() + ..add( + InitializeCompleteDialog( + minLimit: minLimit, + breakDurationInMinutes:breakDurationInMinutes , // Default break duration + ), + ), + child: CompleteDialogView( + canSkip: canSkip, + eventName: eventName, + ), + ), + ); + } +} + +class ClockOutDetails { + final String? breakStartTime; + final String? breakEndTime; + final String? reason; + final String? additionalReason; + + ClockOutDetails._( + {this.breakStartTime, + this.breakEndTime, + this.reason, + this.additionalReason}); + + factory ClockOutDetails.positive(String breakStartTime, String breakEndTime) { + return ClockOutDetails._( + breakStartTime: breakStartTime, + breakEndTime: breakEndTime, + ); + } + + factory ClockOutDetails.negative(String reason, String additionalReason) { + return ClockOutDetails._( + reason: reason, + additionalReason: additionalReason, + ); + } + + factory ClockOutDetails.empty() { + return ClockOutDetails._(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/break_time_picker.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/break_time_picker.dart new file mode 100644 index 00000000..8f42cc33 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/break_time_picker.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/application/common/date_time_extension.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/kw_time_slot.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart'; + +class BreakTimePicker extends StatelessWidget { + final CompleteDialogState state; + + const BreakTimePicker({super.key, required this.state}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Expanded( + child: KwTimeSlotInput( + label: 'Break Start Time', + initialValue: DateFormat('H:mm').parse(state.startTime), + onChange: (v) => context.read().add( + ChangeStartTime(v), + ), + ), + ), + const Gap(12), + Expanded( + child: KwTimeSlotInput( + editable: false, + label: 'Break End Time', + initialValue: DateFormat('H:mm').parse(state.endTime), + onChange: (v) {}, + ), + ), + ], + ), + if (state.breakTimeInputError != null) + Padding( + padding: const EdgeInsets.only(top: 8, left: 16), + child: Text( + state.breakTimeInputError!, + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.statusError), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_dialog_view.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_dialog_view.dart new file mode 100644 index 00000000..52db989d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_dialog_view.dart @@ -0,0 +1,154 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_state.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/shift_complete_dialog.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/widgets/break_time_picker.dart'; +import 'package:krow/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_reason_input.dart'; + +class CompleteDialogView extends StatelessWidget { + CompleteDialogView({super.key, this.canSkip = true, required this.eventName}); + + final _textEditingController = TextEditingController(); + final bool canSkip; + final String eventName; + + String _title(BreakStatus state) => state == BreakStatus.negative + ? 'help_us_understand'.tr() + : 'did_you_take_a_break'.tr(); + + String _message(BreakStatus state) => state == BreakStatus.negative + ? 'taking_breaks_essential'.tr() + : 'taking_regular_breaks'.tr(namedArgs: {'eventName': eventName}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + ), + child: SingleChildScrollView( + padding: + const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + _title(state.status), + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + _message(state.status), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + const Gap(8), + if (state.status == BreakStatus.positive) + BreakTimePicker(state: state), + if (state.status == BreakStatus.negative) + CompleteReasonInput(selectedReason: state.selectedReason), + if (state.status == BreakStatus.negative) ...[ + const Gap(8), + KwTextInput( + controller: _textEditingController, + minHeight: 144, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'additional_reasons'.tr(), + hintText: 'enter_main_text'.tr(), + ), + ], + const Gap(24), + _buttonGroup(context, state), + ], + ), + ), + ), + ), + ); + }, + ); + } + + Widget _buttonGroup(BuildContext context, CompleteDialogState state) { + var cancelButton = canSkip + ? Padding( + padding: const EdgeInsets.only(top: 8.0), + child: KwButton.outlinedPrimary( + label: 'cancel'.tr(), + onPressed: () { + Navigator.pop(context); + }, + ), + ) + : const SizedBox.shrink(); + return Column( + children: [ + if (state.status == BreakStatus.neutral) ...[ + KwButton.primary( + label: 'yes_i_took_a_break'.tr(), + onPressed: () => context + .read() + .add(SelectBreakStatus(BreakStatus.positive)), + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'no_i_didnt_take_a_break'.tr(), + onPressed: () => context + .read() + .add(SelectBreakStatus(BreakStatus.negative)), + ), + ], + if (state.status == BreakStatus.positive) ...[ + KwButton.primary( + disabled: state.breakTimeInputError != null, + label: 'submit_break_time'.tr(), + onPressed: () { + Navigator.pop(context, { + 'result': true, + 'details': ClockOutDetails.positive( + state.startTime, + state.endTime, + ) + }); + }, + ), + cancelButton, + ], + if (state.status == BreakStatus.negative) ...[ + KwButton.primary( + disabled: state.selectedReason == null, + label: 'submit_reason'.tr(), + onPressed: () { + Navigator.pop(context, { + 'result': false, + 'details': ClockOutDetails.negative( + state.selectedReason!, _textEditingController.text) + }); + }, + ), + cancelButton, + ] + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_reason_input.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_reason_input.dart new file mode 100644 index 00000000..18e4ca6c --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/complete_dialog/widgets/complete_reason_input.dart @@ -0,0 +1,115 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/complete_dialog/shift_complete_dialog_event.dart'; + +const reasons = { + 'unpredictable_workflows': 'unpredictable_workflows', + 'poor_time_management': 'poor_time_management', + 'lack_of_coverage_or_short_staff': 'lack_of_coverage_or_short_staff', + 'no_break_area': 'no_break_area', + 'other': 'other', +}; + +class CompleteReasonInput extends StatelessWidget { + final String? selectedReason; + + const CompleteReasonInput({super.key, required this.selectedReason}); + + @override + Widget build(BuildContext context) { + return Column( + children: buildReasonInput(context, selectedReason), + ); + } + + List buildReasonInput(BuildContext context, String? selectedReason) { + return [ + const Gap(24), + Row( + children: [ + const Gap(16), + Text( + 'reason'.tr(), + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ], + ), + const Gap(4), + KwPopupMenu( + horizontalPadding: 40, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened, selectedReason); + }, + menuItems: [ + ...reasons.entries + .map((e) => _buildMenuItem(context, e, selectedReason ?? '')) + ]) + ]; + } + + Container _buildMenuButton(bool isOpened, String? selectedReason) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: isOpened ? AppColors.bgColorDark : AppColors.grayTintStroke, + width: 1), + ), + child: Row( + children: [ + Expanded( + child: Text( + reasons[selectedReason]?.tr() ?? 'select_reason_from_list'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: selectedReason == null + ? AppColors.blackGray + : AppColors.blackBlack), + )), + ], + ), + ); + } + + KwPopupMenuItem _buildMenuItem(BuildContext context, + MapEntry entry, String selectedReason) { + return KwPopupMenuItem( + title: entry.value.tr(), + onTap: () { + context.read().add(SelectReason(entry.key)); + }, + icon: Container( + height: 16, + width: 16, + decoration: BoxDecoration( + color: selectedReason != entry.key ? null : AppColors.bgColorDark, + shape: BoxShape.circle, + border: selectedReason == entry.key + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: selectedReason == entry.key + ? Center( + child: Assets.images.icons.check.svg( + height: 10, + width: 10, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, BlendMode.srcIn), + )) + : null, + ), + textStyle: AppTextStyles.bodySmallMed, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_dialog_view.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_dialog_view.dart new file mode 100644 index 00000000..d0888c92 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_dialog_view.dart @@ -0,0 +1,105 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_input.dart'; +import 'package:krow/features/shifts/presentation/dialogs/decline_dialog/decline_reason_dropdown.dart'; + +class DeclineDialogView extends StatefulWidget { + const DeclineDialogView({super.key}); + + @override + State createState() => _DeclineDialogViewState(); +} + +class _DeclineDialogViewState extends State { + String selectedReason = ''; + final _textEditingController = TextEditingController(); + + @override + Widget build(BuildContext context) { + return Center( + child: AnimatedSize( + duration: const Duration(milliseconds: 300), + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + ), + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 56), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'decline_alert'.tr(), + style: AppTextStyles.headingH1.copyWith(height: 1), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + 'mention_reason_declining'.tr(), + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + textAlign: TextAlign.center, + ), + const Gap(8), + DeclineReasonDropdown( + selectedReason: selectedReason, + onReasonSelected: (String reason) { + setState(() { + selectedReason = reason; + }); + }, + ), + const Gap(8), + KwTextInput( + controller: _textEditingController, + minHeight: 144, + maxLength: 300, + showCounter: true, + radius: 12, + title: 'additional_reasons'.tr(), + hintText: 'enter_main_text'.tr(), + ), + const Gap(24), + _buttonGroup(context), + ], + ), + ), + ), + ), + ); + } + + Widget _buttonGroup( + BuildContext context, + ) { + return Column( + children: [ + KwButton.primary( + disabled: selectedReason.isEmpty, + label: 'agree_and_close', + onPressed: () { + context.maybePop({ + 'reason': selectedReason, + 'additionalReason': _textEditingController.text, + }); + }, + ), + const Gap(8), + KwButton.outlinedPrimary( + label: 'contact_admin', + onPressed: () { + //todo contact admin + }, + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_reason_dropdown.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_reason_dropdown.dart new file mode 100644 index 00000000..598373fb --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/decline_reason_dropdown.dart @@ -0,0 +1,116 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_popup_menu.dart'; + +const reasons = { + 'health': 'health', + 'transportation': 'transportation', + 'personal': 'personal', + 'schedule_conflict': 'schedule_conflict', + 'other': 'other_specify', +}; + +class DeclineReasonDropdown extends StatelessWidget { + final String? selectedReason; + final Function(String reason) onReasonSelected; + + const DeclineReasonDropdown( + {super.key, + required this.selectedReason, + required this.onReasonSelected}); + + @override + Widget build(BuildContext context) { + return Column( + children: buildReasonInput(context, selectedReason), + ); + } + + List buildReasonInput(BuildContext context, String? selectedReason) { + return [ + const Gap(24), + Row( + children: [ + const Gap(16), + Text( + 'valid_reasons'.tr(), + style: + AppTextStyles.bodyTinyReg.copyWith(color: AppColors.blackGray), + ), + ], + ), + const Gap(4), + KwPopupMenu( + horizontalPadding: 40, + fit: KwPopupMenuFit.expand, + customButtonBuilder: (context, isOpened) { + return _buildMenuButton(isOpened, selectedReason); + }, + menuItems: [ + ...reasons.entries + .map((e) => _buildMenuItem(context, e, selectedReason ?? '')) + ]) + ]; + } + + Container _buildMenuButton(bool isOpened, String? selectedReason) { + return Container( + height: 48, + padding: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(24), + border: Border.all( + color: isOpened ? AppColors.bgColorDark : AppColors.grayTintStroke, + width: 1), + ), + child: Row( + children: [ + Expanded( + child: Text( + reasons[selectedReason]?.tr() ?? 'select_reason_from_list'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: selectedReason == null + ? AppColors.blackGray + : AppColors.blackBlack), + )), + ], + ), + ); + } + + KwPopupMenuItem _buildMenuItem(BuildContext context, + MapEntry entry, String selectedReason) { + return KwPopupMenuItem( + title: entry.value.tr(), + onTap: () { + onReasonSelected(entry.key); + }, + icon: Container( + height: 16, + width: 16, + decoration: BoxDecoration( + color: selectedReason != entry.key ? null : AppColors.bgColorDark, + shape: BoxShape.circle, + border: selectedReason == entry.key + ? null + : Border.all(color: AppColors.grayTintStroke, width: 1), + ), + child: selectedReason == entry.key + ? Center( + child: Assets.images.icons.check.svg( + height: 10, + width: 10, + colorFilter: const ColorFilter.mode( + AppColors.grayWhite, BlendMode.srcIn), + )) + : null, + ), + textStyle: AppTextStyles.bodySmallMed, + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/shift_decline_dialog.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/shift_decline_dialog.dart new file mode 100644 index 00000000..5af4d2b8 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/decline_dialog/shift_decline_dialog.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'package:krow/features/shifts/presentation/dialogs/decline_dialog/decline_dialog_view.dart'; + +class ShiftDeclineDialog extends StatelessWidget { + const ShiftDeclineDialog({super.key}); + + static Future?> showCustomDialog( + BuildContext context) async { + return await showDialog>( + context: context, + builder: (context) => const ShiftDeclineDialog(), + ); + } + + @override + Widget build(BuildContext context) { + return const DeclineDialogView(); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/geocoding_dialogs.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/geocoding_dialogs.dart new file mode 100644 index 00000000..a7947d68 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/dialogs/geocoding_dialogs.dart @@ -0,0 +1,107 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:geolocator/geolocator.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart'; + +class GeocodingDialogs { + static bool dialogAlreadyOpen = false; + + static void showGeocodingErrorDialog( + ShiftDetailsState state, BuildContext context) async{ + if (dialogAlreadyOpen) { + return; + } + dialogAlreadyOpen = true; + var future; + switch (state.proximityState) { + case GeofencingProximityState.tooFar: + future = KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.warning, + title: "You're too far", + message: 'Please move closer to the designated location.', + primaryButtonLabel: 'OK', + onPrimaryButtonPressed: (dialogContext) { + dialogContext.router.maybePop(); + dialogAlreadyOpen = false; + + }, + ); + break; + case GeofencingProximityState.locationDisabled: + future = KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Location Disabled', + message: 'Please enable location services to continue.', + primaryButtonLabel: 'Go to Settings', + onPrimaryButtonPressed: (dialogContext) async { + dialogContext.router.maybePop(); + dialogAlreadyOpen = false; + await Geolocator.openLocationSettings(); + + }, + ); + break; + case GeofencingProximityState.goToSettings: + future = KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.info, + title: 'Permission Required', + message: 'You need to allow location access in settings.', + primaryButtonLabel: 'Open Settings', + onPrimaryButtonPressed: (dialogContext) async { + dialogContext.maybePop(); + dialogAlreadyOpen = false; + + await Geolocator.openLocationSettings(); + + }, + ); + break; + case GeofencingProximityState.onlyInUse: + future = KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.info, + title: 'Track "All the time" required', + message: + 'To ensure accurate time tracking, we need access to your location. Time tracking will automatically stop if you move more than 500 meters away from your assigned work location. ' + 'Please grant “Allow all the time” access to your location. ' + 'Go to Settings → Permissions → Location and select “Allow all the time”.', + primaryButtonLabel: 'Open Settings', + onPrimaryButtonPressed: (dialogContext) async { + dialogContext.maybePop(); + dialogAlreadyOpen = false; + await Geolocator.openLocationSettings(); + }, + ); + break; + case GeofencingProximityState.permissionDenied: + future = KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'Permission Denied', + message: + 'You have denied location access. Please allow it manually.', + primaryButtonLabel: 'OK', + onPrimaryButtonPressed: (dialogContext) async { + dialogContext.maybePop(); + dialogAlreadyOpen = false; + await Geolocator.openAppSettings(); + }); + break; + default: + dialogAlreadyOpen = false; + break; + } + await future; + dialogAlreadyOpen = false; + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shift_details_screen.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shift_details_screen.dart new file mode 100644 index 00000000..c954d6ba --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shift_details_screen.dart @@ -0,0 +1,212 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_loading_overlay.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/dialogs/geocoding_dialogs.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_buttons_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_info_time_row/shift_info_clock_time_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_info_time_row/shift_info_planing_duration_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_info_time_row/shift_info_start_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_info_time_row/shift_info_total_duration_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_key_responsibilities_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_location_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_manage_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_payment_step_card_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_rating_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_card_widget.dart'; + +@RoutePage() +class ShiftDetailsScreen extends StatefulWidget implements AutoRouteWrapper { + final ShiftEntity shift; + + const ShiftDetailsScreen({super.key, required this.shift}); + + @override + State createState() => _ShiftDetailsScreenState(); + + @override + Widget wrappedRoute(BuildContext context) { + return BlocProvider( + create: (context) => + ShiftDetailsBloc()..add(ShiftDetailsInitialEvent(shift: shift)), + child: this, + ); + } +} + +class _ShiftDetailsScreenState extends State with WidgetsBindingObserver{ + final OverlayPortalController _controller = OverlayPortalController(); + var expanded = false; + + String _getTitle(EventShiftRoleStaffStatus status) { + switch (status) { + //do not use enum name. Its need for future localization; + case EventShiftRoleStaffStatus.assigned: + return 'assigned'; + case EventShiftRoleStaffStatus.confirmed: + return 'confirmed'; + case EventShiftRoleStaffStatus.ongoing: + return 'active'; + case EventShiftRoleStaffStatus.completed: + return 'completed'; + case EventShiftRoleStaffStatus.declineByStaff: + return 'declined'; + case EventShiftRoleStaffStatus.canceledByStaff: + case EventShiftRoleStaffStatus.canceledByBusiness: + case EventShiftRoleStaffStatus.canceledByAdmin: + case EventShiftRoleStaffStatus.requestedReplace: + return 'canceled'; + } + } + + bool _showButtons(EventShiftRoleStaffStatus status) => + status == EventShiftRoleStaffStatus.assigned || status == EventShiftRoleStaffStatus.confirmed; + + bool showTimer(EventShiftRoleStaffStatus status) => + status == EventShiftRoleStaffStatus.confirmed || + status == EventShiftRoleStaffStatus.ongoing; + + void _listenHandler(BuildContext context, ShiftDetailsState state) { + + if (state.needPop) { + context.router.maybePop(); + return; + } + + if (state.isLoading) { + _controller.show(); + } else { + _controller.hide(); + } + + if(state.errorMessage!=null) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(state.errorMessage!), + ), + ); + } + + if (state.proximityState == GeofencingProximityState.none) return; + GeocodingDialogs.showGeocodingErrorDialog(state, context); + } + + @override + void initState() { + super.initState(); + WidgetsBinding.instance.addObserver(this); + + expanded = widget.shift.status != EventShiftRoleStaffStatus.completed; + } + + @override + void dispose() { + WidgetsBinding.instance.removeObserver(this); + super.dispose(); + } + + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + super.didChangeAppLifecycleState(state); + if (state == AppLifecycleState.resumed) { + BlocProvider.of(context).add(const ShiftCheckGeocodingEvent()); + } + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + buildWhen: (previous, current) => + previous.shiftViewModel != current.shiftViewModel, + listenWhen: (previous, current) => + previous.isLoading != current.isLoading || + previous.proximityState != current.proximityState || current.errorMessage!=null, + listener: _listenHandler, + builder: (context, state) { + var viewModel = state.shiftViewModel; + var status = viewModel.status; + + return KwLoadingOverlay( + controller: _controller, + child: Scaffold( + appBar: KwAppBar( + titleText: '${_getTitle(status).tr()} ${'Shift'.tr()}', + showNotification: true, + ), + body: Stack( + children: [ + ListView( + padding: const EdgeInsets.only(top: 16), + children: [ + ShiftItemWidget( + bottomPadding: 0, + viewModel, + isDetailsMode: true, + ), + if (showTimer(viewModel.status)) + const ShiftTimerCardWidget(), + _buildShiftTimeInfo(viewModel), + if (status == EventShiftRoleStaffStatus.completed) + ShiftPaymentStepCardWidget(viewModel: viewModel), + if (status == EventShiftRoleStaffStatus.completed && + viewModel.rating != null) + ShiftRatingWidget(viewModel: viewModel), + if (status != EventShiftRoleStaffStatus.ongoing) + ShiftLocationWidget(viewModel: viewModel), + ShiftManageWidget(managers: viewModel.managers), + if (viewModel.additionalInfo != null) + ShiftKeyResponsibilitiesWidget( + text: viewModel.additionalInfo!, + expandable: + status == EventShiftRoleStaffStatus.completed, + isExpanded: expanded, + onTap: () { + setState(() { + expanded = !expanded; + }); + }, + ), + SizedBox(height: MediaQuery.sizeOf(context).height / 3), + ], + ), + if (_showButtons(viewModel.status)) + Positioned( + bottom: 0, + left: 0, + right: 0, + child: ShiftButtonsWidget( + viewModel.status, + ), + ), + ], + ), + ), + ); + }, + ); + } + + Widget _buildShiftTimeInfo(ShiftEntity shiftViewModel) { + return Container( + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + child: Row( + children: [ + shiftViewModel.status == EventShiftRoleStaffStatus.completed + ? ShiftInfoClockTimeWidget(viewModel: shiftViewModel) + : ShiftInfoStartWidget(viewModel: shiftViewModel), + const Gap(8), + shiftViewModel.status == EventShiftRoleStaffStatus.completed + ? ShiftInfoTotalDurationWidget(viewModel: shiftViewModel) + : ShiftInfoPlaningDurationWidget(viewModel: shiftViewModel) + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shifts_list_main_screen.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shifts_list_main_screen.dart new file mode 100644 index 00000000..946b5540 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/screens/shifts_list_main_screen.dart @@ -0,0 +1,204 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/scroll_layout_helper.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_tabs.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_state.dart'; +import 'package:krow/features/shifts/domain/services/shift_completer_service.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_widget.dart'; + +@RoutePage() +class ShiftsListMainScreen extends StatefulWidget { + const ShiftsListMainScreen({super.key}); + + @override + State createState() => _ShiftsListMainScreenState(); +} + +class _ShiftsListMainScreenState extends State { + late AppLifecycleListener _appLifecycleListener; + var dialogOpened = false; + final List tabs = [ + 'assigned', + 'confirmed', + 'active', + 'completed', + 'canceled' + ]; + + late ScrollController _scrollController; + + @override + void didChangeDependencies() { + super.didChangeDependencies(); + WidgetsBinding.instance.addPostFrameCallback((_) { + BlocProvider.of(context).add( + LoadTabShiftEvent( + status: BlocProvider.of(context).state.tabIndex), + ); + BlocProvider.of(context).add( + const ReloadMissingBreakShift(), + ); + }); + } + + @override + void initState() { + super.initState(); + + _appLifecycleListener = AppLifecycleListener(onStateChange: (state) { + if (state == AppLifecycleState.resumed) { + BlocProvider.of(context).add( + const ReloadMissingBreakShift(), + ); + } + }); + _scrollController = ScrollController(); + _scrollController.addListener(_onScroll); + } + + @override + void dispose() { + _appLifecycleListener.dispose(); + _scrollController.removeListener(_onScroll); + _scrollController.dispose(); + super.dispose(); + } + + void _onScroll() { + if (_scrollController.position.atEdge) { + if (_scrollController.position.pixels != 0) { + BlocProvider.of(context).add( + LoadMoreShiftEvent( + status: BlocProvider.of(context).state.tabIndex), + ); + } + } + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listenWhen: (oldState, state) { + return state.missedShifts.isNotEmpty && + (oldState.missedShifts.isEmpty || + oldState.missedShifts.first.id != state.missedShifts.first.id); + }, + listener: (context, state) async { + if (state.missedShifts.isNotEmpty) { + if(dialogOpened) return; + dialogOpened = true; + await ShiftCompleterService().startCompleteProcess( + context, + canSkip: false, + state.missedShifts.first, + onComplete: () {}, + ); + dialogOpened = false; + + BlocProvider.of(context).add( + const ReloadMissingBreakShift(), + ); + } + }, + builder: (context, state) { + List items = state.tabs[state.tabIndex]!.items; + return Scaffold( + appBar: KwAppBar( + titleText: 'your_shifts'.tr(), + showNotification: true, + centerTitle: false, + ), + body: ScrollLayoutHelper( + padding: const EdgeInsets.symmetric(vertical: 16), + onRefresh: () async { + BlocProvider.of(context) + .add(const ReloadMissingBreakShift()); + BlocProvider.of(context) + .add(LoadTabShiftEvent(status: state.tabIndex)); + }, + controller: _scrollController, + upperWidget: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + KwTabBar( + key: const Key('shifts_tab_bar'), + tabs: tabs.map((e) => e.tr()).toList(), + onTap: (index) { + BlocProvider.of(context) + .add(ShiftsTabChangedEvent(tabIndex: index)); + }), + const Gap(16), + if (state.tabs[state.tabIndex]!.isLoading && + state.tabs[state.tabIndex]!.items.isEmpty) + ..._buildListLoading(), + if (!state.tabs[state.tabIndex]!.isLoading && items.isEmpty) + ..._emptyListWidget(), + RefreshIndicator( + onRefresh: () async { + BlocProvider.of(context) + .add(LoadTabShiftEvent(status: state.tabIndex)); + }, + child: ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: items.length, + itemBuilder: (context, index) { + return ShiftItemWidget( + items[index], + bottomPadding: 12, + onPressed: () { + context.pushRoute( + ShiftDetailsRoute(shift: items[index]), + ); + }, + ); + }), + ), + ], + ), + lowerWidget: const SizedBox.shrink(), + ), + ); + }, + ); + } + + List _buildListLoading() { + return [ + const Gap(116), + const Center(child: CircularProgressIndicator()), + ]; + } + + List _emptyListWidget() { + return [ + const Gap(100), + Container( + height: 64, + width: 64, + decoration: BoxDecoration( + color: AppColors.grayWhite, + borderRadius: BorderRadius.circular(32), + ), + child: Center(child: Assets.images.icons.xCircle.svg()), + ), + const Gap(24), + Text( + 'you_currently_have_no_shifts'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.headingH2, + ), + ]; + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/shifts_flow_screen.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/shifts_flow_screen.dart new file mode 100644 index 00000000..12cb593b --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/shifts_flow_screen.dart @@ -0,0 +1,19 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_bloc.dart'; +import 'package:krow/features/shifts/domain/blocs/shifts_list_bloc/shifts_event.dart'; + +@RoutePage() +class ShiftsFlowScreen extends StatelessWidget { + const ShiftsFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return MultiBlocProvider(providers: [ + BlocProvider( + create: (context) => ShiftsBloc()..add(const ShiftsInitialEvent()), + ), + ], child: const AutoRouter()); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_buttons_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_buttons_widget.dart new file mode 100644 index 00000000..94a889c2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_buttons_widget.dart @@ -0,0 +1,76 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart'; +import 'package:krow/features/shifts/presentation/dialogs/cancel_dialog/shift_cancel_dialog.dart'; +import 'package:krow/features/shifts/presentation/dialogs/decline_dialog/shift_decline_dialog.dart'; + +class ShiftButtonsWidget extends StatelessWidget { + final EventShiftRoleStaffStatus status; + + const ShiftButtonsWidget(this.status, {super.key}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.bottomCenter, + end: const Alignment(0, -0.5), + colors: [ + AppColors.grayWhite, + AppColors.grayWhite.withAlpha(0), + ], + ), + ), + child: SafeArea( + child: Column( + children: status == EventShiftRoleStaffStatus.assigned + ? [ + KwButton.primary( + label: 'accept_shift'.tr(), + onPressed: () { + BlocProvider.of(context).add( + const ShiftConfirmEvent(), + ); + }, + fit: KwButtonFit.expanded, + ), + const Gap(12), + KwButton.outlinedPrimary( + label: 'decline_shift'.tr(), + onPressed: () async { + var result = + await ShiftDeclineDialog.showCustomDialog(context); + if (result != null && context.mounted) { + BlocProvider.of(context).add( + ShiftDeclineEvent( + result['reason'], result['additionalReason']), + ); + } + }).copyWith(color: AppColors.statusError) + ] + : [ + KwButton.outlinedPrimary( + label: 'cancel_shift'.tr(), + onPressed: () async { + var result = + await ShiftCancelDialog.showCustomDialog(context); + if (result != null && context.mounted) { + BlocProvider.of(context).add( + ShiftCancelEvent( + result['reason'], result['additionalReason']), + ); + } + }).copyWith(color: AppColors.statusError) + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_clock_time_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_clock_time_widget.dart new file mode 100644 index 00000000..4694b992 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_clock_time_widget.dart @@ -0,0 +1,51 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftInfoClockTimeWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftInfoClockTimeWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + var clockIn = DateFormat('h:mma','en') + .format(viewModel.clockIn ?? DateTime.now()) + .toLowerCase(); + var clockOut = DateFormat('h:mma','en') + .format(viewModel.clockOut ?? DateTime.now()) + .toLowerCase(); + + return Expanded( + child: Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('${'clock_in_1'.tr()} - ${'clock_out_1'.tr()}'.toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText)), + const Gap(16), + Text(clockIn, style: AppTextStyles.headingH3), + const Gap(6), + Text('clock_in_1'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + Text(clockOut, style: AppTextStyles.headingH3), + const Gap(6), + Text('clock_out_1'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_planing_duration_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_planing_duration_widget.dart new file mode 100644 index 00000000..2711e984 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_planing_duration_widget.dart @@ -0,0 +1,54 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftInfoPlaningDurationWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftInfoPlaningDurationWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + var formattedDuration = + _format(viewModel.endDate.difference(viewModel.startDate).inMinutes); + var formattedBreak = _format(viewModel.planingBreakTime!); + return Expanded( + child: Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('duration'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText)), + const Gap(16), + Text(formattedDuration, style: AppTextStyles.headingH3), + const Gap(6), + Text('shift_duration'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + Text(formattedBreak, style: AppTextStyles.headingH3), + const Gap(6), + Text('break_duration'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + ], + ), + ), + ); + } + + String _format(int? duration) { + if (duration == null) return '0 hours'; + var hours = duration ~/ 60; + var minutes = duration % 60; + var hoursStr = 'hours_1'.tr(namedArgs: {'hours':hours.toString(),'plural':hours == 1 ? '' : 's'}); + return minutes == 0 ? hoursStr : 'hours_minutes'.tr(namedArgs: {'hours':hours.toString(),'minutes':minutes.toString()}); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_start_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_start_widget.dart new file mode 100644 index 00000000..cdf21c43 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_start_widget.dart @@ -0,0 +1,48 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:intl/intl.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftInfoStartWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftInfoStartWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + var dateTime = viewModel.startDate; + + var date = DateFormat('MMMM d', context.locale.languageCode).format(dateTime); + var time = DateFormat('h:mma', 'en').format(dateTime).toLowerCase(); + return Expanded( + child: Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('start'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText)), + const Gap(16), + Text(date, style: AppTextStyles.headingH3), + const Gap(6), + Text('date'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + Text(time, style: AppTextStyles.headingH3), + const Gap(6), + Text('time'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_total_duration_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_total_duration_widget.dart new file mode 100644 index 00000000..beb18970 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_info_time_row/shift_info_total_duration_widget.dart @@ -0,0 +1,60 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftInfoTotalDurationWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftInfoTotalDurationWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + var formattedDuration; + if (viewModel.clockOut == null || viewModel.clockIn == null) { + formattedDuration = '00:00:00'; + } + formattedDuration = _format(viewModel.clockOut + ?.difference(viewModel.clockIn ?? DateTime.now()) + .inSeconds ?? + 0); + var formattedBreak = _format(viewModel.totalBreakTime!); + + return Expanded( + child: Container( + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('total_time_breaks'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText)), + const Gap(16), + Text(formattedBreak, style: AppTextStyles.headingH3), + const Gap(6), + Text('break_hours'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Gap(12), + Text(formattedDuration, style: AppTextStyles.headingH3), + const Gap(6), + Text('total_hours'.tr(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + ], + ), + ), + ); + } + + String _format(int duration) { + var hours = (duration ~/ 3600).toString().padLeft(2, '0'); + var minutes = ((duration % 3600) ~/ 60).toString().padLeft(2, '0'); + var seconds = (duration % 60).toString().padLeft(2, '0'); + return '$hours:$minutes:$seconds'; + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_canceled_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_canceled_widget.dart new file mode 100644 index 00000000..3e47545d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_canceled_widget.dart @@ -0,0 +1,99 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/data/models/cancellation_reason.dart'; + +class ShiftItemCanceledWidget extends StatelessWidget { + final CancellationReason? reason; + final bool canceledByUser; + + const ShiftItemCanceledWidget( + {super.key, required this.reason, required this.canceledByUser}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(12.0), + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + decoration: + KwBoxDecorations.primaryLight8.copyWith(color: AppColors.tintBlue), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + 'your_shift_canceled'.tr(), + style: AppTextStyles.bodyMediumMed + .copyWith(color: AppColors.primaryBlue), + ), + ], + ), + const Gap(8), + Text( + 'please_review_reason'.tr(), + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.primaryBlue)), + const Gap(8), + Row( + children: [ + Text( + 'canceled_by'.tr(), + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.tintDarkBlue), + ), + const Gap(4), + Text( + canceledByUser ? 'user'.tr() : 'admin'.tr(), + style: AppTextStyles.bodyTinyReg + .copyWith(color: AppColors.primaryBlue), + ), + ], + ), + const Gap(8), + Container( + padding: const EdgeInsets.all(12.0), + decoration: KwBoxDecorations.primaryLight6, + child: Row( + children: [ + Text( + '${'reason'.tr()}:', + style: AppTextStyles.bodyMediumReg + .copyWith(color: AppColors.blackGray), + ), + const Gap(4), + Text(reasonToString(reason).tr(), + style: AppTextStyles.bodyMediumMed), + ], + ), + ), + ], + ), + ); + } + + String reasonToString(CancellationReason? reason) { + switch (reason) { + case CancellationReason.sickLeave: + return 'sick_leave'; + case CancellationReason.vacation: + return 'vacation'; + case CancellationReason.other: + return 'Other'; + case CancellationReason.health: + return 'health'; + case CancellationReason.transportation: + return 'transportation'; + case CancellationReason.personal: + return 'personal'; + case CancellationReason.scheduleConflict: + return 'schedule_conflict'; + case null: + return 'other'; + + } + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_additional_details_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_additional_details_widget.dart new file mode 100644 index 00000000..9dd4ee6e --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_additional_details_widget.dart @@ -0,0 +1,106 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftAdditionalDetails extends StatefulWidget { + final ShiftEntity viewModel; + + const ShiftAdditionalDetails({super.key, required this.viewModel}); + + @override + State createState() => _ShiftAdditionalDetailsState(); +} + +class _ShiftAdditionalDetailsState extends State { + bool expanded = false; + + @override + Widget build(BuildContext context) { + if (widget.viewModel.additionalData?.isEmpty ?? true) { + return const Gap(12); + } + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Gap(12), + Container( + margin: const EdgeInsets.symmetric(horizontal: 20), + height: 1, + color: AppColors.grayTintStroke, + ), + const Gap(12), + GestureDetector( + onTap: () { + setState(() { + expanded = !expanded; + }); + }, + child: Container( + margin: const EdgeInsets.symmetric(horizontal: 20), + height: 16, + color: Colors.transparent, + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text('additional_details'.tr(), + style: AppTextStyles.captionReg), + const Spacer(), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: expanded ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackBlack, BlendMode.srcIn))), + ], + ), + ), + ), + if (widget.viewModel.additionalData?.isNotEmpty ?? false) ...[ + const Gap(12), + _buildExpandedDetails(), + ] + ], + ); + } + + _buildExpandedDetails() { + return AnimatedContainer( + duration: const Duration(milliseconds: 200), + clipBehavior: Clip.antiAlias, + height: expanded ? widget.viewModel.additionalData!.length * 28 + 12 : 0, + padding: const EdgeInsets.only(left: 20, right: 20, bottom: 12), + decoration: const BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.vertical(bottom: Radius.circular(12)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + ...widget.viewModel.additionalData?.map( + (e) { + return Padding( + padding: const EdgeInsets.only(top: 12), + child: Row( + children: [ + Text(e.name ?? '', + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + const Spacer(), + Text('yes'.tr(), style: AppTextStyles.bodySmallReg), + ], + ), + ); + }, + ) ?? + [], + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_item_header_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_item_header_widget.dart new file mode 100644 index 00000000..a78b2ce3 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_item_header_widget.dart @@ -0,0 +1,62 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_status_label_widget.dart'; + +class ShiftItemHeaderWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftItemHeaderWidget(this.viewModel, {super.key}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + viewModel.imageUrl.isNotEmpty + ? ClipOval( + child: CachedNetworkImage( + imageUrl: viewModel.imageUrl, + fit: BoxFit.cover, + height: 48, + width: 48, + )) + : const SizedBox.shrink(), + ShiftStatusLabelWidget(viewModel), + ], + ), + const Gap(12), + Row( + children: [ + Expanded( + child: Text( + viewModel.skillName, + style: AppTextStyles.bodyMediumMed, + )), + const Gap(24), + Text( + '\$${viewModel.rate}/h', + style: AppTextStyles.bodyMediumMed, + ) + ], + ), + const Gap(4), + Text( + viewModel.eventName, + style: + AppTextStyles.bodySmallReg.copyWith(color: AppColors.blackGray), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_ongoing_counter_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_ongoing_counter_widget.dart new file mode 100644 index 00000000..159ea193 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_ongoing_counter_widget.dart @@ -0,0 +1,98 @@ +import 'dart:async'; + +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +Timer? shiftListTimer; + +class ShiftOngoingCounterWidget extends StatefulWidget { + final ShiftEntity viewModel; + + const ShiftOngoingCounterWidget({super.key, required this.viewModel}); + + @override + State createState() => + _ShiftOngoingCounterWidgetState(); +} + +class _ShiftOngoingCounterWidgetState extends State { + @override + void initState() { + super.initState(); + shiftListTimer = Timer.periodic(const Duration(seconds: 1), (timer) { + if (mounted) { + setState(() {}); + } + }); + } + + @override + Widget build(BuildContext context) { + var duration = + DateTime.now().difference(widget.viewModel.clockIn ?? DateTime.now()); + var hours = duration.inHours.remainder(24).abs().toString().padLeft(2, '0'); + var minutes = + duration.inMinutes.remainder(60).abs().toString().padLeft(2, '0'); + var seconds = + duration.inSeconds.remainder(60).abs().toString().padLeft(2, '0'); + + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Container( + height: 80, + margin: const EdgeInsets.only(top: 24, left: 24, right: 24), + decoration: BoxDecoration( + color: AppColors.tintGreen, + border: Border.all(color: AppColors.tintDarkGreen), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _buildTimeText('hours'.tr(), hours), + _divider(), + _buildTimeText('minutes'.tr(), minutes), + _divider(), + _buildTimeText('seconds'.tr(), seconds), + ], + ), + ), + ], + ); + } + + Widget _divider() { + return SizedBox( + width: 24, + child: Center( + child: Container( + height: 24, + width: 1, + color: AppColors.tintDarkGreen, + ), + ), + ); + } + + Widget _buildTimeText(String label, String time) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(time, + style: AppTextStyles.headingH3 + .copyWith(color: AppColors.statusSuccess)), + const Gap(6), + Text( + label, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.statusSuccess), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_place_and_time_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_place_and_time_widget.dart new file mode 100644 index 00000000..0d399ebf --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_place_and_time_widget.dart @@ -0,0 +1,77 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftPlaceAndTimeWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftPlaceAndTimeWidget(this.viewModel, {super.key}); + + @override + Widget build(BuildContext context) { + final timeFormat = DateFormat('MMMM d, h:mma', context.locale.languageCode); + return Stack( + children: [ + SizedBox( + height: 28, + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemBuilder: (context, index) { + return Padding( + padding: const EdgeInsets.only(top: 12.0), + child: Container( + constraints: BoxConstraints( + minWidth: MediaQuery.of(context).size.width - 32), + child: IntrinsicWidth( + child: Row( + children: [ + const Gap(16), + Assets.images.icons.location.svg(width: 16, height: 16), + const Gap(4), + Text( + viewModel.locationName, + style: AppTextStyles.bodySmallReg, + ), + const Spacer(), + const Gap(12), + Assets.images.icons.calendar.svg(width: 16, height: 16), + const Gap(4), + Text( + timeFormat.format(viewModel.startDate), + style: AppTextStyles.bodySmallReg, + ), + const Gap(16), + ], + ), + ), + ), + ); + }, + ), + ), + Positioned( + right: 0, + child: Container( + height: 28, + width: 20, + decoration: BoxDecoration( + color: Colors.red, + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + AppColors.grayPrimaryFrame.withAlpha(50), + AppColors.grayPrimaryFrame.withAlpha(255), + ], + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_status_label_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_status_label_widget.dart new file mode 100644 index 00000000..bd43a6d9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_status_label_widget.dart @@ -0,0 +1,104 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftStatusLabelWidget extends StatefulWidget { + final ShiftEntity viewModel; + + const ShiftStatusLabelWidget(this.viewModel, {super.key}); + + @override + State createState() => _ShiftStatusLabelWidgetState(); +} + +class _ShiftStatusLabelWidgetState extends State { + Color getColor() { + switch (widget.viewModel.status) { + case EventShiftRoleStaffStatus.assigned: + return AppColors.primaryBlue; + case EventShiftRoleStaffStatus.confirmed: + return AppColors.statusWarning; + case EventShiftRoleStaffStatus.ongoing: + return AppColors.statusSuccess; + case EventShiftRoleStaffStatus.completed: + return AppColors.bgColorDark; + case EventShiftRoleStaffStatus.canceledByAdmin: + case EventShiftRoleStaffStatus.canceledByBusiness: + case EventShiftRoleStaffStatus.canceledByStaff: + case EventShiftRoleStaffStatus.requestedReplace: + case EventShiftRoleStaffStatus.declineByStaff: + return AppColors.statusError; + } + } + + String getText() { + switch (widget.viewModel.status) { + case EventShiftRoleStaffStatus.assigned: + return _getAssignedAgo(); + case EventShiftRoleStaffStatus.confirmed: + return _getStartIn(); + case EventShiftRoleStaffStatus.ongoing: + return 'ongoing'.tr(); + case EventShiftRoleStaffStatus.completed: + return 'completed'.tr(); + case EventShiftRoleStaffStatus.declineByStaff: + return 'declined'.tr(); + case EventShiftRoleStaffStatus.canceledByAdmin: + case EventShiftRoleStaffStatus.canceledByBusiness: + case EventShiftRoleStaffStatus.canceledByStaff: + case EventShiftRoleStaffStatus.requestedReplace: + return 'canceled'.tr(); + } + } + + String _getStartIn() { + var duration = widget.viewModel.startDate.difference(DateTime.now()); + var startIn = ''; + if (duration.inMinutes < 0) { + return 'started'.tr(); + } + if (duration.inDays > 0) { + startIn = '${duration.inDays}d ${duration.inHours.remainder(24)}h'; + } else if (duration.inHours.abs() > 0) { + startIn = '${duration.inHours}h ${duration.inMinutes.remainder(60)}min'; + } else { + startIn = '${duration.inMinutes}min'; + } + return 'starts_in'.tr(namedArgs: {'time': startIn}); + } + + String _getAssignedAgo() { + var duration = DateTime.now().difference(widget.viewModel.assignedDate); + var timeAgo = ''; + if (duration.inDays > 0) { + timeAgo = '${duration.inDays}d ago'; + } else if (duration.inHours > 0) { + timeAgo = '${duration.inHours}h ago'; + } else { + timeAgo = '${duration.inMinutes}m ago'; + } + return 'assigned_ago'.tr(namedArgs: {'time': timeAgo}); + } + + @override + Widget build(BuildContext context) { + return Container( + height: 24, + padding: const EdgeInsets.symmetric(horizontal: 8), + decoration: BoxDecoration( + color: getColor(), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Text( + getText(), + style: AppTextStyles.bodySmallMed + .copyWith(color: AppColors.grayWhite, height: 0.7), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_tags_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_tags_widget.dart new file mode 100644 index 00000000..ba5b6c8a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_components/shift_tags_widget.dart @@ -0,0 +1,104 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/data/models/event_tag.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftTagsWidget extends StatelessWidget { + final ShiftEntity viewModel; + + final bool scrollable; + + const ShiftTagsWidget(this.viewModel, {this.scrollable = false, super.key}); + + final textColors = const { + '1': AppColors.statusWarningBody, + '2': AppColors.statusError, + '3': AppColors.statusSuccess, + }; + final backGroundsColors = const { + '1': AppColors.tintYellow, + '2': AppColors.tintRed, + '3': AppColors.tintGreen, + }; + + @override + Widget build(BuildContext context) { + if (viewModel.tags == null || viewModel.tags!.isEmpty) { + return const SizedBox.shrink(); + } + return Column( + children: [ + const Gap(12), + if (scrollable) _buildScrollableList(), + if (!scrollable) _buildChips(), + ], + ); + } + + Widget _buildScrollableList() { + return SizedBox( + height: 44, + child: ListView.builder( + padding: const EdgeInsets.only(left: 16, right: 12), + itemCount: viewModel.tags?.length ?? 0, + scrollDirection: Axis.horizontal, + itemBuilder: (context, index) { + return _buildTag(viewModel.tags![index]); + }, + ), + ); + } + + Widget _buildChips() { + return Padding( + padding: const EdgeInsets.only(left: 16, right: 12), + child: Wrap( + runSpacing: 4, + children: viewModel.tags!.map((e) => _buildTag(e)).toList(), + ), + ); + } + + Widget _buildTag(EventTag shiftTage) { + return Container( + margin: const EdgeInsets.only(right: 4), + padding: const EdgeInsets.all(8), + height: 44, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: backGroundsColors[shiftTage.id]??AppColors.tintGreen, + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + height: 28, + width: 28, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.grayWhite, + ), + child: Center( + child: Assets.images.icons.eye.svg( + width: 12, + height: 12, + colorFilter: ColorFilter.mode( + textColors[shiftTage.id] ?? AppColors.statusWarningBody, + BlendMode.srcIn)), + ), + ), + const Gap(8), + Text( + shiftTage.name, + style: AppTextStyles.bodySmallReg + .copyWith(color: textColors[shiftTage.id]??AppColors.statusSuccess), + ), + const Gap(8), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_widget.dart new file mode 100644 index 00000000..be641ac2 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_item_widget.dart @@ -0,0 +1,88 @@ +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/widgets/shift_payment_step_widget.dart'; +import 'package:krow/core/presentation/widgets/shift_total_time_spend_widget.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_canceled_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_additional_details_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_item_header_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_ongoing_counter_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_place_and_time_widget.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_item_components/shift_tags_widget.dart'; + +class ShiftItemWidget extends StatelessWidget { + final ShiftEntity viewModel; + final bool isDetailsMode; + final VoidCallback? onPressed; + final double bottomPadding; + + const ShiftItemWidget(this.viewModel, + {this.bottomPadding = 0, + this.onPressed, + this.isDetailsMode = false, + super.key}); + + @override + Widget build(BuildContext context) { + var showPlaceAndTime = !isDetailsMode && + (viewModel.status == EventShiftRoleStaffStatus.assigned || + viewModel.status == EventShiftRoleStaffStatus.confirmed); + + var showTags = + isDetailsMode || viewModel.status == EventShiftRoleStaffStatus.assigned; + + var showOngoingCounter = + !isDetailsMode && viewModel.status == EventShiftRoleStaffStatus.ongoing; + + var showTotalTimeSpend = !isDetailsMode && + viewModel.status == EventShiftRoleStaffStatus.completed; + + var showAdditionalDetails = + isDetailsMode || viewModel.status == EventShiftRoleStaffStatus.ongoing; + + var canceled = + viewModel.status == EventShiftRoleStaffStatus.canceledByStaff || + viewModel.status == EventShiftRoleStaffStatus.canceledByBusiness || + viewModel.status == EventShiftRoleStaffStatus.canceledByAdmin; + + + return GestureDetector( + onTap: canceled?null:onPressed, + child: Container( + decoration: KwBoxDecorations.primaryLight12, + margin: EdgeInsets.only(bottom: bottomPadding, left: 16, right: 16), + padding: + EdgeInsets.only(top: 24, bottom: showAdditionalDetails ? 0 : 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ShiftItemHeaderWidget(viewModel), + if (showPlaceAndTime) ShiftPlaceAndTimeWidget(viewModel), + if (showTags) + ShiftTagsWidget(viewModel, scrollable: !isDetailsMode), + if (showOngoingCounter) + ShiftOngoingCounterWidget(viewModel: viewModel), + if (showTotalTimeSpend) + ShiftTotalTimeSpendWidget( + startTime: viewModel.clockIn?? DateTime.now(), + endTime: viewModel.clockOut?? viewModel.clockIn??DateTime.now(), + totalBreakTime: viewModel.totalBreakTime ?? 0, + ), + if (showTotalTimeSpend) + const ShiftPaymentStepWidget( + currentIndex: 1, + ), + if (showAdditionalDetails) + ShiftAdditionalDetails(viewModel: viewModel), + if (canceled) + ShiftItemCanceledWidget( + reason: viewModel.cancellationReason, + canceledByUser: viewModel.status == + EventShiftRoleStaffStatus.canceledByStaff), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_key_responsibilities_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_key_responsibilities_widget.dart new file mode 100644 index 00000000..8a7cbd9a --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_key_responsibilities_widget.dart @@ -0,0 +1,90 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; + +class ShiftKeyResponsibilitiesWidget extends StatelessWidget { + final String text; + + final bool isExpanded; + final bool expandable; + + final VoidCallback onTap; + + const ShiftKeyResponsibilitiesWidget( + {super.key, + required this.text, + required this.expandable, + required this.isExpanded, + required this.onTap}); + + @override + Widget build(BuildContext context) { + return AnimatedSize( + duration: const Duration(milliseconds: 300), + clipBehavior: Clip.antiAlias, + alignment: Alignment.topCenter, + child: Container( + clipBehavior: Clip.antiAlias, + height: isExpanded ? null : 40, + margin: const EdgeInsets.only(top: 8, left: 16, right: 16), + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + expandable ? expandableTitle() : fixedTitle(), + const Gap(16), + Text( + text, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + ); + } + + Widget fixedTitle() { + return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Text('${'key_responsibilities'.tr()}:'.toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText)), + ]); + } + + Widget expandableTitle() { + return GestureDetector( + onTap: onTap, + child: Container( + color: Colors.transparent, + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('additional_information'.tr().toUpperCase(), + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray)), + ], + ), + AnimatedRotation( + duration: const Duration(milliseconds: 150), + turns: isExpanded ? -0.5 : 0, + child: Assets.images.icons.caretDown.svg( + width: 16, + height: 16, + colorFilter: const ColorFilter.mode( + AppColors.blackBlack, BlendMode.srcIn))), + ], + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_location_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_location_widget.dart new file mode 100644 index 00000000..39b925ed --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_location_widget.dart @@ -0,0 +1,106 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'package:krow/core/application/common/map_utils.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftLocationWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftLocationWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + return Container( + margin: const EdgeInsets.only(top: 8, left: 16, right: 16), + padding: const EdgeInsets.all(12), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'location'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + const Gap(16), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Text( + viewModel.locationName, + style: AppTextStyles.headingH3.copyWith(height: 1), + ), + ), + ), + const Gap(16), + KwButton.outlinedPrimary( + label: 'get_direction'.tr(), + leftIcon: Assets.images.icons.routing, + onPressed: () { + MapUtils.openMapByLatLon( + viewModel.locationLat, + viewModel.locationLon, + ); + }, + ), + ], + ), + if (viewModel.status != EventShiftRoleStaffStatus.completed) + _buildMap(), + ], + ), + ); + } + + Widget _buildMap() { + if (viewModel.locationLat == 0 && viewModel.locationLon == 0) { + return Container( + height: 166, + margin: const EdgeInsets.only(top: 16), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + ), + ); + } + return Container( + margin: const EdgeInsets.only(top: 16), + height: 166, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + ), + child: Center( + child: GoogleMap( + rotateGesturesEnabled: false, + compassEnabled: false, + zoomControlsEnabled: false, + scrollGesturesEnabled: false, + zoomGesturesEnabled: false, + tiltGesturesEnabled: false, + mapToolbarEnabled: false, + myLocationButtonEnabled: false, + markers: { + Marker( + markerId: const MarkerId('1'), + position: LatLng(viewModel.locationLat, viewModel.locationLon), + ), + }, + initialCameraPosition: CameraPosition( + target: LatLng(viewModel.locationLat, viewModel.locationLon), + zoom: 12, + ), + ), + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_manage_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_manage_widget.dart new file mode 100644 index 00000000..7391fd43 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_manage_widget.dart @@ -0,0 +1,113 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:url_launcher/url_launcher_string.dart'; +import 'package:whatsapp_unilink/whatsapp_unilink.dart'; + +class ShiftManageWidget extends StatelessWidget { + final List managers; + + const ShiftManageWidget({super.key, required this.managers}); + + @override + Widget build(BuildContext context) { + if (managers.isEmpty) return const SizedBox.shrink(); + return Container( + padding: const EdgeInsets.all(12.0), + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'manage_contact_details'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + const Gap(16), + ListView.separated( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: managers.length, + itemBuilder: (context, index) { + return _buildManager(managers[index]); + }, + separatorBuilder: (context, index) { + return const Padding( + padding: EdgeInsets.symmetric(vertical: 8), + child: Divider( + color: AppColors.grayTintStroke, + ), + ); + }, + ), + ], + ), + ); + } + + Widget _buildManager(ShiftManager manager) { + return Row( + children: [ + if(manager.imageUrl.isNotEmpty) + CircleAvatar( + radius: 24.0, + backgroundColor: AppColors.grayWhite, + backgroundImage: CachedNetworkImageProvider( + manager.imageUrl), // Replace with your image asset + ), + const SizedBox(width: 16.0), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + manager.name, + style: AppTextStyles.bodyMediumSmb, + ), + const SizedBox(height: 4.0), + Text( + manager.phoneNumber, + style: AppTextStyles.bodySmallReg + .copyWith(color: AppColors.blackGray), + ), + ], + ), + ), + const SizedBox(width: 8.0), + Row( + children: [ + KwButton.outlinedPrimary( + rightIcon: Assets.images.icons.whatsapp, + fit: KwButtonFit.circular, + onPressed: () { + var link = WhatsAppUnilink( + phoneNumber: manager.phoneNumber, + text: '', + ); + launchUrlString(link.toString()); + }, + ), + const SizedBox(width: 8.0), + KwButton.outlinedPrimary( + label: 'call'.tr(), + rightIcon: Assets.images.icons.call, + onPressed: () { + launchUrlString('tel:${manager.phoneNumber}'); + }, + ).copyWith( + color: AppColors.tintDarkGreen, + textColors: AppColors.statusSuccess), + ], + ) + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_payment_step_card_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_payment_step_card_widget.dart new file mode 100644 index 00000000..62c6a381 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_payment_step_card_widget.dart @@ -0,0 +1,33 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/shift_payment_step_widget.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftPaymentStepCardWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftPaymentStepCardWidget({super.key, required this.viewModel}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(12.0), + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'payment_status'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + const ShiftPaymentStepWidget(currentIndex: 1), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_rating_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_rating_widget.dart new file mode 100644 index 00000000..f3b6f769 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_rating_widget.dart @@ -0,0 +1,60 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; + +class ShiftRatingWidget extends StatelessWidget { + final ShiftEntity viewModel; + + const ShiftRatingWidget({super.key, required this.viewModel}); + + final double maxRating = 5.0; // Maximum rating, e.g., 5 + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.all(12.0), + margin: const EdgeInsets.only(left: 16, right: 16, top: 8), + decoration: KwBoxDecorations.primaryLight12, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'clients_rate'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + const Gap(4), + Center( + child: Text(viewModel.rating?.rating.toStringAsFixed(1) ?? '0.0', + style: AppTextStyles.headingH0), + ), + const Gap(4), + _buildRating(viewModel.rating?.rating ?? 0), + ], + ), + ); + } + + _buildRating(double rating) { + List stars = []; + for (int i = 1; i <= maxRating; i++) { + if (i <= rating) { + stars.add(Assets.images.icons.ratingStar.star.svg()); + } else if (i - rating < 1) { + stars.add(Assets.images.icons.ratingStar.starHalf.svg()); + } else { + stars.add(Assets.images.icons.ratingStar.starEmpty.svg()); + } + } + + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [const Gap(28), ...stars, const Gap(28)], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_card_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_card_widget.dart new file mode 100644 index 00000000..d7d650af --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_card_widget.dart @@ -0,0 +1,218 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/application/common/map_utils.dart'; +import 'package:krow/core/application/routing/routes.gr.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/dialogs/kw_dialog.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_button.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; +import 'package:krow/features/shifts/domain/blocs/shift_deteils_bloc/shift_details_bloc.dart'; +import 'package:krow/features/shifts/domain/services/shift_completer_service.dart'; +import 'package:krow/features/shifts/domain/shift_entity.dart'; +import 'package:krow/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_widget.dart'; + +class ShiftTimerCardWidget extends StatelessWidget { + const ShiftTimerCardWidget({super.key}); + + bool _hasBorder(EventShiftRoleStaffStatus status) => + status == EventShiftRoleStaffStatus.ongoing; + + @override + Widget build(BuildContext context) { + return BlocBuilder( + buildWhen: (previous, current) => + previous.isToFar != current.isToFar || + previous.shiftViewModel != current.shiftViewModel, + builder: (context, state) { + return Container( + padding: const EdgeInsets.all(12), + margin: const EdgeInsets.only(top: 8, left: 16, right: 16), + decoration: KwBoxDecorations.primaryLight12.copyWith( + border: _hasBorder(state.shiftViewModel.status) + ? Border.all(color: AppColors.tintDarkGreen, width: 2) + : null, + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'timer'.tr().toUpperCase(), + style: AppTextStyles.captionReg + .copyWith(color: AppColors.blackCaptionText), + ), + const Gap(16), + ShiftTimerWidget( + shiftStatus: state.shiftViewModel.status, + clockIn: state.shiftViewModel.clockIn, + clockOut: state.shiftViewModel.clockOut, + ), + _buildButton( + context, + state.isToFar, + state.shiftViewModel, + ), + ], + ), + ); + }, + ); + } + + _buildButton( + context, + bool isToFar, + ShiftEntity viewModel, + ) { + final status = viewModel.status; + return Column( + children: [ + if (isToFar && status == EventShiftRoleStaffStatus.confirmed || + status == EventShiftRoleStaffStatus.ongoing) + _toFarMessage(status), + const Gap(16), + KwButton.primary( + disabled: (status == EventShiftRoleStaffStatus.confirmed || + status == EventShiftRoleStaffStatus.ongoing) && + isToFar != false, + label: status == EventShiftRoleStaffStatus.confirmed + ? 'clock_in'.tr() + : 'clock_out'.tr(), + onPressed: () async { + if (status == EventShiftRoleStaffStatus.confirmed) { + _onClockIn(context, viewModel.eventId); + } else { + await _onClocOut(context, viewModel.eventId, viewModel); + } + }, + ), + if (isToFar && status == EventShiftRoleStaffStatus.confirmed) ...[ + const Gap(16), + KwButton.outlinedPrimary( + leftIcon: Assets.images.icons.routing, + label: 'get_direction'.tr(), + onPressed: () { + MapUtils.openMapByLatLon( + viewModel.locationLat, + viewModel.locationLon, + ); + }, + ) + ] + ], + ); + } + + Widget _toFarMessage(status) { + return Container( + margin: const EdgeInsets.only(top: 16), + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.graySecondaryFrame, + borderRadius: BorderRadius.circular(8), + ), + child: Row( + children: [ + Container( + height: 28, + width: 28, + decoration: const BoxDecoration( + color: AppColors.grayWhite, + shape: BoxShape.circle, + ), + child: Assets.images.icons.alertCircle.svg( + height: 12, + width: 12, + colorFilter: + const ColorFilter.mode(AppColors.blackBlack, BlendMode.srcIn), + ), + ), + const Gap(8), + Expanded( + child: Text( + status == EventShiftRoleStaffStatus.ongoing + ? 'reach_location_to_clock_out'.tr() + : 'reach_location_to_clock_in'.tr(), + style: AppTextStyles.bodySmallMed, + ), + ), + ], + ), + ); + } + + Future _onClocOut( + BuildContext context, String eventId, ShiftEntity shift) async { + if (!kDebugMode) { + var qrResult = await context.router.push(const QrScannerRoute()); + if (!context.mounted) return; + + if (qrResult == null || qrResult != eventId) { + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'oops_something_wrong'.tr(), + message: 'qr_code_error'.tr(), + primaryButtonLabel: 'retry_scanning'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + _onClocOut(context, eventId, shift); + }); + return; + } + } + ShiftCompleterService().startCompleteProcess(context, shift, + onComplete: () { + + BlocProvider.of(context) + .add(const ShiftCompleteEvent()); + }); + } + + void _onClockIn(BuildContext context, String eventId) async { + if (kDebugMode) { + BlocProvider.of(context).add(const ShiftClockInEvent()); + return; + } + var result = await context.router.push(const QrScannerRoute()); + + if (!context.mounted) return; + + if (result != null && result == eventId) { + KwDialog.show( + context: context, + icon: Assets.images.icons.like, + state: KwDialogState.positive, + title: 'youre_good_to_go'.tr(), + message: 'shift_timer_started'.tr(), + child: Text( + 'lunch_break_reminder'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.bodyMediumMed, + ), + primaryButtonLabel: 'Continue to Dashboard'); + BlocProvider.of(context).add(const ShiftClockInEvent()); + } else { + KwDialog.show( + context: context, + icon: Assets.images.icons.alertTriangle, + state: KwDialogState.negative, + title: 'oops_something_wrong'.tr(), + message: 'qr_code_error'.tr(), + primaryButtonLabel: 'retry_scanning'.tr(), + secondaryButtonLabel: 'cancel'.tr(), + onPrimaryButtonPressed: (dialogContext) { + Navigator.pop(dialogContext); + _onClockIn(context, eventId); + }); + } + } +} diff --git a/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_widget.dart b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_widget.dart new file mode 100644 index 00000000..2716939d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/shifts/presentation/widgets/shift_timer_widgets/shift_timer_widget.dart @@ -0,0 +1,121 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/features/shifts/data/models/staff_shift.dart'; + +class ShiftTimerWidget extends StatefulWidget { + final EventShiftRoleStaffStatus shiftStatus; + final DateTime? clockIn; + final DateTime? clockOut; + + const ShiftTimerWidget( + {super.key, + required this.shiftStatus, + required this.clockIn, + required this.clockOut}); + + @override + State createState() => _ShiftTimerWidgetState(); +} + +class _ShiftTimerWidgetState extends State { + Color _borderColor() => + widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? AppColors.tintDarkGreen + : AppColors.grayStroke; + + Color _labelColor() => widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? AppColors.statusSuccess + : AppColors.blackGray; + + Color _counterColor() => + widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? AppColors.statusSuccess + : AppColors.blackBlack; + + Color _bgColor() => widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? AppColors.tintGreen + : AppColors.graySecondaryFrame; + + Color _dividerColor() => + widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? AppColors.tintDarkGreen + : AppColors.grayTintStroke; + + Duration _getDuration() { + return widget.shiftStatus == EventShiftRoleStaffStatus.ongoing + ? DateTime.now() + .toUtc() + .difference(widget.clockIn ?? DateTime.now().toUtc()) + : Duration.zero; + } + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + var duration = _getDuration(); + var hours = duration.inHours.remainder(24).abs().toString().padLeft(2, '0'); + var minutes = + duration.inMinutes.remainder(60).abs().toString().padLeft(2, '0'); + var seconds = + duration.inSeconds.remainder(60).abs().toString().padLeft(2, '0'); + + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Container( + height: 80, + decoration: BoxDecoration( + color: _bgColor(), + border: Border.all(color: _borderColor()), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _buildTimeText('hours'.tr(), hours), + _divider(), + _buildTimeText('minutes'.tr(), minutes), + _divider(), + _buildTimeText('seconds'.tr(), seconds), + ], + ), + ), + ], + ); + } + + Widget _divider() { + return SizedBox( + width: 24, + child: Center( + child: Container( + height: 24, + width: 1, + color: _dividerColor(), + ), + ), + ); + } + + Widget _buildTimeText(String label, String time) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(time, + style: AppTextStyles.headingH3.copyWith(color: _counterColor())), + const Gap(6), + Text( + label, + style: AppTextStyles.bodySmallReg.copyWith(color: _labelColor()), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/sign_up/signup_flow_screen.dart b/mobile-apps/staff-app/lib/features/sign_up/signup_flow_screen.dart new file mode 100644 index 00000000..fb1e3cd9 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/sign_up/signup_flow_screen.dart @@ -0,0 +1,12 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class SignupFlowScreen extends StatelessWidget { + const SignupFlowScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/mobile-apps/staff-app/lib/features/splash/presentation/splash_screen.dart b/mobile-apps/staff-app/lib/features/splash/presentation/splash_screen.dart new file mode 100644 index 00000000..8ff72e61 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/splash/presentation/splash_screen.dart @@ -0,0 +1,17 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:flutter/material.dart'; + +@RoutePage() +class SplashScreen extends StatefulWidget { + const SplashScreen({super.key}); + + @override + State createState() => _SplashScreenState(); +} + +class _SplashScreenState extends State { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/mobile-apps/staff-app/lib/features/support/presentation/support_screen.dart b/mobile-apps/staff-app/lib/features/support/presentation/support_screen.dart new file mode 100644 index 00000000..1ac92a2d --- /dev/null +++ b/mobile-apps/staff-app/lib/features/support/presentation/support_screen.dart @@ -0,0 +1,123 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/data/static/contacts_data.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_box_decorations.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/ui_kit/kw_app_bar.dart'; +import 'package:krow/features/support/presentation/widget/contact_tile_widget.dart'; +import 'package:url_launcher/url_launcher_string.dart'; +import 'package:whatsapp_unilink/whatsapp_unilink.dart'; + +@RoutePage() +class SupportScreen extends StatelessWidget { + const SupportScreen({super.key}); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Positioned.fill( + child: Container( + color: AppColors.bgColorDark, + child: SvgPicture.asset( + Assets.images.bg.path, + fit: BoxFit.cover, + ), + ), + ), + Scaffold( + backgroundColor: Colors.transparent, + appBar: KwAppBar( + backgroundColor: Colors.transparent, + iconColorStyle: AppBarIconColorStyle.inverted, + showNotification: true, + contentColor: AppColors.primaryYellow, + ), + body: SafeArea( + top: false, + child: Container( + margin: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 24, + ), + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 24, + ), + decoration: KwBoxDecorations.primaryDark, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.max, + children: [ + Expanded( + child: Assets.images.support.support.image(), + ), + const Gap(24), + Text( + 'contact_support'.tr(), + textAlign: TextAlign.center, + style: AppTextStyles.headingH1.copyWith( + color: Colors.white, + ), + ), + const Gap(8), + Text( + 'contact_support_desc'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.textPrimaryInverted, + ), + textAlign: TextAlign.center, + ), + const Gap(8), + Text( + 'contact_support_desc_2'.tr(), + style: AppTextStyles.bodyMediumReg.copyWith( + color: AppColors.textPrimaryInverted, + ), + textAlign: TextAlign.center, + ), + const Gap(24), + ContactTileWidget( + icon: Assets.images.waitingValidation.sms, + label: 'for_general'.tr(), + contact: ContactsData.supportEmail, + onTap: () { + launchUrlString('mailto:${ContactsData.supportEmail}'); + }, + ), + const Gap(12), + ContactTileWidget( + icon: Assets.images.waitingValidation.call, + label: 'contact_phone:'.tr(), + contact: ContactsData.supportPhone, + onTap: () { + launchUrlString('tel:${ContactsData.supportPhone}'); + }, + ), + const Gap(12), + ContactTileWidget( + icon: Assets.images.waitingValidation.whatsapp, + label: 'WHATSAPP:', + contact: ContactsData.supportPhone, + onTap: () { + const link = WhatsAppUnilink( + phoneNumber: ContactsData.supportPhone, + text: 'Hello, ', + ); + launchUrlString(link.toString()); + }, + ), + ], + ), + ), + ), + ), + ], + ); + } +} diff --git a/mobile-apps/staff-app/lib/features/support/presentation/widget/contact_tile_widget.dart b/mobile-apps/staff-app/lib/features/support/presentation/widget/contact_tile_widget.dart new file mode 100644 index 00000000..db9c8b43 --- /dev/null +++ b/mobile-apps/staff-app/lib/features/support/presentation/widget/contact_tile_widget.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; +import 'package:krow/core/presentation/gen/assets.gen.dart'; +import 'package:krow/core/presentation/styles/kw_text_styles.dart'; +import 'package:krow/core/presentation/styles/theme.dart'; +import 'package:krow/core/presentation/widgets/contact_icon_button.dart'; + +class ContactTileWidget extends StatelessWidget { + const ContactTileWidget({ + super.key, + required this.icon, + required this.label, + required this.contact, + required this.onTap, + }); + + final SvgGenImage icon; + final String label; + final String contact; + final void Function() onTap; + + @override + Widget build(BuildContext context) { + return InkWell( + onTap: onTap, + child: Row( + children: [ + ContactIconButton(icon: icon, onTap: onTap), + const Gap(12), + Expanded( + child: Column( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: AppTextStyles.captionReg.copyWith( + color: AppColors.bgColorLight, + ), + ), + const Gap(8), + Text( + contact, + style: AppTextStyles.bodyMediumMed.copyWith( + color: AppColors.primaryYellow, + letterSpacing: 0, + ), + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/mobile-apps/staff-app/lib/firebase_options_dev.dart b/mobile-apps/staff-app/lib/firebase_options_dev.dart new file mode 100644 index 00000000..3b220aa0 --- /dev/null +++ b/mobile-apps/staff-app/lib/firebase_options_dev.dart @@ -0,0 +1,70 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: type=lint +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options_dev.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for macos - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.windows: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for windows - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4', + appId: '1:933560802882:android:d49b8c0f4d19e95e7757db', + messagingSenderId: '933560802882', + projectId: 'krow-workforce-dev', + storageBucket: 'krow-workforce-dev.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA', + appId: '1:933560802882:ios:7264452527da24537757db', + messagingSenderId: '933560802882', + projectId: 'krow-workforce-dev', + storageBucket: 'krow-workforce-dev.firebasestorage.app', + iosClientId: '933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com', + iosBundleId: 'com.krow.app.staff.dev', + ); + +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/firebase_options_staging.dart b/mobile-apps/staff-app/lib/firebase_options_staging.dart new file mode 100644 index 00000000..8582a336 --- /dev/null +++ b/mobile-apps/staff-app/lib/firebase_options_staging.dart @@ -0,0 +1,69 @@ +// File generated by FlutterFire CLI. +// ignore_for_file: type=lint +import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; +import 'package:flutter/foundation.dart' + show defaultTargetPlatform, kIsWeb, TargetPlatform; + +/// Default [FirebaseOptions] for use with your Firebase apps. +/// +/// Example: +/// ```dart +/// import 'firebase_options_staging.dart'; +/// // ... +/// await Firebase.initializeApp( +/// options: DefaultFirebaseOptions.currentPlatform, +/// ); +/// ``` +class DefaultFirebaseOptions { + static FirebaseOptions get currentPlatform { + if (kIsWeb) { + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for web - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + } + switch (defaultTargetPlatform) { + case TargetPlatform.android: + return android; + case TargetPlatform.iOS: + return ios; + case TargetPlatform.macOS: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for macos - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.windows: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for windows - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + case TargetPlatform.linux: + throw UnsupportedError( + 'DefaultFirebaseOptions have not been configured for linux - ' + 'you can reconfigure this by running the FlutterFire CLI again.', + ); + default: + throw UnsupportedError( + 'DefaultFirebaseOptions are not supported for this platform.', + ); + } + } + + static const FirebaseOptions android = FirebaseOptions( + apiKey: 'AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw', + appId: '1:1032971403708:android:6e5031c203f01cc2356bb9', + messagingSenderId: '1032971403708', + projectId: 'krow-workforce-staging', + storageBucket: 'krow-workforce-staging.firebasestorage.app', + ); + + static const FirebaseOptions ios = FirebaseOptions( + apiKey: 'AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY', + appId: '1:1032971403708:ios:134753083678e855356bb9', + messagingSenderId: '1032971403708', + projectId: 'krow-workforce-staging', + storageBucket: 'krow-workforce-staging.firebasestorage.app', + iosBundleId: 'com.krow.app.staff.staging', + ); + +} \ No newline at end of file diff --git a/mobile-apps/staff-app/lib/main.dart b/mobile-apps/staff-app/lib/main.dart new file mode 100644 index 00000000..f048ab40 --- /dev/null +++ b/mobile-apps/staff-app/lib/main.dart @@ -0,0 +1,27 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/app.dart'; + +import 'core/application/di/injectable.dart'; +import 'core/presentation/widgets/restart_widget.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(fileName: '.env'); + + await Firebase.initializeApp(); + await initHiveForFlutter(); + + configureDependencies(Environment.prod); + await EasyLocalization.ensureInitialized(); + + runApp(EasyLocalization( + supportedLocales: [const Locale('en'), const Locale('es')], + path: 'assets/localization', + fallbackLocale: const Locale('en'), + child: const KrowApp())); +} diff --git a/mobile-apps/staff-app/lib/main_dev.dart b/mobile-apps/staff-app/lib/main_dev.dart new file mode 100644 index 00000000..90177017 --- /dev/null +++ b/mobile-apps/staff-app/lib/main_dev.dart @@ -0,0 +1,27 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:injectable/injectable.dart'; +import 'package:krow/app.dart'; +import 'package:krow/core/presentation/widgets/restart_widget.dart'; + +import 'core/application/di/injectable.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await dotenv.load(fileName: '.env_dev'); + + await Firebase.initializeApp(); + await initHiveForFlutter(); + + configureDependencies(Environment.dev); + await EasyLocalization.ensureInitialized(); + + runApp(EasyLocalization( + supportedLocales: [const Locale('es'), const Locale('en')], + path: 'assets/localization', + fallbackLocale: const Locale('en'), + child: const KrowApp())); +} diff --git a/mobile-apps/staff-app/links_config/.firebaserc b/mobile-apps/staff-app/links_config/.firebaserc new file mode 100644 index 00000000..a3590d1a --- /dev/null +++ b/mobile-apps/staff-app/links_config/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "krow-staging" + } +} diff --git a/mobile-apps/staff-app/links_config/.gitignore b/mobile-apps/staff-app/links_config/.gitignore new file mode 100644 index 00000000..b17f6310 --- /dev/null +++ b/mobile-apps/staff-app/links_config/.gitignore @@ -0,0 +1,69 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +firebase-debug.log* +firebase-debug.*.log* + +# Firebase cache +.firebase/ + +# Firebase config + +# Uncomment this if you'd like others to create their own Firebase project. +# For a team working on the same Firebase project(s), it is recommended to leave +# it commented so all members can deploy to the same project(s) in .firebaserc. +# .firebaserc + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# dataconnect generated files +.dataconnect diff --git a/mobile-apps/staff-app/links_config/firebase.json b/mobile-apps/staff-app/links_config/firebase.json new file mode 100644 index 00000000..657375b9 --- /dev/null +++ b/mobile-apps/staff-app/links_config/firebase.json @@ -0,0 +1,25 @@ +{ + "hosting": { + "public": "public", + "ignore": [ + "firebase.json", + "**/.*", + "**/node_modules/**" + ], + "headers": [ + { + "source": "/.well-known/apple-app-site-association", + "headers": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Cache-Control", + "value": "no-cache" + } + ] + } + ] + } +} diff --git a/mobile-apps/staff-app/links_config/public/.well-known/apple-app-site-association b/mobile-apps/staff-app/links_config/public/.well-known/apple-app-site-association new file mode 100644 index 00000000..1895d462 --- /dev/null +++ b/mobile-apps/staff-app/links_config/public/.well-known/apple-app-site-association @@ -0,0 +1,20 @@ +{ + "applinks": { + "apps": [], + "details": [ + { + "appIDs": [ + "XVAT9L6L9Z.com.krow.app.staff.prod", + "XVAT9L6L9Z.com.krow.app.staff.dev" + ], + "paths": ["/__/auth/*"] + } + ] + }, + "webcredentials": { + "apps": [ + "XVAT9L6L9Z.com.krow.app.staff.prod", + "XVAT9L6L9Z.com.krow.app.staff.dev" + ] + } +} \ No newline at end of file diff --git a/mobile-apps/staff-app/links_config/public/.well-known/assetlinks.json b/mobile-apps/staff-app/links_config/public/.well-known/assetlinks.json new file mode 100644 index 00000000..0f1a7627 --- /dev/null +++ b/mobile-apps/staff-app/links_config/public/.well-known/assetlinks.json @@ -0,0 +1,30 @@ +[ + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "com.krow.app.staff", + "sha256_cert_fingerprints": [ + "33:E0:82:39:BD:70:3F:1B:A2:6B:92:42:51:6A:A8:7A:FF:31:A5:B4:A0:0C:10:0B:CB:B2:89:9E:4C:0C:D1:D0", + "E4:AA:C3:3C:B6:A0:4B:12:3A:57:81:BE:35:31:78:9A:04:BD:00:21:5A:53:F6:8F:B0:55:FF:C3:09:5C:EA:E3", + "C0:CA:98:FB:21:E2:CE:EA:DC:2C:D9:F2:FA:C9:4D:BF:37:94:0F:10:2D:62:C4:FA:4F:78:20:20:4E:30:4A:C7" + ] + } + }, + { + "relation": [ + "delegate_permission/common.handle_all_urls" + ], + "target": { + "namespace": "android_app", + "package_name": "com.krow.app.staff.dev", + "sha256_cert_fingerprints": [ + "33:E0:82:39:BD:70:3F:1B:A2:6B:92:42:51:6A:A8:7A:FF:31:A5:B4:A0:0C:10:0B:CB:B2:89:9E:4C:0C:D1:D0", + "E4:AA:C3:3C:B6:A0:4B:12:3A:57:81:BE:35:31:78:9A:04:BD:00:21:5A:53:F6:8F:B0:55:FF:C3:09:5C:EA:E3", + "C0:CA:98:FB:21:E2:CE:EA:DC:2C:D9:F2:FA:C9:4D:BF:37:94:0F:10:2D:62:C4:FA:4F:78:20:20:4E:30:4A:C7" + ] + } + } +] \ No newline at end of file diff --git a/mobile-apps/staff-app/links_config/public/404.html b/mobile-apps/staff-app/links_config/public/404.html new file mode 100644 index 00000000..829eda8f --- /dev/null +++ b/mobile-apps/staff-app/links_config/public/404.html @@ -0,0 +1,33 @@ + + + + + + Page Not Found + + + + +
+

404

+

Page Not Found

+

The specified file was not found on this website. Please check the URL for mistakes and try again.

+

Why am I seeing this?

+

This page was generated by the Firebase Command-Line Interface. To modify it, edit the 404.html file in your project's configured public directory.

+
+ + diff --git a/mobile-apps/staff-app/links_config/public/index.html b/mobile-apps/staff-app/links_config/public/index.html new file mode 100644 index 00000000..9582f06e --- /dev/null +++ b/mobile-apps/staff-app/links_config/public/index.html @@ -0,0 +1,89 @@ + + + + + + Welcome to Firebase Hosting + + + + + + + + + + + + + + + + + + + +
+

Welcome

+

Firebase Hosting Setup Complete

+

You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!

+ Open Hosting Documentation +
+

Firebase SDK Loading…

+ + + + diff --git a/mobile-apps/staff-app/pubspec.lock b/mobile-apps/staff-app/pubspec.lock new file mode 100644 index 00000000..ff815acd --- /dev/null +++ b/mobile-apps/staff-app/pubspec.lock @@ -0,0 +1,1936 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 + url: "https://pub.dev" + source: hosted + version: "80.0.0" + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: de9ecbb3ddafd446095f7e833c853aff2fa1682b017921fe63a833f9d6f0e422 + url: "https://pub.dev" + source: hosted + version: "1.3.54" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" + url: "https://pub.dev" + source: hosted + version: "7.3.0" + app_links: + dependency: "direct main" + description: + name: app_links + sha256: "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba" + url: "https://pub.dev" + source: hosted + version: "6.4.0" + app_links_linux: + dependency: transitive + description: + name: app_links_linux + sha256: f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81 + url: "https://pub.dev" + source: hosted + version: "1.0.3" + app_links_platform_interface: + dependency: transitive + description: + name: app_links_platform_interface + sha256: "05f5379577c513b534a29ddea68176a4d4802c46180ee8e2e966257158772a3f" + url: "https://pub.dev" + source: hosted + version: "2.0.2" + app_links_web: + dependency: transitive + description: + name: app_links_web + sha256: af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555 + url: "https://pub.dev" + source: hosted + version: "1.0.4" + archive: + dependency: transitive + description: + name: archive + sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742" + url: "https://pub.dev" + source: hosted + version: "4.0.4" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + url: "https://pub.dev" + source: hosted + version: "2.13.0" + auto_route: + dependency: "direct main" + description: + name: auto_route + sha256: "89bc5d17d8c575399891194b8cd02b39f52a8512c730052f17ebe443cdcb9109" + url: "https://pub.dev" + source: hosted + version: "10.0.1" + auto_route_generator: + dependency: "direct dev" + description: + name: auto_route_generator + sha256: "8e622d26dc6be4bf496d47969e3e9ba555c3abcf2290da6abfa43cbd4f57fa52" + url: "https://pub.dev" + source: hosted + version: "10.0.1" + bloc: + dependency: transitive + description: + name: bloc + sha256: "52c10575f4445c61dd9e0cafcc6356fdd827c4c64dd7945ef3c4105f6b6ac189" + url: "https://pub.dev" + source: hosted + version: "9.0.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + build: + dependency: transitive + description: + name: build + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_config: + dependency: transitive + description: + name: build_config + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa" + url: "https://pub.dev" + source: hosted + version: "4.0.4" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 + url: "https://pub.dev" + source: hosted + version: "2.4.4" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + url: "https://pub.dev" + source: hosted + version: "2.4.15" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" + url: "https://pub.dev" + source: hosted + version: "8.0.0" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 + url: "https://pub.dev" + source: hosted + version: "8.9.5" + cached_network_image: + dependency: "direct main" + description: + name: cached_network_image + sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916" + url: "https://pub.dev" + source: hosted + version: "3.4.1" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" + url: "https://pub.dev" + source: hosted + version: "4.1.1" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + calendar_date_picker2: + dependency: "direct main" + description: + name: calendar_date_picker2 + sha256: "293020a283210ccefff669499178c127acbb5e77ae13864f992c8a3e68a8aca1" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + sha256: "7b006ec356205054af5beaef62e2221160ea36b90fb70a35e4deacd49d0349ae" + url: "https://pub.dev" + source: hosted + version: "5.0.0" + characters: + dependency: transitive + description: + name: characters + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c + url: "https://pub.dev" + source: hosted + version: "0.4.2" + clock: + dependency: transitive + description: + name: clock + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" + source: hosted + version: "1.1.2" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" + url: "https://pub.dev" + source: hosted + version: "4.10.1" + collection: + dependency: "direct main" + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + color: + dependency: transitive + description: + name: color + sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb + url: "https://pub.dev" + source: hosted + version: "3.0.0" + connectivity_plus: + dependency: transitive + description: + name: connectivity_plus + sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27" + url: "https://pub.dev" + source: hosted + version: "6.1.3" + connectivity_plus_platform_interface: + dependency: transitive + description: + name: connectivity_plus_platform_interface + sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204" + url: "https://pub.dev" + source: hosted + version: "2.0.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" + url: "https://pub.dev" + source: hosted + version: "0.3.4+2" + crypto: + dependency: transitive + description: + name: crypto + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + url: "https://pub.dev" + source: hosted + version: "3.0.6" + csslib: + dependency: transitive + description: + name: csslib + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + dartx: + dependency: transitive + description: + name: dartx + sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + dbus: + dependency: transitive + description: + name: dbus + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" + url: "https://pub.dev" + source: hosted + version: "0.7.11" + dio: + dependency: "direct main" + description: + name: dio + sha256: "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9" + url: "https://pub.dev" + source: hosted + version: "5.8.0+1" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + easy_localization: + dependency: "direct main" + description: + name: easy_localization + sha256: "0f5239c7b8ab06c66440cfb0e9aa4b4640429c6668d5a42fe389c5de42220b12" + url: "https://pub.dev" + source: hosted + version: "3.0.7+1" + easy_logger: + dependency: transitive + description: + name: easy_logger + sha256: c764a6e024846f33405a2342caf91c62e357c24b02c04dbc712ef232bf30ffb7 + url: "https://pub.dev" + source: hosted + version: "0.0.2" + equatable: + dependency: "direct main" + description: + name: equatable + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" + url: "https://pub.dev" + source: hosted + version: "2.0.7" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + url: "https://pub.dev" + source: hosted + version: "1.3.3" + ffi: + dependency: transitive + description: + name: ffi + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + url: "https://pub.dev" + source: hosted + version: "2.1.3" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" + url: "https://pub.dev" + source: hosted + version: "0.9.3+2" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" + url: "https://pub.dev" + source: hosted + version: "0.9.4+2" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + url: "https://pub.dev" + source: hosted + version: "2.6.2" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b" + url: "https://pub.dev" + source: hosted + version: "0.9.3+4" + firebase_auth: + dependency: "direct main" + description: + name: firebase_auth + sha256: "54c62b2d187709114dd09ce658a8803ee91f9119b0e0d3fc2245130ad9bff9ad" + url: "https://pub.dev" + source: hosted + version: "5.5.2" + firebase_auth_platform_interface: + dependency: transitive + description: + name: firebase_auth_platform_interface + sha256: "5402d13f4bb7f29f2fb819f3b6b5a5a56c9f714aef2276546d397e25ac1b6b8e" + url: "https://pub.dev" + source: hosted + version: "7.6.2" + firebase_auth_web: + dependency: transitive + description: + name: firebase_auth_web + sha256: "2be496911f0807895d5fe8067b70b7d758142dd7fb26485cbe23e525e2547764" + url: "https://pub.dev" + source: hosted + version: "5.14.2" + firebase_core: + dependency: "direct main" + description: + name: firebase_core + sha256: "017d17d9915670e6117497e640b2859e0b868026ea36bf3a57feb28c3b97debe" + url: "https://pub.dev" + source: hosted + version: "3.13.0" + firebase_core_platform_interface: + dependency: transitive + description: + name: firebase_core_platform_interface + sha256: d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf + url: "https://pub.dev" + source: hosted + version: "5.4.0" + firebase_core_web: + dependency: transitive + description: + name: firebase_core_web + sha256: "129a34d1e0fb62e2b488d988a1fc26cc15636357e50944ffee2862efe8929b23" + url: "https://pub.dev" + source: hosted + version: "2.22.0" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + sha256: "5f8918848ee0c8eb172fc7698619b2bcd7dda9ade8b93522c6297dd8f9178356" + url: "https://pub.dev" + source: hosted + version: "15.2.5" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + sha256: "0bbea00680249595fc896e7313a2bd90bd55be6e0abbe8b9a39d81b6b306acb6" + url: "https://pub.dev" + source: hosted + version: "4.6.5" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + sha256: ffb392ce2a7e8439cd0a9a80e3c702194e73c927e5c7b4f0adf6faa00b245b17 + url: "https://pub.dev" + source: hosted + version: "3.10.5" + firebase_remote_config: + dependency: "direct main" + description: + name: firebase_remote_config + sha256: "0178bc8f44a8a30e720ec837fc2a0bac3d99837091d53c2a84d2d5d11da55854" + url: "https://pub.dev" + source: hosted + version: "5.4.3" + firebase_remote_config_platform_interface: + dependency: transitive + description: + name: firebase_remote_config_platform_interface + sha256: df77610b1d0b542729e66358c9a1fd3633b35eb58634269686d36058e57e3c84 + url: "https://pub.dev" + source: hosted + version: "1.5.3" + firebase_remote_config_web: + dependency: transitive + description: + name: firebase_remote_config_web + sha256: "0cbfbe358f396f1663e53bdae626748efed4cf17bf316f29c680c975aa7601e8" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" + source: hosted + version: "1.1.1" + fl_chart: + dependency: "direct main" + description: + name: fl_chart + sha256: "5276944c6ffc975ae796569a826c38a62d2abcf264e26b88fa6f482e107f4237" + url: "https://pub.dev" + source: hosted + version: "0.70.2" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_background_service: + dependency: "direct main" + description: + name: flutter_background_service + sha256: "70a1c185b1fa1a44f8f14ecd6c86f6e50366e3562f00b2fa5a54df39b3324d3d" + url: "https://pub.dev" + source: hosted + version: "5.1.0" + flutter_background_service_android: + dependency: transitive + description: + name: flutter_background_service_android + sha256: b73d903056240e23a5c56d9e52d3a5d02ae41cb18b2988a97304ae37b2bae4bf + url: "https://pub.dev" + source: hosted + version: "6.3.0" + flutter_background_service_ios: + dependency: transitive + description: + name: flutter_background_service_ios + sha256: "6037ffd45c4d019dab0975c7feb1d31012dd697e25edc05505a4a9b0c7dc9fba" + url: "https://pub.dev" + source: hosted + version: "5.0.3" + flutter_background_service_platform_interface: + dependency: transitive + description: + name: flutter_background_service_platform_interface + sha256: ca74aa95789a8304f4d3f57f07ba404faa86bed6e415f83e8edea6ad8b904a41 + url: "https://pub.dev" + source: hosted + version: "5.1.2" + flutter_bloc: + dependency: "direct main" + description: + name: flutter_bloc + sha256: "1046d719fbdf230330d3443187cc33cc11963d15c9089f6cc56faa42a4c5f0cc" + url: "https://pub.dev" + source: hosted + version: "9.1.0" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" + url: "https://pub.dev" + source: hosted + version: "3.4.1" + flutter_dotenv: + dependency: "direct main" + description: + name: flutter_dotenv + sha256: b7c7be5cd9f6ef7a78429cabd2774d3c4af50e79cb2b7593e3d5d763ef95c61b + url: "https://pub.dev" + source: hosted + version: "5.2.1" + flutter_gen: + dependency: "direct main" + description: + name: flutter_gen + sha256: "4117a3ea6b26a910c715bd58abcc5a90447e70930a5b98249e94c41da9e849bb" + url: "https://pub.dev" + source: hosted + version: "5.10.0" + flutter_gen_core: + dependency: transitive + description: + name: flutter_gen_core + sha256: "3eaa2d3d8be58267ac4cd5e215ac965dd23cae0410dc073de2e82e227be32bfc" + url: "https://pub.dev" + source: hosted + version: "5.10.0" + flutter_gen_runner: + dependency: "direct dev" + description: + name: flutter_gen_runner + sha256: e74b4ead01df3e8f02e73a26ca856759dbbe8cb3fd60941ba9f4005cd0cd19c9 + url: "https://pub.dev" + source: hosted + version: "5.10.0" + flutter_hooks: + dependency: transitive + description: + name: flutter_hooks + sha256: cde36b12f7188c85286fba9b38cc5a902e7279f36dd676967106c041dc9dde70 + url: "https://pub.dev" + source: hosted + version: "0.20.5" + flutter_launcher_icons: + dependency: "direct main" + description: + name: flutter_launcher_icons + sha256: bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c + url: "https://pub.dev" + source: hosted + version: "0.14.3" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + url: "https://pub.dev" + source: hosted + version: "5.0.0" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3" + url: "https://pub.dev" + source: hosted + version: "2.0.27" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b + url: "https://pub.dev" + source: hosted + version: "2.0.17" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_xlider: + dependency: "direct main" + description: + name: flutter_xlider + sha256: b83da229b8a2153adeefc5d9e08e0060689c8dc2187b30e3502cf67c1a6495be + url: "https://pub.dev" + source: hosted + version: "3.5.0" + freezed: + dependency: "direct dev" + description: + name: freezed + sha256: "59a584c24b3acdc5250bb856d0d3e9c0b798ed14a4af1ddb7dc1c7b41df91c9c" + url: "https://pub.dev" + source: hosted + version: "2.5.8" + freezed_annotation: + dependency: "direct main" + description: + name: freezed_annotation + sha256: c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2 + url: "https://pub.dev" + source: hosted + version: "2.4.4" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + gap: + dependency: "direct main" + description: + name: gap + sha256: f19387d4e32f849394758b91377f9153a1b41d79513ef7668c088c77dbc6955d + url: "https://pub.dev" + source: hosted + version: "3.0.1" + geolocator: + dependency: "direct main" + description: + name: geolocator + sha256: afebc912cbe6496e8823e064ca519afb5610072bb9c4a9feea715f6feb4f7f28 + url: "https://pub.dev" + source: hosted + version: "13.0.3" + geolocator_android: + dependency: transitive + description: + name: geolocator_android + sha256: fcb1760a50d7500deca37c9a666785c047139b5f9ee15aa5469fae7dbbe3170d + url: "https://pub.dev" + source: hosted + version: "4.6.2" + geolocator_apple: + dependency: transitive + description: + name: geolocator_apple + sha256: "419e50f754281d3606750af07b198ecfe938e8648d3e30a898d3ac342ab717e6" + url: "https://pub.dev" + source: hosted + version: "2.3.12" + geolocator_platform_interface: + dependency: transitive + description: + name: geolocator_platform_interface + sha256: "30cb64f0b9adcc0fb36f628b4ebf4f731a2961a0ebd849f4b56200205056fe67" + url: "https://pub.dev" + source: hosted + version: "4.2.6" + geolocator_web: + dependency: transitive + description: + name: geolocator_web + sha256: e54434b2ce9c677759a188d7e32e950802f79a9e9f45728239404bece0f1bd8d + url: "https://pub.dev" + source: hosted + version: "4.1.2" + geolocator_windows: + dependency: transitive + description: + name: geolocator_windows + sha256: "4862e798b8a84ec300531888e7acd137b74637636069df230d79fabd110e2734" + url: "https://pub.dev" + source: hosted + version: "0.2.4" + get_it: + dependency: "direct main" + description: + name: get_it + sha256: f126a3e286b7f5b578bf436d5592968706c4c1de28a228b870ce375d9f743103 + url: "https://pub.dev" + source: hosted + version: "8.0.3" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + google_maps: + dependency: transitive + description: + name: google_maps + sha256: "4d6e199c561ca06792c964fa24b2bac7197bf4b401c2e1d23e345e5f9939f531" + url: "https://pub.dev" + source: hosted + version: "8.1.1" + google_maps_flutter: + dependency: "direct main" + description: + name: google_maps_flutter + sha256: b42ff7f3875a5eedbe388d883100561b85c62beed1c39ad66dd60537c75bb424 + url: "https://pub.dev" + source: hosted + version: "2.12.0" + google_maps_flutter_android: + dependency: transitive + description: + name: google_maps_flutter_android + sha256: "0ede4ae8326335c0c007c8c7a8c9737449263123385e2bdf49f3e71103b2dc2e" + url: "https://pub.dev" + source: hosted + version: "2.16.0" + google_maps_flutter_ios: + dependency: transitive + description: + name: google_maps_flutter_ios + sha256: ef72c822930ce69515cb91c10cd88cfb8b26296f765808a43cbc9a10eaffacfe + url: "https://pub.dev" + source: hosted + version: "2.15.0" + google_maps_flutter_platform_interface: + dependency: transitive + description: + name: google_maps_flutter_platform_interface + sha256: "970c8f766c02909c7be282dea923c971f83a88adaf07f8871d0aacebc3b07bb2" + url: "https://pub.dev" + source: hosted + version: "2.11.1" + google_maps_flutter_web: + dependency: transitive + description: + name: google_maps_flutter_web + sha256: a45786ea6691cc7cdbe2cf3ce2c2daf4f82a885745666b4a36baada3a4e12897 + url: "https://pub.dev" + source: hosted + version: "0.5.12" + gql: + dependency: transitive + description: + name: gql + sha256: "650e79ed60c21579ca3bd17ebae8a8c8d22cde267b03a19bf3b35996baaa843a" + url: "https://pub.dev" + source: hosted + version: "1.0.1-alpha+1730759315362" + gql_dedupe_link: + dependency: transitive + description: + name: gql_dedupe_link + sha256: "10bee0564d67c24e0c8bd08bd56e0682b64a135e58afabbeed30d85d5e9fea96" + url: "https://pub.dev" + source: hosted + version: "2.0.4-alpha+1715521079596" + gql_error_link: + dependency: transitive + description: + name: gql_error_link + sha256: "93901458f3c050e33386dedb0ca7173e08cebd7078e4e0deca4bf23ab7a71f63" + url: "https://pub.dev" + source: hosted + version: "1.0.0+1" + gql_exec: + dependency: transitive + description: + name: gql_exec + sha256: "394944626fae900f1d34343ecf2d62e44eb984826189c8979d305f0ae5846e38" + url: "https://pub.dev" + source: hosted + version: "1.1.1-alpha+1699813812660" + gql_http_link: + dependency: transitive + description: + name: gql_http_link + sha256: ef6ad24d31beb5a30113e9b919eec20876903cc4b0ee0d31550047aaaba7d5dd + url: "https://pub.dev" + source: hosted + version: "1.1.0" + gql_link: + dependency: transitive + description: + name: gql_link + sha256: c2b0adb2f6a60c2599b9128fb095316db5feb99ce444c86fb141a6964acedfa4 + url: "https://pub.dev" + source: hosted + version: "1.0.1-alpha+1730759315378" + gql_transform_link: + dependency: transitive + description: + name: gql_transform_link + sha256: "0645fdd874ca1be695fd327271fdfb24c0cd6fa40774a64b946062f321a59709" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + graphql: + dependency: "direct main" + description: + name: graphql + sha256: e15f0cb6299baacff816b844ca103ea0f3e85da30109ea6a0b7c3d58eaafc6ef + url: "https://pub.dev" + source: hosted + version: "5.2.0-beta.11" + graphql_flutter: + dependency: "direct main" + description: + name: graphql_flutter + sha256: fad0c3bad7e4aeec9a2eee11de8e4d305e0fbce260a24351b6c688911aea5fc8 + url: "https://pub.dev" + source: hosted + version: "5.2.0-beta.8" + graphs: + dependency: transitive + description: + name: graphs + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + gtk: + dependency: transitive + description: + name: gtk + sha256: e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c + url: "https://pub.dev" + source: hosted + version: "2.1.0" + hashcodes: + dependency: transitive + description: + name: hashcodes + sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + hive: + dependency: "direct main" + description: + name: hive + sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" + url: "https://pub.dev" + source: hosted + version: "2.2.3" + html: + dependency: transitive + description: + name: html + sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" + url: "https://pub.dev" + source: hosted + version: "0.15.5" + http: + dependency: "direct main" + description: + name: http + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f + url: "https://pub.dev" + source: hosted + version: "1.3.0" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: "direct main" + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + image: + dependency: transitive + description: + name: image + sha256: "13d3349ace88f12f4a0d175eb5c12dcdd39d35c4c109a8a13dfeb6d0bd9e31c3" + url: "https://pub.dev" + source: hosted + version: "4.5.3" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" + url: "https://pub.dev" + source: hosted + version: "1.1.2" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: "8bd392ba8b0c8957a157ae0dc9fcf48c58e6c20908d5880aea1d79734df090e9" + url: "https://pub.dev" + source: hosted + version: "0.8.12+22" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" + url: "https://pub.dev" + source: hosted + version: "3.0.6" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100" + url: "https://pub.dev" + source: hosted + version: "0.8.12+2" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9" + url: "https://pub.dev" + source: hosted + version: "0.2.1+2" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1" + url: "https://pub.dev" + source: hosted + version: "0.2.1+2" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0" + url: "https://pub.dev" + source: hosted + version: "2.10.1" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_size_getter: + dependency: transitive + description: + name: image_size_getter + sha256: "9a299e3af2ebbcfd1baf21456c3c884037ff524316c97d8e56035ea8fdf35653" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + injectable: + dependency: "direct main" + description: + name: injectable + sha256: "5e1556ea1d374fe44cbe846414d9bab346285d3d8a1da5877c01ad0774006068" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + injectable_generator: + dependency: "direct dev" + description: + name: injectable_generator + sha256: b04673a4c88b3a848c0c77bf58b8309f9b9e064d9fe1df5450c8ee1675eaea1a + url: "https://pub.dev" + source: hosted + version: "2.7.0" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + js: + dependency: transitive + description: + name: js + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + url: "https://pub.dev" + source: hosted + version: "0.7.1" + json_annotation: + dependency: "direct main" + description: + name: json_annotation + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + json_serializable: + dependency: "direct dev" + description: + name: json_serializable + sha256: "81f04dee10969f89f604e1249382d46b97a1ccad53872875369622b5bfc9e58a" + url: "https://pub.dev" + source: hosted + version: "6.9.4" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" + url: "https://pub.dev" + source: hosted + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + lints: + dependency: transitive + description: + name: lints + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + url: "https://pub.dev" + source: hosted + version: "5.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + map_launcher: + dependency: "direct main" + description: + name: map_launcher + sha256: "7436d6ef9ae57ff15beafcedafe0a8f0604006cbecd2d26024c4cfb0158c2b9a" + url: "https://pub.dev" + source: hosted + version: "3.5.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + modal_progress_hud_nsn: + dependency: "direct main" + description: + name: modal_progress_hud_nsn + sha256: "7d1b2eb50da63c994f8ec2da5738183dbc8235a528e840ecbf67439adb7a6cc2" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + nm: + dependency: transitive + description: + name: nm + sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + normalize: + dependency: transitive + description: + name: normalize + sha256: f78bf0552b9640c76369253f0b8fdabad4f3fbfc06bdae9359e71bee9a5b071b + url: "https://pub.dev" + source: hosted + version: "0.9.1" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191" + url: "https://pub.dev" + source: hosted + version: "8.3.0" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12" + url: "https://pub.dev" + source: hosted + version: "2.2.16" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: e78d066ca88fe337b989d89c19c674cd8c879a6d61410d825a904fd713f32c54 + url: "https://pub.dev" + source: hosted + version: "12.0.0" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6" + url: "https://pub.dev" + source: hosted + version: "13.0.1" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98 + url: "https://pub.dev" + source: hosted + version: "9.4.6" + permission_handler_html: + dependency: transitive + description: + name: permission_handler_html + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" + url: "https://pub.dev" + source: hosted + version: "0.1.3+5" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878 + url: "https://pub.dev" + source: hosted + version: "4.3.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" + url: "https://pub.dev" + source: hosted + version: "0.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + pinput: + dependency: "direct main" + description: + name: pinput + sha256: "8a73be426a91fefec90a7f130763ca39772d547e92f19a827cf4aa02e323d35a" + url: "https://pub.dev" + source: hosted + version: "5.0.1" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" + provider: + dependency: transitive + description: + name: provider + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + url: "https://pub.dev" + source: hosted + version: "6.1.2" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + qr_code_scanner_plus: + dependency: "direct main" + description: + name: qr_code_scanner_plus + sha256: "39696b50d277097ee4d90d4292de36f38c66213a4f5216a06b2bdd2b63117859" + url: "https://pub.dev" + source: hosted + version: "2.0.10+1" + recase: + dependency: transitive + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + rxdart: + dependency: "direct main" + description: + name: rxdart + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" + url: "https://pub.dev" + source: hosted + version: "0.28.0" + sanitize_html: + dependency: transitive + description: + name: sanitize_html + sha256: "12669c4a913688a26555323fb9cec373d8f9fbe091f2d01c40c723b33caa8989" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + shared_preferences: + dependency: "direct main" + description: + name: shared_preferences + sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a" + url: "https://pub.dev" + source: hosted + version: "2.5.2" + shared_preferences_android: + dependency: transitive + description: + name: shared_preferences_android + sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad" + url: "https://pub.dev" + source: hosted + version: "2.4.8" + shared_preferences_foundation: + dependency: transitive + description: + name: shared_preferences_foundation + sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03" + url: "https://pub.dev" + source: hosted + version: "2.5.4" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019 + url: "https://pub.dev" + source: hosted + version: "2.4.3" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + source_helper: + dependency: transitive + description: + name: source_helper + sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" + url: "https://pub.dev" + source: hosted + version: "1.3.5" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + sqflite: + dependency: transitive + description: + name: sqflite + sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + sqflite_common: + dependency: transitive + description: + name: sqflite_common + sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709" + url: "https://pub.dev" + source: hosted + version: "2.5.4+6" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c" + url: "https://pub.dev" + source: hosted + version: "2.4.1+1" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + syncfusion_flutter_core: + dependency: transitive + description: + name: syncfusion_flutter_core + sha256: f56ee689d572c86a0d96cc986120a1e81a9cee9ff6d3c33acb030766a2ad1c04 + url: "https://pub.dev" + source: hosted + version: "29.1.33" + syncfusion_flutter_signaturepad: + dependency: "direct main" + description: + name: syncfusion_flutter_signaturepad + sha256: "4c55650ded631e26a3c2ffce8cecd8a3e69b65287bc38fea20fd1df14904025c" + url: "https://pub.dev" + source: hosted + version: "29.1.33" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" + url: "https://pub.dev" + source: hosted + version: "3.3.0+3" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test_api: + dependency: transitive + description: + name: test_api + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 + url: "https://pub.dev" + source: hosted + version: "0.7.7" + time: + dependency: transitive + description: + name: time + sha256: "370572cf5d1e58adcb3e354c47515da3f7469dac3a95b447117e728e7be6f461" + url: "https://pub.dev" + source: hosted + version: "2.1.5" + timing: + dependency: transitive + description: + name: timing + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" + url: "https://pub.dev" + source: hosted + version: "1.0.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + universal_platform: + dependency: transitive + description: + name: universal_platform + sha256: "64e16458a0ea9b99260ceb5467a214c1f298d647c659af1bff6d3bf82536b1ec" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + url: "https://pub.dev" + source: hosted + version: "6.3.1" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4" + url: "https://pub.dev" + source: hosted + version: "6.3.15" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + url: "https://pub.dev" + source: hosted + version: "3.2.2" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + uuid: + dependency: transitive + description: + name: uuid + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff + url: "https://pub.dev" + source: hosted + version: "4.5.1" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de" + url: "https://pub.dev" + source: hosted + version: "1.1.18" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146" + url: "https://pub.dev" + source: hosted + version: "1.1.13" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" + url: "https://pub.dev" + source: hosted + version: "1.1.16" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + url: "https://pub.dev" + source: hosted + version: "15.0.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" + url: "https://pub.dev" + source: hosted + version: "3.0.2" + whatsapp_unilink: + dependency: "direct main" + description: + name: whatsapp_unilink + sha256: "2cad5519a73024205829f2db46676174af2664112340eb3f84e0444ada5316e5" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + win32: + dependency: transitive + description: + name: win32 + sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba" + url: "https://pub.dev" + source: hosted + version: "5.13.0" + workmanager: + dependency: "direct main" + description: + path: workmanager + ref: main + resolved-ref: "4ce065135dc1b91fee918f81596b42a56850391d" + url: "https://github.com/fluttercommunity/flutter_workmanager.git" + source: git + version: "0.5.2" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.8.0-0 <4.0.0" + flutter: ">=3.27.0" diff --git a/mobile-apps/staff-app/pubspec.yaml b/mobile-apps/staff-app/pubspec.yaml new file mode 100644 index 00000000..1e04f871 --- /dev/null +++ b/mobile-apps/staff-app/pubspec.yaml @@ -0,0 +1,138 @@ +name: krow +description: "A new Flutter project." +publish_to: 'none' + +version: 1.0.28+111 + +environment: + sdk: ^3.5.4 + +dependencies: + flutter: + sdk: flutter + + cupertino_icons: ^1.0.8 + injectable: ^2.5.0 + get_it: ^8.0.3 + dio: ^5.8.0+1 + auto_route: ^10.0.1 + flutter_gen: ^5.10.0 + gap: ^3.0.1 + flutter_svg: ^2.0.17 + carousel_slider: ^5.0.0 + firebase_core: ^3.13.0 + firebase_auth: ^5.5.2 + flutter_bloc: ^9.1.0 + url_launcher: ^6.3.1 + whatsapp_unilink: ^2.1.0 + image_picker: ^1.1.2 + # custom_pop_up_menu: ^1.2.4 + calendar_date_picker2: ^2.0.0 + intl: ^0.20.2 + pinput: ^5.0.1 + graphql_flutter: ^5.1.2 + graphql: ^5.1.3 + hive: ^2.2.3 + shared_preferences: ^2.5.2 + json_annotation: ^4.9.0 + cached_network_image: ^3.4.1 + google_maps_flutter: ^2.12.0 + qr_code_scanner_plus: ^2.0.10+1 + freezed_annotation: ^2.4.4 + modal_progress_hud_nsn: ^0.5.1 + flutter_dotenv: ^5.2.1 + fl_chart: ^0.70.2 + map_launcher: ^3.5.0 + syncfusion_flutter_signaturepad: ^29.1.33 + flutter_xlider: ^3.5.0 + http: ^1.3.0 + http_parser: ^4.1.2 + rxdart: ^0.28.0 + path_provider: ^2.1.5 + collection: ^1.19.0 + equatable: ^2.0.7 + flutter_launcher_icons: ^0.14.3 + geolocator: ^13.0.3 + app_links: ^6.4.0 + firebase_messaging: ^15.2.5 + flutter_background_service: ^5.1.0 + permission_handler: ^12.0.0 + easy_localization: ^3.0.7+1 + workmanager: + git: + url: https://github.com/fluttercommunity/flutter_workmanager.git + path: workmanager + ref: main + + firebase_remote_config: ^5.4.3 + package_info_plus: ^8.3.0 + +dependency_overrides: + intl: ^0.20.2 + + + +dev_dependencies: + flutter_test: + sdk: flutter + injectable_generator: ^2.7.0 + auto_route_generator: ^10.0.1 + build_runner: ^2.4.15 + flutter_gen_runner: ^5.10.0 + flutter_lints: ^5.0.0 + json_serializable: ^6.9.4 + freezed: ^2.5.7 + +flutter: + uses-material-design: true + assets: + - .env + - .env_dev + - assets/localization/ + - assets/fonts/ + - assets/images/ + - assets/images/icons/check_box/ + - assets/images/slider/ + - assets/images/waiting_validation/ + - assets/images/app_bar/ + - assets/images/icons/navigation/ + - assets/images/icons/rating_star/ + - assets/images/user_profile/ + - assets/images/user_profile/menu/ + - assets/images/icons/ + - assets/images/support/ + + fonts: + - family: Poppins + fonts: + - asset: assets/fonts/poppins/Poppins-Regular.ttf + - asset: assets/fonts/poppins/Poppins-Medium.ttf + - asset: assets/fonts/poppins/Poppins-Bold.ttf + - asset: assets/fonts/poppins/Poppins-SemiBold.ttf + - asset: assets/fonts/poppins/Poppins-Light.ttf + - asset: assets/fonts/poppins/Poppins-ExtraLight.ttf + - asset: assets/fonts/poppins/Poppins-ExtraBold.ttf + - asset: assets/fonts/poppins/Poppins-Thin.ttf + - asset: assets/fonts/poppins/Poppins-Black.ttf + - asset: assets/fonts/poppins/Poppins-Italic.ttf + - asset: assets/fonts/poppins/Poppins-LightItalic.ttf + - asset: assets/fonts/poppins/Poppins-MediumItalic.ttf + - asset: assets/fonts/poppins/Poppins-BoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-SemiBoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-ExtraLightItalic.ttf + - asset: assets/fonts/poppins/Poppins-ExtraBoldItalic.ttf + - asset: assets/fonts/poppins/Poppins-ThinItalic.ttf + - asset: assets/fonts/poppins/Poppins-BlackItalic.ttf + +flutter_gen: + output: lib/core/presentation/gen/ + integrations: + flutter_svg: true + +flutter_launcher_icons: + android: "ic_launcher" + ios: true + image_path: "assets/favicon.png" + image_path_ios: "assets/favicon.png" + min_sdk_android: 21 + remove_alpha_ios: true diff --git a/mobile-apps/staff-app/release_prod.sh b/mobile-apps/staff-app/release_prod.sh new file mode 100755 index 00000000..3c8d1649 --- /dev/null +++ b/mobile-apps/staff-app/release_prod.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + +cd ios +fastlane ios release_prod +cd ../android +fastlane android release_prod +cd .. + + + +VERSION_LINE=$(grep '^version:' pubspec.yaml | head -n 1) +VERSION=$(echo "$VERSION_LINE" | cut -d':' -f2 | cut -d'+' -f1 | xargs) +BUILD=$(echo "$VERSION_LINE" | cut -d'+' -f2 | xargs) +TAG="v${VERSION}+${BUILD}" + +git tag "$TAG" +git push origin "$TAG" \ No newline at end of file diff --git a/mobile-apps/staff-app/test/widget_test.dart b/mobile-apps/staff-app/test/widget_test.dart new file mode 100644 index 00000000..153f0556 --- /dev/null +++ b/mobile-apps/staff-app/test/widget_test.dart @@ -0,0 +1,3 @@ +void main() { + +}