import pageUtils from '../../lib/pageUtils';
import Layout from '../../layouts/EventCreation';
import {Box, Paper, Typography} from '@mui/material';
import {
Module,
ModuleDocument,
Enum_Userspermissionsuser_Lang as SupportedLocales,
} from '../../generated/graphql';
import {useTranslation} from 'react-i18next';
import Head from 'next/head';
import {useRouter} from 'next/router';
import {useSession} from 'next-auth/react';
interface Props {
modulesSettings?: Module;
announcement?: string;
}
const PlusPrices = (props: Props) => {
const {modulesSettings} = props;
const {t} = useTranslation();
const session = useSession();
const profile = session?.data?.profile;
const router = useRouter();
const eventUUID = router.query.eventId;
if (
!modulesSettings?.caroster_plus_pricing_grid_id ||
!modulesSettings.caroster_plus_publishable_key ||
!eventUUID
)
return (
{t`options.no_module`}
);
return (
{/* @ts-ignore */}
);
};
export const getServerSideProps = pageUtils.getServerSideProps(
async (context, apolloClient) => {
let modulesSettings = null;
// Fetch module settings
try {
const {data} = await apolloClient.query({
query: ModuleDocument,
variables: {locale: context.locale},
});
modulesSettings = data?.module?.data?.attributes || {};
if (!modulesSettings?.caroster_plus_pricing_grid_id) {
console.warn(
'Module settings are not set for locale: ',
context.locale,
' fallback to English'
);
const {data: enData} = await apolloClient.query({
query: ModuleDocument,
variables: {locale: SupportedLocales['en']},
});
modulesSettings = enData?.module?.data?.attributes;
}
} catch (error) {
console.error("Can't fetch config for module: ", error);
}
return {props: {modulesSettings}};
}
);
export default PlusPrices;