diff --git a/public/images/project1.jpeg b/public/images/project1.jpeg new file mode 100644 index 0000000..b58163a Binary files /dev/null and b/public/images/project1.jpeg differ diff --git a/public/images/project2.jpeg b/public/images/project2.jpeg new file mode 100644 index 0000000..0fadf73 Binary files /dev/null and b/public/images/project2.jpeg differ diff --git a/public/images/project3.jpeg b/public/images/project3.jpeg new file mode 100644 index 0000000..4e55131 Binary files /dev/null and b/public/images/project3.jpeg differ diff --git a/public/images/project4.jpeg b/public/images/project4.jpeg new file mode 100644 index 0000000..6afa11d Binary files /dev/null and b/public/images/project4.jpeg differ diff --git a/src/app/[locale]/about-us/page.tsx b/src/app/[locale]/about-us/page.tsx index 1c9c0ee..4e8d0c8 100644 --- a/src/app/[locale]/about-us/page.tsx +++ b/src/app/[locale]/about-us/page.tsx @@ -4,6 +4,7 @@ import AboutTopInfo from '@/components/pages/about/TopInfo'; import { IPageParams } from '@/models/layout'; import { setRequestLocale } from 'next-intl/server'; import { getTranslations } from 'next-intl/server'; +import Head from 'next/head'; export default async function AboutUs({ params, @@ -18,12 +19,21 @@ export default async function AboutUs({ const t = await getTranslations({ locale }); return ( -
- - -
+ <> + + درباره کارخانه آجرپزی پاسارگاد + + +
+ + +
+ ); } diff --git a/src/app/[locale]/blog/page.tsx b/src/app/[locale]/blog/page.tsx index bbb0ffc..264b4cd 100644 --- a/src/app/[locale]/blog/page.tsx +++ b/src/app/[locale]/blog/page.tsx @@ -3,19 +3,29 @@ import InnerPageBanner from '@/components/layout/innerPages/banner'; import PostsGrid from '@/components/pages/blog/PostsGrid'; import { IPageParams } from '@/models/layout'; import { getTranslations } from 'next-intl/server'; +import Head from 'next/head'; export default async function Blog({ params }: { params: IPageParams }) { const paramsData = await params; const t = await getTranslations({ locale: paramsData.locale }); return ( -
- + <> + + مقالات آموزشی درباره آجر و ساخت‌وساز - پاسارگاد + + +
+ - -
+ +
+ ); } diff --git a/src/app/[locale]/contact-us/page.tsx b/src/app/[locale]/contact-us/page.tsx index 935a50f..7996e63 100644 --- a/src/app/[locale]/contact-us/page.tsx +++ b/src/app/[locale]/contact-us/page.tsx @@ -6,6 +6,7 @@ import TouchUs from '@/components/pages/contact/TouchUs'; import Image from 'next/image'; import { getTranslations } from 'next-intl/server'; import { IPageParams } from '@/models/layout'; +import Head from 'next/head'; export default async function Contact({ params }: { params: IPageParams }) { const { locale } = await params; @@ -13,33 +14,42 @@ export default async function Contact({ params }: { params: IPageParams }) { const t = await getTranslations({ locale }); return ( -
- + <> + + تماس با کارخانه آجرپزی پاسارگاد + + +
+ -
-
-
- footer-bg +
+
+
+ footer-bg +
+
+
+ + +
+ +
+
+ +
-
- - -
- -
-
- -
-
-
-
+
+ ); } diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx index eb4cbf1..555b61e 100644 --- a/src/app/[locale]/layout.tsx +++ b/src/app/[locale]/layout.tsx @@ -4,6 +4,7 @@ import 'leaflet/dist/leaflet.css'; import { notFound } from 'next/navigation'; import { NextIntlClientProvider } from 'next-intl'; import type { IPageParams } from '@/models/layout.d'; +import Head from 'next/head'; export default async function RootLayout({ children, @@ -26,6 +27,13 @@ export default async function RootLayout({ return ( + + + + + + + {children} diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx index ac3ff34..b2540af 100644 --- a/src/app/[locale]/page.tsx +++ b/src/app/[locale]/page.tsx @@ -17,7 +17,7 @@ export default async function Home({ params }: { params: IPageParams }) { - + ); } diff --git a/src/app/[locale]/projects/page.tsx b/src/app/[locale]/projects/page.tsx index 5045cbe..1118adb 100644 --- a/src/app/[locale]/projects/page.tsx +++ b/src/app/[locale]/projects/page.tsx @@ -6,6 +6,7 @@ import ProjectsGridView from '@/components/pages/project/projectGridView'; import { IPageParams } from '@/models/layout'; import { getProjects } from '@/services/projects'; import { getTranslations } from 'next-intl/server'; +import Head from 'next/head'; export default async function ProjectsPage({ params, @@ -17,22 +18,23 @@ export default async function ProjectsPage({ const projects: IProjectCardProps[] = await getProjects(); console.log(projects, 'proj'); return ( -
- -
- - {/*
- {projects?.map((project, index) => ( - <> - yyy {project.title} - - - ))} -
*/} -
-
+ <> + + پروژه‌های اجراشده با آجر پاسارگاد + + +
+ +
+ +
+
+ ); } diff --git a/src/app/api/projects/data.ts b/src/app/api/projects/data.ts index ad2d7e9..9c4a929 100644 --- a/src/app/api/projects/data.ts +++ b/src/app/api/projects/data.ts @@ -5,7 +5,6 @@ export interface IProjectCardProps { title: string; fa_title?: string; imageSrc: string; - link: string; } export const projects = [ @@ -13,42 +12,43 @@ export const projects = [ id:'1', title: 'Sustainable Practices Reducing Waste in Industrial Production', fa_title: 'روش‌های پایدار برای کاهش ضایعات در تولید صنعتی', - imageSrc: images.projectImg_1.src, - link: '#', + imageSrc: `/images/project1.jpeg`, }, { id:'2', title: 'Advanced Robotics Revolutionizing Industrial Workflows', fa_title: 'رباتیک پیشرفته و تحول فرآیندهای صنعتی', - imageSrc: images.projectImg_1.src, - link: '#', + imageSrc: `/images/project2.jpeg`, }, { id:'3', title: 'Top Benefits of the Robotics in Manufacturing', fa_title: 'مزایای اصلی استفاده از رباتیک در تولید', - imageSrc: images.projectImg_1.src, - link: '#', + imageSrc: `/images/project3.jpeg`, }, { id:'4', title: 'Leveraging Data Analytics for Smarter Production', fa_title: 'استفاده از تحلیل داده برای تولید هوشمندتر', - imageSrc: images.projectImg_1.src, - link: '#', + imageSrc: `/images/project4.jpeg`, + }, { id:'5', title: 'Reducing Operational Costs Through Automation', fa_title: 'کاهش هزینه‌ها با اتوماسیون', - imageSrc: '/images/post5.jpg', - link: '#', + imageSrc: `/images/project1.jpeg`, }, { id:'6', title: 'The Advantages of Customized Manufacturing Solutions', fa_title: 'مزایای راه‌حل‌های سفارشی‌سازی در تولید', - imageSrc: '/images/post6.jpg', - link: '#', + imageSrc: `/images/project1.jpeg`, }, ] as IProjectCardProps[] + +export function generateProjects( +): IProjectCardProps[] { + return [...projects, ...projects, ...projects].map((e, i)=>({...e, id:String(i+1)})) + +} \ No newline at end of file diff --git a/src/app/api/projects/route.ts b/src/app/api/projects/route.ts index 9ee9a70..c0acab7 100644 --- a/src/app/api/projects/route.ts +++ b/src/app/api/projects/route.ts @@ -1,10 +1,11 @@ import { NextResponse } from 'next/server'; import { cookies } from 'next/headers'; -import { projects } from './data'; +import { generateProjects } from './data'; export async function GET(request: Request) { - let data = projects; + let projects = generateProjects(); + let data = projects const cookieStore = await cookies(); const lang = (await cookieStore).get('lang')?.value || 'fa'; @@ -16,21 +17,18 @@ export async function GET(request: Request) { title, fa_title, imageSrc, - link, }) => { if (lang === 'fa') { return { id, title: fa_title || title, imageSrc, - link, }; } return { id, title, imageSrc, - link, }; }, diff --git a/src/components/layout/sectionTitle/index.tsx b/src/components/layout/sectionTitle/index.tsx index f451983..3cfc259 100644 --- a/src/components/layout/sectionTitle/index.tsx +++ b/src/components/layout/sectionTitle/index.tsx @@ -15,10 +15,12 @@ export default function SectionTitle({

{title}

-

+

{description} {description_bold && ( - {description_bold} + + {description_bold} + )}

diff --git a/src/components/pages/about/TopInfo.tsx b/src/components/pages/about/TopInfo.tsx index 0cbd2f2..fe722c9 100644 --- a/src/components/pages/about/TopInfo.tsx +++ b/src/components/pages/about/TopInfo.tsx @@ -22,11 +22,26 @@ export default function AboutTopInfo() { ]; return ( -
-
+
+
-
+
+
+ {' '} +
+ +
+
+

+ {t('com_about_info_description')} +

+
+
@@ -42,8 +57,8 @@ export default function AboutTopInfo() {
-
-
+
+
-
- +
+
+ +
-
+

{t('com_about_info_description')}

-
+
{topInfoAchievementTitles.map((title, index) => ( ))} diff --git a/src/components/pages/home/HomeStorySection.tsx b/src/components/pages/home/HomeStorySection.tsx index aee83cb..76b22b7 100644 --- a/src/components/pages/home/HomeStorySection.tsx +++ b/src/components/pages/home/HomeStorySection.tsx @@ -28,8 +28,10 @@ export default function HomeStorySection({ ]; return ( -
-
+
+
-
-
+
+
-
+

{t('com_home_story_description')}

-
+
{statisticsData.map((stat, index) => (
diff --git a/src/components/pages/home/Products.tsx b/src/components/pages/home/Products.tsx index 6aa7418..442f3e4 100644 --- a/src/components/pages/home/Products.tsx +++ b/src/components/pages/home/Products.tsx @@ -21,28 +21,28 @@ export default async function HomePageProducts({ locale }: Props) { return (
-
+
-

+

{t('com_home_products_description')}

-
-
+
+
{productCategories.map((category, index) => (

{category.title} diff --git a/src/components/pages/home/Projects.tsx b/src/components/pages/home/Projects.tsx index 4143052..5baf085 100644 --- a/src/components/pages/home/Projects.tsx +++ b/src/components/pages/home/Projects.tsx @@ -13,15 +13,15 @@ export default async function HomePageProjects({ locale }: Props) { return (
-
+
-

+

{t('com_home_projects_description')}

diff --git a/src/components/pages/project/ProjectGrid.tsx b/src/components/pages/project/ProjectGrid.tsx index 359671a..05f7e6a 100644 --- a/src/components/pages/project/ProjectGrid.tsx +++ b/src/components/pages/project/ProjectGrid.tsx @@ -5,13 +5,9 @@ import { getProjects } from '@/services/projects'; export default async function ProjectsGrid({ projects }) { return ( -
+
{projects.map((project, index) => ( - +