Header, Footer, Contact, mission, our approach, racial justice image updated

This commit is contained in:
vidhubk 2025-08-14 13:34:35 +05:30
parent 49518a8598
commit 67494d8d74
29 changed files with 137 additions and 31 deletions

View File

@ -4,42 +4,42 @@ const Ourapproach = [
authorTitle: "STRATEGIC FOUNDATION", authorTitle: "STRATEGIC FOUNDATION",
title: "Comprehensive Case Analysis from Day One", 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.", 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/funfact.jpg" screens: "/images/our-approach/1.webp"
}, },
{ {
id: 2, id: 2,
authorTitle: "MODERN PRACTICE", authorTitle: "MODERN PRACTICE",
title: "Leveraging Technology for Better Outcomes", 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.", 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/funfact.jpg" screens: "/images/our-approach/2.webp"
}, },
{ {
id: 3, id: 3,
authorTitle: "TEAM EXCELLENCE", authorTitle: "TEAM EXCELLENCE",
title: "Collaborative Expertise Across All Practice Areas", 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.", 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/funfact.jpg" screens: "/images/our-approach/3.webp"
}, },
{ {
id: 4, id: 4,
authorTitle: "CLIENT PARTNERSHIP", authorTitle: "CLIENT PARTNERSHIP",
title: "Transparent Communication Every Step Forward", 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.", 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/funfact.jpg" screens: "/images/our-approach/4.webp"
}, },
{ {
id: 5, id: 5,
authorTitle: "PROACTIVE ADVOCACY", authorTitle: "PROACTIVE ADVOCACY",
title: "Anticipating Challenges Before They Arise", 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.", 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/funfact.jpg" screens: "/images/our-approach/5.webp"
}, },
{ {
id: 6, id: 6,
authorTitle: "LASTING RELATIONSHIPS", authorTitle: "LASTING RELATIONSHIPS",
title: "Supporting Your American Journey Beyond Case Completion", 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.", 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/funfact.jpg" screens: "/images/our-approach/6.webp"
} }
]; ];

View File

