Racial Justice language Changes Updated
This commit is contained in:
commit
daa924d8dd
@ -38,9 +38,9 @@ const Services = [
|
||||
{
|
||||
Id: '1',
|
||||
sImgS: sImgS1,
|
||||
sTitle: 'Family Immigration',
|
||||
sTitle: 'familyImmigration.sTitle',
|
||||
slug: 'family-immigration',
|
||||
description: 'Reunite with loved ones via green cards, fiancé visas, and petitions from filing to processing.',
|
||||
description: 'familyImmigration.description',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg1,
|
||||
ssImg1: sSingleimg1,
|
||||
@ -49,9 +49,9 @@ const Services = [
|
||||
{
|
||||
Id: '2',
|
||||
sImgS: sImgS2,
|
||||
sTitle: 'Employment Visas',
|
||||
sTitle: 'employmentVisas.sTitle',
|
||||
slug: 'employment-visas',
|
||||
description: 'Build your U.S. career with H-1B, L-1, O-1, EB visas, expert support for professionals, investors.',
|
||||
description: 'employmentVisas.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg2,
|
||||
@ -61,9 +61,9 @@ const Services = [
|
||||
{
|
||||
Id: '3',
|
||||
sImgS: sImgS3,
|
||||
sTitle: 'Deportation Defense',
|
||||
sTitle: 'deportationDefense.sTitle',
|
||||
slug: 'deportation-defense',
|
||||
description: 'Protect your stay with removal cancellation, asylum claims, and strong representation.',
|
||||
description: 'deportationDefense.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg3,
|
||||
@ -73,9 +73,9 @@ const Services = [
|
||||
{
|
||||
Id: '4',
|
||||
sImgS: sImgS4,
|
||||
sTitle: 'Citizenship Services',
|
||||
sTitle: 'citizenship.sTitle',
|
||||
slug: 'citizenship-services',
|
||||
description: 'Achieve citizenship with naturalization help, test, and guidance on residency requirements.',
|
||||
description: 'citizenship.description',
|
||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
||||
des3: 'One way to categorize the activities is in terms of the professional’s area of expertise such as competitive analysis, corporate strategy the activities',
|
||||
iconImg: iconImg4,
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
import React from 'react';
|
||||
import Link from 'next/link'
|
||||
import Link from 'next/link';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
const ClickHandler = () => {
|
||||
window.scrollTo(10, 0);
|
||||
}
|
||||
|
||||
const Donors = () => {
|
||||
const { t } = useTranslation('(home)/homeCalltoAction');
|
||||
|
||||
return (
|
||||
<section className="wpo-donors-section no-padding">
|
||||
@ -13,12 +15,12 @@ const Donors = () => {
|
||||
<div className="wpo-donors-wrap">
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6">
|
||||
<h2>Ready to take the first step toward your American future?</h2>
|
||||
<h2>{t('donorsTitle')}</h2>
|
||||
</div>
|
||||
<div className="col-lg-6">
|
||||
<div className="donors-btn">
|
||||
{/* <Link onClick={ClickHandler} href="/donate">$10 Donation</Link> */}
|
||||
<Link href="/contact">Call us Today</Link>
|
||||
<Link href="/contact">{t('donorsButton')}</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -6,7 +6,7 @@ import Link from 'next/link'
|
||||
import SectionTitle from "../SectionTitle/SectionTitle";
|
||||
import Services from '../../api/service'
|
||||
import Image from "next/image";
|
||||
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
const settings = {
|
||||
dots: true,
|
||||
@ -65,6 +65,8 @@ const ClickHandler = () => {
|
||||
}
|
||||
|
||||
const Features = (props) => {
|
||||
const { t } = useTranslation('home4Card');
|
||||
|
||||
return (
|
||||
<section className={`wpo-service-section section-padding ${props.sClass}`}>
|
||||
<div className="container">
|
||||
@ -76,20 +78,20 @@ const Features = (props) => {
|
||||
<div className="wpo-service-item">
|
||||
<div className="wpo-service-text">
|
||||
|
||||
<div className="service-icon">
|
||||
<div className="service-icon">
|
||||
<Image
|
||||
src={service.iconImg}
|
||||
alt={service.sTitle}
|
||||
alt={t(service.sTitle)}
|
||||
width={50}
|
||||
height={50}
|
||||
/>
|
||||
</div>
|
||||
{/* <h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2> */}
|
||||
<h2 className="text-white">{service.sTitle}</h2>
|
||||
<h2 className="text-white">{t(service.sTitle)}</h2>
|
||||
<p>
|
||||
{service.description.length > 100
|
||||
? service.description.slice(0, 100) + "..."
|
||||
: service.description}
|
||||
{t(service.description).length > 100
|
||||
? t(service.description).slice(0, 100) + "..."
|
||||
: t(service.description)}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -6,6 +6,12 @@ import Link from 'next/link'
|
||||
import SectionTitle from "../SectionTitle/SectionTitle";
|
||||
import Services from '../../api/service'
|
||||
import { featuresData, homeFeature } from "../../utils/constant.utils";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import iconImg1 from '/public/images/home/icons/strategic-planning.webp'
|
||||
import iconImg2 from '/public/images/home/icons/expert-preparation.webp'
|
||||
import iconImg3 from '/public/images/home/icons/ongoing-support.webp'
|
||||
|
||||
const iconMap = [iconImg1, iconImg2, iconImg3];
|
||||
|
||||
|
||||
const settings = {
|
||||
@ -65,13 +71,19 @@ const ClickHandler = () => {
|
||||
}
|
||||
|
||||
const ServiceSection = (props) => {
|
||||
const { t } = useTranslation("(home)/homeFeature");
|
||||
const features = t("features", { returnObjects: true });
|
||||
|
||||
return (
|
||||
<section className={`wpo-features-s2 section-padding ${props.sClass}`}>
|
||||
<div className="container">
|
||||
<SectionTitle subTitle={`STRENGTHENING AMERICA'S FUTURE`} Title={'How We Build Better Futures Together'} />
|
||||
<SectionTitle
|
||||
subTitle={t("sectionSubTitle")}
|
||||
Title={t("sectionTitle")}
|
||||
/>
|
||||
<div className="features-wrap">
|
||||
<div className="row">
|
||||
{featuresData.map((feature, index) => (
|
||||
{features.map((feature, index) => (
|
||||
<div className="col-lg-4 col-md-6 col-12" key={index}>
|
||||
<div className="feature-item">
|
||||
<div className="features-wrapper">
|
||||
@ -80,21 +92,18 @@ const ServiceSection = (props) => {
|
||||
<div className="dots"></div>
|
||||
</div>
|
||||
<img
|
||||
src={feature.img.src}
|
||||
alt={`${feature.title} icon`}
|
||||
className="feature-img"
|
||||
/>
|
||||
src={iconMap[index].src}
|
||||
alt={`${feature.title} icon`}
|
||||
className="feature-img"
|
||||
/>
|
||||
</div>
|
||||
<div className="feature-text">
|
||||
{/* <h2>
|
||||
<Link onClick={ClickHandler} href={feature.link}>
|
||||
{feature.title}
|
||||
</Link>
|
||||
</h2> */}
|
||||
<h2> {feature.title}</h2>
|
||||
{feature.description.length > 100
|
||||
? feature.description.slice(0, 100) + "..."
|
||||
: feature.description}
|
||||
<h2>{feature.title}</h2>
|
||||
<p>
|
||||
{feature.description.length > 100
|
||||
? feature.description.slice(0, 100) + "..."
|
||||
: feature.description}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -102,10 +111,9 @@ const ServiceSection = (props) => {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export default ServiceSection;
|
||||
@ -2,106 +2,69 @@ import React, { useState } from 'react';
|
||||
import Slider from "react-slick";
|
||||
import "slick-carousel/slick/slick.css";
|
||||
import "slick-carousel/slick/slick-theme.css";
|
||||
import ts1 from '/public/images/testimonial/1.png'
|
||||
import ts2 from '/public/images/testimonial/2.png'
|
||||
import ts3 from '/public/images/testimonial/3.png'
|
||||
|
||||
import thumb1 from '/public/images/testimonial/thumb1.png'
|
||||
import thumb2 from '/public/images/testimonial/thumb2.png'
|
||||
import thumb3 from '/public/images/testimonial/thumb3.png'
|
||||
import Image from 'next/image';
|
||||
import testiImage from '/public/images/home/quotes.webp'
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
import ts1 from '/public/images/testimonial/1.png';
|
||||
import ts2 from '/public/images/testimonial/2.png';
|
||||
import ts3 from '/public/images/testimonial/3.png';
|
||||
import testiImage from '/public/images/home/quotes.webp';
|
||||
|
||||
|
||||
const testimonial = [
|
||||
{
|
||||
id: '01',
|
||||
tImg: ts1,
|
||||
thumbImg: thumb1,
|
||||
Des: "Janahan Law turned my dream of living in the United States into reality. They handled every step of my green card process with precision and care, making a complex journey feel simple and stress-free. Today, my family and I are proud to call America our home.",
|
||||
Title: 'Robert Willum',
|
||||
Sub: "President of BPT",
|
||||
},
|
||||
{
|
||||
id: '01',
|
||||
tImg: ts2,
|
||||
thumbImg: thumb2,
|
||||
Des: "I had almost lost hope of bringing my spouse to the United States. Janahan Law not only explained every option clearly but also worked tirelessly to reunite us. Their dedication and expertise made the impossible possible, and now we’re building our life together in America.",
|
||||
Title: 'Leslie Alexander',
|
||||
Sub: "President of TBP",
|
||||
},
|
||||
{
|
||||
id: '01',
|
||||
tImg: ts3,
|
||||
thumbImg: thumb3,
|
||||
Des: "When I was facing the risk of deportation, I felt my whole world collapsing. Janahan Law stood by me like a lifeline — fighting for my case with unmatched dedication and compassion. Thanks to their expertise, I now have the security to build a future in the U.S. without fear.",
|
||||
Title: 'David Joy',
|
||||
Sub: "President of AML",
|
||||
}
|
||||
]
|
||||
const images = [ts1, ts2, ts3];
|
||||
|
||||
const Testimonial = (props) => {
|
||||
const { t } = useTranslation('(home)/testimonial');
|
||||
const [nav1, setNav1] = useState();
|
||||
const [nav2, setNav2] = useState();
|
||||
|
||||
const [nav1, setNav1] = useState();
|
||||
const [nav2, setNav2] = useState();
|
||||
const testimonials = t('testimonials', { returnObjects: true });
|
||||
|
||||
|
||||
return (
|
||||
<section className={`wpo-testimonial-section section-padding ${props.tmClass}`}>
|
||||
<div className="container">
|
||||
<div className="wpo-testimonial-wrap">
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-12 order-lg-1 order-2">
|
||||
<div className="testimonial-left">
|
||||
<div className="testimonial-left-inner">
|
||||
<div className="left-slide">
|
||||
|
||||
<div className="testimonial-img">
|
||||
<Image src={testiImage} alt="" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{/* <div className="shape-1"></div>
|
||||
<div className="border-s1"></div>
|
||||
<div className="border-s2"></div>
|
||||
<div className="border-s3"></div> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-12 order-lg-1 order-1">
|
||||
<div className="wpo-testimonial-items">
|
||||
<div className="right-slide">
|
||||
<Slider asNavFor={nav2} ref={(slider1) => setNav1(slider1)} dots={true} arrows={false}>
|
||||
{
|
||||
testimonial.map((tesmnl, tsm) => (
|
||||
<div className="wpo-testimonial-item" key={tsm}>
|
||||
<div className="wpo-testimonial-text">
|
||||
<i className="fi flaticon-right-quote-sign"></i>
|
||||
<p>“{tesmnl.Des}”</p>
|
||||
{/* <div className="wpo-testimonial-text-btm">
|
||||
<div className="wpo-testimonial-text-btm-img">
|
||||
<Image src={tesmnl.thumbImg} alt="" />
|
||||
</div>
|
||||
<div className="wpo-testimonial-text-btm-info">
|
||||
<h3>{tesmnl.Title}</h3>
|
||||
<span>{tesmnl.Sub}</span>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
))
|
||||
}
|
||||
</Slider>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
return (
|
||||
<section className={`wpo-testimonial-section section-padding ${props.tmClass}`}>
|
||||
<div className="container">
|
||||
<div className="wpo-testimonial-wrap">
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-12 order-lg-1 order-2">
|
||||
<div className="testimonial-left">
|
||||
<div className="testimonial-left-inner">
|
||||
<div className="left-slide">
|
||||
<div className="testimonial-img">
|
||||
<Image src={testiImage} alt="testimonial quote image" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
<div className="col-lg-6 col-12 order-lg-1 order-1">
|
||||
<div className="wpo-testimonial-items">
|
||||
<div className="right-slide">
|
||||
<Slider asNavFor={nav2} ref={(slider1) => setNav1(slider1)} dots={true} arrows={false}>
|
||||
{testimonials.map((item, index) => (
|
||||
<div className="wpo-testimonial-item" key={index}>
|
||||
<div className="wpo-testimonial-text">
|
||||
<i className="fi flaticon-right-quote-sign"></i>
|
||||
<p>“{item.description}”</p>
|
||||
{/* <div className="wpo-testimonial-text-btm">
|
||||
<div className="wpo-testimonial-text-btm-img">
|
||||
<Image src={images[index]} alt={item.name} />
|
||||
</div>
|
||||
<div className="wpo-testimonial-text-btm-info">
|
||||
<h3>{item.name}</h3>
|
||||
<span>{item.position}</span>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</Slider>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default Testimonial;
|
||||
@ -1,9 +1,16 @@
|
||||
import React from 'react'
|
||||
import sign from '/public/images/signeture.png'
|
||||
import React from 'react';
|
||||
import sign from '/public/images/signeture.png';
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
||||
const About = (props) => {
|
||||
const { t } = useTranslation('(home)/homeAbout');
|
||||
|
||||
// Ensure paragraphs is an array to avoid runtime errors
|
||||
const paragraphs = t('paragraphs', { returnObjects: true });
|
||||
const paragraphList = Array.isArray(paragraphs) ? paragraphs : [];
|
||||
|
||||
return (
|
||||
<section className={`wpo-about-section section-padding ${props.abClass}`}>
|
||||
<div className="container">
|
||||
@ -11,44 +18,7 @@ const About = (props) => {
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-md-12 col-12 order-2 order-lg-1">
|
||||
<div className="wpo-about-img">
|
||||
<Image src={props.introImg} alt="" />
|
||||
{/* <div className="wpo-about-img-text">
|
||||
<h4>1998</h4>
|
||||
|
||||
<div className="rotate-text">
|
||||
<span>W</span>
|
||||
<span>e</span>
|
||||
<span>A</span>
|
||||
<span>r</span>
|
||||
<span>e</span>
|
||||
<span>W</span>
|
||||
<span>o</span>
|
||||
<span>r</span>
|
||||
<span>k</span>
|
||||
<span>i</span>
|
||||
<span>n</span>
|
||||
<span>g</span>
|
||||
<span>F</span>
|
||||
<span>o</span>
|
||||
<span>r</span>
|
||||
<span>Y</span>
|
||||
<span>o</span>
|
||||
<span>u</span>
|
||||
<span>S</span>
|
||||
<span>i</span>
|
||||
<span>n</span>
|
||||
<span>c</span>
|
||||
<span>e</span>
|
||||
</div>
|
||||
<div className="dots">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div className="border-shape-1"></div>
|
||||
<div className="border-shape-2"></div>
|
||||
<div className="border-shape-3"></div>
|
||||
</div> */}
|
||||
<Image src={props.introImg} alt="About image" />
|
||||
<div className="about-shape">
|
||||
<div className="shape-1"></div>
|
||||
<div className="shape-2"></div>
|
||||
@ -57,22 +27,25 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="col-lg-6 col-md-12 col-12 order-1 order-lg-2 mb-5">
|
||||
<div className="wpo-about-text">
|
||||
<div className="wpo-section-title">
|
||||
<span>Expert Immigration Guidance</span>
|
||||
<h2>We Turn Immigration Challenges Into Success Stories</h2>
|
||||
<span>{t('expertGuidance')}</span>
|
||||
<h2>{t('mainTitle')}</h2>
|
||||
</div>
|
||||
<p>Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream. At Janahan law, we understand that behind every petition, application, and legal document is a real person with real dreams.</p>
|
||||
<p>Our comprehensive approach combines decades of legal expertise with genuine care for our clients' futures. Whether you're seeking to reunite with family, advance your career, or find safety and protection in America, we provide the skilled advocacy and personal attention your case deserves.
|
||||
</p>
|
||||
<p>
|
||||
From the initial consultation through the final approval, we stand with you every step of the way, ensuring no detail is overlooked and no opportunity is missed.
|
||||
</p>
|
||||
|
||||
{paragraphList.map((para, index) => (
|
||||
<p key={index}>{para}</p>
|
||||
))}
|
||||
|
||||
<div className="quote">
|
||||
<p>“We believe every family deserves the chance to stay together, every professional deserves to pursue their career, and every person deserves safety and opportunity.”</p>
|
||||
<p>{t('quote')}</p>
|
||||
</div>
|
||||
{/* <div className="wpo-about-left-info">
|
||||
|
||||
{/* Optional signature block */}
|
||||
{/*
|
||||
<div className="wpo-about-left-info">
|
||||
<div className="wpo-about-left-inner">
|
||||
<div className="wpo-about-left-text">
|
||||
<h5>Robert Willum</h5>
|
||||
@ -80,14 +53,14 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="signeture">
|
||||
<Image src={sign} alt="" />
|
||||
<Image src={sign} alt="Signature" />
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
*/}
|
||||
|
||||
<div className="close-form mt-5">
|
||||
<Link className="theme-btn" href="/about"><span className="text">Know More</span>
|
||||
{/* <span className="mobile">
|
||||
<i className="fi flaticon-charity"></i>
|
||||
</span> */}
|
||||
<Link className="theme-btn" href="/about">
|
||||
<span className="text">{t('buttonText')}</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
@ -96,7 +69,7 @@ const About = (props) => {
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default About;
|
||||
@ -1,11 +1,13 @@
|
||||
import React from 'react';
|
||||
import Image from 'next/image';
|
||||
import Ourapproach from '../../api/our-approach';
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// import Ourapproach from '../../api/our-approach';
|
||||
|
||||
const OurApproachSection = () => {
|
||||
const { t } = useTranslation('ourApproach')
|
||||
return (
|
||||
<>
|
||||
{Ourapproach.map((item, index) => {
|
||||
{ourApproach.map((item, index) => {
|
||||
const isEven = index % 2 !== 0;
|
||||
const sectionStyle = {
|
||||
backgroundColor: index % 2 === 0 ? '#fbfbfbff' : '#e8ebf5',
|
||||
@ -69,3 +71,4 @@ const OurApproachSection = () => {
|
||||
};
|
||||
|
||||
export default OurApproachSection;
|
||||
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
const { default: OurApproach } = require("./pages/our-approach");
|
||||
|
||||
module.exports = {
|
||||
i18n: {
|
||||
defaultLocale: 'es',
|
||||
locales: ['en', 'es'],
|
||||
localeDetection: false,
|
||||
},
|
||||
ns: ['common', 'menu', 'homeHero'],
|
||||
ns: ['common', 'menu', 'homeHero', 'home4Card'],
|
||||
defaultNS: 'common',
|
||||
// localePath: './public/locales',
|
||||
};
|
||||
@ -16,7 +18,7 @@ module.exports = {
|
||||
|
||||
|
||||
// Vidhya
|
||||
OurApproach
|
||||
|
||||
|
||||
// Alagu Raj
|
||||
// Alagu Raj - 'common', 'menu', 'home4card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction'
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ const HomePage = () => {
|
||||
<Features sClass={'wpo-service-section-s2'} />
|
||||
<About introImg={introImg} abClass={'wpo-about-section-s2'} />
|
||||
<ServiceSection />
|
||||
<FunFact fnTpClass={'funfact-wrap-sec'} fnClass={'wpo-fun-fact-section-s3'} />
|
||||
{/* <FunFact fnTpClass={'funfact-wrap-sec'} fnClass={'wpo-fun-fact-section-s3'} /> */}
|
||||
<ServiceSectionS2 />
|
||||
<Testimonial />
|
||||
<Donors />
|
||||
@ -40,7 +40,7 @@ export default HomePage;
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero'])), // Add 'home', 'footer', etc. if needed
|
||||
...(await serverSideTranslations(locale, ['common', 'menu', 'homeHero', 'home4Card', '(home)/homeAbout', '(home)/homeFeature', '(home)/testimonial', '(home)/homeCalltoAction'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import approach from '/public/images/about/our-approach-banner.webp';
|
||||
import Footer from '../../components/footer/Footer';
|
||||
import abimg from '/public/images/about-s2.jpg'
|
||||
import OurApproachSection from '../../components/our-approach/OurApproachSection';
|
||||
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
|
||||
|
||||
const OurApproach = () => {
|
||||
return (
|
||||
@ -19,3 +20,13 @@ const OurApproach = () => {
|
||||
)
|
||||
};
|
||||
export default OurApproach;
|
||||
|
||||
// ✅ This enables translations (menu, and more if you add other namespaces)
|
||||
export async function getStaticProps({ locale }) {
|
||||
return {
|
||||
props: {
|
||||
...(await serverSideTranslations(locale, ['common', 'menu'])), // Add 'home', 'footer', etc. if needed
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
11
public/locales/en/(home)/homeAbout.json
Normal file
11
public/locales/en/(home)/homeAbout.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"expertGuidance": "Expert Immigration Guidance",
|
||||
"mainTitle": "We Turn Immigration Challenges Into Success Stories",
|
||||
"paragraphs": [
|
||||
"Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream. At Janahan law, we understand that behind every petition, application, and legal document is a real person with real dreams.",
|
||||
"Our comprehensive approach combines decades of legal expertise with genuine care for our clients' futures. Whether you're seeking to reunite with family, advance your career, or find safety and protection in America, we provide the skilled advocacy and personal attention your case deserves.",
|
||||
"From the initial consultation through the final approval, we stand with you every step of the way, ensuring no detail is overlooked and no opportunity is missed."
|
||||
],
|
||||
"quote": "“We believe every family deserves the chance to stay together, every professional deserves to pursue their career, and every person deserves safety and opportunity.”",
|
||||
"buttonText": "Know More"
|
||||
}
|
||||
4
public/locales/en/(home)/homeCalltoAction.json
Normal file
4
public/locales/en/(home)/homeCalltoAction.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"donorsTitle": "Ready to take the first step toward your American future?",
|
||||
"donorsButton": "Call us Today"
|
||||
}
|
||||
18
public/locales/en/(home)/homeFeature.json
Normal file
18
public/locales/en/(home)/homeFeature.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"sectionSubTitle": "STRENGTHENING AMERICA'S FUTURE",
|
||||
"sectionTitle": "How We Build Better Futures Together",
|
||||
"features": [
|
||||
{
|
||||
"title": "Strategic Planning",
|
||||
"description": "We create custom legal strategies based on immigration law, policy changes, and your needs."
|
||||
},
|
||||
{
|
||||
"title": "Expert Preparation",
|
||||
"description": "Careful document preparation, evidence gathering, and filing to boost your application success."
|
||||
},
|
||||
{
|
||||
"title": "Ongoing Support",
|
||||
"description": "We monitor your case, provide updates, and represent you through your full immigration process."
|
||||
}
|
||||
]
|
||||
}
|
||||
19
public/locales/en/(home)/testimonial.json
Normal file
19
public/locales/en/(home)/testimonial.json
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
"testimonials": [
|
||||
{
|
||||
"description": "Janahan Law turned my dream of living in the United States into reality. They handled every step of my green card process with precision and care, making a complex journey feel simple and stress-free. Today, my family and I are proud to call America our home.",
|
||||
"name": "Robert Willum",
|
||||
"position": "President of BPT"
|
||||
},
|
||||
{
|
||||
"description": "I had almost lost hope of bringing my spouse to the United States. Janahan Law not only explained every option clearly but also worked tirelessly to reunite us. Their dedication and expertise made the impossible possible, and now we’re building our life together in America.",
|
||||
"name": "Leslie Alexander",
|
||||
"position": "President of TBP"
|
||||
},
|
||||
{
|
||||
"description": "When I was facing the risk of deportation, I felt my whole world collapsing. Janahan Law stood by me like a lifeline — fighting for my case with unmatched dedication and compassion. Thanks to their expertise, I now have the security to build a future in the U.S. without fear.",
|
||||
"name": "David Joy",
|
||||
"position": "President of AML"
|
||||
}
|
||||
]
|
||||
}
|
||||
18
public/locales/en/home4Card.json
Normal file
18
public/locales/en/home4Card.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"familyImmigration": {
|
||||
"sTitle": "Family Immigration",
|
||||
"description": "Reunite with loved ones via green cards, fiancé visas, and petitions from filing to processing."
|
||||
},
|
||||
"employmentVisas": {
|
||||
"sTitle": "Employment Visas",
|
||||
"description": "Build your U.S. career with H-1B, L-1, O-1, EB visas, expert support for professionals, investors."
|
||||
},
|
||||
"deportationDefense": {
|
||||
"sTitle": "Deportation Defense",
|
||||
"description": "Protect your stay with removal cancellation, asylum claims, and strong representation."
|
||||
},
|
||||
"citizenship": {
|
||||
"sTitle": "Citizenship Services",
|
||||
"description": "Achieve citizenship with naturalization help, test, and guidance on residency requirements."
|
||||
}
|
||||
}
|
||||
47
public/locales/en/ourApproach.json
Normal file
47
public/locales/en/ourApproach.json
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"ourApproach": [
|
||||
{
|
||||
"id": 1,
|
||||
"authorTitle": "STRATEGIC FOUNDATION",
|
||||
"title": "Comprehensive Case Analysis from Day One",
|
||||
"para": "Every successful immigration case begins with thorough analysis and strategic planning. We start each client relationship with comprehensive consultation to understand not only your immediate immigration needs but also your long-term goals in America. Our experienced attorneys examine all available pathways, identify potential challenges, and develop customized strategies that maximize your chances of success while minimizing delays and complications. This foundational approach ensures that every decision we make together serves your broader objectives of building a secure future in the United States.",
|
||||
"screens": "/images/our-approach/1.webp"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"authorTitle": "MODERN PRACTICE",
|
||||
"title": "Leveraging Technology for Better Outcomes",
|
||||
"para": "Immigration law practice has evolved dramatically with technological advancement, and we've embraced these changes to better serve our clients. Our firm utilizes cutting-edge case management systems, automated compliance monitoring, and secure digital communication platforms that keep you informed and engaged throughout your case. We employ advanced research tools to stay current with policy changes, use predictive analytics to optimize filing strategies, and provide clients with 24/7 access to case updates through our secure client portal. Technology enhances our ability to deliver precise, efficient, and responsive legal services.",
|
||||
"screens": "/images/our-approach/2.webp"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"authorTitle": "TEAM EXCELLENCE",
|
||||
"title": "Collaborative Expertise Across All Practice Areas",
|
||||
"para": "Complex immigration cases require diverse expertise and collaborative approach. Our multidisciplinary team includes attorneys specializing in family immigration, employment visas, deportation defense, and humanitarian protection, ensuring that every aspect of your case receives expert attention. We combine decades of collective experience with fresh perspectives, innovative thinking, and unwavering dedication to client success. Regular team consultations on challenging cases mean that you benefit from our entire firm's knowledge and experience, not just your assigned attorney.",
|
||||
"screens": "/images/our-approach/3.webp"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"authorTitle": "CLIENT PARTNERSHIP",
|
||||
"title": "Transparent Communication Every Step Forward",
|
||||
"para": "We believe that informed clients make better decisions and achieve better outcomes. Our approach emphasizes clear, frequent communication in a language you understand, whether that's English, Spanish, or another language spoken by our multilingual team. We explain complex legal concepts in plain terms, provide realistic timelines and expectations, and keep you updated on case progress and policy developments that might affect your situation. You're not just hiring lawyers - you're gaining partners who are invested in your success and committed to guiding you through every stage of the immigration process.",
|
||||
"screens": "/images/our-approach/4.webp"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"authorTitle": "PROACTIVE ADVOCACY",
|
||||
"title": "Anticipating Challenges Before They Arise",
|
||||
"para": "Successful immigration practice requires anticipating problems before they develop and preparing comprehensive responses to potential challenges. We continuously monitor policy changes, track processing trends, and maintain relationships with government officials to stay ahead of developments that might affect our clients' cases. Our proactive approach includes thorough document preparation, strategic timing of filings, and contingency planning for various scenarios. When challenges do arise, we're prepared with immediate responses that protect your interests and keep your case moving forward.",
|
||||
"screens": "/images/our-approach/5.webp"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"authorTitle": "LASTING RELATIONSHIPS",
|
||||
"title": "Supporting Your American Journey Beyond Case Completion",
|
||||
"para": "Our relationship with clients doesn't end when your case is approved. We understand that immigration is often a multi-step process involving family members, status changes, and evolving needs over time. We provide ongoing guidance for naturalization, help with adjustment issues, and remain available for future immigration needs as your life in America develops. Many of our clients return to us for green card renewals, citizenship applications, and petitions for family members. We take pride in being your trusted immigration counsel throughout your entire American journey.",
|
||||
"screens": "/images/our-approach/6.webp"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
11
public/locales/es/(home)/homeAbout.json
Normal file
11
public/locales/es/(home)/homeAbout.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"expertGuidance": "Guía Experta en Inmigración",
|
||||
"mainTitle": "Convertimos los desafíos de inmigración en historias de éxito",
|
||||
"paragraphs": [
|
||||
"Cada caso de inmigración cuenta una historia única de esperanza, determinación y la búsqueda del sueño americano. En Janahan law, entendemos que detrás de cada petición, solicitud y documento legal hay una persona real con sueños reales.",
|
||||
"Nuestro enfoque integral combina décadas de experiencia legal con un cuidado genuino por el futuro de nuestros clientes. Ya sea que busque reunirse con su familia, avanzar en su carrera o encontrar seguridad y protección en Estados Unidos, ofrecemos la defensa experta y la atención personal que su caso merece.",
|
||||
"Desde la consulta inicial hasta la aprobación final, estamos con usted en cada paso del camino, asegurándonos de que ningún detalle se pase por alto y ninguna oportunidad se pierda."
|
||||
],
|
||||
"quote": "“Creemos que cada familia merece la oportunidad de permanecer unida, cada profesional merece perseguir su carrera y cada persona merece seguridad y oportunidad.”",
|
||||
"buttonText": "Saber más"
|
||||
}
|
||||
4
public/locales/es/(home)/homeCalltoAction.json
Normal file
4
public/locales/es/(home)/homeCalltoAction.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"donorsTitle": "¿Listo para dar el primer paso hacia tu futuro en Estados Unidos?",
|
||||
"donorsButton": "Llámanos hoy"
|
||||
}
|
||||
18
public/locales/es/(home)/homeFeature.json
Normal file
18
public/locales/es/(home)/homeFeature.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"sectionSubTitle": "FORTALECIENDO EL FUTURO DE ESTADOS UNIDOS",
|
||||
"sectionTitle": "Cómo construimos mejores futuros juntos",
|
||||
"features": [
|
||||
{
|
||||
"title": "Planificación Estratégica",
|
||||
"description": "Creamos estrategias legales personalizadas basadas en la ley de inmigración, los cambios en las políticas y tus necesidades."
|
||||
},
|
||||
{
|
||||
"title": "Preparación Experta",
|
||||
"description": "Preparación cuidadosa de documentos, recopilación de pruebas y presentación para aumentar el éxito de tu solicitud."
|
||||
},
|
||||
{
|
||||
"title": "Apoyo Continuo",
|
||||
"description": "Monitoreamos tu caso, proporcionamos actualizaciones y te representamos durante todo tu proceso de inmigración."
|
||||
}
|
||||
]
|
||||
}
|
||||
19
public/locales/es/(home)/testimonial.json
Normal file
19
public/locales/es/(home)/testimonial.json
Normal file
@ -0,0 +1,19 @@
|
||||
{
|
||||
"testimonials": [
|
||||
{
|
||||
"description": "Janahan Law convirtió mi sueño de vivir en Estados Unidos en realidad. Manejaron cada paso de mi proceso de tarjeta verde con precisión y cuidado, haciendo que un camino complejo pareciera simple y sin estrés. Hoy, mi familia y yo estamos orgullosos de llamar hogar a América.",
|
||||
"name": "Robert Willum",
|
||||
"position": "Presidente de BPT"
|
||||
},
|
||||
{
|
||||
"description": "Casi había perdido la esperanza de traer a mi cónyuge a los Estados Unidos. Janahan Law no solo explicó cada opción con claridad, sino que también trabajó incansablemente para reunirnos. Su dedicación y experiencia hicieron posible lo imposible, y ahora estamos construyendo nuestra vida juntos en América.",
|
||||
"name": "Leslie Alexander",
|
||||
"position": "Presidente de TBP"
|
||||
},
|
||||
{
|
||||
"description": "Cuando enfrentaba el riesgo de deportación, sentí que mi mundo se derrumbaba. Janahan Law estuvo a mi lado como un salvavidas, luchando por mi caso con una dedicación y compasión inigualables. Gracias a su experiencia, ahora tengo la seguridad para construir un futuro en EE.UU. sin miedo.",
|
||||
"name": "David Joy",
|
||||
"position": "Presidente de AML"
|
||||
}
|
||||
]
|
||||
}
|
||||
18
public/locales/es/home4Card.json
Normal file
18
public/locales/es/home4Card.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"familyImmigration": {
|
||||
"sTitle": "Inmigración Familiar",
|
||||
"description": "Reúnase con sus seres queridos mediante tarjetas verdes, visas de prometido y peticiones."
|
||||
},
|
||||
"employmentVisas": {
|
||||
"sTitle": "Visas de Trabajo",
|
||||
"description": "Desarrolle su carrera en EE.UU. con visas H-1B, L-1, O-1, EB y apoyo experto."
|
||||
},
|
||||
"deportationDefense": {
|
||||
"sTitle": "Defensa Contra Deportación",
|
||||
"description": "Proteja su estadía con cancelación de remoción, solicitudes de asilo y representación legal."
|
||||
},
|
||||
"citizenship": {
|
||||
"sTitle": "Servicios de Ciudadanía",
|
||||
"description": "Logre la ciudadanía con ayuda en naturalización, pruebas y requisitos de residencia."
|
||||
}
|
||||
}
|
||||
46
public/locales/es/ourApproach.json
Normal file
46
public/locales/es/ourApproach.json
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"ourApproach": [
|
||||
{
|
||||
"id": 1,
|
||||
"authorTitle": "BASE ESTRATÉGICA",
|
||||
"title": "Análisis Completo del Caso Desde el Primer Día",
|
||||
"para": "Cada caso de inmigración exitoso comienza con un análisis exhaustivo y una planificación estratégica. Iniciamos cada relación con el cliente con una consulta integral para entender no solo sus necesidades inmediatas de inmigración sino también sus objetivos a largo plazo en Estados Unidos. Nuestros abogados experimentados examinan todos los caminos disponibles, identifican posibles desafíos y desarrollan estrategias personalizadas que maximizan sus posibilidades de éxito mientras minimizan retrasos y complicaciones. Este enfoque fundamental garantiza que cada decisión que tomemos juntos sirva a sus objetivos más amplios de construir un futuro seguro en Estados Unidos.",
|
||||
"screens": "/images/our-approach/1.webp"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"authorTitle": "PRÁCTICA MODERNA",
|
||||
"title": "Aprovechando la Tecnología para Mejores Resultados",
|
||||
"para": "La práctica del derecho migratorio ha evolucionado drásticamente con los avances tecnológicos, y hemos adoptado estos cambios para servir mejor a nuestros clientes. Nuestra firma utiliza sistemas de gestión de casos de última generación, monitoreo automatizado de cumplimiento y plataformas digitales seguras de comunicación que le mantienen informado y comprometido durante todo su caso. Empleamos herramientas avanzadas de investigación para mantenernos al día con los cambios de políticas, usamos análisis predictivo para optimizar las estrategias de presentación y brindamos a los clientes acceso 24/7 a actualizaciones de casos a través de nuestro portal seguro para clientes. La tecnología mejora nuestra capacidad para ofrecer servicios legales precisos, eficientes y sensibles.",
|
||||
"screens": "/images/our-approach/2.webp"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"authorTitle": "EXCELENCIA EN EQUIPO",
|
||||
"title": "Experiencia Colaborativa en Todas las Áreas de Práctica",
|
||||
"para": "Los casos complejos de inmigración requieren experiencia diversa y un enfoque colaborativo. Nuestro equipo multidisciplinar incluye abogados especializados en inmigración familiar, visas de empleo, defensa contra deportaciones y protección humanitaria, asegurando que cada aspecto de su caso reciba atención experta. Combinamos décadas de experiencia colectiva con nuevas perspectivas, pensamiento innovador y dedicación inquebrantable al éxito del cliente. Las consultas regulares del equipo sobre casos difíciles garantizan que usted se beneficie del conocimiento y experiencia de toda nuestra firma, no solo de su abogado asignado.",
|
||||
"screens": "/images/our-approach/3.webp"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"authorTitle": "ASOCIACIÓN CON EL CLIENTE",
|
||||
"title": "Comunicación Transparente en Cada Paso",
|
||||
"para": "Creemos que los clientes informados toman mejores decisiones y logran mejores resultados. Nuestro enfoque enfatiza una comunicación clara y frecuente en un idioma que usted entienda, ya sea inglés, español u otro idioma hablado por nuestro equipo multilingüe. Explicamos conceptos legales complejos en términos sencillos, proporcionamos cronogramas y expectativas realistas, y le mantenemos actualizado sobre el progreso del caso y las políticas que podrían afectar su situación. No solo contrata abogados, sino socios comprometidos con su éxito y dedicados a guiarle en cada etapa del proceso migratorio.",
|
||||
"screens": "/images/our-approach/4.webp"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"authorTitle": "DEFENSA PROACTIVA",
|
||||
"title": "Anticipándose a los Desafíos Antes de que Surjan",
|
||||
"para": "El éxito en la práctica migratoria requiere anticipar problemas antes de que se desarrollen y preparar respuestas integrales a posibles desafíos. Monitorizamos continuamente los cambios de políticas, seguimos las tendencias de procesamiento y mantenemos relaciones con funcionarios gubernamentales para anticiparnos a desarrollos que podrían afectar los casos de nuestros clientes. Nuestro enfoque proactivo incluye una preparación minuciosa de documentos, cronogramas estratégicos para las presentaciones y planificación de contingencias para varios escenarios. Cuando surgen desafíos, estamos preparados con respuestas inmediatas que protegen sus intereses y mantienen su caso en movimiento.",
|
||||
"screens": "/images/our-approach/5.webp"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"authorTitle": "RELACIONES DURADERAS",
|
||||
"title": "Apoyando su Viaje Americano Más Allá de la Finalización del Caso",
|
||||
"para": "Nuestra relación con los clientes no termina cuando su caso es aprobado. Entendemos que la inmigración a menudo es un proceso de múltiples etapas que involucra a miembros de la familia, cambios de estatus y necesidades cambiantes a lo largo del tiempo. Ofrecemos orientación continua para la naturalización, ayuda con cuestiones de ajuste y permanecemos disponibles para futuras necesidades migratorias a medida que su vida en Estados Unidos se desarrolla. Muchos de nuestros clientes regresan para renovar tarjetas de residencia, solicitudes de ciudadanía y peticiones para miembros familiares. Nos enorgullece ser su asesor migratorio de confianza durante todo su viaje americano.",
|
||||
"screens": "/images/our-approach/6.webp"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -99,3 +99,7 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wpo-features-s2{
|
||||
padding: 0;
|
||||
}
|
||||
@ -2114,3 +2114,70 @@
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.home-call-to-action h3 {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 46px;
|
||||
line-height: 58px;
|
||||
color: $white;
|
||||
margin: 0 0 0.2em;
|
||||
font-family: $heading-font;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
text-align: start;
|
||||
|
||||
@include media-query(1200px) {
|
||||
font-size: 50px;
|
||||
ont-size: calc-rem-value(50);
|
||||
}
|
||||
|
||||
@include media-query(991px) {
|
||||
font-size: 40px;
|
||||
font-size: calc-rem-value(40);
|
||||
}
|
||||
|
||||
@include media-query(767px) {
|
||||
font-size: 35px;
|
||||
font-size: calc-rem-value(35);
|
||||
}
|
||||
|
||||
span {
|
||||
font-family: $heading-font;
|
||||
}
|
||||
}
|
||||
|
||||
.donors-btn {
|
||||
text-align: right;
|
||||
|
||||
@media(max-width:991px) {
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
@media(max-width:575px) {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
a {
|
||||
padding: 15px 20px;
|
||||
background: $dark-gray;
|
||||
font-weight: 700;
|
||||
font-size: 20px;
|
||||
line-height: 27px;
|
||||
text-align: center;
|
||||
color: $white;
|
||||
border-radius: 10px;
|
||||
|
||||
@media(max-width:575px) {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
&+a {
|
||||
margin-left: 10px;
|
||||
background: $white;
|
||||
color: $theme-primary-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user