import * as React from "react";
import { get } from "lodash";
import {
  faFacebookF,
  faGoogle,
  faTwitter,
  faInstagram,
} from "@fortawesome/free-brands-svg-icons";

import { style } from "./style";
import { default as defaultData } from "./data.json";

import { doIShow, combineData } from "../../utils";

import theme from "../../theme";

import {
  Block,
  Section,
  Headline,
  Text,
  Container,
  Grid,
  GridItem,
  FormField,
  Button,
  Navigation,
} from "@sc/plugins/webcomponents/v2";
import {
  NavigationLayouts,
  ItemTypes,
} from "@sc/plugins/webcomponents/v2/Navigation/types";

import { IconSource } from "@sc/plugins/webcomponents/v2/Icon/types";

type LayoutProps = {
  data: any;
};

const Layout: React.FC<LayoutProps> = ({ data }) => {
  const initialContent = {
    main_headline: {
      html: "Headline Goes Here",
    },
    sub_headline: {
      html: "Sub Headline Text Content Goes Here",
    },
  };

  const content = combineData(initialContent, defaultData, data);

  return (
    <Block>
      <Section style={style.SECTION}>
        <Container
          style={{
            ...style.SECTION_INNER,
            maxWidth: get(data, "section.pageMargin"),
          }}
        >
          <Grid>
            <GridItem xs>
              <Grid style={{}}>
                <GridItem xs={4}>
                  <Container style={{ padding: "0 40px" }}>
                    <Headline style={style.HEADLINE}>Information</Headline>
                    <Navigation
                      layout={NavigationLayouts.FIVE}
                      linkStyle={style.NAVIGATION.linkStyle}
                      items={[
                        {
                          caption: "About Us",
                          href: "./#",
                          type: ItemTypes.TEXT,
                        },
                        {
                          caption: "Contact Us",
                          href: "./#",
                          type: ItemTypes.TEXT,
                        },
                        {
                          caption: "FAQs",
                          href: "./#",
                          type: ItemTypes.TEXT,
                        },
                      ]}
                    />
                  </Container>
                </GridItem>
                <GridItem xs={4}>
                  <Container style={{ padding: "0 40px" }}>
                    <Headline style={style.HEADLINE}>About</Headline>
                    <Navigation
                      layout={NavigationLayouts.FIVE}
                      linkStyle={style.NAVIGATION.linkStyle}
                      items={[
                        { caption: "About Us", href: "./#" },
                        { caption: "Contact Us", href: "./#" },
                        { caption: "FAQs", href: "./#" },
                      ]}
                    />
                  </Container>
                </GridItem>
                <GridItem xs={4}>
                  <Container style={{ padding: "0 40px" }}>
                    <Headline style={style.HEADLINE}>Catalog</Headline>
                    <Navigation
                      layout={NavigationLayouts.FIVE}
                      linkStyle={style.NAVIGATION.linkStyle}
                      items={[
                        { caption: "About Us", href: "./#" },
                        { caption: "Contact Us", href: "./#" },
                        { caption: "FAQs", href: "./#" },
                      ]}
                    />
                  </Container>
                </GridItem>
              </Grid>
            </GridItem>
            <GridItem xs={6}>
              <Container style={{ paddingLeft: 100 }}>
                <Headline style={style.HEADLINE}>Subscribe</Headline>
                <Text style={style.TEXT}>
                  Subscribe to stay tuned for news and latest updates. Only best
                  things for you. No junk, spam free.
                </Text>
                <Grid spacing={4} style={{ marginTop: 20 }}>
                  <GridItem xs={8}>
                    {doIShow(content, "input") && (
                      <FormField
                        type="Text"
                        name="email"
                        placeholder="Enter Your Email"
                        style={style.FORM_FIELD.style}
                        inputStyle={style.FORM_FIELD.inputStyle}
                      />
                    )}
                  </GridItem>
                  <GridItem xs={4}>
                    {doIShow(content, "cta_button") && (
                      <Button
                        style={style.BUTTON.style}
                        caption1="Get Started"
                        caption1style={style.BUTTON.caption1}
                      />
                    )}
                  </GridItem>
                </Grid>
              </Container>
            </GridItem>
          </Grid>
        </Container>
      </Section>
    </Block>
  );
};

export default Layout;
