diff --git a/apps/mobile/apps/client/android/app/build.gradle.kts b/apps/mobile/apps/client/android/app/build.gradle.kts
index 26417d23..cf4c5b37 100644
--- a/apps/mobile/apps/client/android/app/build.gradle.kts
+++ b/apps/mobile/apps/client/android/app/build.gradle.kts
@@ -108,6 +108,20 @@ android {
}
}
+// Skip google-services processing for flavors whose google-services.json
+// contains placeholder values (e.g. prod before the Firebase project exists).
+// Once a real config is dropped in, the task automatically re-enables.
+afterEvaluate {
+ tasks.matching {
+ it.name.startsWith("process") && it.name.endsWith("GoogleServices")
+ }.configureEach {
+ val taskFlavor = name.removePrefix("process").removeSuffix("GoogleServices")
+ .removeSuffix("Debug").removeSuffix("Release").lowercase()
+ val configFile = file("src/$taskFlavor/google-services.json")
+ enabled = configFile.exists() && configFile.readText().contains("\"mobilesdk_app_id\": \"1:")
+ }
+}
+
flutter {
source = "../.."
}
diff --git a/apps/mobile/apps/client/android/app/src/prod/google-services.json b/apps/mobile/apps/client/android/app/src/prod/google-services.json
deleted file mode 100644
index 002c33ee..00000000
--- a/apps/mobile/apps/client/android/app/src/prod/google-services.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "project_info": {
- "project_number": "",
- "project_id": "krow-workforce-prod",
- "storage_bucket": "krow-workforce-prod.firebasestorage.app"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "",
- "android_client_info": {
- "package_name": "prod.krowwithus.client"
- }
- },
- "oauth_client": [],
- "api_key": [
- {
- "current_key": ""
- }
- ]
- }
- ],
- "configuration_version": "1"
-}
diff --git a/apps/mobile/apps/client/firebase.json b/apps/mobile/apps/client/firebase.json
index 09f707ae..86449ce7 100644
--- a/apps/mobile/apps/client/firebase.json
+++ b/apps/mobile/apps/client/firebase.json
@@ -1 +1,31 @@
-{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:da13569105659ead7757db","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:d2b6d743608e2a527757db","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:da13569105659ead7757db","ios":"1:933560802882:ios:d2b6d743608e2a527757db","web":"1:933560802882:web:173a841992885bb27757db"}}}}}}
\ No newline at end of file
+{
+ "flutter": {
+ "platforms": {
+ "android": {
+ "default": {
+ "projectId": "krow-workforce-dev",
+ "appId": "1:933560802882:android:da13569105659ead7757db",
+ "fileOutput": "android/app/google-services.json"
+ }
+ },
+ "ios": {
+ "default": {
+ "projectId": "krow-workforce-dev",
+ "appId": "1:933560802882:ios:d2b6d743608e2a527757db",
+ "uploadDebugSymbols": false,
+ "fileOutput": "ios/Runner/GoogleService-Info.plist"
+ }
+ },
+ "dart": {
+ "lib/firebase_options.dart": {
+ "projectId": "krow-workforce-dev",
+ "configurations": {
+ "android": "1:933560802882:android:da13569105659ead7757db",
+ "ios": "1:933560802882:ios:d2b6d743608e2a527757db",
+ "web": "1:933560802882:web:173a841992885bb27757db"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist b/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist
deleted file mode 100644
index daf42001..00000000
--- a/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- API_KEY
-
- GCM_SENDER_ID
-
- PLIST_VERSION
- 1
- BUNDLE_ID
- prod.krowwithus.client
- PROJECT_ID
- krow-workforce-prod
- STORAGE_BUCKET
- krow-workforce-prod.firebasestorage.app
- IS_ADS_ENABLED
-
- IS_ANALYTICS_ENABLED
-
- IS_APPINVITE_ENABLED
-
- IS_GCM_ENABLED
-
- IS_SIGNIN_ENABLED
-
- GOOGLE_APP_ID
-
-
-
diff --git a/apps/mobile/apps/staff/android/app/build.gradle.kts b/apps/mobile/apps/staff/android/app/build.gradle.kts
index d3f19e5f..96155fc9 100644
--- a/apps/mobile/apps/staff/android/app/build.gradle.kts
+++ b/apps/mobile/apps/staff/android/app/build.gradle.kts
@@ -112,6 +112,20 @@ android {
}
}
+// Skip google-services processing for flavors whose google-services.json
+// contains placeholder values (e.g. prod before the Firebase project exists).
+// Once a real config is dropped in, the task automatically re-enables.
+afterEvaluate {
+ tasks.matching {
+ it.name.startsWith("process") && it.name.endsWith("GoogleServices")
+ }.configureEach {
+ val taskFlavor = name.removePrefix("process").removeSuffix("GoogleServices")
+ .removeSuffix("Debug").removeSuffix("Release").lowercase()
+ val configFile = file("src/$taskFlavor/google-services.json")
+ enabled = configFile.exists() && configFile.readText().contains("\"mobilesdk_app_id\": \"1:")
+ }
+}
+
flutter {
source = "../.."
}
diff --git a/apps/mobile/apps/staff/android/app/src/prod/google-services.json b/apps/mobile/apps/staff/android/app/src/prod/google-services.json
deleted file mode 100644
index 07bbc30b..00000000
--- a/apps/mobile/apps/staff/android/app/src/prod/google-services.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "project_info": {
- "project_number": "",
- "project_id": "krow-workforce-prod",
- "storage_bucket": "krow-workforce-prod.firebasestorage.app"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "",
- "android_client_info": {
- "package_name": "prod.krowwithus.staff"
- }
- },
- "oauth_client": [],
- "api_key": [
- {
- "current_key": ""
- }
- ]
- }
- ],
- "configuration_version": "1"
-}
diff --git a/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist
index acd9bbb6..75f58041 100644
--- a/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist
+++ b/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist
@@ -3,9 +3,9 @@
CLIENT_ID
- 933560802882-fphpkdjubve8k7e8ogqj3fk1qducv3sg.apps.googleusercontent.com
+ 933560802882-jpv087j5jenp1h63mc9ge51767s3l2ac.apps.googleusercontent.com
REVERSED_CLIENT_ID
- com.googleusercontent.apps.933560802882-fphpkdjubve8k7e8ogqj3fk1qducv3sg
+ com.googleusercontent.apps.933560802882-jpv087j5jenp1h63mc9ge51767s3l2ac
ANDROID_CLIENT_ID
933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com
API_KEY
@@ -15,7 +15,7 @@
PLIST_VERSION
1
BUNDLE_ID
- dev.krowwithus.staff
+ dev.krowwithus.client
PROJECT_ID
krow-workforce-dev
STORAGE_BUCKET
@@ -31,6 +31,6 @@
IS_SIGNIN_ENABLED
GOOGLE_APP_ID
- 1:933560802882:ios:edf97dab6eb87b977757db
+ 1:933560802882:ios:7e179dfdd1a8994c7757db
\ No newline at end of file
diff --git a/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist
deleted file mode 100644
index 78f75702..00000000
--- a/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- API_KEY
-
- GCM_SENDER_ID
-
- PLIST_VERSION
- 1
- BUNDLE_ID
- prod.krowwithus.staff
- PROJECT_ID
- krow-workforce-prod
- STORAGE_BUCKET
- krow-workforce-prod.firebasestorage.app
- IS_ADS_ENABLED
-
- IS_ANALYTICS_ENABLED
-
- IS_APPINVITE_ENABLED
-
- IS_GCM_ENABLED
-
- IS_SIGNIN_ENABLED
-
- GOOGLE_APP_ID
-
-
-
diff --git a/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist
index 7035bac5..631c0d6c 100644
--- a/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist
+++ b/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist
@@ -9,7 +9,7 @@
PLIST_VERSION
1
BUNDLE_ID
- stage.krowwithus.staff
+ stage.krowwithus.client
PROJECT_ID
krow-workforce-staging
STORAGE_BUCKET
@@ -25,6 +25,6 @@
IS_SIGNIN_ENABLED
GOOGLE_APP_ID
- 1:1032971403708:ios:8c2bbd76bc4f55d9356bb9
+ 1:1032971403708:ios:0ff547e80f5324ed356bb9
\ No newline at end of file
diff --git a/makefiles/mobile.mk b/makefiles/mobile.mk
index de6dbc0d..9cdf38db 100644
--- a/makefiles/mobile.mk
+++ b/makefiles/mobile.mk
@@ -55,7 +55,7 @@ mobile-client-build: dataconnect-generate-sdk
@cd $(MOBILE_DIR) && \
melos run gen:l10n && \
melos run gen:build && \
- melos run build:client -- $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json
+ melos exec --scope="krowwithus_client" -- flutter build $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json
# --- Staff App ---
mobile-staff-dev-android: dataconnect-generate-sdk
@@ -71,7 +71,7 @@ mobile-staff-build: dataconnect-generate-sdk
@cd $(MOBILE_DIR) && \
melos run gen:l10n && \
melos run gen:build && \
- melos run build:staff -- $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json
+ melos exec --scope="krowwithus_staff" -- flutter build $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json
# --- E2E (Maestro) ---
# Set env before running: TEST_CLIENT_EMAIL, TEST_CLIENT_PASSWORD, TEST_CLIENT_COMPANY, TEST_STAFF_PHONE, TEST_STAFF_OTP, TEST_STAFF_SIGNUP_PHONE