Bing Analytics and Insights added, background jobs added, database setup updated, environment setup updated, frontend updated, backend updated.

Onboarding Manager and Router Manager refactored, analytics and background jobs added, database setup updated, environment setup updated, frontend updated, backend updated.
Critical onboarding database migration implemented.
This commit is contained in:
ajaysi
2025-10-18 10:28:15 +05:30
parent 40fb6ac95b
commit 1f087aad4c
69 changed files with 11995 additions and 189 deletions

View File

@@ -71,6 +71,8 @@ interface OnboardingContextValue {
refresh: () => Promise<void>;
markStepComplete: (stepNumber: number) => void;
clearError: () => void;
initializeOnboarding: () => void;
resetOnboarding: () => void;
}
const OnboardingContext = createContext<OnboardingContextValue | undefined>(undefined);
@@ -145,13 +147,22 @@ export const OnboardingProvider: React.FC<OnboardingProviderProps> = ({ children
console.log('OnboardingContext: Clerk loaded, isSignedIn:', isSignedIn);
if (isSignedIn) {
console.log('OnboardingContext: User signed in, fetching data...');
fetchOnboardingData();
console.log('OnboardingContext: User signed in, but waiting for subscription check...');
// Don't automatically fetch onboarding data - let InitialRouteHandler handle the flow
setLoading(false);
} else {
console.log('OnboardingContext: User not signed in, skipping data fetch');
setLoading(false);
}
}, [clerkLoaded, isSignedIn, fetchOnboardingData]);
}, [clerkLoaded, isSignedIn]);
// Separate effect to fetch data when explicitly requested
const initializeOnboarding = useCallback(() => {
if (isSignedIn && clerkLoaded) {
console.log('OnboardingContext: Initializing onboarding data...');
fetchOnboardingData();
}
}, [isSignedIn, clerkLoaded, fetchOnboardingData]);
/**
* Refresh onboarding data (e.g., after completing a step)
@@ -209,6 +220,26 @@ export const OnboardingProvider: React.FC<OnboardingProviderProps> = ({ children
setError(null);
}, []);
/**
* Reset onboarding progress and clear cache
*/
const resetOnboarding = useCallback(() => {
console.log('OnboardingContext: Resetting onboarding progress');
// Clear all cached data
sessionStorage.removeItem('onboarding_init');
localStorage.removeItem('onboarding_step');
localStorage.removeItem('onboarding_data');
// Reset state
setData(null);
setError(null);
setLoading(true);
// Re-fetch fresh data
fetchOnboardingData();
}, [fetchOnboardingData]);
/**
* Computed properties
*/
@@ -226,6 +257,8 @@ export const OnboardingProvider: React.FC<OnboardingProviderProps> = ({ children
refresh,
markStepComplete,
clearError,
initializeOnboarding,
resetOnboarding,
};
return (