@ -22,7 +22,7 @@ const ContactForm = () => {
const recaptchaRef = useRef(null); const recaptchaRef = useRef(null);
const [recaptchaToken, setRecaptchaToken] = useState(null); const [recaptchaToken, setRecaptchaToken] = useState(null);
const RECAPTCHA_SITEKEY = "your_recaptcha_site_key_here"; const RECAPTCHA_SITEKEY = "6Lc5wKUrAAAAAKqIviSUY2PsqLQ8Bq8CJJaHFA_f";
const changeHandler = (e) => { const changeHandler = (e) => {
const { name, value } = e.target; const { name, value } = e.target;

View File

@ -56,8 +56,7 @@ const Contactpage = () => {
</div> </div>
<div className="wpo-contact-title"> <div className="wpo-contact-title">
<h2>Have Any Question?</h2> <h2>Have Any Question?</h2>
<p>It is a long established fact that a reader will be distracted <p>Were here to help with all your U.S. immigration and legal needs contact Janahan Law for trusted guidance today.</p>
content of a page when looking.</p>
</div> </div>
<div className="wpo-contact-form-area"> <div className="wpo-contact-form-area">
<ContactForm/> <ContactForm/>

View File

@ -32,7 +32,7 @@ const HeaderTopbar = () => {
</div> </div>
</div> </div>
<div className="contact-info"> <div className="contact-info">
<Link className="theme-btn" href="/donate">Donate Now</Link> <Link className="theme-btn" href="/contact">Contact Us</Link>
</div> </div>
</div> </div>
</div> </div>

View File

@ -95,11 +95,11 @@ const Footer = (props) => {
<i className="fi flaticon-instagram-1"></i> <i className="fi flaticon-instagram-1"></i>
</Link> </Link>
</li> </li>
<li> {/* <li>
<Link onClick={ClickHandler} href="/"> <Link onClick={ClickHandler} href="/">
<i className="fi flaticon-pinterest"></i> <i className="fi flaticon-pinterest"></i>
</Link> </Link>
</li> </li> */}
</ul> </ul>
</div> </div>
</div> </div>
@ -110,13 +110,13 @@ const Footer = (props) => {
</div> </div>
<div className="wpo-lower-footer"> <div className="wpo-lower-footer">
<div className="container"> <div className="container">
<div className="row align-items-center"> <div className="row text-center align-items-center">
<div className="col col-lg-6 col-md-12 col-12"> <div className="col col-lg-12 col-md-12 col-12">
<ul> <ul>
<li>&copy; 2023 <Link onClick={ClickHandler} href="/">Politian</Link>. All rights reserved.</li> <li>Copyright {new Date().getFullYear()} © Janahan Law. Powered by <a href="https://metatroncubesolutions.com/">MetatronCube</a>. All Right Reserved.{new Date().getFullYear()}</li>
</ul> </ul>
</div> </div>
<div className="col col-lg-6 col-md-12 col-12"> {/* <div className="col col-lg-6 col-md-12 col-12">
<div className="link"> <div className="link">
<ul> <ul>
<li><Link onClick={ClickHandler} href="/privacy">Privace & Policy</Link></li> <li><Link onClick={ClickHandler} href="/privacy">Privace & Policy</Link></li>
@ -126,7 +126,7 @@ const Footer = (props) => {
<li><Link onClick={ClickHandler} href="/volunteer">Volunteer</Link></li> <li><Link onClick={ClickHandler} href="/volunteer">Volunteer</Link></li>
</ul> </ul>
</div> </div>
</div> </div> */}
</div> </div>
</div> </div>
</div> </div>

View File

@ -33,18 +33,20 @@ const Header2 = (props) => {
alt="logo" /></Link> alt="logo" /></Link>
</div> </div>
</div> </div>
<div className="col col-lg-7 col-md-1 col-1"> <div className="col col-lg-7 col-md-1 col-1">
<div id="navbar" className="collapse navbar-collapse navigation-holder"> <div id="navbar" className="collapse navbar-collapse navigation-holder">
<button className="menu-close"><i className="ti-close"></i></button> <button className="menu-close"><i className="ti-close"></i></button>
<ul className="nav navbar-nav mb-2 mb-lg-0"> <ul className="nav navbar-nav mb-2 mb-lg-0">
<li className="menu-item-has-children"> {/* <li className="menu-item-has-children"> */}
<li>
<Link onClick={ClickHandler} href="/">Home</Link> <Link onClick={ClickHandler} href="/">Home</Link>
<ul className="sub-menu"> {/* <ul className="sub-menu">
<li><Link onClick={ClickHandler} href="/home">Main Home</Link></li> <li><Link onClick={ClickHandler} href="/home">Main Home</Link></li>
<li><Link onClick={ClickHandler} href="/home2">Election Home</Link></li> <li><Link onClick={ClickHandler} href="/home2">Election Home</Link></li>
<li><Link onClick={ClickHandler} href="/home3">Male Candidate</Link></li> <li><Link onClick={ClickHandler} href="/home3">Male Candidate</Link></li>
<li><Link onClick={ClickHandler} href="/home4">Female Candidate</Link></li> <li><Link onClick={ClickHandler} href="/home4">Female Candidate</Link></li>
</ul> </ul> */}
</li> </li>
<li><Link onClick={ClickHandler} href="/our-approach">Our Approach</Link></li> <li><Link onClick={ClickHandler} href="/our-approach">Our Approach</Link></li>
<li><Link onClick={ClickHandler} href="/about">About us</Link> <li><Link onClick={ClickHandler} href="/about">About us</Link>
@ -114,7 +116,7 @@ const Header2 = (props) => {
</div> </div>
<div className="col-lg-5 col-md-2 col-2"> <div className="col-lg-5 col-md-2 col-2">
<div className="header-right"> <div className="header-right">
<div className="header-search-form-wrapper"> {/* <div className="header-search-form-wrapper">
<div className="cart-search-contact"> <div className="cart-search-contact">
<button onClick={() => setMenuState(!menuActive)} className="search-toggle-btn"><i <button onClick={() => setMenuState(!menuActive)} className="search-toggle-btn"><i
className={`fi ti-search ${menuActive ? "ti-close" : "fi "}`}></i></button> className={`fi ti-search ${menuActive ? "ti-close" : "fi "}`}></i></button>
@ -129,15 +131,15 @@ const Header2 = (props) => {
</form> </form>
</div> </div>
</div> </div>
</div> </div> */}
<div className="language"> {/* <div className="language">
<select name="language" id="language"> <select name="language" id="language">
<option value="English">English</option> <option value="English">English</option>
<option value="Arabic">Arabic</option> <option value="Arabic">Arabic</option>
<option value="Japanese">Japanese</option> <option value="Japanese">Japanese</option>
<option value="Spanish">Spanish</option> <option value="Spanish">Spanish</option>
</select> </select>
</div> </div> */}
<div className="social"> <div className="social">
<ul> <ul>
<li><Link href="/"><i className="fi flaticon-facebook-app-symbol"></i></Link></li> <li><Link href="/"><i className="fi flaticon-facebook-app-symbol"></i></Link></li>

View File

@ -14,7 +14,7 @@ const OurMission = () => {
style={{ width: "100%", height: "auto", overflow: "hidden" }} style={{ width: "100%", height: "auto", overflow: "hidden" }}
> >
<img <img
src="/images/blog/img-4.jpg" src="/images/our-mission/section-1.png"
alt="" alt=""
/> />
</div> </div>
@ -52,10 +52,10 @@ const OurMission = () => {
<div className="gallery"> <div className="gallery">
<div> <div>
<img src="/images/blog/img-3.jpg" alt="" /> <img src="/images/our-mission/section-2-1.png" alt="" />
</div> </div>
<div> <div>
<img src="/images/blog/img-2.jpg" alt="" /> <img src="/images/our-mission/section-2-2.png" alt="" />
</div> </div>
</div> </div>
<p className='mt-4'> <p className='mt-4'>

View File

@ -14,7 +14,7 @@ const RacialJustice = () => {
style={{ width: "100%", height: "auto", overflow: "hidden" }} style={{ width: "100%", height: "auto", overflow: "hidden" }}
> >
<img <img
src="/images/blog/img-4.jpg" src="/images/racial-justice/section-1.webp"
alt="" alt=""
/> />
</div> </div>
@ -50,10 +50,10 @@ const RacialJustice = () => {
<div className="gallery"> <div className="gallery">
<div> <div>
<img src="/images/blog/img-3.jpg" alt="" /> <img src="/images/racial-justice/section-2-1.webp" alt="" />
</div> </div>
<div> <div>
<img src="/images/blog/img-2.jpg" alt="" /> <img src="/images/racial-justice/section-2-2.webp" alt="" />
</div> </div>
</div> </div>
<p className='mt-4'> <p className='mt-4'>

105
package-lock.json generated
View File

@ -6695,6 +6695,81 @@
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
},
"node_modules/@next/swc-android-arm-eabi": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.7.tgz",
"integrity": "sha512-QTEamOK/LCwBf05GZ261rULMbZEpE3TYdjHlXfznV+nXwTztzkBNFXwP67gv2wW44BROzgi/vrR9H8oP+J5jxg==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-android-arm64": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.7.tgz",
"integrity": "sha512-wcy2H0Tl9ME8vKy2GnJZ7Mybwys+43F/Eh2Pvph7mSDpMbYBJ6iA0zeY62iYYXxlZhnAID3+h79FUqUEakkClw==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-freebsd-x64": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.7.tgz",
"integrity": "sha512-92XAMzNgQazowZ9t7uZmHRA5VdBl/SwEdrf5UybdfRovsxB4r3+yJWEvFaqYpSEp0gwndbwLokJdpz7OwFdL3Q==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-arm-gnueabihf": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.7.tgz",
"integrity": "sha512-3r1CWl5P6I5n5Yxip8EXv/Rfu2Cp6wVmIOpvmczyUR82j+bcMkwPAcUjNkG/vMCagS4xV7NElrcdGb39iFmfLg==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-win32-ia32-msvc": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.7.tgz",
"integrity": "sha512-RNLXIhp+assD39dQY9oHhDxw+/qSJRARKhOFsHfOtf8yEfCHqcKkn3X/L+ih60ntaEqK294y1WkMk6ylotsxwA==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
} }
}, },
"dependencies": { "dependencies": {
@ -11265,6 +11340,36 @@
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"peer": true "peer": true
},
"@next/swc-android-arm-eabi": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.7.tgz",
"integrity": "sha512-QTEamOK/LCwBf05GZ261rULMbZEpE3TYdjHlXfznV+nXwTztzkBNFXwP67gv2wW44BROzgi/vrR9H8oP+J5jxg==",
"optional": true
},
"@next/swc-android-arm64": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.7.tgz",
"integrity": "sha512-wcy2H0Tl9ME8vKy2GnJZ7Mybwys+43F/Eh2Pvph7mSDpMbYBJ6iA0zeY62iYYXxlZhnAID3+h79FUqUEakkClw==",
"optional": true
},
"@next/swc-freebsd-x64": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.7.tgz",
"integrity": "sha512-92XAMzNgQazowZ9t7uZmHRA5VdBl/SwEdrf5UybdfRovsxB4r3+yJWEvFaqYpSEp0gwndbwLokJdpz7OwFdL3Q==",
"optional": true
},
"@next/swc-linux-arm-gnueabihf": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.7.tgz",
"integrity": "sha512-3r1CWl5P6I5n5Yxip8EXv/Rfu2Cp6wVmIOpvmczyUR82j+bcMkwPAcUjNkG/vMCagS4xV7NElrcdGb39iFmfLg==",
"optional": true
},
"@next/swc-win32-ia32-msvc": {
"version": "13.0.7",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.7.tgz",
"integrity": "sha512-RNLXIhp+assD39dQY9oHhDxw+/qSJRARKhOFsHfOtf8yEfCHqcKkn3X/L+ih60ntaEqK294y1WkMk6ylotsxwA==",
"optional": true
} }
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB