import React from 'react';
import { ContentSection } from 'react-benzin';
import { Grid, Link } from '@material-ui/core';
import EventCard from '../../components/EventCard/EventCard';
import { useEvents } from '../../hooks/APIClient';
import EventForm from './EventForm';
import LoginForm from './LoginForm';
import { useAuth } from '../../hooks/useAuth';


const BsuFantomSection: React.FC = () => {
  const { data: events, mutate } = useEvents();
  const { isAuthenticated } = useAuth();

  return (
    <ContentSection sectionName="bsu-fantom" level={1}>
      <p>
        Schedule your offline <Link href="https://edufpmi.bsu.by">EDUFPMI</Link> conference attendance
      </p>
      {
        isAuthenticated
        ? (
          <>
            <ContentSection sectionName="Schedule an event" level={2}>
              <EventForm mutate={mutate} />
            </ContentSection>
            <ContentSection sectionName="Upcoming events" level={2}>
              <Grid container spacing={2}>
                {events?.map((event, index) => (
                  <Grid item md={4} sm={6} xs={12}>
                    <EventCard event={event} mutate={mutate} />
                  </Grid>
                ))}
              </Grid>
            </ContentSection>
          </>
        ) : (
          <ContentSection sectionName="Login" level={2}>
            <p>
              In order to use <b>bsu-fantom</b> you must log in
              using your <Link href="https://edufpmi.bsu.by">EDUFPMI</Link> credentials:
            </p>
            <LoginForm />
          </ContentSection>
        )
      }
    </ContentSection>
  );
};

export default BsuFantomSection;
