From 2f2a27b083012a0fc11578ff7b4da584ab0c20c2 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Wed, 15 Oct 2025 15:56:17 +0330 Subject: [PATCH] services --- package-lock.json | 20 +++++++++++ package.json | 1 + src/App.tsx | 1 + src/locale/fa.ts | 1 + src/pages/home/Home.tsx | 2 ++ src/pages/home/components/ServiceItem.tsx | 13 +++++++ src/pages/home/components/Services.tsx | 44 +++++++++++++++++++++++ 7 files changed, 82 insertions(+) create mode 100644 src/pages/home/components/ServiceItem.tsx create mode 100644 src/pages/home/components/Services.tsx diff --git a/package-lock.json b/package-lock.json index 3ab6ec9..9c1ad4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "react-infinite-scroll-component": "^6.1.0", "react-router-dom": "^7.9.4", "react-spinners": "^0.17.0", + "swiper": "^12.0.2", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.14", "vite-tsconfig-paths": "^5.1.4", @@ -4285,6 +4286,25 @@ "node": ">=8" } }, + "node_modules/swiper": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-12.0.2.tgz", + "integrity": "sha512-y8F6fDGXmTVVgwqJj6I00l4FdGuhpFJn0U/9Ucn1MwWOw3NdLV8aH88pZOjyhBgU/6PyBlUx+JuAQ5KMWz906Q==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/swiperjs" + }, + { + "type": "open_collective", + "url": "http://opencollective.com/swiper" + } + ], + "license": "MIT", + "engines": { + "node": ">= 4.7.0" + } + }, "node_modules/tabbable": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", diff --git a/package.json b/package.json index 62a9e31..f833050 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "react-infinite-scroll-component": "^6.1.0", "react-router-dom": "^7.9.4", "react-spinners": "^0.17.0", + "swiper": "^12.0.2", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.14", "vite-tsconfig-paths": "^5.1.4", diff --git a/src/App.tsx b/src/App.tsx index c26f1b6..ae619e2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,6 @@ import { type FC } from 'react' import '@/assets/fonts/irancell/style.css' +import 'swiper/swiper-bundle.css'; import { BrowserRouter } from 'react-router-dom' // import { getToken } from './config/func' import MainRouter from './router/MainRouter' diff --git a/src/locale/fa.ts b/src/locale/fa.ts index 9e5a5d1..6b3b6bd 100644 --- a/src/locale/fa.ts +++ b/src/locale/fa.ts @@ -26,5 +26,6 @@ export const fa = { factureCount: "پیش فاکتور تایید نشده", orderCount: "سفارش های در حال انجام", orderDoneCount: "سفارشات انجام شده", + services: "خدمات", }, }; diff --git a/src/pages/home/Home.tsx b/src/pages/home/Home.tsx index 9ed81c9..7bcfc48 100644 --- a/src/pages/home/Home.tsx +++ b/src/pages/home/Home.tsx @@ -1,11 +1,13 @@ import { type FC } from 'react' import Stats from './components/Stats' +import Services from './components/Services' const Home: FC = () => { return (
+
) diff --git a/src/pages/home/components/ServiceItem.tsx b/src/pages/home/components/ServiceItem.tsx new file mode 100644 index 0000000..ad67b49 --- /dev/null +++ b/src/pages/home/components/ServiceItem.tsx @@ -0,0 +1,13 @@ +import { type FC } from 'react' + +const ServiceItem: FC = () => { + return ( +
+
+ +
+
+ ) +} + +export default ServiceItem \ No newline at end of file diff --git a/src/pages/home/components/Services.tsx b/src/pages/home/components/Services.tsx new file mode 100644 index 0000000..94ccee7 --- /dev/null +++ b/src/pages/home/components/Services.tsx @@ -0,0 +1,44 @@ +import { t } from '@/locale' +import { type FC } from 'react' +import { Swiper, SwiperSlide } from 'swiper/react' +import ServiceItem from './ServiceItem' + + +const Services: FC = () => { + return ( +
+

+ {t('home.services')} +

+ +
+ + + + + + + + + + + + + + +
+ +
+ ) +} + +export default Services \ No newline at end of file