home page content updated and next js version updated
This commit is contained in:
parent
80980f5024
commit
575813a189
@ -33,9 +33,9 @@ const Services = [
|
|||||||
{
|
{
|
||||||
Id: '1',
|
Id: '1',
|
||||||
sImgS: sImgS1,
|
sImgS: sImgS1,
|
||||||
sTitle: 'Economic Establishment',
|
sTitle: 'Family Immigration',
|
||||||
slug:'Economic-Establishment',
|
slug: 'family-immigration',
|
||||||
description:'It is enough that the people know there was an election. The people who cast the votes decide nothing.',
|
description: 'Reunite with loved ones through marriage-based green cards, fiancé visas, and family preference petitions. We handle every step from petition filing to consular processing.',
|
||||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
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',
|
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',
|
||||||
icon: 'flaticon-credit',
|
icon: 'flaticon-credit',
|
||||||
@ -45,9 +45,9 @@ const Services = [
|
|||||||
{
|
{
|
||||||
Id: '2',
|
Id: '2',
|
||||||
sImgS: sImgS2,
|
sImgS: sImgS2,
|
||||||
sTitle: 'Jobs and Unemployment',
|
sTitle: 'Employment Visas',
|
||||||
slug:'Jobs-and-Unemployment',
|
slug: 'employment-visas',
|
||||||
description:'It is enough that the people know there was an election. The people who cast the votes decide nothing.',
|
description: 'Secure your career in America with H-1B, L-1, O-1 visas, or permanent residency through EB-1, EB-2, and EB-3 categories. Expert guidance for professionals and investors.',
|
||||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
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',
|
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',
|
||||||
icon: 'flaticon-job',
|
icon: 'flaticon-job',
|
||||||
@ -57,9 +57,9 @@ const Services = [
|
|||||||
{
|
{
|
||||||
Id: '3',
|
Id: '3',
|
||||||
sImgS: sImgS3,
|
sImgS: sImgS3,
|
||||||
sTitle: 'Business and Industry',
|
sTitle: 'Deportation Defense',
|
||||||
slug:'Business-and-Industry',
|
slug: 'deportation-defense',
|
||||||
description:'It is enough that the people know there was an election. The people who cast the votes decide nothing.',
|
description: 'Protect your right to remain in America. Our aggressive defense strategies include cancellation of removal, asylum claims, and appellate representation.',
|
||||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
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',
|
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',
|
||||||
icon: 'flaticon-team-work',
|
icon: 'flaticon-team-work',
|
||||||
@ -69,9 +69,9 @@ const Services = [
|
|||||||
{
|
{
|
||||||
Id: '4',
|
Id: '4',
|
||||||
sImgS: sImgS4,
|
sImgS: sImgS4,
|
||||||
sTitle: 'Roads and Transport Service',
|
sTitle: 'Citizenship Services',
|
||||||
slug:'Roads-and-Transport-Service',
|
slug: 'citizenship-services',
|
||||||
description:'It is enough that the people know there was an election. The people who cast the votes decide nothing.',
|
description: 'Complete your American journey with naturalization guidance, citizenship test preparation, and assistance with complex residency requirements.',
|
||||||
des2: 'Lacus, etiam sed est eu tempus need Temer diam congue laoret .',
|
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',
|
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',
|
||||||
icon: 'flaticon-bus',
|
icon: 'flaticon-bus',
|
||||||
|
|||||||
@ -13,13 +13,12 @@ const Donors = () => {
|
|||||||
<div className="wpo-donors-wrap">
|
<div className="wpo-donors-wrap">
|
||||||
<div className="row align-items-center">
|
<div className="row align-items-center">
|
||||||
<div className="col-lg-6">
|
<div className="col-lg-6">
|
||||||
<h2>Would you like to become one of
|
<h2>Ready to take the first step toward your American future?</h2>
|
||||||
our honorable donors?</h2>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-6">
|
<div className="col-lg-6">
|
||||||
<div className="donors-btn">
|
<div className="donors-btn">
|
||||||
<Link onClick={ClickHandler} href="/donate">$10 Donation</Link>
|
{/* <Link onClick={ClickHandler} href="/donate">$10 Donation</Link> */}
|
||||||
<Link onClick={ClickHandler} href="/donate">Other</Link>
|
<Link href="/contact">Call us Today</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -70,7 +70,7 @@ const Features = (props) => {
|
|||||||
<SectionTitle subTitle={'Mission And Vision'} Title={'How we can build a better country together!'} />
|
<SectionTitle subTitle={'Mission And Vision'} Title={'How we can build a better country together!'} />
|
||||||
<div className="row-grid wpo-service-slider">
|
<div className="row-grid wpo-service-slider">
|
||||||
<Slider {...settings}>
|
<Slider {...settings}>
|
||||||
{Services.slice(0, 5).map((service, srv) => (
|
{Services.slice(0, 4).map((service, srv) => (
|
||||||
<div className="grid" key={srv}>
|
<div className="grid" key={srv}>
|
||||||
<div className="wpo-service-item">
|
<div className="wpo-service-item">
|
||||||
<div className="wpo-service-text">
|
<div className="wpo-service-text">
|
||||||
@ -78,7 +78,11 @@ const Features = (props) => {
|
|||||||
<i className={`fi ${service.icon}`}></i>
|
<i className={`fi ${service.icon}`}></i>
|
||||||
</div>
|
</div>
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
||||||
<p>{service.description}</p>
|
<p>
|
||||||
|
{service.description.length > 100
|
||||||
|
? service.description.slice(0, 100) + "..."
|
||||||
|
: service.description}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,70 +1,67 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import Link from 'next/link'
|
import Link from "next/link";
|
||||||
|
|
||||||
const ClickHandler = () => {
|
const ClickHandler = () => {
|
||||||
window.scrollTo(10, 0);
|
window.scrollTo(10, 0);
|
||||||
}
|
};
|
||||||
|
|
||||||
const Features2 = (props) => {
|
const featuresData = [
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-charity",
|
||||||
|
title: "Make Donation",
|
||||||
|
link: "/team",
|
||||||
|
description:
|
||||||
|
"Donate now to help those in need! Make a difference by taking action with your donation."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-conference-1",
|
||||||
|
title: "Campaign Events",
|
||||||
|
link: "/campaign",
|
||||||
|
description:
|
||||||
|
"Join us in supporting a worthy cause at our charity event, together we can make a difference."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-community",
|
||||||
|
title: "Join Volunteer",
|
||||||
|
link: "/volunteer",
|
||||||
|
description:
|
||||||
|
"Join our team of volunteers and help make a positive impact in your community today.."
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const Features2 = () => {
|
||||||
return (
|
return (
|
||||||
<div className="wpo-features-s2 section-padding pb-0">
|
<div className="wpo-features-s2 section-padding">
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="features-wrap">
|
<div className="features-wrap">
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-lg-4 col-md-6 col-12">
|
{featuresData.map((feature, index) => (
|
||||||
|
<div className="col-lg-4 col-md-6 col-12" key={index}>
|
||||||
<div className="feature-item">
|
<div className="feature-item">
|
||||||
<div className="features-wrapper">
|
<div className="features-wrapper">
|
||||||
<div className="icon">
|
<div className="icon">
|
||||||
<div className="features-dot">
|
<div className="features-dot">
|
||||||
<div className="dots"></div>
|
<div className="dots"></div>
|
||||||
</div>
|
</div>
|
||||||
<i className="fi flaticon-charity"></i>
|
<i className={feature.icon}></i>
|
||||||
</div>
|
</div>
|
||||||
<div className="feature-text">
|
<div className="feature-text">
|
||||||
<h2><Link onClick={ClickHandler} href="/team">Make Donation</Link></h2>
|
<h2>
|
||||||
<p>Donate now to help those in need! Make a difference by taking action with
|
<Link onClick={ClickHandler} href={feature.link}>
|
||||||
your donation.</p>
|
{feature.title}
|
||||||
|
</Link>
|
||||||
|
</h2>
|
||||||
|
<p>{feature.description}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-4 col-md-6 col-12">
|
))}
|
||||||
<div className="feature-item">
|
|
||||||
<div className="features-wrapper">
|
|
||||||
<div className="icon">
|
|
||||||
<div className="features-dot">
|
|
||||||
<div className="dots"></div>
|
|
||||||
</div>
|
|
||||||
<i className="fi flaticon-conference-1"></i>
|
|
||||||
</div>
|
|
||||||
<div className="feature-text">
|
|
||||||
<h2><Link onClick={ClickHandler} href="/campaign">Campaign Events</Link></h2>
|
|
||||||
<p>Join us in supporting a worthy cause at our charity event, together we can make a difference.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-4 col-md-6 col-12">
|
);
|
||||||
<div className="feature-item">
|
};
|
||||||
<div className="features-wrapper">
|
|
||||||
<div className="icon">
|
|
||||||
<div className="features-dot">
|
|
||||||
<div className="dots"></div>
|
|
||||||
</div>
|
|
||||||
<i className="fi flaticon-community"></i>
|
|
||||||
</div>
|
|
||||||
<div className="feature-text">
|
|
||||||
<h2><Link onClick={ClickHandler} href="/volunteer">Join Volunteer</Link></h2>
|
|
||||||
<p>Join our team of volunteers and help make a positive impact in your community today..</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Features2;
|
export default Features2;
|
||||||
@ -23,26 +23,26 @@ const FunFact = (props) => {
|
|||||||
<div className="wpo-fun-fact-grids clearfix">
|
<div className="wpo-fun-fact-grids clearfix">
|
||||||
<div className="grid">
|
<div className="grid">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<h3><span><CountUp end={35} enableScrollSpy /></span>K</h3>
|
<h3><span><CountUp end={98} enableScrollSpy /></span>%</h3>
|
||||||
<p>Total People lived in our city</p>
|
<p>Case Success Rate</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid">
|
<div className="grid">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<h3><span><CountUp end={12} enableScrollSpy /></span>K</h3>
|
<h3><span><CountUp end={2500} enableScrollSpy /></span>+</h3>
|
||||||
<p>Square kilometers region covers</p>
|
<p> Families Reunited</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid">
|
<div className="grid">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<h3><span><CountUp end={25} enableScrollSpy /></span>%</h3>
|
<h3><span><CountUp end={25} enableScrollSpy /></span>yrs</h3>
|
||||||
<p>Private & domestic garden land</p>
|
<p>Years Fighting for You</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid">
|
<div className="grid">
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<h3><span><CountUp end={8} enableScrollSpy /></span>th</h3>
|
<h3><span><CountUp end={90} enableScrollSpy /></span>%</h3>
|
||||||
<p>Average Costs of Home Ownership</p>
|
<p>Cases Approved on First Try</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import "slick-carousel/slick/slick-theme.css";
|
|||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import SectionTitle from "../SectionTitle/SectionTitle";
|
import SectionTitle from "../SectionTitle/SectionTitle";
|
||||||
import Services from '../../api/service'
|
import Services from '../../api/service'
|
||||||
|
import { featuresData, homeFeature } from "../../utils/constant.utils";
|
||||||
|
|
||||||
|
|
||||||
const settings = {
|
const settings = {
|
||||||
@ -65,27 +66,39 @@ const ClickHandler = () => {
|
|||||||
|
|
||||||
const ServiceSection = (props) => {
|
const ServiceSection = (props) => {
|
||||||
return (
|
return (
|
||||||
<section className={`wpo-service-section section-padding3 ${props.sClass}`}>
|
<section className={`wpo-features-s2 section-padding ${props.sClass}`}>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<SectionTitle subTitle={'Mission And Vision'} Title={'How we can build a better country together!'}/>
|
<SectionTitle subTitle={`STRENGTHENING AMERICA'S FUTURE`} Title={'How We Build Better Futures Together'} />
|
||||||
<div className="row-grid wpo-service-slider">
|
<div className="features-wrap">
|
||||||
<Slider {...settings}>
|
<div className="row">
|
||||||
{Services.slice(0, 5).map((service, srv) => (
|
{featuresData.map((feature, index) => (
|
||||||
<div className="grid" key={srv}>
|
<div className="col-lg-4 col-md-6 col-12" key={index}>
|
||||||
<div className="wpo-service-item">
|
<div className="feature-item">
|
||||||
<div className="wpo-service-text">
|
<div className="features-wrapper">
|
||||||
<div className="service-icon">
|
<div className="icon">
|
||||||
<i className={`fi ${service.icon}`}></i>
|
<div className="features-dot">
|
||||||
|
<div className="dots"></div>
|
||||||
|
</div>
|
||||||
|
<i className={feature.icon}></i>
|
||||||
|
</div>
|
||||||
|
<div className="feature-text">
|
||||||
|
<h2>
|
||||||
|
<Link onClick={ClickHandler} href={feature.link}>
|
||||||
|
{feature.title}
|
||||||
|
</Link>
|
||||||
|
</h2>
|
||||||
|
{feature.description.length > 100
|
||||||
|
? feature.description.slice(0, 100) + "..."
|
||||||
|
: feature.description}
|
||||||
</div>
|
</div>
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
|
||||||
<p>{service.description}</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</Slider>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,183 +1,87 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from "react";
|
||||||
import { TabContent, TabPane, Nav, NavItem, NavLink, Row } from 'reactstrap';
|
import { TabContent, TabPane, Nav, NavItem, NavLink, Row } from "reactstrap";
|
||||||
import classnames from 'classnames';
|
import classnames from "classnames";
|
||||||
import Link from 'next/link'
|
import Link from "next/link";
|
||||||
import Services from '../../api/service'
|
import Image from "next/image";
|
||||||
import Image from 'next/image';
|
import { TabServices } from "../../utils/constant.utils"; // JSON array
|
||||||
|
|
||||||
|
|
||||||
const ClickHandler = () => {
|
const ClickHandler = () => {
|
||||||
window.scrollTo(10, 0);
|
window.scrollTo(10, 0);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
// Extract unique categories from the JSON dynamically
|
||||||
|
const categories = [...new Set(TabServices.map((service) => service.category))];
|
||||||
|
|
||||||
const ServiceSectionS2 = () => {
|
const ServiceSectionS2 = () => {
|
||||||
|
const [activeTab, setActiveTab] = useState(categories[0]);
|
||||||
|
|
||||||
const [activeTab, setActiveTab] = useState('1');
|
const toggle = (tab) => {
|
||||||
|
|
||||||
const toggle = tab => {
|
|
||||||
if (activeTab !== tab) setActiveTab(tab);
|
if (activeTab !== tab) setActiveTab(tab);
|
||||||
}
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="wpo-campaign-area-s4 section-padding">
|
<div className="wpo-campaign-area-s4 section-padding">
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="wpo-campaign-wrap">
|
<div className="wpo-campaign-wrap">
|
||||||
|
{/* Tab Navigation */}
|
||||||
<Nav tabs>
|
<Nav tabs>
|
||||||
<NavItem>
|
{categories.map((cat, idx) => (
|
||||||
|
<NavItem key={idx}>
|
||||||
<NavLink
|
<NavLink
|
||||||
className={classnames({ active: activeTab === '1' })}
|
className={classnames({ active: activeTab === cat })}
|
||||||
onClick={() => { toggle('1'); }}
|
onClick={() => toggle(cat)}
|
||||||
>
|
>
|
||||||
Education
|
{cat}
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
|
||||||
<NavLink
|
|
||||||
className={classnames({ active: activeTab === '2' })}
|
|
||||||
onClick={() => { toggle('2'); }}
|
|
||||||
>
|
|
||||||
Social Services
|
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
|
||||||
<NavLink
|
|
||||||
className={classnames({ active: activeTab === '3' })}
|
|
||||||
onClick={() => { toggle('3'); }}
|
|
||||||
>
|
|
||||||
Business
|
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
|
||||||
<NavLink
|
|
||||||
className={classnames({ active: activeTab === '4' })}
|
|
||||||
onClick={() => { toggle('4'); }}
|
|
||||||
>
|
|
||||||
Qualification
|
|
||||||
</NavLink>
|
|
||||||
</NavItem>
|
|
||||||
<NavItem>
|
|
||||||
<NavLink
|
|
||||||
className={classnames({ active: activeTab === '5' })}
|
|
||||||
onClick={() => { toggle('5'); }}
|
|
||||||
>
|
|
||||||
Development
|
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</NavItem>
|
</NavItem>
|
||||||
|
))}
|
||||||
</Nav>
|
</Nav>
|
||||||
|
|
||||||
|
{/* Tab Content */}
|
||||||
<TabContent activeTab={activeTab}>
|
<TabContent activeTab={activeTab}>
|
||||||
<TabPane tabId="1">
|
{categories.map((cat, idx) => (
|
||||||
<div className="row">
|
<TabPane tabId={cat} key={idx}>
|
||||||
{Services.slice(5, 8).map((service, srv) => (
|
|
||||||
<div className="col-lg-4 col-md-6 col-12" key={srv}>
|
|
||||||
<div className="wpo-campaign-single">
|
|
||||||
<div className="wpo-campaign-item">
|
|
||||||
<div className="wpo-campaign-img">
|
|
||||||
<Image src={service.sImgS} alt="" />
|
|
||||||
</div>
|
|
||||||
<div className="wpo-campaign-content">
|
|
||||||
<div className="wpo-campaign-text-top">
|
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
|
||||||
<p>{service.description}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</TabPane>
|
|
||||||
<TabPane tabId="2">
|
|
||||||
<div className="row">
|
|
||||||
{Services.slice(8, 11).map((service, srv) => (
|
|
||||||
<div className="col-lg-4 col-md-6 col-12" key={srv}>
|
|
||||||
<div className="wpo-campaign-single">
|
|
||||||
<div className="wpo-campaign-item">
|
|
||||||
<div className="wpo-campaign-img">
|
|
||||||
<Image src={service.sImgS} alt="" />
|
|
||||||
</div>
|
|
||||||
<div className="wpo-campaign-content">
|
|
||||||
<div className="wpo-campaign-text-top">
|
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
|
||||||
<p>{service.description}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</TabPane>
|
|
||||||
<TabPane tabId="3">
|
|
||||||
<Row>
|
<Row>
|
||||||
{Services.slice(11, 14).map((service, srv) => (
|
{TabServices.filter((srv) => srv.category === cat).map(
|
||||||
<div className="col-lg-4 col-md-6 col-12" key={srv}>
|
(service, srvIdx) => (
|
||||||
|
<div className="col-lg-4 col-md-6 col-12" key={srvIdx}>
|
||||||
<div className="wpo-campaign-single">
|
<div className="wpo-campaign-single">
|
||||||
<div className="wpo-campaign-item">
|
<div className="wpo-campaign-item">
|
||||||
<div className="wpo-campaign-img">
|
<div className="wpo-campaign-img">
|
||||||
<Image src={service.sImgS} alt="" />
|
<Image
|
||||||
|
src={service.sImgS}
|
||||||
|
alt={service.sTitle}
|
||||||
|
width={400}
|
||||||
|
height={250}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="wpo-campaign-content">
|
<div className="wpo-campaign-content">
|
||||||
<div className="wpo-campaign-text-top">
|
<div className="wpo-campaign-text-top">
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
<h2>
|
||||||
|
<Link
|
||||||
|
onClick={ClickHandler}
|
||||||
|
href={`/service-single/[slug]`}
|
||||||
|
as={`/service-single/${service.slug}`}
|
||||||
|
>
|
||||||
|
{service.sTitle}
|
||||||
|
</Link>
|
||||||
|
</h2>
|
||||||
<p>{service.description}</p>
|
<p>{service.description}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
)
|
||||||
|
)}
|
||||||
</Row>
|
</Row>
|
||||||
</TabPane>
|
</TabPane>
|
||||||
<TabPane tabId="4">
|
|
||||||
<Row>
|
|
||||||
{Services.slice(14, 17).map((service, srv) => (
|
|
||||||
<div className="col-lg-4 col-md-6 col-12" key={srv}>
|
|
||||||
<div className="wpo-campaign-single">
|
|
||||||
<div className="wpo-campaign-item">
|
|
||||||
<div className="wpo-campaign-img">
|
|
||||||
<Image src={service.sImgS} alt="" />
|
|
||||||
</div>
|
|
||||||
<div className="wpo-campaign-content">
|
|
||||||
<div className="wpo-campaign-text-top">
|
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
|
||||||
<p>{service.description}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))}
|
))}
|
||||||
</Row>
|
|
||||||
</TabPane>
|
|
||||||
<TabPane tabId="5">
|
|
||||||
<Row>
|
|
||||||
{Services.slice(17, 20).map((service, srv) => (
|
|
||||||
<div className="col-lg-4 col-md-6 col-12" key={srv}>
|
|
||||||
<div className="wpo-campaign-single">
|
|
||||||
<div className="wpo-campaign-item">
|
|
||||||
<div className="wpo-campaign-img">
|
|
||||||
<Image src={service.sImgS} alt="" />
|
|
||||||
</div>
|
|
||||||
<div className="wpo-campaign-content">
|
|
||||||
<div className="wpo-campaign-text-top">
|
|
||||||
<h2><Link onClick={ClickHandler} href={'/service-single/[slug]'} as={`/service-single/${service.slug}`}>{service.sTitle}</Link></h2>
|
|
||||||
<p>{service.description}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</Row>
|
|
||||||
</TabPane>
|
|
||||||
|
|
||||||
</TabContent>
|
</TabContent>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
export default ServiceSectionS2;
|
export default ServiceSectionS2;
|
||||||
@ -10,6 +10,7 @@ import thumb1 from '/public/images/testimonial/thumb1.png'
|
|||||||
import thumb2 from '/public/images/testimonial/thumb2.png'
|
import thumb2 from '/public/images/testimonial/thumb2.png'
|
||||||
import thumb3 from '/public/images/testimonial/thumb3.png'
|
import thumb3 from '/public/images/testimonial/thumb3.png'
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
|
import testimonialImage from '/public/images/about.png'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -18,7 +19,7 @@ const testimonial = [
|
|||||||
id: '01',
|
id: '01',
|
||||||
tImg: ts1,
|
tImg: ts1,
|
||||||
thumbImg: thumb1,
|
thumbImg: thumb1,
|
||||||
Des: "Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong remedies.",
|
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',
|
Title: 'Robert Willum',
|
||||||
Sub: "President of BPT",
|
Sub: "President of BPT",
|
||||||
},
|
},
|
||||||
@ -26,7 +27,7 @@ const testimonial = [
|
|||||||
id: '01',
|
id: '01',
|
||||||
tImg: ts2,
|
tImg: ts2,
|
||||||
thumbImg: thumb2,
|
thumbImg: thumb2,
|
||||||
Des: "Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong remedies.",
|
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',
|
Title: 'Leslie Alexander',
|
||||||
Sub: "President of TBP",
|
Sub: "President of TBP",
|
||||||
},
|
},
|
||||||
@ -34,7 +35,7 @@ const testimonial = [
|
|||||||
id: '01',
|
id: '01',
|
||||||
tImg: ts3,
|
tImg: ts3,
|
||||||
thumbImg: thumb3,
|
thumbImg: thumb3,
|
||||||
Des: "Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong remedies.",
|
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',
|
Title: 'David Joy',
|
||||||
Sub: "President of AML",
|
Sub: "President of AML",
|
||||||
}
|
}
|
||||||
@ -55,30 +56,16 @@ const Testimonial = (props) => {
|
|||||||
<div className="testimonial-left">
|
<div className="testimonial-left">
|
||||||
<div className="testimonial-left-inner">
|
<div className="testimonial-left-inner">
|
||||||
<div className="left-slide">
|
<div className="left-slide">
|
||||||
<Slider
|
|
||||||
asNavFor={nav1}
|
|
||||||
ref={(slider2) => setNav2(slider2)}
|
|
||||||
slidesToShow={1}
|
|
||||||
fade={true}
|
|
||||||
dots={false}
|
|
||||||
arrows={false}
|
|
||||||
swipeToSlide={true}
|
|
||||||
focusOnSelect={true}
|
|
||||||
>
|
|
||||||
{
|
|
||||||
testimonial.map((tesmnl, tsm) => (
|
|
||||||
<div className="testimonial-img" key={tsm}>
|
|
||||||
<Image src={tesmnl?.tImg} alt="" />
|
|
||||||
</div>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
|
|
||||||
</Slider>
|
<div className="testimonial-img">
|
||||||
|
<Image src={testimonialImage} alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div className="shape-1"></div>
|
|
||||||
|
</div>
|
||||||
|
{/* <div className="shape-1"></div>
|
||||||
<div className="border-s1"></div>
|
<div className="border-s1"></div>
|
||||||
<div className="border-s2"></div>
|
<div className="border-s2"></div>
|
||||||
<div className="border-s3"></div>
|
<div className="border-s3"></div> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,7 +79,7 @@ const Testimonial = (props) => {
|
|||||||
<div className="wpo-testimonial-text">
|
<div className="wpo-testimonial-text">
|
||||||
<i className="fi flaticon-right-quote-sign"></i>
|
<i className="fi flaticon-right-quote-sign"></i>
|
||||||
<p>“{tesmnl.Des}”</p>
|
<p>“{tesmnl.Des}”</p>
|
||||||
<div className="wpo-testimonial-text-btm">
|
{/* <div className="wpo-testimonial-text-btm">
|
||||||
<div className="wpo-testimonial-text-btm-img">
|
<div className="wpo-testimonial-text-btm-img">
|
||||||
<Image src={tesmnl.thumbImg} alt="" />
|
<Image src={tesmnl.thumbImg} alt="" />
|
||||||
</div>
|
</div>
|
||||||
@ -100,7 +87,7 @@ const Testimonial = (props) => {
|
|||||||
<h3>{tesmnl.Title}</h3>
|
<h3>{tesmnl.Title}</h3>
|
||||||
<span>{tesmnl.Sub}</span>
|
<span>{tesmnl.Sub}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))
|
))
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import sign from '/public/images/signeture.png'
|
import sign from '/public/images/signeture.png'
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
|
import Link from 'next/link';
|
||||||
|
|
||||||
const About = (props) => {
|
const About = (props) => {
|
||||||
return (
|
return (
|
||||||
@ -59,20 +60,19 @@ const About = (props) => {
|
|||||||
<div className="col-lg-6 col-md-12 col-12 order-1 order-lg-2 mb-5">
|
<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-about-text">
|
||||||
<div className="wpo-section-title">
|
<div className="wpo-section-title">
|
||||||
<span>About Politian</span>
|
<span>Expert Immigration Guidance</span>
|
||||||
<h2>We Can Work Together For Create a Better Future.</h2>
|
<h2>We Turn Immigration Challenges Into Success Stories</h2>
|
||||||
</div>
|
</div>
|
||||||
<p>The leader is eager to listen to the needs of the youth generation and to hear what
|
<p>Every immigration case tells a unique story of hope, determination, and the pursuit of the American dream. At Janhanlaw, we understand that behind every petition, application, and legal document is a real person with real dreams.</p>
|
||||||
solutions they have to the problems they are facing. He hopes to find solutions that
|
<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.
|
||||||
will help them lead meaningful lives and make lasting change in the world. </p>
|
</p>
|
||||||
<p>He believes that the collaboration between the youth and the leaders of society is
|
<p>
|
||||||
necessary to bring about a brighter future. Now, he is ready to take the first step
|
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.
|
||||||
to making that happen.</p>
|
</p>
|
||||||
<div className="quote">
|
<div className="quote">
|
||||||
<p>“We can start by taking small steps and making small changes that can have a big
|
<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>
|
||||||
impact on the world.”</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="wpo-about-left-info">
|
{/* <div className="wpo-about-left-info">
|
||||||
<div className="wpo-about-left-inner">
|
<div className="wpo-about-left-inner">
|
||||||
<div className="wpo-about-left-text">
|
<div className="wpo-about-left-text">
|
||||||
<h5>Robert Willum</h5>
|
<h5>Robert Willum</h5>
|
||||||
@ -82,6 +82,13 @@ const About = (props) => {
|
|||||||
<div className="signeture">
|
<div className="signeture">
|
||||||
<Image src={sign} alt="" />
|
<Image src={sign} alt="" />
|
||||||
</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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
11
next.config.js
Normal file
11
next.config.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/** @type {import('next').NextConfig} */
|
||||||
|
const nextConfig = {
|
||||||
|
reactStrictMode: false,
|
||||||
|
output: "export",
|
||||||
|
trailingSlash: true,
|
||||||
|
images: {
|
||||||
|
unoptimized: true // ✅ disables server-side image optimization
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = nextConfig;
|
||||||
1206
package-lock.json
generated
1206
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
161
utils/constant.utils.js
Normal file
161
utils/constant.utils.js
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
import sImgS1 from '/public/images/service-single/img-1.jpg'
|
||||||
|
import sImgS2 from '/public/images/service-single/img-2.jpg'
|
||||||
|
import sImgS3 from '/public/images/service-single/img-3.jpg'
|
||||||
|
import sImgS4 from '/public/images/service-single/img-4.jpg'
|
||||||
|
|
||||||
|
import sSingleimg1 from '/public/images/service-single/2.jpg'
|
||||||
|
import sSingleimg2 from '/public/images/service-single/3.jpg'
|
||||||
|
|
||||||
|
import eduS1 from '/public/images/service/education/img-1.jpg'
|
||||||
|
import eduS2 from '/public/images/service/education/img-2.jpg'
|
||||||
|
import eduS3 from '/public/images/service/education/img-3.jpg'
|
||||||
|
|
||||||
|
import sS1 from '/public/images/service/social/img-1.jpg'
|
||||||
|
import sS2 from '/public/images/service/social/img-2.jpg'
|
||||||
|
import sS3 from '/public/images/service/social/img-3.jpg'
|
||||||
|
|
||||||
|
import business1 from '/public/images/service/business/img-1.jpg'
|
||||||
|
import business2 from '/public/images/service/business/img-2.jpg'
|
||||||
|
import business3 from '/public/images/service/business/img-3.jpg'
|
||||||
|
|
||||||
|
import Qlf1 from '/public/images/service/qualification/img-1.jpg'
|
||||||
|
import Qlf2 from '/public/images/service/qualification/img-2.jpg'
|
||||||
|
import Qlf3 from '/public/images/service/qualification/img-3.jpg'
|
||||||
|
|
||||||
|
import develop1 from '/public/images/service/develop/img-1.jpg'
|
||||||
|
import develop2 from '/public/images/service/develop/img-2.jpg'
|
||||||
|
import develop3 from '/public/images/service/develop/img-3.jpg'
|
||||||
|
|
||||||
|
|
||||||
|
export const featuresData = [
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-charity",
|
||||||
|
title: "Strategic Planning",
|
||||||
|
link: "/team",
|
||||||
|
description:
|
||||||
|
"We create custom legal strategies based on immigration law, policy changes, and your needs."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-conference-1",
|
||||||
|
title: "Expert Preparation",
|
||||||
|
link: "/campaign",
|
||||||
|
description:
|
||||||
|
"Careful document preparation, evidence gathering, and filing to boost your application success."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "fi flaticon-community",
|
||||||
|
title: "Ongoing Support",
|
||||||
|
link: "/volunteer",
|
||||||
|
description:
|
||||||
|
"We monitor your case, provide updates, and represent you through your full immigration process."
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
export const TabServices = [
|
||||||
|
{
|
||||||
|
sTitle: "Reunite With Loved Ones",
|
||||||
|
slug: "family-reunite",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We help you bring your spouse, children, and parents to the U.S. quickly and safely.",
|
||||||
|
category: "Family"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Personalized Guidance",
|
||||||
|
slug: "family-guidance",
|
||||||
|
sImgS:sImgS1,
|
||||||
|
description: "Our team creates a strategy tailored to your family's unique situation for smooth processing.",
|
||||||
|
category: "Family"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Support Every Step",
|
||||||
|
slug: "family-support",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "From applications to interviews, we guide your family throughout the immigration journey.",
|
||||||
|
category: "Family"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Work & Investment Visas",
|
||||||
|
slug: "business-visas",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We assist businesses and professionals in obtaining visas to live and work in the U.S.",
|
||||||
|
category: "Business"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Corporate Compliance",
|
||||||
|
slug: "business-compliance",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "Ensure your business meets all immigration requirements while hiring international talent.",
|
||||||
|
category: "Business"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Strategic Solutions",
|
||||||
|
slug: "business-strategy",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We provide expert advice to help your company expand operations and hire globally.",
|
||||||
|
category: "Business"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Protect Against Deportation",
|
||||||
|
slug: "removal-protection",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "Our attorneys act swiftly to prevent deportation and secure your stay in the U.S.",
|
||||||
|
category: "Removal Defense"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Legal Representation",
|
||||||
|
slug: "removal-representation",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We represent you in immigration court and communicate clearly at every stage of your case.",
|
||||||
|
category: "Removal Defense"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Tailored Defense Strategy",
|
||||||
|
slug: "removal-strategy",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "Every case is unique; we craft defense plans to maximize chances of success.",
|
||||||
|
category: "Removal Defense"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Naturalization Guidance",
|
||||||
|
slug: "citizenship-guidance",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "Expert help with the entire U.S. citizenship process, from forms to interviews.",
|
||||||
|
category: "Citizenship Services"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Multilingual Support",
|
||||||
|
slug: "citizenship-multilingual",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We provide guidance in multiple languages to make the citizenship process clear and smooth.",
|
||||||
|
category: "Citizenship Services"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Preparation & Review",
|
||||||
|
slug: "citizenship-preparation",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We prepare your documents and practice interview questions to ensure your success.",
|
||||||
|
category: "Citizenship Services"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Immediate Legal Support",
|
||||||
|
slug: "emergency-legal",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "For urgent immigration matters, our team provides rapid assessment and action.",
|
||||||
|
category: "Emergency Relief"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "Critical Case Handling",
|
||||||
|
slug: "emergency-critical",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "We specialize in fast-tracking cases facing deadlines, detention, or emergency situations.",
|
||||||
|
category: "Emergency Relief"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sTitle: "24/7 Consultation",
|
||||||
|
slug: "emergency-24-7",
|
||||||
|
sImgS: sImgS1,
|
||||||
|
description: "Get round-the-clock legal advice to protect your rights when time is of the essence.",
|
||||||
|
category: "Emergency Relief"
|
||||||
|
}
|
||||||
|
];
|
||||||
Loading…
x
Reference in New Issue
Block a user