footer updated language for all pages
This commit is contained in:
parent
64e469e65b
commit
e3dfbc9a18
@ -1,80 +1,91 @@
|
||||
import React from 'react'
|
||||
import Link from 'next/link'
|
||||
import Image from 'next/image'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import Logo from '/public/images/janahanlaw-logo.png'
|
||||
import Campaign from '../../api/campaign';
|
||||
import Image from 'next/image';
|
||||
|
||||
const ClickHandler = () => {
|
||||
window.scrollTo(10, 0);
|
||||
}
|
||||
|
||||
const SubmitHandler = (e) => {
|
||||
e.preventDefault()
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
const Footer = (props) => {
|
||||
const { t } = useTranslation('footer'); // assuming your translations are in footer.json
|
||||
|
||||
return (
|
||||
<footer className="wpo-site-footer">
|
||||
<div className="wpo-upper-footer">
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
{/* About Widget */}
|
||||
<div className="col col-lg-3 col-md-6 col-12 col-md-6 col-sm-12 col-12">
|
||||
<div className="widget about-widget">
|
||||
<div className="logo widget-title">
|
||||
<Link onClick={ClickHandler} className="navbar-brand" href="/"><Image src={Logo} alt="" /></Link>
|
||||
<Link onClick={ClickHandler} className="navbar-brand" href="/">
|
||||
<Image src={Logo} alt={t('logoAlt') || ''} />
|
||||
</Link>
|
||||
</div>
|
||||
<p>Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream.</p>
|
||||
<p>{t('aboutText')}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Quick Links */}
|
||||
<div className="col col-lg-2 col-md-6 col-12 col-md-6 col-sm-12 col-12">
|
||||
<div className="widget link-widget">
|
||||
<div className="widget-title">
|
||||
<h3>Quick Links</h3>
|
||||
<h3>{t('quickLinksTitle')}</h3>
|
||||
</div>
|
||||
<ul>
|
||||
<li><Link href="/">Home</Link></li>
|
||||
<li><Link href="/about">About Us</Link></li>
|
||||
<li><Link href="/services">Services</Link></li>
|
||||
<li><Link href="/our-approach">Our Approach</Link></li>
|
||||
<li><Link href="/blog">Blog</Link></li>
|
||||
<li><Link href="/">{t('home')}</Link></li>
|
||||
<li><Link href="/about">{t('aboutUs')}</Link></li>
|
||||
<li><Link href="/services">{t('services')}</Link></li>
|
||||
<li><Link href="/our-approach">{t('ourApproach')}</Link></li>
|
||||
<li><Link href="/blog">{t('blog')}</Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Services Links */}
|
||||
<div className="col col-lg-4 col-md-6 col-12 col-md-6 col-sm-12 col-12">
|
||||
<div className="widget link-widget s2">
|
||||
<div className="widget-title">
|
||||
<h3>Services</h3>
|
||||
<h3>{t('servicesTitle')}</h3>
|
||||
</div>
|
||||
<ul>
|
||||
{Campaign.slice(0, 5).map((service, Sitem) => (
|
||||
<li key={Sitem}><Link onClick={ClickHandler} href={'/services/[slug]'} as={`/services/${service.slug}`}>{service.sTitle}</Link></li>
|
||||
<li key={Sitem}>
|
||||
<Link onClick={ClickHandler} href={`/services/${service.slug}`}>
|
||||
{service.sTitle}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Contact */}
|
||||
<div className="col col-lg-3 col-md-6 col-12 col-md-6 col-sm-12 col-12">
|
||||
<div className="widget newsletter-widget">
|
||||
<div className="widget-title">
|
||||
<h3>Contact</h3>
|
||||
<h3>{t('contactTitle')}</h3>
|
||||
</div>
|
||||
{/* <p>Get timely updates ! We only send interesting and relevant emails.</p> */}
|
||||
{/* <form onSubmit={SubmitHandler}>
|
||||
<div className="input-1">
|
||||
<input type="email" className="form-control" placeholder="Your Email Address..."
|
||||
required="" />
|
||||
</div>
|
||||
<div className="submit clearfix">
|
||||
<button type="submit">Subscribe now</button>
|
||||
</div>
|
||||
</form> */}
|
||||
<div className="widget about-widget">
|
||||
<ul className="info">
|
||||
<li>
|
||||
<Link href="tel:+1 (305) 330-7413"> <li>Phone: +1 (305) 330-7413</li></Link>
|
||||
<Link href="tel:+1 (305) 330-7413" style={{ color: 'rgb(255 255 255 / 60%)' }}>
|
||||
{t('phone')}: +1 (305) 330-7413
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
<Link href="mailto:info@janahanlaw.com"> <li>Email: info@janahanlaw.com </li></Link>
|
||||
{/* <li>Address: 22/1 Melborane city austria,
|
||||
human resoerch, Canada</li> */}
|
||||
<li>
|
||||
<Link href="mailto:info@janahanlaw.com" style={{ color: 'rgb(255 255 255 / 60%)' }}>
|
||||
{t('email')}: info@janahanlaw.com
|
||||
</Link>
|
||||
</li>
|
||||
{/* Address can be added here if needed */}
|
||||
</ul>
|
||||
<div className="social">
|
||||
<ul>
|
||||
@ -98,12 +109,6 @@ const Footer = (props) => {
|
||||
<i className="fi flaticon-instagram-1"></i>
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
{/* <li>
|
||||
<Link onClick={ClickHandler} href="/">
|
||||
<i className="fi flaticon-pinterest"></i>
|
||||
</Link>
|
||||
</li> */}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -112,13 +117,14 @@ const Footer = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="wpo-lower-footer">
|
||||
<div className="container">
|
||||
<div className="row text-center align-items-center">
|
||||
<div className="col col-lg-12 col-md-12 col-12">
|
||||
<ul>
|
||||
<li>
|
||||
Copyright {new Date().getFullYear()} © Janahan Law. Powered by{' '}
|
||||
{t('copyright', { year: new Date().getFullYear() })} {' '}
|
||||
<a
|
||||
href="https://metatroncubesolutions.com/"
|
||||
target="_blank"
|
||||
@ -126,22 +132,10 @@ const Footer = (props) => {
|
||||
style={{ color: '#c12026' }}
|
||||
>
|
||||
MetatronCube
|
||||
</a>. All Right Reserved.
|
||||
</a>. {t('allRightsReserved')}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
{/* <div className="col col-lg-6 col-md-12 col-12">
|
||||
<div className="link">
|
||||
<ul>
|
||||
<li><Link onClick={ClickHandler} href="/privacy">Privace & Policy</Link></li>
|
||||
<li><Link onClick={ClickHandler} href="/terms">Terms</Link></li>
|
||||
<li><Link onClick={ClickHandler} href="/about">About us</Link></li>
|
||||
<li><Link onClick={ClickHandler} href="/faq">FAQ</Link></li>
|
||||
<li><Link onClick={ClickHandler} href="/volunteer">Volunteer</Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -5,7 +5,7 @@ module.exports = {
|
||||
locales: ['en', 'es'],
|
||||
localeDetection: false,
|
||||
},
|
||||
ns: ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction', 'blog', 'services'],
|
||||
ns: ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction', 'blog', 'services', 'footer'],
|
||||
defaultNS: 'common',
|
||||
// localePath: './public/locales',
|
||||
};
|
||||
|
||||
@ -48,7 +48,7 @@ export default AboutPage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'ourStory', 'aboutService', 'aboutMission', 'aboutRacial', 'aboutDonor'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'ourStory', 'aboutService', 'aboutMission', 'aboutRacial', 'aboutDonor', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ export default AboutPage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'ourMission'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'ourMission', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ export default AboutPage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'racialJustice'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'racialJustice', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ export async function getStaticPaths() {
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'blog'])),
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'blog', 'footer'])),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ export default BlogPage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'blog'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'blog', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ export default ContactPage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'contact'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'contact', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ export default HomePage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction', 'blog'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction', 'blog', 'footer'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ export async function getStaticProps({ params, locale }) {
|
||||
return {
|
||||
props: {
|
||||
service,
|
||||
...(await serverSideTranslations(locale, ["common", "menu", "services"])),
|
||||
...(await serverSideTranslations(locale, ["common", "menu", "services", , 'footer'])),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ export default Services;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'services'])), // Add 'home', 'footer', etc.
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'services', 'footer'])), // Add 'home', 'footer', etc.
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
16
public/locales/en/footer.json
Normal file
16
public/locales/en/footer.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"logoAlt": "Janahan Law Logo",
|
||||
"aboutText": "Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream.",
|
||||
"quickLinksTitle": "Quick Links",
|
||||
"home": "Home",
|
||||
"aboutUs": "About Us",
|
||||
"services": "Services",
|
||||
"ourApproach": "Our Approach",
|
||||
"blog": "Blog",
|
||||
"servicesTitle": "Services",
|
||||
"contactTitle": "Contact",
|
||||
"phone": "Phone",
|
||||
"email": "Email",
|
||||
"copyright": "Copyright {{year}} © Janahan Law. Powered by",
|
||||
"allRightsReserved": "All Right Reserved."
|
||||
}
|
||||
16
public/locales/es/footer.json
Normal file
16
public/locales/es/footer.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"logoAlt": "Logo de Janahan Law",
|
||||
"aboutText": "Cada caso de inmigración cuenta una historia única de esperanza, determinación y la búsqueda del sueño americano.",
|
||||
"quickLinksTitle": "Enlaces Rápidos",
|
||||
"home": "Inicio",
|
||||
"aboutUs": "Sobre Nosotros",
|
||||
"services": "Servicios",
|
||||
"ourApproach": "Nuestro Enfoque",
|
||||
"blog": "Blog",
|
||||
"servicesTitle": "Servicios",
|
||||
"contactTitle": "Contacto",
|
||||
"phone": "Teléfono",
|
||||
"email": "Correo Electrónico",
|
||||
"copyright": "Copyright {{year}} © Janahan Law. Desarrollado por",
|
||||
"allRightsReserved": "Todos los Derechos Reservados."
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user