diff --git a/Backend/category/artcategories/__pycache__/__init__.cpython-39.pyc b/Backend/category/artcategories/__pycache__/__init__.cpython-39.pyc index d829a7e9..9b0b4a73 100644 Binary files a/Backend/category/artcategories/__pycache__/__init__.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/__init__.cpython-39.pyc differ diff --git a/Backend/category/artcategories/__pycache__/admin.cpython-39.pyc b/Backend/category/artcategories/__pycache__/admin.cpython-39.pyc index 8b3524f4..33256114 100644 Binary files a/Backend/category/artcategories/__pycache__/admin.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/admin.cpython-39.pyc differ diff --git a/Backend/category/artcategories/__pycache__/apps.cpython-39.pyc b/Backend/category/artcategories/__pycache__/apps.cpython-39.pyc index 3330ef67..9c1294f4 100644 Binary files a/Backend/category/artcategories/__pycache__/apps.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/apps.cpython-39.pyc differ diff --git a/Backend/category/artcategories/__pycache__/models.cpython-39.pyc b/Backend/category/artcategories/__pycache__/models.cpython-39.pyc index d7081812..60e90bd0 100644 Binary files a/Backend/category/artcategories/__pycache__/models.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/models.cpython-39.pyc differ diff --git a/Backend/category/artcategories/__pycache__/urls.cpython-39.pyc b/Backend/category/artcategories/__pycache__/urls.cpython-39.pyc index c868b46e..8fd898c0 100644 Binary files a/Backend/category/artcategories/__pycache__/urls.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/urls.cpython-39.pyc differ diff --git a/Backend/category/artcategories/__pycache__/views.cpython-39.pyc b/Backend/category/artcategories/__pycache__/views.cpython-39.pyc index 87cc5b7d..895ecf7c 100644 Binary files a/Backend/category/artcategories/__pycache__/views.cpython-39.pyc and b/Backend/category/artcategories/__pycache__/views.cpython-39.pyc differ diff --git a/Backend/category/artcategories/migrations/__pycache__/0001_initial.cpython-39.pyc b/Backend/category/artcategories/migrations/__pycache__/0001_initial.cpython-39.pyc index 784642cd..80979414 100644 Binary files a/Backend/category/artcategories/migrations/__pycache__/0001_initial.cpython-39.pyc and b/Backend/category/artcategories/migrations/__pycache__/0001_initial.cpython-39.pyc differ diff --git a/Backend/category/artcategories/migrations/__pycache__/0002_rename_categories_category.cpython-39.pyc b/Backend/category/artcategories/migrations/__pycache__/0002_rename_categories_category.cpython-39.pyc index e7a068e3..bd920a62 100644 Binary files a/Backend/category/artcategories/migrations/__pycache__/0002_rename_categories_category.cpython-39.pyc and b/Backend/category/artcategories/migrations/__pycache__/0002_rename_categories_category.cpython-39.pyc differ diff --git a/Backend/category/artcategories/migrations/__pycache__/0003_type_category_alter_category_name_alter_type_image.cpython-39.pyc b/Backend/category/artcategories/migrations/__pycache__/0003_type_category_alter_category_name_alter_type_image.cpython-39.pyc index aa664008..46ff72ed 100644 Binary files a/Backend/category/artcategories/migrations/__pycache__/0003_type_category_alter_category_name_alter_type_image.cpython-39.pyc and b/Backend/category/artcategories/migrations/__pycache__/0003_type_category_alter_category_name_alter_type_image.cpython-39.pyc differ diff --git a/Backend/category/artcategories/migrations/__pycache__/__init__.cpython-39.pyc b/Backend/category/artcategories/migrations/__pycache__/__init__.cpython-39.pyc index df9fded2..3284ed66 100644 Binary files a/Backend/category/artcategories/migrations/__pycache__/__init__.cpython-39.pyc and b/Backend/category/artcategories/migrations/__pycache__/__init__.cpython-39.pyc differ diff --git a/Backend/category/category/__pycache__/__init__.cpython-39.pyc b/Backend/category/category/__pycache__/__init__.cpython-39.pyc index bd130495..b7a104d9 100644 Binary files a/Backend/category/category/__pycache__/__init__.cpython-39.pyc and b/Backend/category/category/__pycache__/__init__.cpython-39.pyc differ diff --git a/Backend/category/category/__pycache__/settings.cpython-39.pyc b/Backend/category/category/__pycache__/settings.cpython-39.pyc index 24e11dc5..53195ad6 100644 Binary files a/Backend/category/category/__pycache__/settings.cpython-39.pyc and b/Backend/category/category/__pycache__/settings.cpython-39.pyc differ diff --git a/Backend/category/category/__pycache__/urls.cpython-39.pyc b/Backend/category/category/__pycache__/urls.cpython-39.pyc index b1eee2f0..78b4500a 100644 Binary files a/Backend/category/category/__pycache__/urls.cpython-39.pyc and b/Backend/category/category/__pycache__/urls.cpython-39.pyc differ diff --git a/Backend/category/category/__pycache__/wsgi.cpython-39.pyc b/Backend/category/category/__pycache__/wsgi.cpython-39.pyc index 501dc2a2..22ad40f1 100644 Binary files a/Backend/category/category/__pycache__/wsgi.cpython-39.pyc and b/Backend/category/category/__pycache__/wsgi.cpython-39.pyc differ diff --git a/package-lock.json b/package-lock.json index fdaad008..a9633404 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,17 @@ "name": "style", "version": "0.1.0", "dependencies": { + + "@react-google-maps/api": "^2.20.3", + "axios": "^1.7.7", + "firebase": "^10.14.1", + "leaflet": "^1.9.4", + "dotenv": "^16.4.5", "axios": "^1.7.7", "firebase": "^10.14.1", "firebase-admin": "^13.0.0", + "next": "^14.2.13", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -670,6 +677,22 @@ "integrity": "sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ==", "license": "Apache-2.0" }, + + "node_modules/@googlemaps/js-api-loader": { + "version": "1.16.8", + "resolved": "https://registry.npmjs.org/@googlemaps/js-api-loader/-/js-api-loader-1.16.8.tgz", + "integrity": "sha512-CROqqwfKotdO6EBjZO/gQGVTbeDps5V7Mt9+8+5Q+jTg5CRMi3Ii/L9PmV3USROrt2uWxtGzJHORmByxyo9pSQ==", + "license": "Apache-2.0" + }, + "node_modules/@googlemaps/markerclusterer": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@googlemaps/markerclusterer/-/markerclusterer-2.5.3.tgz", + "integrity": "sha512-x7lX0R5yYOoiNectr10wLgCBasNcXFHiADIBdmn7jQllF2B5ENQw5XtZK+hIw4xnV0Df0xhN4LN98XqA5jaiOw==", + "license": "Apache-2.0", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "supercluster": "^8.0.1" + "node_modules/@google-cloud/firestore": { "version": "7.10.0", "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-7.10.0.tgz", @@ -756,6 +779,7 @@ "optional": true, "bin": { "uuid": "dist/bin/uuid" + } }, "node_modules/@grpc/grpc-js": { @@ -1231,6 +1255,36 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "license": "BSD-3-Clause" }, + "node_modules/@react-google-maps/api": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/@react-google-maps/api/-/api-2.20.3.tgz", + "integrity": "sha512-ndXC8nZDPT78nCceZnftGSvA/iVhwx2XhlfEYaoUy2biGelhrE2vDzjyTuZhb4RV+bVYpd4LkIf3hzyxAFd+Qg==", + "license": "MIT", + "dependencies": { + "@googlemaps/js-api-loader": "1.16.8", + "@googlemaps/markerclusterer": "2.5.3", + "@react-google-maps/infobox": "2.20.0", + "@react-google-maps/marker-clusterer": "2.20.0", + "@types/google.maps": "3.58.1", + "invariant": "2.2.4" + }, + "peerDependencies": { + "react": "^16.8 || ^17 || ^18", + "react-dom": "^16.8 || ^17 || ^18" + } + }, + "node_modules/@react-google-maps/infobox": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@react-google-maps/infobox/-/infobox-2.20.0.tgz", + "integrity": "sha512-03PJHjohhaVLkX6+NHhlr8CIlvUxWaXhryqDjyaZ8iIqqix/nV8GFdz9O3m5OsjtxtNho09F/15j14yV0nuyLQ==", + "license": "MIT" + }, + "node_modules/@react-google-maps/marker-clusterer": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@react-google-maps/marker-clusterer/-/marker-clusterer-2.20.0.tgz", + "integrity": "sha512-tieX9Va5w1yP88vMgfH1pHTacDQ9TgDTjox3tLlisKDXRQWdjw+QeVVghhf5XqqIxXHgPdcGwBvKY6UP+SIvLw==", + "license": "MIT" + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -1261,6 +1315,12 @@ "tslib": "^2.4.0" } }, + + "node_modules/@types/google.maps": { + "version": "3.58.1", + "resolved": "https://registry.npmjs.org/@types/google.maps/-/google.maps-3.58.1.tgz", + "integrity": "sha512-X9QTSvGJ0nCfMzYOnaVs/k6/4L+7F5uCS+4iUmkLEls6J9S/Phv+m/i3mDeyc49ZBgwab3EFO1HEoBY7k98EGQ==", + "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -1325,6 +1385,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/json5": { @@ -3296,7 +3357,10 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + + "devOptional": true, + "license": "MIT" }, "node_modules/fast-glob": { @@ -4272,6 +4336,15 @@ "node": ">= 0.4" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -4895,6 +4968,13 @@ "node": ">=4.0" } }, + + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + "node_modules/jwa": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", @@ -4932,6 +5012,7 @@ "jwa": "^2.0.0", "safe-buffer": "^5.0.1" } + }, "node_modules/keyv": { "version": "4.5.4", @@ -4963,6 +5044,12 @@ "node": ">=0.10" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -6682,6 +6769,15 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", diff --git a/package.json b/package.json index efdea392..95f72e3c 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,17 @@ "lint": "next lint" }, "dependencies": { + + "@react-google-maps/api": "^2.20.3", + "axios": "^1.7.7", + "firebase": "^10.14.1", + "leaflet": "^1.9.4", + "dotenv": "^16.4.5", "axios": "^1.7.7", "firebase": "^10.14.1", "firebase-admin": "^13.0.0", + "next": "^14.2.13", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/src/app/portfolio/page.tsx b/src/app/portfolio/page.tsx index f1638e97..99f3b4c8 100644 --- a/src/app/portfolio/page.tsx +++ b/src/app/portfolio/page.tsx @@ -313,6 +313,15 @@ export default function Portfolio() {