import moment from "moment"; import { get, startCase, uniqueId } from "lodash"; import { ILayoutSettings, PageSectionCategory, } from "@sc/plugins/misc/v2/blocks/weblayouts/types"; import { ComponentTypes } from "@sc/plugins/webcomponents/v2/types"; import { LinkDisplayTypes, LinkLayoutStyles, } from "@sc/plugins/webcomponents/v2/Navigation/types"; import { combineData, lorem } from "../../utils"; import { default as defaultData } from "./data.json"; import { style } from "./style"; import { getImagePlaceholder, ImagePlaceholderTypes, getVideoPlaceholder, VideoPlaceholderTypes, } from "../../Placeholders"; import theme from "../../theme"; import { IconSource, IconTypes } from "@sc/plugins/webcomponents/v2/Icon/live"; import { faFacebookF, faGoogle, faTwitter, faInstagram, } from "@fortawesome/free-brands-svg-icons"; import { FooterLayouts } from "../types"; const content = combineData(defaultData); const settings: ILayoutSettings = { label: FooterLayouts.FOURTEEN, layout: FooterLayouts.FOURTEEN, previewImage: "https://sandcastleassets.s3.amazonaws.com/blocks/footers/Footer14.png", default: { type: ComponentTypes.SECTION, label: PageSectionCategory.FOOTER, bodyOnly: true, canHaveChildren: false, properties: { ...style.SECTION, ...style.SECTION_INNER, }, children: [ { type: ComponentTypes.COLUMNS, canHaveChildren: false, properties: { width: "100%", }, children: [ { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((4 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20 }, children: [ { type: ComponentTypes.CONTAINER, canHaveChildren: true, properties: { maxWidth: 350, }, children: [ { type: ComponentTypes.PICTURE, canHaveChildren: false, properties: { width: 40, }, src: theme.logoIcon, }, { type: ComponentTypes.TEXT, canHaveChildren: false, properties: { ...style.TEXT, padding: "20px 0", }, html: `It's true. Getting results is much easier than you think. The truth is most people simply don't know the`, }, ], }, ], }, { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((8 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20 }, children: [ { type: ComponentTypes.CONTAINER, canHaveChildren: true, properties: { textAlign: "right", maxWidth: "100%", mobile: { desktop: { width: 400, display: "inline-block", }, smartphone: { display: "none", width: "100%", }, }, }, children: [ { type: ComponentTypes.COLUMNS, canHaveChildren: false, properties: { width: "100%", }, children: [ { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((4 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20, }, children: [ { type: ComponentTypes.NAVIGATION, canHaveChildren: false, linkStyle: style.NAVIGATION.linkStyle, layoutStyle: LinkLayoutStyles.VERTICAL, properties: {}, data: [ { id: uniqueId(), caption: "About Us", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "Contact Us", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "Pricing", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "FAQs", linkDisplayType: LinkDisplayTypes.TEXT, }, ], }, ], }, { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((4 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20, }, children: [ { type: ComponentTypes.NAVIGATION, canHaveChildren: false, linkStyle: style.NAVIGATION.linkStyle, layoutStyle: LinkLayoutStyles.VERTICAL, properties: {}, data: [ { id: uniqueId(), caption: "About", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "Blog", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "Contacts", linkDisplayType: LinkDisplayTypes.TEXT, }, ], }, ], }, { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((4 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20, }, children: [ { type: ComponentTypes.LISTITEM, canHaveChildren: false, // properties: style.LI.style, html: `
123 Elm St
City, RI
Company@Domain.com
`, icon: IconTypes.Email, iconStyle: { color: theme.backgroundColor, paddingRight: 20, }, }, ], }, ], }, ], }, ], }, ], }, { type: ComponentTypes.COLUMNS, canHaveChildren: false, properties: { width: "100%", mobile: { desktop: { marginTop: 50, }, smartphone: { marginTop: 10, }, }, }, children: [ { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((4 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20 }, children: [ { type: ComponentTypes.TEXT, canHaveChildren: false, properties: { ...style.TEXT, padding: 0, fontSize: "9pt", mobile: { desktop: { textAlign: "left", }, smartphone: { textAlign: "center", }, }, ...get(content, "sub_headline.style", {}), }, html: `© ${moment().format("YYYY")} All Rights Reserved`, }, ], }, { type: ComponentTypes.COLUMN, canHaveChildren: true, preventDelete: true, md: parseInt((8 * 100) / 12), properties: { height: "100%", padding: 0, minHeight: 20 }, children: [ { type: ComponentTypes.NAVIGATION, canHaveChildren: false, linkStyle: style.NAVIGATION.linkStyle, layoutStyle: LinkLayoutStyles.HORIZONTAL, properties: { display: "inline-block", mobile: { desktop: { textAlign: "right", }, smartphone: { textAlign: "center", }, }, }, data: [ { id: uniqueId(), caption: "Privacy Policy", linkDisplayType: LinkDisplayTypes.TEXT, }, { id: uniqueId(), caption: "Terms & Conditions", linkDisplayType: LinkDisplayTypes.TEXT, }, ], }, ], }, ], }, ], }, }; export default settings;