import {Stack} from '@mui/material';
import Button from '@mui/material/Button';
import {useTranslation} from 'next-i18next';
import useEventStore from '../../stores/useEventStore';
import {useSession} from 'next-auth/react';
import {useEffect, useReducer} from 'react';
import LoginDialog from '../LoginDialog';
import {useRouter} from 'next/router';
interface Props {
onAddSelf: () => void;
onAddOther: () => void;
registered: boolean;
variant: 'waitingList' | 'travel';
disabled?: boolean;
}
const ADD_TO_LOCALE = {
waitingList: 'travel.passengers.add_to_waitingList',
travel: 'travel.passengers.add_to_travel',
};
const AddPassengerButtons = (props: Props) => {
const {onAddSelf, onAddOther, registered, variant, disabled} = props;
const {t} = useTranslation();
const router = useRouter();
const event = useEventStore(s => s.event);
const isCarosterPlus = event?.enabled_modules?.includes('caroster-plus');
const session = useSession();
const isAuthenticated = session.status === 'authenticated';
const [showLoginDialog, toggleLoginDialog] = useReducer(i => !i, false);
const onClickAddSelf = () => {
if (isCarosterPlus && !isAuthenticated) toggleLoginDialog();
else onAddSelf();
};
useEffect(() => {
if (router.query.action === 'addSelf') {
onAddSelf();
router.replace(
{pathname: `/${router.locale}/e/${router.query.uuid}`, query: null},
undefined,
{shallow: true}
);
}
}, [router, onAddSelf]);
return (
<>
{isCarosterPlus && isAuthenticated && (
)}
>
);
};
export default AddPassengerButtons;