Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
413 commits
Select commit Hold shift + click to select a range
4aaf0a1
feature/customUIStreams Generic data completion
Aug 13, 2025
587a274
feature: adding searchCriteria
Aug 13, 2025
4ffb95f
feature: consuimg interruptId correctly
Aug 13, 2025
be13b00
updated flight option widget
khalid-havahavai Aug 13, 2025
d009b5a
Merge branch 'feature/customUIStreams' of https://github.com/havahava…
khalid-havahavai Aug 13, 2025
5dc4858
added review widget
khalid-havahavai Aug 13, 2025
45b1473
fix: Fixing reviewWidget
Aug 13, 2025
7c4eb07
Merge pull request #37 from havahavai/fix/review_widget
Shubham230198 Aug 13, 2025
284249b
Merge pull request #38 from havahavai/feature/customUIStreams
Shubham230198 Aug 13, 2025
717aacf
added correct gender population in review widget
khalid-havahavai Aug 13, 2025
662b8cb
Merge pull request #39 from havahavai/fix/gender_populate
khalid-havahavai Aug 13, 2025
ef8022d
fix: rendering payment popup
Aug 13, 2025
f812ea0
fix: resolving ReviewWidget
Aug 13, 2025
5d97ddd
fix: complete Flight Booking Flow
Aug 14, 2025
7b7876d
fix for ordering
Aug 14, 2025
839095f
fix: ensuring order of interrupts
Aug 14, 2025
67585cf
added logic to update data in review widget
khalid-havahavai Aug 14, 2025
02b6b3f
Merge pull request #40 from havahavai/fix/update_data_review_widget
khalid-havahavai Aug 14, 2025
a54505e
added paymnet method
khalid-havahavai Aug 14, 2025
51c4b11
Merge pull request #41 from havahavai/fix/update_data_review_widget
khalid-havahavai Aug 14, 2025
d193307
fix: for rendering messages first then interrupts
Aug 14, 2025
69db42f
fix: fix for saving the messages always
Aug 14, 2025
84ba489
Merge pull request #43 from havahavai/main
Shubham230198 Aug 14, 2025
77cb678
added cursor block validation in search widget
khalid-havahavai Aug 15, 2025
fba5074
Merge pull request #44 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 15, 2025
2c67a2f
added logout button, username and handle searhch widget city name
khalid-havahavai Aug 15, 2025
d36c7ea
Merge pull request #45 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 15, 2025
0da7b69
fixed build issue
khalid-havahavai Aug 15, 2025
cd525ee
Merge pull request #46 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 15, 2025
d7a5f88
Merge pull request #47 from havahavai/preRelease
Shubham230198 Aug 15, 2025
2f4bb50
fix: add the logout button at correct position
Aug 15, 2025
54c3455
fix: Logout button position
Aug 15, 2025
41e4a7c
fix for login screen
Aug 15, 2025
434d333
fix: for airport names
Aug 15, 2025
319b2d4
fix: handling thread personalisation
Aug 15, 2025
cacd796
Merge pull request #48 from havahavai/main
Shubham230198 Aug 15, 2025
c28cdd8
fix: rendering correct threads
Aug 15, 2025
b9b62bf
fix: Correction on chat history button size
Aug 15, 2025
97e16cf
fix: creating a loading shimmer on chat history loading
Aug 15, 2025
b80bcce
fix: Showing only the cached threadIds
Aug 15, 2025
8d2e56b
Merge pull request #49 from havahavai/main
Shubham230198 Aug 15, 2025
1c39c2b
Merge pull request #50 from havahavai/preRelease
Shubham230198 Aug 15, 2025
088a048
fix: optimistic values
Aug 15, 2025
37e63af
fix: Fix view for desktop
Aug 15, 2025
a7d7c9a
fix: showing correct number of stops
Aug 15, 2025
9098861
fix: removing the empty space at the end of the review widget
Aug 15, 2025
d67a9ea
fix: flightOption buttomSheet
Aug 15, 2025
ce606b7
fix: prevent the payment page retrigger
Aug 15, 2025
8bd9755
fix: reviewWidget extra space at the bottom
Aug 15, 2025
ef15145
Merge pull request #51 from havahavai/main
Shubham230198 Aug 15, 2025
f49d1ff
fix: Putting the AI thinking loader correctly
Aug 15, 2025
c44a9fd
Merge pull request #52 from havahavai/main
Shubham230198 Aug 15, 2025
c17ec77
fix: fix the flickering of AI-loader
Aug 15, 2025
9cfdb1d
Merge pull request #53 from havahavai/main
Shubham230198 Aug 15, 2025
6a7a4ff
updated initial iata population
khalid-havahavai Aug 16, 2025
0187164
Merge pull request #54 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 16, 2025
bf8fd5d
current date blocked
khalid-havahavai Aug 16, 2025
bbebe0b
Merge pull request #55 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 16, 2025
70c9841
added new booking requiremnt response
khalid-havahavai Aug 16, 2025
1c6a377
Merge pull request #56 from havahavai/fix/block_cursor_search_widget
khalid-havahavai Aug 16, 2025
402e890
Merge pull request #57 from havahavai/preRelease
khalid-havahavai Aug 16, 2025
f2261a3
updated flight offer response
khalid-havahavai Aug 16, 2025
65855d5
Merge pull request #58 from havahavai/preRelease
khalid-havahavai Aug 16, 2025
11690ec
fixed build issue
khalid-havahavai Aug 16, 2025
e8821ef
Merge pull request #59 from havahavai/preRelease
khalid-havahavai Aug 16, 2025
0b05d20
commeted out best and improve fastest
khalid-havahavai Aug 16, 2025
73e1812
Merge pull request #60 from havahavai/preRelease
khalid-havahavai Aug 16, 2025
1192d5f
fix: selecting only on searchFlight
Aug 18, 2025
af0dc53
fix: remove the redundable tag
Aug 18, 2025
6f5113b
fix: showing flights with correct tags
Aug 18, 2025
c8843e8
Merge pull request #61 from havahavai/main
Shubham230198 Aug 18, 2025
121c391
review widget calendar and mandatory field fix
khalid-havahavai Aug 18, 2025
2a12f0b
Merge pull request #62 from havahavai/fix/review_widget_calendar
khalid-havahavai Aug 18, 2025
3557f13
Merge pull request #63 from havahavai/preRelease
khalid-havahavai Aug 19, 2025
c2a6065
feature: Adding UI fixes
Aug 19, 2025
f166539
added new flight options and google anlytics
address-nitish Aug 19, 2025
e99cf4a
integrated widget
khalid-havahavai Aug 20, 2025
5e4ed2b
competed integration of flight options widget
khalid-havahavai Aug 20, 2025
c15bceb
Merge pull request #65 from havahavai/feature/flight_option_v0_integr…
khalid-havahavai Aug 20, 2025
c1f8574
Merge pull request #66 from havahavai/feature/flight_option_v0_integr…
khalid-havahavai Aug 20, 2025
36bd458
Revert "Feature/flight option v0 integration"
Shubham230198 Aug 20, 2025
a914205
Merge pull request #67 from havahavai/revert-65-feature/flight_option…
Shubham230198 Aug 20, 2025
2e49139
fix: showing all flights
Aug 20, 2025
8fec36a
fix: show button only if more than1 untagged flight
Aug 20, 2025
42012fd
review changes updated, modular design implemented.
address-nitish Aug 20, 2025
c2d22bd
fix: editing messages using timeTravel
Aug 20, 2025
18c2adb
mapped with the existing data structure
address-nitish Aug 20, 2025
104e415
added frozen args
khalid-havahavai Aug 20, 2025
a1a601b
added the bottom sheet with the correct data structure.
address-nitish Aug 20, 2025
d3b0f53
Merge branch 'feature/widget/flightoptionslayover' of https://github.…
address-nitish Aug 20, 2025
60cba7b
fixes
address-nitish Aug 20, 2025
0a94f88
updated flight options widget
khalid-havahavai Aug 20, 2025
87ccffa
Merge branch 'features/widget/reviewchanges' into fix/flightSearchWid…
khalid-havahavai Aug 20, 2025
c219d94
updated review widget
khalid-havahavai Aug 20, 2025
675cacf
updated flight options widget
khalid-havahavai Aug 20, 2025
c9614ab
Merge pull request #68 from havahavai/fix/flightSearchWidgets
khalid-havahavai Aug 20, 2025
2a104da
Merge branch 'preRelease' of https://github.com/havahavai/new-agent-c…
khalid-havahavai Aug 20, 2025
427e982
Merge pull request #69 from havahavai/preRelease
Shubham230198 Aug 21, 2025
0cfd511
fix: mobile screen fix
Aug 21, 2025
590e960
fix: reducing the gap between chat input and keyboard
Aug 21, 2025
bb5b09f
fix: fix the header
Aug 21, 2025
46d9181
fix: mobile header
Aug 21, 2025
e2f46d3
fix: sticky header
Aug 21, 2025
306e26c
fix: header sticky
Aug 21, 2025
0c95fb1
fix: sticky header
Aug 21, 2025
eef0c2e
Merge pull request #70 from havahavai/preRelease
Shubham230198 Aug 21, 2025
a0d5912
feature: add the travel welcome message
Aug 21, 2025
f8efbac
feature: Show text suggestions
Aug 21, 2025
69e09a5
fix: for fees in the reviewWidget
Aug 22, 2025
380fd2e
added title and proper validation
khalid-havahavai Aug 23, 2025
b3b096b
Merge pull request #71 from havahavai/main
Shubham230198 Aug 23, 2025
dde5ffc
added validation to review widget and title field
khalid-havahavai Aug 23, 2025
e37ee53
Merge pull request #72 from havahavai/fix/review-widget-fixex
khalid-havahavai Aug 23, 2025
e60bfaf
Merge pull request #73 from havahavai/preRelease
khalid-havahavai Aug 25, 2025
c9d2090
fix: Stop naming
Aug 25, 2025
017842e
fix: for flightSearch error
Aug 25, 2025
c1e9cbb
fix: render the selected flight
Aug 25, 2025
07a7608
fix: Show departure Date
Aug 25, 2025
7398ea2
fixes: layover and not showing error message on UI
Aug 26, 2025
a11c90b
solved calendar issue
khalid-havahavai Aug 27, 2025
aa7096a
Merge pull request #74 from havahavai/preRelease
khalid-havahavai Aug 27, 2025
7fe4c64
removed hard coded data and no data available
khalid-havahavai Aug 28, 2025
850cf32
push
address-nitish Aug 29, 2025
3911f9a
Merge pull request #75 from havahavai/ga/add
Shubham230198 Aug 29, 2025
de071db
GA non needed events removal
address-nitish Aug 30, 2025
2fe7f02
updated end year to 2075
khalid-havahavai Aug 31, 2025
3865e16
updated end date to 2075 in expiry
khalid-havahavai Aug 31, 2025
48b10d4
improved input area box and scroll to bottom
khalid-havahavai Sep 1, 2025
235e869
Merge branch 'preRelease'
khalid-havahavai Sep 1, 2025
ab22654
added conditional rendering for all flights button
khalid-havahavai Sep 1, 2025
0fc739e
Merge branch 'preRelease'
khalid-havahavai Sep 1, 2025
b0599ad
improved sorting and filters
khalid-havahavai Sep 2, 2025
8049810
Merge pull request #79 from havahavai/preRelease
khalid-havahavai Sep 2, 2025
9165af4
updated filters design
khalid-havahavai Sep 2, 2025
2da7351
Merge pull request #80 from havahavai/preRelease
khalid-havahavai Sep 2, 2025
9d41ed2
fix: searchCriteria DepartureDate
Sep 2, 2025
b2cc831
added chat with founder and select currency
khalid-havahavai Sep 2, 2025
4aca6ff
added currency in state
khalid-havahavai Sep 2, 2025
0a8d148
added currency symbol
khalid-havahavai Sep 2, 2025
b1dd3c4
Merge pull request #81 from havahavai/feature/02-09-2025
khalid-havahavai Sep 2, 2025
1e10641
added filters
khalid-havahavai Sep 2, 2025
bfd7ed8
Merge pull request #82 from havahavai/feature/02-09-2025
khalid-havahavai Sep 2, 2025
2256d80
solved build error
khalid-havahavai Sep 2, 2025
60e792d
Merge pull request #83 from havahavai/feature/02-09-2025
khalid-havahavai Sep 2, 2025
c04743e
minor ui changes
khalid-havahavai Sep 2, 2025
f60cca7
Merge pull request #84 from havahavai/feature/02-09-2025
khalid-havahavai Sep 2, 2025
5d995aa
imprved flight filters
khalid-havahavai Sep 3, 2025
7618aaa
added tags properly
khalid-havahavai Sep 3, 2025
07d859f
added filter icon
khalid-havahavai Sep 3, 2025
1c3ec13
make changes in filters
khalid-havahavai Sep 3, 2025
0cdf78f
Merge pull request #85 from havahavai/fix/flightFilters
khalid-havahavai Sep 3, 2025
074c9fd
solved build error
khalid-havahavai Sep 3, 2025
b4d7200
Merge branch 'preRelease'
khalid-havahavai Sep 3, 2025
580e086
fix: DepartureDate and confirm button
Sep 5, 2025
b15c052
feature: Payment Retry
Sep 5, 2025
66b2efa
fix: reduce the gap between messages
Sep 5, 2025
d06e8fe
feature: Adding payment retries
Sep 5, 2025
f8b4e2f
feature: Saving the favicon
Sep 5, 2025
503b0f0
Update hoem chat prompts design
address-nitish Sep 5, 2025
97f58c2
added transalation
khalid-havahavai Sep 6, 2025
f2d8b6f
updated locales
khalid-havahavai Sep 6, 2025
365171d
added rtl logic
khalid-havahavai Sep 6, 2025
ff5546d
feature: Onboading
Sep 7, 2025
8475ffc
chore(ci): regenerate pnpm-lock.yaml, remove package-lock.json to fix…
Sep 7, 2025
bf4b605
feature: cosmetic changes in Profile Confirmation
Sep 7, 2025
53e9401
fix send button
address-nitish Sep 7, 2025
58b7c6a
chat fix
address-nitish Sep 7, 2025
c675459
update chat window
address-nitish Sep 8, 2025
ba0c1bf
completed translation
khalid-havahavai Sep 8, 2025
e49b40d
Merge branch 'feature/translation' into preRelease_08-09-2025
khalid-havahavai Sep 8, 2025
92ff338
added quick tab translation
khalid-havahavai Sep 8, 2025
d6a8c22
added show past flights
khalid-havahavai Sep 8, 2025
081cd82
onboarding form pushed
address-nitish Sep 8, 2025
5433608
added departure translation of flight option widget
khalid-havahavai Sep 8, 2025
40abbed
feature: Integrate the backend API for onboading
Sep 9, 2025
105cad9
feature: integrate onboarding APIs
Sep 9, 2025
6925587
Merge pull request #90 from havahavai/features/onboarding
Shubham230198 Sep 9, 2025
ac04aee
Merge branch 'preRelease_08-09-2025'
khalid-havahavai Sep 9, 2025
a8c8951
updated the login page
address-nitish Sep 9, 2025
0ee1b1d
Merge branch 'features/onboarding' of https://github.com/havahavai/ne…
address-nitish Sep 9, 2025
0fef3ac
added gooogle analytics event for missing widgets, resolved broken ev…
address-nitish Sep 9, 2025
6fd7957
Merge pull request #91 from havahavai/features/onboarding
Shubham230198 Sep 10, 2025
89e473a
fix: Import issues
Sep 10, 2025
0b00515
Merge pull request #92 from havahavai/seo/pagetitel-and-seo-tags
Shubham230198 Sep 10, 2025
0081c95
fix: privacy policy
Sep 10, 2025
9147be7
fix: Build errors
Sep 10, 2025
69806f7
fix: Duplicate Flight Options widget
Sep 10, 2025
208dd36
fix: Fix for MobileView
Sep 10, 2025
afef211
fix: privacy policy click
Sep 10, 2025
f438e81
added checkin optin widget
khalid-havahavai Sep 10, 2025
c9c3002
Merge pull request #93 from havahavai/feature/checkin-widget
khalid-havahavai Sep 10, 2025
418195d
fix: signin button reset
Sep 10, 2025
5f2c0bf
fix: Search for countryCode
Sep 10, 2025
416c6dc
fix: Welcome screen padding
Sep 10, 2025
2d61b79
fix: nonFocus on loyalty selection
Sep 10, 2025
3f5c40b
fix: Arabic language scroll
Sep 10, 2025
8094e89
added localisation to checkin optin widget
khalid-havahavai Sep 11, 2025
ac49a39
events for onboarding.
address-nitish Sep 11, 2025
ebd6882
fix: Mobile Scroll issue
Sep 11, 2025
31ce077
Merge pull request #96 from havahavai/ga/onboarding-events
Shubham230198 Sep 11, 2025
506d91c
added rtl in checkin widget
khalid-havahavai Sep 12, 2025
95f02d8
Merge pull request #97 from havahavai/feature/checkin-widget
khalid-havahavai Sep 12, 2025
2c8eb91
updated debugger variable name to analyticsDebuggerInstance
khalid-havahavai Sep 12, 2025
03dc50d
Merge pull request #98 from havahavai/preRelease_12-09-2025
khalid-havahavai Sep 12, 2025
f1a1e17
solved build errors
khalid-havahavai Sep 12, 2025
a179560
Merge branch 'main' of https://github.com/havahavai/new-agent-chat
khalid-havahavai Sep 12, 2025
32454f2
commit
address-nitish Sep 12, 2025
0fa9636
added show past flights in quick tab
khalid-havahavai Sep 12, 2025
d3ccb95
Merge pull request #99 from havahavai/feature/review-mobile
khalid-havahavai Sep 12, 2025
ca9e77c
completed review widget
khalid-havahavai Sep 15, 2025
3e89059
added carausel
khalid-havahavai Sep 15, 2025
fde45f8
updated font
khalid-havahavai Sep 15, 2025
6dcb493
updated review widget
khalid-havahavai Sep 16, 2025
89df7fc
added clarity
khalid-havahavai Sep 16, 2025
61a35dd
updated review widget
khalid-havahavai Sep 16, 2025
2041391
Merge pull request #100 from havahavai/preRelease_13-09-2025
khalid-havahavai Sep 16, 2025
70d5fbe
updated space between
khalid-havahavai Sep 16, 2025
23e229d
Merge pull request #101 from havahavai/preRelease_13-09-2025
khalid-havahavai Sep 16, 2025
7e3c32a
feature: UI cosmetic changes
Sep 17, 2025
f0636d9
feature: Adding bootstrap page for agent integration
Sep 17, 2025
65cff01
feature: Skip logout and Chat with founder
Sep 19, 2025
ff112aa
fix: Hiding logout
Sep 19, 2025
a0e5166
fix: for logout
Sep 19, 2025
9fb4f18
fix
Sep 19, 2025
7d9edc0
fix: responsive fixes
Sep 25, 2025
9c3ac51
fix: tabs overflow fixes
Sep 25, 2025
7571c2b
fix: mobile view tabs overflow
Sep 25, 2025
61dbea1
fix: tab overflow
Sep 25, 2025
87d9ec5
fix: mobile overflow fix
Sep 25, 2025
de2584b
fix: mobile screen view
Sep 25, 2025
452a2b8
fix: mobile routing
Sep 25, 2025
1d18ddc
fix: tab widget height
Sep 25, 2025
e464445
made changes in search widget
khalid-havahavai Sep 25, 2025
342dd59
Merge pull request #103 from havahavai/fix/search_widget
khalid-havahavai Sep 25, 2025
43c4058
fix: keep human message left aligned
Sep 25, 2025
5b3f92a
fix: text alignment and padding fix
Sep 25, 2025
cbb44c0
fix: chat alignment
Sep 25, 2025
d41f21e
added usercountry and currency for testing
khalid-havahavai Sep 26, 2025
031a679
Merge pull request #104 from havahavai/fix/search_widget
khalid-havahavai Sep 26, 2025
ccfe6b5
commented out webcheckin quick tab
khalid-havahavai Sep 26, 2025
b7f45ec
decrease bottom sheet length
khalid-havahavai Sep 26, 2025
c7b08db
added debugging
khalid-havahavai Sep 26, 2025
1d67a7c
updated font size
khalid-havahavai Sep 26, 2025
8655b53
remove quick tab of country and currency
khalid-havahavai Sep 26, 2025
595e273
updated font
khalid-havahavai Sep 26, 2025
f4ba52a
updated country and currency detection logic
khalid-havahavai Sep 26, 2025
e8fbab8
removed currency and country tab
khalid-havahavai Sep 26, 2025
6977a5b
added what do we do tab
khalid-havahavai Sep 27, 2025
35bc735
updated message
khalid-havahavai Sep 27, 2025
efd8427
updated messages
khalid-havahavai Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": [
"next/core-web-vitals"
],
"rules": {
"no-instanceof/no-instanceof": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-misused-promises": "off",
"react-hooks/exhaustive-deps": "warn",
"@next/next/no-img-element": "warn",
"react/no-unescaped-entities": "off"
}
}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,8 @@ dist-ssr
.env
.next/
next-env.d.ts

# Analytics test pages and documentation (exclude from git)
src/app/analytics-test/
src/app/widgets/
GOOGLE_ANALYTICS_*.md
234 changes: 234 additions & 0 deletions ANALYTICS_TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
# Analytics Events Troubleshooting Guide

This guide helps identify and fix common issues with the onboarding analytics events implementation.

## Quick Verification Steps

### 1. Check Analytics Setup
```javascript
// In browser console
window.analyticsDebugger.checkSetup()
```

### 2. Enable Event Debugging
```javascript
// In browser console
window.analyticsDebugger.enable()
```

### 3. View Captured Events
```javascript
// In browser console
window.analyticsDebugger.getEvents()
```

### 4. Test All Events
Visit: `http://localhost:3000/test-analytics` (development only)

## Common Issues and Solutions

### Issue 1: Events Not Firing
**Symptoms**: No console logs, no events in GA Real-time

**Possible Causes**:
- Google Analytics script not loaded
- gtag function not available
- Network connectivity issues
- Ad blockers blocking GA

**Solutions**:
1. Check if GA script is loaded:
```javascript
document.querySelector('script[src*="googletagmanager.com"]')
```

2. Check if gtag is available:
```javascript
typeof window.gtag === 'function'
```

3. Check dataLayer:
```javascript
Array.isArray(window.dataLayer)
```

