+>(({ className, ...props }, ref) => (
+ | [role=checkbox]]:translate-y-[2px]",
+ className
+ )}
+ {...props}
+ />
+))
+TableCell.displayName = "TableCell"
+
+const TableCaption = React.forwardRef<
+ HTMLTableCaptionElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+TableCaption.displayName = "TableCaption"
+
+export {
+ Table,
+ TableHeader,
+ TableBody,
+ TableFooter,
+ TableHead,
+ TableRow,
+ TableCell,
+ TableCaption,
+}
diff --git a/hooks/use-debounce.ts b/hooks/use-debounce.ts
new file mode 100644
index 0000000..7362650
--- /dev/null
+++ b/hooks/use-debounce.ts
@@ -0,0 +1,17 @@
+"use client"
+
+import { useEffect, useState } from "react"
+
+export function useDebounce(value: T, delay?: number): T {
+ const [debouncedValue, setDebouncedValue] = useState(value)
+
+ useEffect(() => {
+ const timer = setTimeout(() => setDebouncedValue(value), delay || 300)
+
+ return () => {
+ clearTimeout(timer)
+ }
+ }, [value, delay])
+
+ return debouncedValue
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index de9b38f..254864f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,7 +7,9 @@
"": {
"name": "bazar",
"version": "0.1.0",
+ "hasInstallScript": true,
"dependencies": {
+ "@clerk/nextjs": "^6.5.0",
"@hookform/resolvers": "^3.9.1",
"@prisma/client": "^5.22.0",
"@radix-ui/react-checkbox": "^1.1.2",
@@ -17,6 +19,7 @@
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-toast": "^1.2.2",
+ "@tanstack/react-table": "^8.20.5",
"@types/bcrypt": "^5.0.2",
"axios": "^1.7.7",
"bcrypt": "^5.1.1",
@@ -69,6 +72,161 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@clerk/backend": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/@clerk/backend/-/backend-1.18.0.tgz",
+ "integrity": "sha512-FIGBtr8qIgS+NbovKcLOIg8BsQj1JaykW3VKft3H83tONQD5Rg9ENXj/JX1HyZGC3ixLv5BUxu4bihQ78L/gJQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@clerk/shared": "2.17.0",
+ "@clerk/types": "4.35.0",
+ "cookie": "0.7.0",
+ "snakecase-keys": "5.4.4",
+ "tslib": "2.4.1"
+ },
+ "engines": {
+ "node": ">=18.17.0"
+ }
+ },
+ "node_modules/@clerk/backend/node_modules/cookie": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz",
+ "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@clerk/backend/node_modules/tslib": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==",
+ "license": "0BSD"
+ },
+ "node_modules/@clerk/clerk-react": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/@clerk/clerk-react/-/clerk-react-5.17.0.tgz",
+ "integrity": "sha512-++PSiayBaK877XTjbTZzyqommVlxnFNevxCKsOXbq8+KENAyYkUZ6LJpyoWjfjg1fnKq6oUFax+TwnyOyyxoqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@clerk/shared": "2.17.0",
+ "@clerk/types": "4.35.0",
+ "tslib": "2.4.1"
+ },
+ "engines": {
+ "node": ">=18.17.0"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19.0.0-0",
+ "react-dom": "^18 || ^19.0.0-0"
+ }
+ },
+ "node_modules/@clerk/clerk-react/node_modules/tslib": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==",
+ "license": "0BSD"
+ },
+ "node_modules/@clerk/nextjs": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/@clerk/nextjs/-/nextjs-6.5.0.tgz",
+ "integrity": "sha512-0+MhX4Hz/fdvVYeZIC7XNI8qZ7vX+UtfMksE6qdyWR5IGewCsNiIHlDW0fDtau6p1e6TsQ66qTnZz15yU4G7dw==",
+ "license": "MIT",
+ "dependencies": {
+ "@clerk/backend": "1.18.0",
+ "@clerk/clerk-react": "5.17.0",
+ "@clerk/shared": "2.17.0",
+ "@clerk/types": "4.35.0",
+ "crypto-js": "4.2.0",
+ "ezheaders": "0.1.0",
+ "server-only": "0.0.1",
+ "tslib": "2.4.1"
+ },
+ "engines": {
+ "node": ">=18.17.0"
+ },
+ "peerDependencies": {
+ "next": "^13.5.4 || ^14.0.3 || ^15.0.0",
+ "react": "^18 || ^19.0.0-0",
+ "react-dom": "^18 || ^19.0.0-0"
+ }
+ },
+ "node_modules/@clerk/nextjs/node_modules/tslib": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==",
+ "license": "0BSD"
+ },
+ "node_modules/@clerk/shared": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmjs.org/@clerk/shared/-/shared-2.17.0.tgz",
+ "integrity": "sha512-Jn/oBGjGfQQJIiMMf6Y0puC62R0rL1l/gLoPWnO6vNlCBzuFHGcsSTCWWDpmAXfyVwY7wJ7Dcq/B1UEsKeJ8zQ==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@clerk/types": "4.35.0",
+ "dequal": "2.0.3",
+ "glob-to-regexp": "0.4.1",
+ "js-cookie": "3.0.5",
+ "std-env": "^3.7.0",
+ "swr": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=18.17.0"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19.0.0-0",
+ "react-dom": "^18 || ^19.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@clerk/shared/node_modules/swr": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz",
+ "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==",
+ "license": "MIT",
+ "dependencies": {
+ "client-only": "^0.0.1",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@clerk/shared/node_modules/swr/node_modules/use-sync-external-store": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@clerk/types": {
+ "version": "4.35.0",
+ "resolved": "https://registry.npmjs.org/@clerk/types/-/types-4.35.0.tgz",
+ "integrity": "sha512-sBSYCCIXcwI+JHQRqBtskw10+rQ1NcA9w1G6ndnS48F5C+if6xI9OpYaaDjhhvzLjBeZFydKAOhe35mgC7bmoA==",
+ "license": "MIT",
+ "dependencies": {
+ "csstype": "3.1.1"
+ },
+ "engines": {
+ "node": ">=18.17.0"
+ }
+ },
+ "node_modules/@clerk/types/node_modules/csstype": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
+ "license": "MIT"
+ },
"node_modules/@emnapi/runtime": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
@@ -2108,6 +2266,39 @@
"tslib": "^2.4.0"
}
},
+ "node_modules/@tanstack/react-table": {
+ "version": "8.20.5",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz",
+ "integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/table-core": "8.20.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@tanstack/table-core": {
+ "version": "8.20.5",
+ "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz",
+ "integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
"node_modules/@types/bcrypt": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz",
@@ -3139,6 +3330,12 @@
"node": ">= 8"
}
},
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
+ "license": "MIT"
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -3293,6 +3490,15 @@
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"license": "MIT"
},
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/detect-libc": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
@@ -3333,6 +3539,16 @@
"node": ">=6.0.0"
}
},
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -4018,6 +4234,14 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ezheaders": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ezheaders/-/ezheaders-0.1.0.tgz",
+ "integrity": "sha512-U0wdCs2dS+IzFuxyHGyw1aWhiunW22sGqnyH4yQsovkgqUvO4YSbzQ5BQzV6HY4oFlNnK+TbFGJj8rvvX5aN7w==",
+ "peerDependencies": {
+ "next": "^13.5.4 || ^14 || ^15"
+ }
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4424,6 +4648,12 @@
"node": ">=10.13.0"
}
},
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "license": "BSD-2-Clause"
+ },
"node_modules/globals": {
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
@@ -5149,6 +5379,15 @@
"url": "https://github.com/sponsors/panva"
}
},
+ "node_modules/js-cookie": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5312,6 +5551,15 @@
"loose-envify": "cli.js"
}
},
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
"node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
@@ -5351,6 +5599,18 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/map-obj": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
+ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -5618,6 +5878,16 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "license": "MIT",
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
"node_modules/node-addon-api": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz",
@@ -6596,6 +6866,12 @@
"node": ">=10"
}
},
+ "node_modules/server-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz",
+ "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==",
+ "license": "MIT"
+ },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -6738,6 +7014,42 @@
"is-arrayish": "^0.3.1"
}
},
+ "node_modules/snake-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
+ "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/snakecase-keys": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/snakecase-keys/-/snakecase-keys-5.4.4.tgz",
+ "integrity": "sha512-YTywJG93yxwHLgrYLZjlC75moVEX04LZM4FHfihjHe1FCXm+QaLOFfSf535aXOAd0ArVQMWUAe8ZPm4VtWyXaA==",
+ "license": "MIT",
+ "dependencies": {
+ "map-obj": "^4.1.0",
+ "snake-case": "^3.0.4",
+ "type-fest": "^2.5.2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/snakecase-keys/node_modules/type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@@ -6747,6 +7059,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/std-env": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz",
+ "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==",
+ "license": "MIT"
+ },
"node_modules/streamsearch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
diff --git a/package.json b/package.json
index c49d31f..32698d8 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts"
},
"dependencies": {
+ "@clerk/nextjs": "^6.5.0",
"@hookform/resolvers": "^3.9.1",
"@prisma/client": "^5.22.0",
"@radix-ui/react-checkbox": "^1.1.2",
@@ -25,6 +26,7 @@
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-toast": "^1.2.2",
+ "@tanstack/react-table": "^8.20.5",
"@types/bcrypt": "^5.0.2",
"axios": "^1.7.7",
"bcrypt": "^5.1.1",
diff --git a/prisma/constant.ts b/prisma/constant.ts
index 0052a56..18d6e40 100644
--- a/prisma/constant.ts
+++ b/prisma/constant.ts
@@ -99,7 +99,7 @@ export const categories = [
id: "cat-1",
nameEn: "Vehicles",
nameAr: "مركبات",
- slug: "vehicles",
+ slug: "vehicles",
icon: "🚗",
isActive: true,
order: 1
@@ -115,7 +115,7 @@ export const categories = [
order: 1
},
{
- id: "cat-1-2",
+ id: "cat-1-2",
nameEn: "Motorcycles",
nameAr: "دراجات نارية",
slug: "motorcycles",
@@ -130,7 +130,7 @@ export const categories = [
nameAr: "قطع غيار",
slug: "spare-parts",
icon: "🔧",
- parentId: "cat-1",
+ parentId: "cat-1",
isActive: true,
order: 3
},
@@ -256,6 +256,252 @@ export const categories = [
parentId: "cat-4",
isActive: true,
order: 3
+ },
+
+ // Мебель и интерьер
+ {
+ id: "cat-5",
+ nameEn: "Furniture & Interior",
+ nameAr: "أثاث وديكور",
+ slug: "furniture-interior",
+ icon: "🛋️",
+ isActive: true,
+ order: 5
+ },
+ {
+ id: "cat-5-1",
+ nameEn: "Living Room",
+ nameAr: "غرفة المعيشة",
+ slug: "living-room",
+ icon: "🛋️",
+ parentId: "cat-5",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-5-2",
+ nameEn: "Bedroom",
+ nameAr: "غرفة النوم",
+ slug: "bedroom",
+ icon: "🛏️",
+ parentId: "cat-5",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-5-3",
+ nameEn: "Kitchen",
+ nameAr: "مطبخ",
+ slug: "kitchen",
+ icon: "🍳",
+ parentId: "cat-5",
+ isActive: true,
+ order: 3
+ },
+
+ // Спорт и отдых
+ {
+ id: "cat-6",
+ nameEn: "Sports & Leisure",
+ nameAr: "رياضة وترفيه",
+ slug: "sports-leisure",
+ icon: "⚽",
+ isActive: true,
+ order: 6
+ },
+ {
+ id: "cat-6-1",
+ nameEn: "Fitness Equipment",
+ nameAr: "معدات رياضية",
+ slug: "fitness",
+ icon: "🏋️",
+ parentId: "cat-6",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-6-2",
+ nameEn: "Outdoor Sports",
+ nameAr: "رياضات خارجية",
+ slug: "outdoor-sports",
+ icon: "🎣",
+ parentId: "cat-6",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-6-3",
+ nameEn: "Water Sports",
+ nameAr: "رياضات مائية",
+ slug: "water-sports",
+ icon: "🏊",
+ parentId: "cat-6",
+ isActive: true,
+ order: 3
+ },
+
+ // Бытовая техника
+ {
+ id: "cat-7",
+ nameEn: "Home Appliances",
+ nameAr: "أجهزة منزلية",
+ slug: "home-appliances",
+ icon: "🔌",
+ isActive: true,
+ order: 7
+ },
+ {
+ id: "cat-7-1",
+ nameEn: "Kitchen Appliances",
+ nameAr: "أجهزة المطبخ",
+ slug: "kitchen-appliances",
+ icon: "🍳",
+ parentId: "cat-7",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-7-2",
+ nameEn: "Cleaning Equipment",
+ nameAr: "معدات تنظيف",
+ slug: "cleaning",
+ icon: "🧹",
+ parentId: "cat-7",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-7-3",
+ nameEn: "Climate Control",
+ nameAr: "تحكم بالمناخ",
+ slug: "climate",
+ icon: "❄️",
+ parentId: "cat-7",
+ isActive: true,
+ order: 3
+ },
+
+ // Животные
+ {
+ id: "cat-8",
+ nameEn: "Pets",
+ nameAr: "حيوانات أليفة",
+ slug: "pets",
+ icon: "🐾",
+ isActive: true,
+ order: 8
+ },
+ {
+ id: "cat-8-1",
+ nameEn: "Dogs",
+ nameAr: "كلاب",
+ slug: "dogs",
+ icon: "🐕",
+ parentId: "cat-8",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-8-2",
+ nameEn: "Cats",
+ nameAr: "قطط",
+ slug: "cats",
+ icon: "🐈",
+ parentId: "cat-8",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-8-3",
+ nameEn: "Pet Supplies",
+ nameAr: "مستلزمات الحيوانات",
+ slug: "pet-supplies",
+ icon: "🦴",
+ parentId: "cat-8",
+ isActive: true,
+ order: 3
+ },
+
+ // Услуги
+ {
+ id: "cat-9",
+ nameEn: "Services",
+ nameAr: "خدمات",
+ slug: "services",
+ icon: "🛠️",
+ isActive: true,
+ order: 9
+ },
+ {
+ id: "cat-9-1",
+ nameEn: "Home Services",
+ nameAr: "خدمات منزلية",
+ slug: "home-services",
+ icon: "🏠",
+ parentId: "cat-9",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-9-2",
+ nameEn: "Business Services",
+ nameAr: "خدمات تجارية",
+ slug: "business-services",
+ icon: "💼",
+ parentId: "cat-9",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-9-3",
+ nameEn: "Education",
+ nameAr: "تعليم",
+ slug: "education",
+ icon: "📚",
+ parentId: "cat-9",
+ isActive: true,
+ order: 3
+ },
+
+ // Хобби и развлечения
+ {
+ id: "cat-10",
+ nameEn: "Hobbies & Entertainment",
+ nameAr: "هوايات وترفيه",
+ slug: "hobbies",
+ icon: "🎨",
+ isActive: true,
+ order: 10
+ },
+ {
+ id: "cat-10-1",
+ nameEn: "Musical Instruments",
+ nameAr: "آلات موسيقية",
+ slug: "music",
+ icon: "🎸",
+ parentId: "cat-10",
+ isActive: true,
+ order: 1
+ },
+ {
+ id: "cat-10-2",
+ nameEn: "Art & Crafts",
+ nameAr: "فنون وحرف",
+ slug: "art",
+ icon: "🎨",
+ parentId: "cat-10",
+ isActive: true,
+ order: 2
+ },
+ {
+ id: "cat-10-3",
+ nameEn: "Books & Magazines",
+ nameAr: "كتب ومجلات",
+ slug: "books",
+ icon: "📚",
+ parentId: "cat-10",
+ isActive: true,
+ order: 3
}
];
@@ -263,7 +509,7 @@ export const adts = [
{
title: "2023 Toyota Camry",
description: "Excellent condition, low mileage",
- price: 75000.00,
+ price: '75000.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
@@ -279,8 +525,8 @@ export const adts = [
},
{
title: "iPhone 14 Pro Max",
- description: "Новый, запечатанный iPhone 14 Pro Max 256GB",
- price: 4499.00,
+ description: "Brand new sealed iPhone 14 Pro Max 256GB",
+ price: '4499.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
@@ -295,9 +541,9 @@ export const adts = [
isPromoted: false
},
{
- title: "Роскошная вилла с бассейном",
- description: "6 спален, 7 ванных комнат, частный бассейн, сад",
- price: 12000000.00,
+ title: "Luxury Villa with Pool",
+ description: "6 bedrooms, 7 bathrooms, private pool, garden",
+ price: '12000000.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
@@ -312,9 +558,9 @@ export const adts = [
isPromoted: true
},
{
- title: "Дизайнерская сумка Gucci",
- description: "Оригинальная сумка Gucci из новой коллекции",
- price: 8500.00,
+ title: "Designer Gucci Bag",
+ description: "Original Gucci bag from new collection",
+ price: '8500.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
@@ -329,43 +575,94 @@ export const adts = [
isPromoted: false
},
{
- title: "Harley-Davidson Street Glide",
- description: "2022 год, пробег 5000 км, отличное состояние",
- price: 95000.00,
+ title: "2022 Mercedes-Benz S-Class",
+ description: "Luxury sedan with full options, only 3000km",
+ price: '450000.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
- address: "Motor City",
- latitude: 25.0511,
- longitude: 55.2492,
+ address: "Sheikh Zayed Road",
+ latitude: 25.2048,
+ longitude: 55.2708,
userId: 1,
- categoryId: "cat-1-2",
+ categoryId: "cat-1-1",
views: 0,
- image: "https://images.unsplash.com/photo-1558981806-ec527fa84c39",
+ image: "https://images.unsplash.com/photo-1622194993799-e7f132e4126a",
contactPhone: "+971501234567",
isPromoted: true
},
{
- title: "Оригинальные запчасти BMW",
- description: "Новые тормозные диски и колодки для BMW X5",
- price: 2500.00,
+ title: "Gaming PC Setup",
+ description: "High-end gaming PC with RTX 4090",
+ price: '12000.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
- address: "Al Quoz",
- latitude: 25.1539,
- longitude: 55.2289,
+ address: "Business Bay",
+ latitude: 25.1872,
+ longitude: 55.2744,
userId: 1,
- categoryId: "cat-1-3",
+ categoryId: "cat-3-3",
views: 0,
- image: "https://images.unsplash.com/photo-1486262715619-67b85e0b08d3",
+ image: "https://images.unsplash.com/photo-1587202372634-32705e3bf49c",
contactPhone: "+971501234567",
isPromoted: false
},
{
- title: "Женское вечернее платье",
- description: "Элегантное вечернее платье от известного дизайнера",
- price: 3500.00,
+ title: "Luxury Apartment in Downtown",
+ description: "3BR apartment with Burj Khalifa view",
+ price: '3500000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Downtown Dubai",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-2-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1522708323590-d24dbb6b0267",
+ contactPhone: "+971501234567",
+ isPromoted: true
+ },
+ {
+ title: "Professional DJ Equipment",
+ description: "Complete DJ setup with Pioneer CDJs and mixer",
+ price: '15000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "JLT",
+ latitude: 25.0750,
+ longitude: 55.1375,
+ userId: 1,
+ categoryId: "cat-10-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1571935441005-55aaae1bd080",
+ contactPhone: "+971501234567",
+ isPromoted: false
+ },
+ {
+ title: "Modern Living Room Set",
+ description: "Complete furniture set with sofa and tables",
+ price: '25000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Marina",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-5-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1555041469-a586c61ea9bc",
+ contactPhone: "+971501234567",
+ isPromoted: true
+ },
+ {
+ title: "MacBook Pro 16-inch",
+ description: "M2 Max chip, 32GB RAM, 1TB SSD",
+ price: '9500.00',
status: Status.PUBLISHED,
countryId: "country-1",
cityId: "city-1",
@@ -373,149 +670,283 @@ export const adts = [
latitude: 25.1972,
longitude: 55.2744,
userId: 1,
- categoryId: "cat-4-2",
+ categoryId: "cat-3-2",
views: 0,
- image: "https://images.unsplash.com/photo-1566174053879-31528523f8ae",
+ image: "https://images.unsplash.com/photo-1517336714731-489689fd1ca8",
contactPhone: "+971501234567",
- isPromoted: true
+ isPromoted: false
},
{
- title: "Мужской костюм Tom Ford",
- description: "Новый костюм Tom Ford, размер 52",
- price: 12000.00,
+ title: "iPhone 14 Pro Max",
+ description: "Brand new, 256GB storage, Space Black",
+ price: '4500.00',
status: Status.PUBLISHED,
- countryId: "country-1",
+ countryId: "country-1",
cityId: "city-1",
address: "Mall of Emirates",
latitude: 25.1181,
longitude: 55.2008,
userId: 1,
- categoryId: "cat-4-1",
+ categoryId: "cat-3-1",
views: 0,
- image: "https://images.unsplash.com/photo-1594938298603-c8148c4dae35",
+ image: "https://images.unsplash.com/photo-1678685888221-cda773a3dcdb",
+ contactPhone: "+971501234567",
+ isPromoted: true
+ },
+ {
+ title: "Designer Handbag",
+ description: "Authentic Louis Vuitton Neverfull MM",
+ price: '6000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Mall",
+ latitude: 25.1972,
+ longitude: 55.2744,
+ userId: 1,
+ categoryId: "cat-4-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1584917865442-de89df76afd3",
contactPhone: "+971501234567",
isPromoted: false
- }
+ },
+ {
+ title: "Modern Kitchen Set",
+ description: "Complete kitchen cabinets with appliances",
+ price: '35000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Business Bay",
+ latitude: 25.1857,
+ longitude: 55.2644,
+ userId: 1,
+ categoryId: "cat-5-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1556911220-bff31c812dba",
+ contactPhone: "+971501234567",
+ isPromoted: true
+ },
+ {
+ title: "2023 Toyota Camry",
+ description: "Excellent condition, low mileage",
+ price: '75000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Marina",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-1-1",
+ views: 0,
+ image: "https://example.com/camry.jpg",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "iPhone 14 Pro Max",
+ description: "Brand new sealed iPhone 14 Pro Max 256GB",
+ price: '4499.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Mall of Emirates",
+ latitude: 25.1181,
+ longitude: 55.2008,
+ userId: 1,
+ categoryId: "cat-3-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1678685888221-cda773a3dcdb",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "Luxury Villa with Pool",
+ description: "6 bedrooms, 7 bathrooms, private pool, garden",
+ price: '12000000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Palm Jumeirah",
+ latitude: 25.1124,
+ longitude: 55.1390,
+ userId: 1,
+ categoryId: "cat-2-2",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1613977257363-707ba9348227",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "Designer Gucci Bag",
+ description: "Original Gucci bag from new collection",
+ price: '8500.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Mall",
+ latitude: 25.1972,
+ longitude: 55.2744,
+ userId: 1,
+ categoryId: "cat-4-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1548036328-c9fa89d128fa",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "2022 Mercedes-Benz S-Class",
+ description: "Luxury sedan with full options, only 3000km",
+ price: '450000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Sheikh Zayed Road",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-1-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1622194993799-e7f132e4126a",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "Gaming PC Setup",
+ description: "High-end gaming PC with RTX 4090",
+ price: '12000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Business Bay",
+ latitude: 25.1872,
+ longitude: 55.2744,
+ userId: 1,
+ categoryId: "cat-3-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1587202372634-32705e3bf49c",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "Luxury Apartment in Downtown",
+ description: "3BR apartment with Burj Khalifa view",
+ price: '3500000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Downtown Dubai",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-2-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1522708323590-d24dbb6b0267",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "Professional DJ Equipment",
+ description: "Complete DJ setup with Pioneer CDJs and mixer",
+ price: '15000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "JLT",
+ latitude: 25.0750,
+ longitude: 55.1375,
+ userId: 1,
+ categoryId: "cat-10-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1571935441005-55aaae1bd080",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "Modern Living Room Set",
+ description: "Complete furniture set with sofa and tables",
+ price: '25000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Marina",
+ latitude: 25.2048,
+ longitude: 55.2708,
+ userId: 1,
+ categoryId: "cat-5-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1555041469-a586c61ea9bc",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "MacBook Pro 16-inch",
+ description: "M2 Max chip, 32GB RAM, 1TB SSD",
+ price: '9500.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Mall",
+ latitude: 25.1972,
+ longitude: 55.2744,
+ userId: 1,
+ categoryId: "cat-3-2",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1517336714731-489689fd1ca8",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "iPhone 14 Pro Max",
+ description: "Brand new, 256GB storage, Space Black",
+ price: '4500.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Mall of Emirates",
+ latitude: 25.1181,
+ longitude: 55.2008,
+ userId: 1,
+ categoryId: "cat-3-1",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1678685888221-cda773a3dcdb",
+ contactPhone: "+971501234567",
+ isPromoted: true
+},
+{
+ title: "Designer Handbag",
+ description: "Authentic Louis Vuitton Neverfull MM",
+ price: '6000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Dubai Mall",
+ latitude: 25.1972,
+ longitude: 55.2744,
+ userId: 1,
+ categoryId: "cat-4-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1584917865442-de89df76afd3",
+ contactPhone: "+971501234567",
+ isPromoted: false
+},
+{
+ title: "Modern Kitchen Set",
+ description: "Complete kitchen cabinets with appliances",
+ price: '35000.00',
+ status: Status.PUBLISHED,
+ countryId: "country-1",
+ cityId: "city-1",
+ address: "Business Bay",
+ latitude: 25.1857,
+ longitude: 55.2644,
+ userId: 1,
+ categoryId: "cat-5-3",
+ views: 0,
+ image: "https://images.unsplash.com/photo-1556911220-bff31c812dba",
+ contactPhone: "+971501234567",
+ isPromoted: true
+}
];
-// export const adts = [
-// {
-// title: "2023 Toyota Camry",
-// description: "Excellent condition, low mileage",
-// price: 75000.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Dubai Marina",
-// latitude: 25.2048,
-// longitude: 55.2708,
-// userId: 1,
-// categoryId: "cat-1-1", // Обновлено на подкатегорию Cars
-// views: 0,
-// image: "https://example.com/camry.jpg",
-// contactPhone: "+971501234567",
-// isPromoted: true
-// },
-// {
-// title: "Студия в центре города",
-// description: "Современная студия с прекрасным видом",
-// price: 2200.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Downtown Dubai",
-// latitude: 25.2048,
-// longitude: 55.2708,
-// userId: 1,
-// categoryId: "cat-2-1", // Обновлено на подкатегорию Apartments
-// views: 0,
-// image: "https://images.unsplash.com/photo-1522708323590-d24dbb6b0267",
-// contactPhone: "+971501234567",
-// isPromoted: true
-// },
-// {
-// title: "MacBook Pro M2",
-// description: "Новый MacBook Pro с чипом M2",
-// price: 2499.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Dubai Mall",
-// latitude: 25.2048,
-// longitude: 55.2708,
-// userId: 1,
-// categoryId: "cat-3-2", // Обновлено на подкатегорию Laptops
-// views: 0,
-// image: "https://images.unsplash.com/photo-1517336714731-489689fd1ca8",
-// contactPhone: "+971501234567",
-// isPromoted: false
-// },
-// {
-// title: "Винтажная кожаная куртка",
-// description: "Оригинальная кожаная куртка, ручная работа",
-// price: 299.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Portland Fashion District",
-// latitude: 45.5155,
-// longitude: -122.6789,
-// userId: 2,
-// categoryId: "cat-4",
-// views: 0,
-// image: "https://images.unsplash.com/photo-1551028719-00167b16eac5",
-// contactPhone: "+15035559876",
-// isPromoted: true
-// },
-// {
-// title: "Профессиональная камера DSLR",
-// description: "Полный комплект профессиональной фототехники",
-// price: 1899.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "New York Photography District",
-// latitude: 40.7128,
-// longitude: -74.0060,
-// userId: 1,
-// categoryId: "cat-3",
-// views: 0,
-// image: "https://images.unsplash.com/photo-1516035069371-29a1b244cc32",
-// contactPhone: "+12125558899",
-// isPromoted: true
-// },
-// {
-// title: "Игровая приставка PS5",
-// description: "Новая PS5 с дополнительным геймпадом",
-// price: 499.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Las Vegas Gaming Center",
-// latitude: 36.1699,
-// longitude: -115.1398,
-// userId: 1,
-// categoryId: "cat-3",
-// views: 0,
-// image: "https://images.unsplash.com/photo-1606144042614-b2417e99c4e3",
-// contactPhone: "+17025553344",
-// isPromoted: false
-// },
-// {
-// title: "Электрогитара Fender Stratocaster",
-// description: "Классическая электрогитара в идеальном состоянии",
-// price: 1199.00,
-// status: Status.PUBLISHED,
-// countryId: "country-1",
-// cityId: "city-1",
-// address: "Nashville Music Row",
-// latitude: 36.1627,
-// longitude: -86.7816,
-// userId: 2,
-// categoryId: "cat-6",
-// views: 0,
-// image: "https://images.unsplash.com/photo-1564186763535-ebb21ef5277f",
-// contactPhone: "+16155557777",
-// isPromoted: true
-// }
-// ];
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index 5c79d84..9290272 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -43,7 +43,7 @@ model Adt {
id Int @id @default(autoincrement())
title String
description String? @db.Text // Используем Text для длинных описаний
- price Decimal? @db.Decimal(10, 2) // Более точный тип для цены
+ price String?
status Status @default(CHECKING)
// Геолокация
@@ -62,7 +62,7 @@ model Adt {
category Category @relation(fields: [categoryId], references: [id])
// Статистика
- views Int @default(0)
+ views Int? @default(0)
favorites Favorite[]
image String?
images Image[]
|