| 368 | } |
| 369 | |
| 370 | export function useAppLifecycle() { |
| 371 | useEffect(() => { |
| 372 | // Track app start |
| 373 | analytics.track(ANALYTICS_EVENTS.APP_STARTED); |
| 374 | |
| 375 | // Track app close |
| 376 | const handleUnload = () => { |
| 377 | analytics.track(ANALYTICS_EVENTS.APP_CLOSED); |
| 378 | analytics.shutdown(); |
| 379 | }; |
| 380 | |
| 381 | window.addEventListener('beforeunload', handleUnload); |
| 382 | return () => window.removeEventListener('beforeunload', handleUnload); |
| 383 | }, []); |
| 384 | } |
| 385 | |
| 386 | // Hook for tracking component-specific metrics |
| 387 | export function useComponentMetrics(componentName: string) { |