4. Disable ad blockers temporarily
5. Check browser network tab for blocked requests

### Issue 2: Events Firing But Not Appearing in GA
**Symptoms**: Console logs show events, but GA Real-time shows nothing

**Possible Causes**:
- Wrong GA Measurement ID
- Events filtered out by GA
- Real-time reporting delay
- Debug mode enabled

**Solutions**:
1. Verify GA Measurement ID in `src/app/layout.tsx`
2. Check GA Real-time reports (can take 1-2 minutes)
3. Verify events in GA DebugView (if debug mode enabled)
4. Check GA property settings for filters

### Issue 3: Some Events Missing
**Symptoms**: Some events work, others don't

**Possible Causes**:
- Component lifecycle issues
- Conditional rendering
- Navigation interrupting events
- Error in event parameters

**Solutions**:
1. Check browser console for JavaScript errors
2. Verify component mounting with React DevTools
3. Add delays before navigation:
```javascript
trackEvent();
setTimeout(() => navigate(), 100);
```

### Issue 4: User Properties Not Set
**Symptoms**: Events fire but user properties missing

**Possible Causes**:
- User not authenticated
- JWT token expired
- Auth service errors

**Solutions**:
1. Check authentication status:
```javascript
import { isAuthenticated } from '@/services/authService';
console.log('Authenticated:', isAuthenticated());
```

