diff --git a/messages/en.d.json.ts b/messages/en.d.json.ts index 8a7fe58..0fc822e 100644 --- a/messages/en.d.json.ts +++ b/messages/en.d.json.ts @@ -32,6 +32,11 @@ declare const messages: { "com_home_products_title": "The Qualified bricks for Your Projects", "com_home_products_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "com_home_projects_title": "Our successful project", + "com_home_projects_title_bold": "initiatives", + "com_home_projects_description": "Our successful project initiatives showcase our commitment to excellence and innovation across various industries.", + + "footer_title": "Industrial Solutions for a Modern World", "footer_description": "We are committed to providing personalized industrial solutions that meet the unique needs of our clients. Our team of experts is dedicated to delivering high-quality products and services that drive success in today’s competitive market.", "footer_slogan": "We are committed to providing personalized industrial solutions.", diff --git a/messages/en.json b/messages/en.json index 3842d17..f819236 100644 --- a/messages/en.json +++ b/messages/en.json @@ -29,6 +29,11 @@ "com_home_products_title": "The Qualified bricks for Your Projects", "com_home_products_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "com_home_projects_title": "Our successful project", + "com_home_projects_title_bold": "initiatives", + "com_home_projects_description": "Our successful project initiatives showcase our commitment to excellence and innovation across various industries.", + + "footer_title": "Industrial Solutions for a Modern World", "footer_description": "We are committed to providing personalized industrial solutions that meet the unique needs of our clients. Our team of experts is dedicated to delivering high-quality products and services that drive success in today’s competitive market.", "footer_slogan": "We are committed to providing personalized industrial solutions.", 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 08d9dda..1118adb 100644 --- a/src/app/[locale]/projects/page.tsx +++ b/src/app/[locale]/projects/page.tsx @@ -1,21 +1,40 @@ +import { IProjectCardProps } from '@/app/api/projects/data'; import images from '@/assets/images/images'; import InnerPageBanner from '@/components/layout/innerPages/banner'; import ProjectsGrid from '@/components/pages/project/ProjectGrid'; +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 Projects({ params }: { params: IPageParams }) { +export default async function ProjectsPage({ + params, +}: { + params: IPageParams; +}) { const { locale } = await params; const t = await getTranslations({ locale }); - + const projects: IProjectCardProps[] = await getProjects(); + console.log(projects, 'proj'); return ( -
- - - -
+ <> + + پروژه‌های اجراشده با آجر پاسارگاد + + +
+ +
+ +
+
+ ); } diff --git a/src/app/api/project_categories/data.ts b/src/app/api/project_categories/data.ts deleted file mode 100644 index bc7c753..0000000 --- a/src/app/api/project_categories/data.ts +++ /dev/null @@ -1,118 +0,0 @@ -export const productCategories = [ - { - id: '1', - title: 'Ghazaghi', - fa_title: 'قزاقی', - icon: 'categoryGhazaghi', - typesCount: 22, - priceTypeTitle: 'Economy', - fa_priceTypeTitle: 'اقتصادی', - bestForTitle: 'Best For Interior Part', - fa_bestForTitle: 'Best For Interior Part', - fa_description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - }, - { - id: '2', - title: 'Ghermez', - fa_title: 'قرمز', - icon: 'categoryGhermez', - typesCount: 12, - priceTypeTitle: 'Luxury', - fa_priceTypeTitle: 'لاکچری', - bestForTitle: 'Best For Exterior Part', - fa_bestForTitle: 'Best For Exterior Part', - fa_description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - }, - { - id: '3', - title: 'oryZard', - fa_title: 'زرد', - icon: 'categoryZard', - typesCount: 11, - priceTypeTitle: 'Economy', - fa_priceTypeTitle: 'اقتصادی', - bestForTitle: 'Best For Facing', - fa_bestForTitle: 'Best For Facing', - fa_description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - }, - { - id: '40', - title: 'Semirom', - fa_title: 'سمیرم', - icon: 'categorySemirom', - typesCount: 40, - priceTypeTitle: 'Economy', - fa_priceTypeTitle: 'اقتصادی', - bestForTitle: 'Best For Building', - fa_bestForTitle: 'Best For Building', - fa_description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - description: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`, - }, -] as APIProductCategoryEntity[]; - -interface APIProductCategoryEntity { - id: string; - title: string; - fa_title?: string; - icon: string; - typesCount: number; - priceTypeTitle: string; - fa_priceTypeTitle?: string; - bestForTitle: string; - fa_bestForTitle?: string; - fa_description?: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`; - description?: `Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. -Facing Bricks: Characteristics and Features -Facing bricks, also known as face bricks or veneer bricks, are specially designed for visible areas of a building, primarily the exterior facades, but also for interior walls where aesthetics are important. Unlike common bricks which are often covered by plaster or other materials, facing bricks are chosen for their visual appeal and ability to withstand environmental conditions. - -Facing Bricks: Characteristics and Features`; -} diff --git a/src/app/api/project_categories/route.ts b/src/app/api/project_categories/route.ts deleted file mode 100644 index 4cb1e56..0000000 --- a/src/app/api/project_categories/route.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { NextResponse } from 'next/server'; -import { cookies } from 'next/headers'; -import { productCategories } from './data'; - -export async function GET(request: Request) { - let data = productCategories; - - const cookieStore = await cookies(); - const lang = (await cookieStore).get('lang')?.value || 'fa'; - - if (lang === 'fa') { - data = productCategories.map( - ({ - id, - title, - fa_title, - icon, - typesCount, - priceTypeTitle, - fa_priceTypeTitle, - bestForTitle, - fa_bestForTitle, - description, - fa_description, - }) => { - if (lang === 'fa') { - return { - id, - icon, - typesCount, - title: fa_title || title, - priceTypeTitle: fa_priceTypeTitle || priceTypeTitle, - bestForTitle: fa_bestForTitle || bestForTitle, - description: fa_description || description, - }; - } - return { - id, - icon, - typesCount, - title, - priceTypeTitle, - bestForTitle, - description, - }; - }, - ); - } - - return NextResponse.json({ data: productCategories }); -} diff --git a/src/app/api/projects/data.ts b/src/app/api/projects/data.ts new file mode 100644 index 0000000..9c4a929 --- /dev/null +++ b/src/app/api/projects/data.ts @@ -0,0 +1,54 @@ +import images from '@/assets/images/images'; + +export interface IProjectCardProps { + id:string; + title: string; + fa_title?: string; + imageSrc: string; +} + +export const projects = [ + { + id:'1', + title: 'Sustainable Practices Reducing Waste in Industrial Production', + fa_title: 'روش‌های پایدار برای کاهش ضایعات در تولید صنعتی', + imageSrc: `/images/project1.jpeg`, + }, + { + id:'2', + title: 'Advanced Robotics Revolutionizing Industrial Workflows', + fa_title: 'رباتیک پیشرفته و تحول فرآیندهای صنعتی', + imageSrc: `/images/project2.jpeg`, + }, + { + id:'3', + title: 'Top Benefits of the Robotics in Manufacturing', + fa_title: 'مزایای اصلی استفاده از رباتیک در تولید', + imageSrc: `/images/project3.jpeg`, + }, + { + id:'4', + title: 'Leveraging Data Analytics for Smarter Production', + fa_title: 'استفاده از تحلیل داده برای تولید هوشمندتر', + imageSrc: `/images/project4.jpeg`, + + }, + { + id:'5', + title: 'Reducing Operational Costs Through Automation', + fa_title: 'کاهش هزینه‌ها با اتوماسیون', + imageSrc: `/images/project1.jpeg`, + }, + { + id:'6', + title: 'The Advantages of Customized Manufacturing Solutions', + fa_title: 'مزایای راه‌حل‌های سفارشی‌سازی در تولید', + 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 new file mode 100644 index 0000000..c0acab7 --- /dev/null +++ b/src/app/api/projects/route.ts @@ -0,0 +1,39 @@ +import { NextResponse } from 'next/server'; +import { cookies } from 'next/headers'; +import { generateProjects } from './data'; + + +export async function GET(request: Request) { + let projects = generateProjects(); + let data = projects + + const cookieStore = await cookies(); + const lang = (await cookieStore).get('lang')?.value || 'fa'; + + if (lang === 'fa') { + data = projects.map( + ({ + id, + title, + fa_title, + imageSrc, + }) => { + if (lang === 'fa') { + return { + id, + title: fa_title || title, + imageSrc, + }; + } + return { + id, + title, + imageSrc, + + }; + }, + ); + } + + return NextResponse.json({ data: projects }); +} 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 5183947..5baf085 100644 --- a/src/components/pages/home/Projects.tsx +++ b/src/components/pages/home/Projects.tsx @@ -1,65 +1,32 @@ -import images from '@/assets/images/images'; import SectionTitle from '@/components/layout/sectionTitle'; -import { getProductCategories } from '@/services/products'; -import Link from 'next/link'; -import routeFactory from '@/assets/constants/routeFactory'; import { getTranslations } from 'next-intl/server'; import { TLocales } from '@/models/layout'; -import { getProjectCategories } from '@/services/projects'; +import { getProjects } from '@/services/projects'; import { IProjectCardProps } from '../project/project'; - +import ProjectsGrid from '../project/ProjectGrid'; interface Props { locale: TLocales; } - export default async function HomePageProjects({ locale }: Props) { const t = await getTranslations({ locale }); - - // const projectCategories: IProjectCardProps[] = await getProjectCategories(); - const routes = routeFactory(t, locale); - + const projects: IProjectCardProps[] = await getProjects(); return (
-
-
+
-

- {t('com_home_products_description')} +

+ {t('com_home_projects_description')}

-
-
- {/*
- {projectCategories.map((category, index) => ( - -
-

- {category.title} -

- {/*

- {t('com_products_category_types_count', { - count: category.typesCount, - })} -

-
- - ))} -
*/} +
); diff --git a/src/components/pages/project/ProjectGrid.tsx b/src/components/pages/project/ProjectGrid.tsx index ab5ca9b..05f7e6a 100644 --- a/src/components/pages/project/ProjectGrid.tsx +++ b/src/components/pages/project/ProjectGrid.tsx @@ -1,51 +1,14 @@ -import images from '@/assets/images/images'; import Image from 'next/image'; import Link from 'next/link'; import { IProjectCardProps } from './project'; +import { getProjects } from '@/services/projects'; -const projects = [ - { - title: 'Sustainable Practices Reducing Waste in Industrial Production', - imageSrc: images.projectImg_1.src, - link: '#', - }, - { - title: 'Advanced Robotics Revolutionizing Industrial Workflows', - imageSrc: images.projectImg_1.src, - link: '#', - }, - { - title: 'Top Benefits of the Robotics in Manufacturing', - imageSrc: images.projectImg_1.src, - link: '#', - }, - { - title: 'Leveraging Data Analytics for Smarter Production', - imageSrc: images.projectImg_1.src, - link: '#', - }, - { - title: 'Reducing Operational Costs Through Automation', - imageSrc: '/images/post5.jpg', - link: '#', - }, - { - title: 'The Advantages of Customized Manufacturing Solutions', - imageSrc: '/images/post6.jpg', - link: '#', - }, -] as IProjectCardProps[]; - -export default function ProjectsGrid() { +export default async function ProjectsGrid({ projects }) { return ( -
+
{projects.map((project, index) => ( - -
+ +
{project.title} + + {/* */} + + ); +} diff --git a/src/services/projects.ts b/src/services/projects.ts index 9bb20e9..c7594c8 100644 --- a/src/services/projects.ts +++ b/src/services/projects.ts @@ -5,36 +5,29 @@ import api from '@/lib/axios'; import { IResponse } from '@/models/response'; import { cookies } from 'next/headers'; -export async function getProjectCategories() { +export async function getProjects() { const cookiesStore = await cookies(); return api - .get('/project_categories', { + .get('/projects', { headers: { Cookie: cookiesStore.toString(), }, + }) - .then(({ data }) => { - return Promise.resolve(data.data); - }) + .then(({ data }) => Promise.resolve(data.data)) .catch((error) => Promise.reject(error)); } - - -export async function getProjects( - categoryId: string, - page = 1, -): Promise> { - const cookiesStore = await cookies(); - return api - .get(`/project_categories/${categoryId}/projects`, { - headers: { - Cookie: cookiesStore.toString(), - }, - params: { page }, - }) - .then(({ data }) => { - return Promise.resolve(data); - }) - .catch((error) => Promise.reject(error)); -} +// export async function getProjectById( +// projectId: string, +// ): Promise { +// const cookiesStore = await cookies(); +// return api +// .get(`/projects/${projectId}`, { +// headers: { +// Cookie: cookiesStore.toString(), +// }, +// }) +// .then(({ data }) => Promise.resolve(data.data)) +// .catch((error) => Promise.reject(error)); +// }