@carforyou/header-footer
Advanced tools
Comparing version
@@ -402,3 +402,11 @@ 'use strict'; | ||
const path = [locale, ...key.split(".")]; | ||
return path.reduce((a, b) => a[b], translations); | ||
const translation = path.reduce((a, b) => a ? a[b] : null, translations); | ||
if (!translation) { | ||
// eslint-disable-next-line no-console | ||
console.error(`Missing translation for ${locale}: "${key}"`); | ||
return key; | ||
} | ||
return translation; | ||
}; | ||
@@ -1124,5 +1132,5 @@ | ||
return React__default.createElement("section", { | ||
className: "footerColumn" | ||
className: "footer-column" | ||
}, React__default.createElement("div", { | ||
className: "text-white font-bold mb-8" | ||
className: "text-white font-bold footerColumn-entry" | ||
}, t(`footer.sections.${name}.title`)), Object.entries(links).map(([text, _ref], index) => { | ||
@@ -1135,3 +1143,3 @@ let { | ||
return React__default.createElement("a", Object.assign({ | ||
className: "mb-8 block", | ||
className: "footerColumn-entry block", | ||
key: `link-${index}`, | ||
@@ -1179,5 +1187,5 @@ onClick: tracking ? () => datalayerPush(tracking) : null | ||
return React__default.createElement("section", { | ||
className: "footerContactColumn flex flex-col" | ||
className: "footer-contactColumn flex flex-col" | ||
}, React__default.createElement("div", { | ||
className: "text-white font-bold mb-8 flex-grow-0" | ||
className: "text-white font-bold footerColumn-entry flex-grow-0" | ||
}, t("footer.sections.contactAndSupport.title")), React__default.createElement("div", { | ||
@@ -1188,11 +1196,11 @@ className: "flex flex-row md:flex-col md:justify-between w-12/12 flex-grow" | ||
}, React__default.createElement("div", { | ||
className: "mb-8 md:mb-0" | ||
className: "footerColumn-entry md:mb-0" | ||
}, t("footer.sections.contactAndSupport.mondayToFriday"), ":"), React__default.createElement("div", { | ||
className: "mb-8 md:mb-0" | ||
className: "footerColumn-entry md:mb-0" | ||
}, "08:00 ", t("footer.sections.contactAndSupport.to"), " 12:00"), React__default.createElement("div", { | ||
className: "mb-8 md:mb-0" | ||
className: "footerColumn-entry md:mb-0" | ||
}, "13:30 ", t("footer.sections.contactAndSupport.to"), " 17:30")), React__default.createElement("div", { | ||
className: "w-6/12 md:w-12/12" | ||
}, React__default.createElement("a", { | ||
className: "block mb-8 md:mb-5", | ||
className: "block footerColumn-entry md:mb-5", | ||
href: "tel:+41435881000" | ||
@@ -1202,3 +1210,3 @@ }, React__default.createElement(CallIcon, { | ||
}), "+41 43 588 10 00"), React__default.createElement("a", { | ||
className: "block mb-8 md:mb-5", | ||
className: "block footerColumn-entry md:mb-5", | ||
href: "mailto:info@carforyou.ch" | ||
@@ -1211,3 +1219,3 @@ }, React__default.createElement(WriteIcon, { | ||
const Footer = ({ | ||
renderSuffix | ||
renderContentAfter | ||
}) => { | ||
@@ -1348,3 +1356,3 @@ const { | ||
rel: "noreferrer noopener", | ||
className: "ml-8 mr-15" | ||
className: "footer-iconLink mr-15" | ||
}, React__default.createElement(Instagram, { | ||
@@ -1367,5 +1375,5 @@ width: "25px", | ||
href: url(rootUrl, lang) | ||
}, t(`language.${lang}`, lang)))))), renderSuffix ? React__default.createElement("div", { | ||
}, t(`language.${lang}`, lang)))))), renderContentAfter ? React__default.createElement("div", { | ||
className: "mt-30" | ||
}, renderSuffix()) : null); | ||
}, renderContentAfter()) : null); | ||
}; | ||
@@ -1375,8 +1383,8 @@ | ||
let { | ||
renderSuffix | ||
renderContentAfter | ||
} = _ref, | ||
providerProps = _objectWithoutProperties(_ref, ["renderSuffix"]); | ||
providerProps = _objectWithoutProperties(_ref, ["renderContentAfter"]); | ||
return React__default.createElement(AppProvider, Object.assign({}, providerProps), React__default.createElement(Footer, { | ||
renderSuffix: renderSuffix | ||
renderContentAfter: renderContentAfter | ||
})); | ||
@@ -1383,0 +1391,0 @@ }; |
@@ -13,3 +13,9 @@ /* eslint-disable import/no-internal-modules */ | ||
const path = [locale, ...key.split(".")]; | ||
return path.reduce((a, b) => a[b], translations); | ||
const translation = path.reduce((a, b) => (a ? a[b] : null), translations); | ||
if (!translation) { | ||
// eslint-disable-next-line no-console | ||
console.error(`Missing translation for ${locale}: "${key}"`); | ||
return key; | ||
} | ||
return translation; | ||
}; | ||
@@ -16,0 +22,0 @@ const value = { |
@@ -10,3 +10,3 @@ import React, { useContext, useState, useEffect, Fragment, } from "react"; | ||
import ContactSection from "./section/contact"; | ||
const Footer = ({ renderSuffix }) => { | ||
const Footer = ({ renderContentAfter }) => { | ||
const { language, listingsRootUrl, dealerhubRootUrl, languages, rootUrl, t, } = useContext(AppContext); | ||
@@ -106,3 +106,3 @@ const [isAndroid, setIsAndroid] = useState(false); | ||
React.createElement(Facebook, { width: "32px", height: "32px" })), | ||
React.createElement("a", { href: instagramUrl(), rel: "noreferrer noopener", className: "ml-8 mr-15" }, | ||
React.createElement("a", { href: instagramUrl(), rel: "noreferrer noopener", className: "footer-iconLink mr-15" }, | ||
React.createElement(Instagram, { width: "25px", height: "25px" })), | ||
@@ -114,4 +114,4 @@ React.createElement("a", { href: linkedInUrl(), rel: "noreferrer noopener" }, | ||
React.createElement("a", { href: url(rootUrl, lang) }, t(`language.${lang}`, lang))))))), | ||
renderSuffix ? React.createElement("div", { className: "mt-30" }, renderSuffix()) : null)); | ||
renderContentAfter ? (React.createElement("div", { className: "mt-30" }, renderContentAfter())) : null)); | ||
}; | ||
export default Footer; |
@@ -7,14 +7,14 @@ import React, { useContext } from "react"; | ||
const { t } = useContext(AppContext); | ||
return (React.createElement("section", { className: "footerContactColumn flex flex-col" }, | ||
React.createElement("div", { className: "text-white font-bold mb-8 flex-grow-0" }, t("footer.sections.contactAndSupport.title")), | ||
return (React.createElement("section", { className: "footer-contactColumn flex flex-col" }, | ||
React.createElement("div", { className: "text-white font-bold footerColumn-entry flex-grow-0" }, t("footer.sections.contactAndSupport.title")), | ||
React.createElement("div", { className: "flex flex-row md:flex-col md:justify-between w-12/12 flex-grow" }, | ||
React.createElement("div", { className: "w-6/12 md:w-12/12" }, | ||
React.createElement("div", { className: "mb-8 md:mb-0" }, | ||
React.createElement("div", { className: "footerColumn-entry md:mb-0" }, | ||
t("footer.sections.contactAndSupport.mondayToFriday"), | ||
":"), | ||
React.createElement("div", { className: "mb-8 md:mb-0" }, | ||
React.createElement("div", { className: "footerColumn-entry md:mb-0" }, | ||
"08:00 ", | ||
t("footer.sections.contactAndSupport.to"), | ||
" 12:00"), | ||
React.createElement("div", { className: "mb-8 md:mb-0" }, | ||
React.createElement("div", { className: "footerColumn-entry md:mb-0" }, | ||
"13:30 ", | ||
@@ -24,6 +24,6 @@ t("footer.sections.contactAndSupport.to"), | ||
React.createElement("div", { className: "w-6/12 md:w-12/12" }, | ||
React.createElement("a", { className: "block mb-8 md:mb-5", href: "tel:+41435881000" }, | ||
React.createElement("a", { className: "block footerColumn-entry md:mb-5", href: "tel:+41435881000" }, | ||
React.createElement(CallIcon, { className: "footer-icon mr-5" }), | ||
"+41 43 588 10 00"), | ||
React.createElement("a", { className: "block mb-8 md:mb-5", href: "mailto:info@carforyou.ch" }, | ||
React.createElement("a", { className: "block footerColumn-entry md:mb-5", href: "mailto:info@carforyou.ch" }, | ||
React.createElement(WriteIcon, { className: "footer-icon mr-5" }), | ||
@@ -30,0 +30,0 @@ "info@carforyou.ch"))))); |
@@ -6,6 +6,6 @@ import React, { useContext } from "react"; | ||
const { t } = useContext(AppContext); | ||
return (React.createElement("section", { className: "footerColumn" }, | ||
React.createElement("div", { className: "text-white font-bold mb-8" }, t(`footer.sections.${name}.title`)), | ||
Object.entries(links).map(([text, { tracking, ...linkProps }], index) => (React.createElement("a", Object.assign({ className: "mb-8 block", key: `link-${index}`, onClick: tracking ? () => datalayerPush(tracking) : null }, linkProps), t(`footer.sections.${name}.links.${text}`)))))); | ||
return (React.createElement("section", { className: "footer-column" }, | ||
React.createElement("div", { className: "text-white font-bold footerColumn-entry" }, t(`footer.sections.${name}.title`)), | ||
Object.entries(links).map(([text, { tracking, ...linkProps }], index) => (React.createElement("a", Object.assign({ className: "footerColumn-entry block", key: `link-${index}`, onClick: tracking ? () => datalayerPush(tracking) : null }, linkProps), t(`footer.sections.${name}.links.${text}`)))))); | ||
}; | ||
export default Section; |
import React from "react"; | ||
import { AppProvider } from "../appContext"; | ||
import Footer from "./index"; | ||
const WrappedFooter = ({ renderSuffix, ...providerProps }) => (React.createElement(AppProvider, Object.assign({}, providerProps), | ||
React.createElement(Footer, { renderSuffix: renderSuffix }))); | ||
const WrappedFooter = ({ renderContentAfter, ...providerProps }) => (React.createElement(AppProvider, Object.assign({}, providerProps), | ||
React.createElement(Footer, { renderContentAfter: renderContentAfter }))); | ||
export { WrappedFooter as Footer }; |
import { FC, ReactNode } from "react"; | ||
interface Props { | ||
renderSuffix?: () => ReactNode; | ||
renderContentAfter?: () => ReactNode; | ||
} | ||
@@ -5,0 +5,0 @@ declare const Footer: FC<Props>; |
{ | ||
"name": "@carforyou/header-footer", | ||
"description": "CAR FOR YOU Header / Footer", | ||
"version": "1.2.0-new-footer-ff276a20031647f84f4c46f92fa37b652783ea89.1", | ||
"version": "1.2.0-new-footer-ff276a20031647f84f4c46f92fa37b652783ea89.2", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "files": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
445496
0.57%4043
0.45%