{"version":3,"file":"index-DzrEVgdn.js","sources":["../../src/pages/main/main.tsx"],"sourcesContent":["import Header from '@common/layout/header/header'\nimport EventsView from '@features/event/components/events-view'\nimport {\n Box,\n CircularProgress,\n CommonlyQuestionsEvents,\n Container,\n Grid2 as Grid,\n Stack,\n Typography,\n} from '@common/components'\nimport { useNavigate, useSearchParams } from '@lib/router'\nimport {\n useAuthLoginGoogleMutation,\n useLazyAuthWhoamiQuery,\n} from '@app/services/auto-generated/auth'\nimport { isUNSW } from '@utils'\nimport { DASHBOARD_ROUTE, MY_CLASSROOMS_ROUTE, PROFILE_ROUTE } from '@common/constants/routes'\nimport { useEffect } from 'react'\nimport Footer from '@common/layout/footer'\nimport ExpectationsSection from '@features/event/components/expectations-section'\nimport { CenterContainer } from '@common/containers'\n\nconst Main = () => {\n // for google sign in\n const [searchParams] = useSearchParams()\n const navigate = useNavigate()\n const code = searchParams.get('code')\n const state = searchParams.get('state')\n const [loginWithGoogle, { isLoading: isLoadingLoginWithGoogle }] = useAuthLoginGoogleMutation()\n const [getUser] = useLazyAuthWhoamiQuery()\n\n const parseJSON = (str: string) => {\n try {\n return JSON.parse(str)\n } catch (err) {\n return null\n }\n }\n\n const loginGoogleFlow = async () => {\n if (code) {\n await loginWithGoogle({\n googleLoginRequest: {\n code,\n redirect_url: `${window.location.origin}/`,\n ext: state ? parseJSON(decodeURIComponent(state)) : null,\n },\n }).unwrap()\n await getUser().unwrap()\n const parsedState = parseJSON(decodeURIComponent(state))\n if (parsedState && parsedState['realRedirectUrl'] === PROFILE_ROUTE) {\n navigate(isUNSW() ? DASHBOARD_ROUTE : MY_CLASSROOMS_ROUTE)\n return\n }\n if (parsedState) {\n window.location.href = parsedState['realRedirectUrl']\n }\n }\n }\n\n useEffect(() => {\n if (code) {\n loginGoogleFlow()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [code])\n\n // if (isLoadingLoginWithGoogle) {\n // return (\n // \n // \n // \n // )\n // }\n\n return (\n <>\n
\n \n \n \n \n \n \n \n English Events\n \n \n \n \n \n \n \n