2. Check user data:
```javascript
import { getUserAnalyticsData } from '@/services/analyticsService';
console.log('User data:', getUserAnalyticsData());
```

### Issue 5: Events Firing Multiple Times
**Symptoms**: Duplicate events in GA

**Possible Causes**:
- Component re-mounting
- Multiple event listeners
- React Strict Mode (development)

**Solutions**:
1. Use useEffect with empty dependency array
2. Add cleanup functions
3. Check for duplicate imports
4. Disable React Strict Mode temporarily

## Development vs Production

### Development Mode
- Analytics debugger available
- Test page accessible at `/test-analytics`
- Detailed console logging
- Event retry mechanism active

### Production Mode
- Debugger disabled
- Test page returns 404
- Minimal console logging
- Standard event tracking

## Event Verification Checklist

### Login Events ✓
- [ ] `login_page_viewed` - Page load
- [ ] `google_login_clicked` - Button click
- [ ] `login_success` - OAuth success
- [ ] `login_error` - OAuth failure

### Profile Confirmation Events ✓
- [ ] `profile_confirmation_viewed` - Page load
- [ ] `profile_form_filled` - Field changes
- [ ] `profile_confirmation_success` - Form submit success
- [ ] `profile_confirmation_error` - Form submit error

### Personalize Travel Events ✓
- [ ] `personalize_page_viewed` - Page load
- [ ] `import_option_selected` - Option selection
- [ ] `manual_option_selected` - Option selection
- [ ] `skip_personalization_clicked` - Skip button
- [ ] `personalize_continue_clicked` - Continue button

### Quiz Events ✓
- [ ] `quiz_started` - Page load
- [ ] `quiz_step_viewed` - Step navigation
- [ ] `quiz_field_changed` - Field changes
- [ ] `quiz_step_completed` - Next button
- [ ] `quiz_back_clicked` - Back button
- [ ] `quiz_completed` - Final submission

### Completion Events ✓
- [ ] `onboarding_completed` - Flow completion
- [ ] `chat_screen_reached` - Final destination

## Google Analytics Configuration

### Required Setup
1. GA4 Property created
2. Measurement ID: `G-SLRTVD2EYS`
3. Enhanced measurement disabled for forms
4. Real-time reporting enabled

### Event Parameters
All events include:
- `event_category`: 'onboarding'
- `event_label`: Descriptive label
- `step`: Onboarding step number
- `step_name`: Step identifier

### User Properties
When authenticated:
- `user_id`: User's unique ID
- `user_email`: User's email
- `user_name`: User's full name

## Testing Commands

### Browser Console Commands
```javascript
// Check setup
window.analyticsDebugger.checkSetup()

// Enable debugging
window.analyticsDebugger.enable()

// View events
window.analyticsDebugger.getEvents()

// Clear events
window.analyticsDebugger.clearEvents()

// Disable debugging
window.analyticsDebugger.disable()
```

### Manual Event Testing
```javascript
// Test individual events
import { trackLoginPageViewed } from '@/services/analyticsService';
trackLoginPageViewed();
```

## Support

If issues persist:
1. Check browser console for errors
2. Verify network requests in DevTools
3. Test with different browsers
4. Check GA property configuration
5. Review implementation in affected components

## Files to Check
- `src/services/analyticsService.ts` - Event functions
- `src/app/layout.tsx` - GA setup
- `src/utils/analyticsDebugger.ts` - Debug utilities
- Component files for event calls
Loading