Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { useEffect } from 'react' import { getLogoutURL, AuthIsDisabled } from '../../lib/auth' import { GetServerSidePropsContext } from 'next' import LoadingSpinner from '../../components/LoadingSpinner' import MetaData from '../../components/MetaData' import { getLogger } from '../../logging/log-util' import React from 'react' import { deleteAllCookiesWithPrefix } from '../../lib/cookie-utils' interface MetaDataProps { data_en: { title: string desc: string author: string keywords: string service: string creator: string accessRights: string } data_fr: { title: string desc: string author: string keywords: string service: string creator: string accessRights: string } } interface LogoutProps { locale: string meta: MetaDataProps logoutURL: string } export default function Logout(props: LogoutProps) { //Redirect to ECAS global sign out useEffect(() => { const logout = async () => { window.location.replace(props.logoutURL) } logout().catch(console.error) }, [props.logoutURL]) return ( <div role="main"> <MetaData language="en" data={props.meta}></MetaData> <h1 className="grid h-screen place-items-center" data-cy="loading-spinner" aria-live="polite" aria-busy="true" > <LoadingSpinner text="Loading / Chargement en cours ..." /> </h1> </div> ) } Logout.getLayout = function PageLayout(page: JSX.Element) { return <>{page}</> } export async function getServerSideProps({ req, res, locale, }: { req: GetServerSidePropsContext['req'] res: GetServerSidePropsContext['res'] locale: GetServerSidePropsContext['locale'] }) { //The below sets the minimum logging level to error and surpresses everything below that const logger = getLogger('logout') logger.level = 'error' deleteAllCookiesWithPrefix( req, res, process.env.AUTH_COOKIES_PREFIX as string, ) const logoutURL = !AuthIsDisabled() ? await getLogoutURL(req.cookies, locale).catch((error) => { logger.error(error) res.statusCode = 500 throw error }) : '/' /* Place-holder Meta Data Props */ const meta = { data_en: { title: 'Loading-Chargement en cours - Canada.ca', desc: 'English', author: 'Service Canada', keywords: '', service: 'ESDC-EDSC_MSCA-MSDC-SCH', creator: 'Employment and Social Development Canada', accessRights: '1', }, data_fr: { title: 'Loading-Chargement en cours - Canada.ca', desc: 'Français', author: 'Service Canada', keywords: '', service: 'ESDC-EDSC_MSCA-MSDC-SCH', creator: 'Emploi et Développement social Canada', accessRights: '1', }, } return { props: { locale: locale, meta, logoutURL: logoutURL, }, } } |