From c2cb0bd82a62dd5eff21fb9808f7dccd9467108c Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Tue, 3 Feb 2026 12:15:57 -0500 Subject: [PATCH 1/4] Enhance Makefile help output with improved formatting and additional commands; update NEXT_SPRINT_TASKS with new improvement points; fix location fallback logic in CoverageRepositoryImpl --- Makefile | 77 +++++++++++-------- apps/mobile/NEXT_SPRINT_TASKS.md | 5 ++ .../coverage_repository_impl.dart | 2 +- 3 files changed, 52 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index dd9040a0..2df853fa 100644 --- a/Makefile +++ b/Makefile @@ -17,40 +17,55 @@ include makefiles/tools.mk .PHONY: help help: - @echo "--------------------------------------------------" - @echo " KROW Workforce - Available Makefile Commands" - @echo "--------------------------------------------------" + @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + @echo " 🚀 KROW Workforce - Available Makefile Commands" + @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" @echo "" - @echo " --- CORE DEVELOPMENT ---" - @echo " make install - Installs web frontend dependencies." - @echo " make dev - Starts the local web frontend server." - @echo " make build - Builds the web frontend for production." - @echo " make launchpad-dev - Starts the local launchpad server (Firebase Hosting emulator)." + @echo " 📦 WEB FRONTEND (internal/api-harness)" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make install Install web frontend dependencies" + @echo " make dev Start local web frontend dev server" + @echo " make build Build web frontend for production" + @echo " make deploy-app [ENV=dev] Build and deploy web app (dev/staging/prod)" @echo "" - @echo " --- MOBILE APP DEVELOPMENT ---" - @echo " make mobile-install - Bootstrap the mobile workspace (Melos)." - @echo " make mobile-info - List custom mobile development commands." - @echo " make mobile-client-dev-android - Run client app in dev mode (Android)." - @echo " make mobile-client-build PLATFORM=apk - Build client app for specified platform." - @echo " make mobile-staff-dev-android - Run staff app in dev mode (Android)." - @echo " make mobile-staff-build PLATFORM=apk - Build staff app for specified platform." + @echo " 🏠 LAUNCHPAD (internal/launchpad)" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make launchpad-dev Start launchpad dev server (Firebase Hosting)" + @echo " make deploy-launchpad-hosting Deploy launchpad to Firebase Hosting" @echo "" - @echo " --- DEPLOYMENT ---" - @echo " make deploy-launchpad-hosting - Deploys internal launchpad to Firebase Hosting." - @echo " make deploy-app [ENV=staging] - Builds and deploys the main web app (default: dev)." + @echo " 📱 MOBILE APPS (apps/mobile)" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make mobile-install Bootstrap mobile workspace + Dataconnect SDK" + @echo " make mobile-info List mobile development commands" + @echo " make mobile-client-dev-android [DEVICE=android] Run client app (Android)" + @echo " make mobile-client-build PLATFORM=apk Build client app (apk/ipa/etc)" + @echo " make mobile-staff-dev-android [DEVICE=android] Run staff app (Android)" + @echo " make mobile-staff-build PLATFORM=apk Build staff app (apk/ipa/etc)" @echo "" - @echo " --- DEVELOPMENT TOOLS ---" - @echo " make install-melos - Installs Melos globally if not already present." - @echo " make install-git-hooks - Installs git pre-push hook to protect main/dev branches." - @echo " make sync-prototypes - Builds and copies prototypes from adjacent 'client-krow-poc' repo." + @echo " 🗄️ DATA CONNECT & BACKEND (backend/dataconnect)" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make dataconnect-init Initialize Firebase Data Connect" + @echo " make dataconnect-deploy Deploy Data Connect schemas to Cloud SQL" + @echo " make dataconnect-sql-migrate Apply pending SQL migrations" + @echo " make dataconnect-generate-sdk Regenerate Data Connect client SDK" + @echo " make dataconnect-sync Full sync: deploy + migrate + generate SDK" + @echo " make dataconnect-seed Seed database with test data" + @echo " make dataconnect-clean Delete all data from Data Connect" + @echo " make dataconnect-test Test Data Connect deployment (dry-run)" + @echo " make dataconnect-enable-apis Enable required GCP APIs" + @echo " make dataconnect-bootstrap-db ONE-TIME: Full Cloud SQL + Data Connect setup" @echo "" - @echo " --- DATA CONNECT MANAGEMENT ---" - @echo " make dataconnect-init - Initializes Firebase Data Connect." - @echo " make dataconnect-deploy - Deploys Data Connect schemas." - @echo " make dataconnect-sql-migrate - Applies SQL migrations." - @echo " make dataconnect-generate-sdk - Regenerates the Data Connect SDK." - @echo " make dataconnect-sync - Runs migrate + deploy + generate-sdk." - @echo " make dataconnect-bootstrap-db - ONE-TIME: Full Cloud SQL + Data Connect setup." + @echo " 🛠️ DEVELOPMENT TOOLS" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make install-melos Install Melos globally (for mobile dev)" + @echo " make install-git-hooks Install git pre-push hook (protect main/dev)" + @echo " make sync-prototypes Sync prototypes from client-krow-poc repo" @echo "" - @echo " make help - Shows this help message." - @echo "--------------------------------------------------" \ No newline at end of file + @echo " ℹ️ HELP" + @echo " ────────────────────────────────────────────────────────────────────" + @echo " make help Show this help message" + @echo "" + @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + @echo " 💡 Tip: Run 'make mobile-install' first for mobile development" + @echo " 💡 Tip: Use 'make dataconnect-sync' after schema changes" + @echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" \ No newline at end of file diff --git a/apps/mobile/NEXT_SPRINT_TASKS.md b/apps/mobile/NEXT_SPRINT_TASKS.md index 32bea20f..2345c091 100644 --- a/apps/mobile/NEXT_SPRINT_TASKS.md +++ b/apps/mobile/NEXT_SPRINT_TASKS.md @@ -7,3 +7,8 @@ * Add **doc comments** where necessary to improve readability and maintainability * **Remove overly complicated or unnecessary logic** introduced by AI and simplify where possible * **Adhere to the design system** and remove all **hard-coded colors and typography**, using shared tokens instead + +* Improvement points +- apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart + - Fix the location field in CoverageShiftRole to use the correct fallback logic. + - line 125 remove redundant location values. \ No newline at end of file diff --git a/apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart b/apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart index cfecec36..b79c7ddc 100644 --- a/apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart +++ b/apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart @@ -122,7 +122,7 @@ class CoverageRepositoryImpl implements CoverageRepository { shiftId: shiftRole.shiftId, roleId: shiftRole.roleId, title: shiftRole.role.name, - location: shiftRole.shift.location ?? '', + location: shiftRole.shift.location ?? shiftRole.shift.locationAddress ?? '', startTime: _formatTime(shiftRole.startTime) ?? '00:00', workersNeeded: shiftRole.count, date: shiftRole.shift.date?.toDateTime() ?? date, From 11ad6c47d164d60b6cdc2e3c9b8c2cbb4cab39d3 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Tue, 3 Feb 2026 12:25:46 -0500 Subject: [PATCH 2/4] Add mobile hot reload and restart commands to Makefile; update NEXT_SPRINT_TASKS with clarification point --- Makefile | 4 +++- apps/mobile/NEXT_SPRINT_TASKS.md | 3 ++- makefiles/mobile.mk | 17 ++++++++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 2df853fa..3619d1d8 100644 --- a/Makefile +++ b/Makefile @@ -35,12 +35,14 @@ help: @echo "" @echo " 📱 MOBILE APPS (apps/mobile)" @echo " ────────────────────────────────────────────────────────────────────" - @echo " make mobile-install Bootstrap mobile workspace + Dataconnect SDK" + @echo " make mobile-install Bootstrap mobile workspace + SDK" @echo " make mobile-info List mobile development commands" @echo " make mobile-client-dev-android [DEVICE=android] Run client app (Android)" @echo " make mobile-client-build PLATFORM=apk Build client app (apk/ipa/etc)" @echo " make mobile-staff-dev-android [DEVICE=android] Run staff app (Android)" @echo " make mobile-staff-build PLATFORM=apk Build staff app (apk/ipa/etc)" + @echo " make mobile-hot-reload Hot reload running Flutter app" + @echo " make mobile-hot-restart Hot restart running Flutter app" @echo "" @echo " 🗄️ DATA CONNECT & BACKEND (backend/dataconnect)" @echo " ────────────────────────────────────────────────────────────────────" diff --git a/apps/mobile/NEXT_SPRINT_TASKS.md b/apps/mobile/NEXT_SPRINT_TASKS.md index 2345c091..0b758f51 100644 --- a/apps/mobile/NEXT_SPRINT_TASKS.md +++ b/apps/mobile/NEXT_SPRINT_TASKS.md @@ -11,4 +11,5 @@ * Improvement points - apps/mobile/packages/features/client/client_coverage/lib/src/data/repositories_impl/coverage_repository_impl.dart - Fix the location field in CoverageShiftRole to use the correct fallback logic. - - line 125 remove redundant location values. \ No newline at end of file + - line 125 remove redundant location values. +- Need to clarify the difference b/w `case dc.ApplicationStatus.ACCEPTED` and `case dc.ApplicationStatus.CONFIRMED`. diff --git a/makefiles/mobile.mk b/makefiles/mobile.mk index a7ae005b..fce6c43c 100644 --- a/makefiles/mobile.mk +++ b/makefiles/mobile.mk @@ -1,6 +1,6 @@ # --- Mobile App Development --- -.PHONY: mobile-install mobile-info mobile-client-dev-android mobile-staff-dev-android mobile-client-build mobile-staff-build +.PHONY: mobile-install mobile-info mobile-client-dev-android mobile-staff-dev-android mobile-client-build mobile-staff-build mobile-hot-reload mobile-hot-restart MOBILE_DIR := apps/mobile @@ -19,6 +19,21 @@ mobile-info: @echo "--> Fetching mobile command info..." @cd $(MOBILE_DIR) && melos run info +# --- Hot Reload & Restart --- +mobile-hot-reload: + @echo "--> Triggering hot reload for running Flutter app..." + @cd $(MOBILE_DIR) && echo "r" | nc localhost 54321 2>/dev/null || \ + (cd apps/client && flutter attach --pid-file /tmp/flutter_client.pid && echo "r") || \ + (cd apps/staff && flutter attach --pid-file /tmp/flutter_staff.pid && echo "r") || \ + echo "❌ No running Flutter app found. Start an app first with mobile-client-dev-android or mobile-staff-dev-android" + +mobile-hot-restart: + @echo "--> Triggering hot restart for running Flutter app..." + @cd $(MOBILE_DIR) && echo "R" | nc localhost 54321 2>/dev/null || \ + (cd apps/client && flutter attach --pid-file /tmp/flutter_client.pid && echo "R") || \ + (cd apps/staff && flutter attach --pid-file /tmp/flutter_staff.pid && echo "R") || \ + echo "❌ No running Flutter app found. Start an app first with mobile-client-dev-android or mobile-staff-dev-android" + # --- Client App --- mobile-client-dev-android: dataconnect-generate-sdk @echo "--> Running client app on Android (device: $(DEVICE))..." From 065af4fd7f7685fe347bfa6f4ae4928327df626e Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Tue, 3 Feb 2026 12:59:44 -0500 Subject: [PATCH 3/4] Integrate Google Maps Places Autocomplete for hub address validation; update demo plan and Firebase configurations --- apps/demo plans/MILESTONE 3_DEMO_PLAN.md | 52 +++++++++++-------- apps/mobile/NEXT_SPRINT_TASKS.md | 1 + .../client/android/app/google-services.json | 8 +++ apps/mobile/apps/client/firebase.json | 1 + .../ios/Runner/GoogleService-Info.plist | 2 +- .../apps/client/lib/firebase_options.dart | 6 ++- .../staff/android/app/google-services.json | 8 +++ .../staff/ios/Runner/GoogleService-Info.plist | 2 +- .../apps/staff/lib/firebase_options.dart | 10 ++-- .../otp_verification_header.dart | 2 +- 10 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 apps/mobile/apps/client/firebase.json diff --git a/apps/demo plans/MILESTONE 3_DEMO_PLAN.md b/apps/demo plans/MILESTONE 3_DEMO_PLAN.md index fbd9d8c7..228e0637 100644 --- a/apps/demo plans/MILESTONE 3_DEMO_PLAN.md +++ b/apps/demo plans/MILESTONE 3_DEMO_PLAN.md @@ -1,7 +1,7 @@ # KROW Workforce Platform — Feature Demo Plan for Milestone 3 **Version:** Milestone 3 (v3.0) -**Date:** February 2, 2026 +**Date:** February 3, 2026 **Audience:** Business Stakeholders, Customer Engineers, Sales Teams **Duration:** 25-30 minutes @@ -28,33 +28,41 @@ This demo showcases the progress of the milestone 3. ### Required Test Accounts **Client Account (Business User):** -- Email: `google_payment@gmail.com` +- Email: `legendary@krowd.com` - Password: `Demo2026!` -- Client Name: "Google Payements" +- Client Name: "Krow" **Staff Account (Worker):** -- Phone: `+1 (555) 123-4567` +- Phone: `+1 (555) 765-4321` - OTP Code: `123456` (demo mode) -- Name: "Alex Martinez" +- Name: "Mariana Torres" ### Prerequisites 1. ✅ Both apps installed on demo devices (or simulators) 2. ✅ Network connection stable 3. ✅ Seed data is ready to be populated - the database should be empty. - - remove unnecessary users from the firebase authetication. ### Pre-Demo Data Seeding Tracked in : - https://github.com/Oloodi/krow-workforce/issues/345 -- This should be easily populated and de-populated by the demonstrator to show the empty states in the apps. - At the start the database should be empty. +- Commands to use: + - `make dataconnect-clean` + - To clean the database before seeding. + - `make dataconnect-seed` + - To populate the database with seed data for demo. + --- ## 3️⃣ Demo Flows +**Note:** +To start the demo you should clean the database running the next command: + - make dataconnect-clean + ### Demo 0: Show Empty Database **Purpose:** Demonstrate the starting point before any data exists **Action:** Show the empty database in Firebase console @@ -64,9 +72,9 @@ Tracked in : ### Demo 1: Register Business & Show Empty States (Client App) **Purpose:** Show the client onboarding experience and empty states **Steps:** -1. Open Client App → Tap "Create Account" -2. Enter business details (email, password, company name) -3. Complete sign up and navigate to home page +1. Open Client App → Tap "Register" +2. Enter business email, and password. +3. Navigate to home page 4. **Point out:** Empty dashboard, no orders, no workers, clean slate --- @@ -74,16 +82,18 @@ Tracked in : ### Demo 2: Register Staff & Show Empty States (Staff App) **Purpose:** Show the worker onboarding experience and empty states **Steps:** -1. Open Staff App → Tap "Sign Up" +1. Open Staff App → Tap "Register" 2. Enter phone number and verify with OTP code -3. Complete profile setup wizard (skip detailed sections for speed) -4. Navigate to home page -5. **Point out:** Empty shifts list, no available work yet +3. Navigate to home page +4. **Point out:** Empty shifts list, no available work yet --- > **🔄 PAUSE HERE:** Populate the database with seed data (run seeding script) +- Potulate database with the next comand : + - make dataconnect-seed + --- ### Demo 3: Client Logs In with Existing Account @@ -93,7 +103,7 @@ Tracked in : 1. Restart Client App 2. Tap "Sign In" button 3. Enter credentials: - - Email: `google_payment@gmail.com` + - Email: `legendary@krowd.com` - Password: `Demo2026!` 4. Tap "Sign In" @@ -133,13 +143,13 @@ Tracked in : > ``` >Client Posts Shift [O1] > ↓ ->*Vendor Accepts the Shift (This Part is missing for now)* [O2] +>*Vendor Accepts the Shift (This Part is missing for now)/ Vendor is selected by client* [O2] > ↓ >Worker Searches for a Shift [O3] > ↓ >Worker Applies [O4] > ↓ ->Confirmation [O5] +>Confirmation (This Part is missing for now, for now is confirmed)*[O5] > ↓ >Worker Checks In [O6] > ↓ @@ -157,12 +167,12 @@ Tracked in : - Order name: "Spring Gala 2026" - Date: [Select upcoming date] - Location: [Select existing hub] -- Add position: Server, Count: 3, Hours: 5PM-11PM +- Add position: Server, Count: 3, Hours: 5PM-9PM --- ### Demo 7: Client Views Order Details -**Purpose:** Show detailed shift information and worker assignments +**Purpose:** Show detailed shift information and worker assignments (this second part is missing for now) **Screen:** Orders Tab → Tap on any order card **Action:** Expand order to see full details @@ -244,7 +254,7 @@ Tracked in : --- -### Demo 14: Staff Checks In to Shift (Day of Event) - [O6] +### Demo 14: Staff Checks In to Shift (Day of Event) [O6] **Purpose:** Demonstrate the check-in process **Screen:** Home or My Shifts → Shift Card → "Check In" button **Action:** Simulate checking in to an active shift @@ -267,7 +277,7 @@ Tracked in : --- -### Demo 16: Staff Checks Out of Shift - [O7] +### Demo 16: Staff Checks Out of Shift - - (this is under fixing)[O7] **Purpose:** Demonstrate the check-out process and shift completion **Screen:** Home or My Shifts → Shift Card → "Check Out" button diff --git a/apps/mobile/NEXT_SPRINT_TASKS.md b/apps/mobile/NEXT_SPRINT_TASKS.md index 0b758f51..babe1f19 100644 --- a/apps/mobile/NEXT_SPRINT_TASKS.md +++ b/apps/mobile/NEXT_SPRINT_TASKS.md @@ -13,3 +13,4 @@ - Fix the location field in CoverageShiftRole to use the correct fallback logic. - line 125 remove redundant location values. - Need to clarify the difference b/w `case dc.ApplicationStatus.ACCEPTED` and `case dc.ApplicationStatus.CONFIRMED`. +- Update the dataconnect docs. diff --git a/apps/mobile/apps/client/android/app/google-services.json b/apps/mobile/apps/client/android/app/google-services.json index 20ad2e48..fcd3c0e0 100644 --- a/apps/mobile/apps/client/android/app/google-services.json +++ b/apps/mobile/apps/client/android/app/google-services.json @@ -85,6 +85,14 @@ } }, "oauth_client": [ + { + "client_id": "933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.krowwithus.client", + "certificate_hash": "c3efbe1642239c599c16ad04c7fac340902fe280" + } + }, { "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", "client_type": 3 diff --git a/apps/mobile/apps/client/firebase.json b/apps/mobile/apps/client/firebase.json new file mode 100644 index 00000000..09f707ae --- /dev/null +++ b/apps/mobile/apps/client/firebase.json @@ -0,0 +1 @@ +{"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/Runner/GoogleService-Info.plist b/apps/mobile/apps/client/ios/Runner/GoogleService-Info.plist index fbbfcc69..86d280e1 100644 --- a/apps/mobile/apps/client/ios/Runner/GoogleService-Info.plist +++ b/apps/mobile/apps/client/ios/Runner/GoogleService-Info.plist @@ -7,7 +7,7 @@ REVERSED_CLIENT_ID com.googleusercontent.apps.933560802882-jqpv1l3gjmi3m87b2gu1iq4lg46lkdfg ANDROID_CLIENT_ID - 933560802882-ikdfv3o5f47g36qqgvfq55o4m19n7gk4.apps.googleusercontent.com + 933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com API_KEY AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA GCM_SENDER_ID diff --git a/apps/mobile/apps/client/lib/firebase_options.dart b/apps/mobile/apps/client/lib/firebase_options.dart index 08a57ddc..f703aa10 100644 --- a/apps/mobile/apps/client/lib/firebase_options.dart +++ b/apps/mobile/apps/client/lib/firebase_options.dart @@ -53,6 +53,7 @@ class DefaultFirebaseOptions { projectId: 'krow-workforce-dev', authDomain: 'krow-workforce-dev.firebaseapp.com', storageBucket: 'krow-workforce-dev.firebasestorage.app', + measurementId: 'G-9S7WEQTDKX', ); static const FirebaseOptions android = FirebaseOptions( @@ -69,6 +70,9 @@ class DefaultFirebaseOptions { messagingSenderId: '933560802882', projectId: 'krow-workforce-dev', storageBucket: 'krow-workforce-dev.firebasestorage.app', + androidClientId: '933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com', + iosClientId: '933560802882-jqpv1l3gjmi3m87b2gu1iq4lg46lkdfg.apps.googleusercontent.com', iosBundleId: 'com.krowwithus.client', ); -} + +} \ No newline at end of file diff --git a/apps/mobile/apps/staff/android/app/google-services.json b/apps/mobile/apps/staff/android/app/google-services.json index 5718b28d..fcd3c0e0 100644 --- a/apps/mobile/apps/staff/android/app/google-services.json +++ b/apps/mobile/apps/staff/android/app/google-services.json @@ -129,6 +129,14 @@ } }, "oauth_client": [ + { + "client_id": "933560802882-ikdfv3o5f47g36qqgvfq55o4m19n7gk4.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "com.krowwithus.staff", + "certificate_hash": "ac917ae8470ab29f1107c773c6017ff5ea5d102d" + } + }, { "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", "client_type": 3 diff --git a/apps/mobile/apps/staff/ios/Runner/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/Runner/GoogleService-Info.plist index 4a0f6b5d..7fc4d7e6 100644 --- a/apps/mobile/apps/staff/ios/Runner/GoogleService-Info.plist +++ b/apps/mobile/apps/staff/ios/Runner/GoogleService-Info.plist @@ -7,7 +7,7 @@ REVERSED_CLIENT_ID com.googleusercontent.apps.933560802882-29olj9ku64jbe9h7flinha6hbi8qrluh ANDROID_CLIENT_ID - 933560802882-ikdfv3o5f47g36qqgvfq55o4m19n7gk4.apps.googleusercontent.com + 933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com API_KEY AIzaSyDyEXkzZAWpXXe4dAesYaZflt5BEtMn9tA GCM_SENDER_ID diff --git a/apps/mobile/apps/staff/lib/firebase_options.dart b/apps/mobile/apps/staff/lib/firebase_options.dart index 343d9f5e..3945a3a2 100644 --- a/apps/mobile/apps/staff/lib/firebase_options.dart +++ b/apps/mobile/apps/staff/lib/firebase_options.dart @@ -48,16 +48,17 @@ class DefaultFirebaseOptions { static const FirebaseOptions web = FirebaseOptions( apiKey: 'AIzaSyBqRtZPMGU-Sz5x5UnRrunKu5NSWYyPRn8', - appId: '1:933560802882:web:4508ef1ee6d4e6907757db', + appId: '1:933560802882:web:173a841992885bb27757db', messagingSenderId: '933560802882', projectId: 'krow-workforce-dev', authDomain: 'krow-workforce-dev.firebaseapp.com', storageBucket: 'krow-workforce-dev.firebasestorage.app', + measurementId: 'G-9S7WEQTDKX', ); static const FirebaseOptions android = FirebaseOptions( apiKey: 'AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4', - appId: '1:933560802882:android:d49b8c0f4d19e95e7757db', + appId: '1:933560802882:android:1ae05d85c865f77c7757db', messagingSenderId: '933560802882', projectId: 'krow-workforce-dev', storageBucket: 'krow-workforce-dev.firebasestorage.app', @@ -69,6 +70,9 @@ class DefaultFirebaseOptions { messagingSenderId: '933560802882', projectId: 'krow-workforce-dev', storageBucket: 'krow-workforce-dev.firebasestorage.app', + androidClientId: '933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com', + iosClientId: '933560802882-29olj9ku64jbe9h7flinha6hbi8qrluh.apps.googleusercontent.com', iosBundleId: 'com.krowwithus.staff', ); -} + +} \ No newline at end of file diff --git a/apps/mobile/packages/features/staff/authentication/lib/src/presentation/widgets/phone_verification_page/otp_verification/otp_verification_header.dart b/apps/mobile/packages/features/staff/authentication/lib/src/presentation/widgets/phone_verification_page/otp_verification/otp_verification_header.dart index 50837e68..ec4ff79c 100644 --- a/apps/mobile/packages/features/staff/authentication/lib/src/presentation/widgets/phone_verification_page/otp_verification/otp_verification_header.dart +++ b/apps/mobile/packages/features/staff/authentication/lib/src/presentation/widgets/phone_verification_page/otp_verification/otp_verification_header.dart @@ -28,7 +28,7 @@ class OtpVerificationHeader extends StatelessWidget { .code_sent_message, style: UiTypography.body2r.textSecondary, children: [ - TextSpan(text: '+1 $phoneNumber', style: UiTypography.body2b), + TextSpan(text: phoneNumber, style: UiTypography.body2b), TextSpan( text: t .staff_authentication From 627c19ed0bf9aa7c045186dae3be587bdb78e3a4 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Tue, 3 Feb 2026 13:00:45 -0500 Subject: [PATCH 4/4] Bump version numbers for client and staff applications to 0.0.1-M3+5 and 0.0.1-M3+3 respectively --- apps/mobile/apps/client/pubspec.yaml | 2 +- apps/mobile/apps/staff/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/mobile/apps/client/pubspec.yaml b/apps/mobile/apps/client/pubspec.yaml index 4069ee9c..c896944d 100644 --- a/apps/mobile/apps/client/pubspec.yaml +++ b/apps/mobile/apps/client/pubspec.yaml @@ -1,7 +1,7 @@ name: krowwithus_client description: "Krow Client Application" publish_to: "none" -version: 0.0.1-M3+4 +version: 0.0.1-M3+5 resolution: workspace environment: diff --git a/apps/mobile/apps/staff/pubspec.yaml b/apps/mobile/apps/staff/pubspec.yaml index f569c9ed..62c2ae21 100644 --- a/apps/mobile/apps/staff/pubspec.yaml +++ b/apps/mobile/apps/staff/pubspec.yaml @@ -1,7 +1,7 @@ name: krowwithus_staff description: "Krow Staff Application" publish_to: 'none' -version: 0.0.1-M3+2 +version: 0.0.1-M3+3 resolution: workspace environment: