setDetail(data)}
+ className="flex flex-col items-center justify-between rounded-lg hover:cursor-pointer"
+ >
+ {/* Rasm qismi */}
+
-
+
+
);
}
diff --git a/components/cards/productCard.tsx b/components/cards/productCard.tsx
index 1c0d153..216577b 100644
--- a/components/cards/productCard.tsx
+++ b/components/cards/productCard.tsx
@@ -5,31 +5,48 @@ import Image from "next/image";
import Link from "next/link";
import Text from "../lib_components/text";
import { useParams } from "next/navigation";
+import { motion } from "framer-motion";
export default function ProductCard({ data }: { data: ProductTypes }) {
const { lang } = useParams();
+
return (
-
+
+
);
}
diff --git a/components/cards/sliderCard.tsx b/components/cards/sliderCard.tsx
index 1a34d65..6321b06 100644
--- a/components/cards/sliderCard.tsx
+++ b/components/cards/sliderCard.tsx
@@ -1,30 +1,51 @@
+"use client";
+
import { ProductTypes } from "@/types";
-import Image, { StaticImageData } from "next/image";
+import Image from "next/image";
import Link from "next/link";
import Text from "../lib_components/text";
+import { motion } from "framer-motion";
export default function SliderCard({ data }: { data: ProductTypes }) {
return (
-
-
+
+ {/* Rasm qismi */}
+
+
+ {/* Pastki kontent */}
+
+ {/* Yuqoridagi belgi */}
+
+
+
+
+ {/* Tavsif matni */}
+
+
+
-
-
-
-
+
);
}
diff --git a/package-lock.json b/package-lock.json
index 9ec0a7d..4c56643 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,11 +9,13 @@
"version": "0.1.0",
"dependencies": {
"antd": "^5.27.4",
+ "framer-motion": "^12.23.24",
"i18next": "^25.5.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-http-backend": "^3.0.2",
"i18next-resources-to-backend": "^1.2.1",
"leaflet": "^1.9.4",
+ "lucide-react": "^0.553.0",
"next": "15.5.4",
"next-i18next": "^15.4.2",
"react": "19.1.0",
@@ -1614,6 +1616,33 @@
"url": "https://github.com/sponsors/rawify"
}
},
+ "node_modules/framer-motion": {
+ "version": "12.23.24",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.24.tgz",
+ "integrity": "sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.23.23",
+ "motion-utils": "^12.23.6",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -1991,6 +2020,15 @@
"loose-envify": "cli.js"
}
},
+ "node_modules/lucide-react": {
+ "version": "0.553.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.553.0.tgz",
+ "integrity": "sha512-BRgX5zrWmNy/lkVAe0dXBgd7XQdZ3HTf+Hwe3c9WK6dqgnj9h+hxV+MDncM88xDWlCq27+TKvHGE70ViODNILw==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/magic-string": {
"version": "0.30.19",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz",
@@ -2024,6 +2062,21 @@
"node": ">= 18"
}
},
+ "node_modules/motion-dom": {
+ "version": "12.23.23",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.23.tgz",
+ "integrity": "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.23.6"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.23.6",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz",
+ "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==",
+ "license": "MIT"
+ },
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
diff --git a/package.json b/package.json
index 9ea6d59..52262ac 100644
--- a/package.json
+++ b/package.json
@@ -9,11 +9,13 @@
},
"dependencies": {
"antd": "^5.27.4",
+ "framer-motion": "^12.23.24",
"i18next": "^25.5.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-http-backend": "^3.0.2",
"i18next-resources-to-backend": "^1.2.1",
"leaflet": "^1.9.4",
+ "lucide-react": "^0.553.0",
"next": "15.5.4",
"next-i18next": "^15.4.2",
"react": "19.1.0",
diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json
index a3210c6..d04d585 100644
--- a/public/locales/ru/common.json
+++ b/public/locales/ru/common.json
@@ -174,5 +174,8 @@
"wallet": "сумов",
"time": "часов",
"hour-price": "Цена за 1 час: ",
- "min-time": "Минимальный заказ: "
+ "min-time": "Минимальный заказ: ",
+ "day-price": "Цена аренды за день: ",
+ "note1": "Мы предоставляем автолифт только с нашим водителем.",
+ "note2": "Доставка автолифта включена в стоимость аренды."
}
diff --git a/public/locales/uz/common.json b/public/locales/uz/common.json
index 4bdaea8..e802d5a 100644
--- a/public/locales/uz/common.json
+++ b/public/locales/uz/common.json
@@ -176,5 +176,8 @@
"wallet":"so'm",
"time":"soat",
"hour-price":"1 soat uchun narx: ",
- "min-time":"Minimal buyrtma: "
+ "min-time":"Minimal buyrtma: ",
+ "day-price":"Bir kunlik ijara narxi: ",
+ "note1":"Biz avtoliftni faqat haydovchimiz bilan taqdim etamiz.",
+ "note2":"Avtoliftni yetkazib berish ijara narxiga kiritilgan."
}
\ No newline at end of file