| 
					
				 | 
			
			
				@@ -3,6 +3,7 @@ import type { FC } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import React, { useEffect, useRef, useState } from 'react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { usePathname, useRouter, useSelectedLayoutSegments } from 'next/navigation' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useSWR, { SWRConfig } from 'swr' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import * as Sentry from '@sentry/react' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Header from '../components/header' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { fetchAppList } from '@/service/apps' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { fetchDatasets } from '@/service/datasets' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12,11 +13,29 @@ import { AppContextProvider } from '@/context/app-context' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import DatasetsContext from '@/context/datasets-context' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import type { LangGeniusVersionResponse, UserProfileResponse } from '@/models/common' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const isDevelopment = process.env.NODE_ENV === 'development' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export type ICommonLayoutProps = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   children: React.ReactNode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const CommonLayout: FC<ICommonLayoutProps> = ({ children }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const SENTRY_DSN = document?.body?.getAttribute('data-public-sentry-dsn') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!isDevelopment && SENTRY_DSN) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Sentry.init({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dsn: SENTRY_DSN, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        integrations: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          new Sentry.BrowserTracing({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          new Sentry.Replay(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tracesSampleRate: 0.1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        replaysSessionSampleRate: 0.1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        replaysOnErrorSampleRate: 1.0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const router = useRouter() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const pathname = usePathname() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const segments = useSelectedLayoutSegments() 
			 |