diff --git a/app/page.tsx b/app/page.tsx index 4e7f9e1..1af2ab6 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,3 +1,4 @@ +"use client" import type { NextPage } from 'next'; import '../src/styles/reset.scss'; @@ -5,6 +6,7 @@ import About from '../src/sections/About-Projects'; import Archive from '../src/sections/Archive'; import NavigationBar from '@/src/components/navbar'; import TimerHero from '@/src/sections/Timer'; +import PhotoGallery from '@/src/sections/Photo-Gallery'; // here we will compile all the sections of the website together const Home: NextPage = () => { return ( @@ -13,9 +15,9 @@ const Home: NextPage = () => { + ); }; -export default Home; - +export default Home; \ No newline at end of file diff --git a/next.config.js b/next.config.js index 767719f..414b4a1 100644 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,11 @@ /** @type {import('next').NextConfig} */ -const nextConfig = {} +const nextConfig = { + experimental: { + serverActions: true, + }, + images: { + domains: ['res.cloudinary.com'], + }, +} module.exports = nextConfig diff --git a/package.json b/package.json index d7b592a..457f05c 100644 --- a/package.json +++ b/package.json @@ -9,17 +9,21 @@ "lint": "next lint" }, "dependencies": { + "@cloudinary/react": "^1.11.2", + "@cloudinary/url-gen": "^1.11.2", "@types/node": "20.5.1", "@types/react": "^18.2.21", "@types/react-dom": "18.2.7", + "cloudinary": "^1.40.0", "eslint": "8.47.0", "eslint-config-next": "13.4.19", "next": "^13.4.19", + "next-cloudinary": "^4.22.0", "react": "18.2.0", - "react-animate-on-scroll": "^2.1.7", "react-dom": "18.2.0", "react-intersection-observer": "^9.5.2", "react-lazyload": "^3.2.0", + "react-photo-album": "^2.3.0", "react-responsive-carousel": "^3.2.23", "typescript": "5.1.6" }, diff --git a/public/assets/team_photos/angela.jpg b/public/assets/team_photos/angela.jpg new file mode 100644 index 0000000..197abba Binary files /dev/null and b/public/assets/team_photos/angela.jpg differ diff --git a/public/assets/team_photos/cindy.jpg b/public/assets/team_photos/cindy.jpg new file mode 100644 index 0000000..8961c7f Binary files /dev/null and b/public/assets/team_photos/cindy.jpg differ diff --git a/public/assets/team_photos/jackie.png b/public/assets/team_photos/jackie.png new file mode 100644 index 0000000..647e3c0 Binary files /dev/null and b/public/assets/team_photos/jackie.png differ diff --git a/public/assets/team_photos/khushi.jpg b/public/assets/team_photos/khushi.jpg new file mode 100644 index 0000000..daf5f43 Binary files /dev/null and b/public/assets/team_photos/khushi.jpg differ diff --git a/public/assets/team_photos/nicole.jpg b/public/assets/team_photos/nicole.jpg new file mode 100644 index 0000000..6b155d9 Binary files /dev/null and b/public/assets/team_photos/nicole.jpg differ diff --git a/public/spr-23/IMG_1517.png b/public/spr-23/IMG_1517.png new file mode 100644 index 0000000..0e6ecae Binary files /dev/null and b/public/spr-23/IMG_1517.png differ diff --git a/public/spr-23/IMG_2630.png b/public/spr-23/IMG_2630.png new file mode 100644 index 0000000..4bb27c6 Binary files /dev/null and b/public/spr-23/IMG_2630.png differ diff --git a/public/spr-23/IMG_3041.JPG b/public/spr-23/IMG_3041.JPG new file mode 100644 index 0000000..1a04733 Binary files /dev/null and b/public/spr-23/IMG_3041.JPG differ diff --git a/public/spr-23/IMG_3043.JPG b/public/spr-23/IMG_3043.JPG new file mode 100644 index 0000000..24fbd05 Binary files /dev/null and b/public/spr-23/IMG_3043.JPG differ diff --git a/public/spr-23/IMG_3053.JPG b/public/spr-23/IMG_3053.JPG new file mode 100644 index 0000000..0a3ff58 Binary files /dev/null and b/public/spr-23/IMG_3053.JPG differ diff --git a/public/spr-23/IMG_3055.JPG b/public/spr-23/IMG_3055.JPG new file mode 100644 index 0000000..8c5e258 Binary files /dev/null and b/public/spr-23/IMG_3055.JPG differ diff --git a/public/spr-23/IMG_3062.JPG b/public/spr-23/IMG_3062.JPG new file mode 100644 index 0000000..7c88c1d Binary files /dev/null and b/public/spr-23/IMG_3062.JPG differ diff --git a/public/spr-23/IMG_3066.JPG b/public/spr-23/IMG_3066.JPG new file mode 100644 index 0000000..cfe12a3 Binary files /dev/null and b/public/spr-23/IMG_3066.JPG differ diff --git a/public/spr-23/IMG_3069.JPG b/public/spr-23/IMG_3069.JPG new file mode 100644 index 0000000..4e73d13 Binary files /dev/null and b/public/spr-23/IMG_3069.JPG differ diff --git a/public/spr-23/IMG_3072.JPG b/public/spr-23/IMG_3072.JPG new file mode 100644 index 0000000..2e8699d Binary files /dev/null and b/public/spr-23/IMG_3072.JPG differ diff --git a/public/spr-23/IMG_3076.JPG b/public/spr-23/IMG_3076.JPG new file mode 100644 index 0000000..8cd5fb6 Binary files /dev/null and b/public/spr-23/IMG_3076.JPG differ diff --git a/public/spr-23/IMG_3083.JPG b/public/spr-23/IMG_3083.JPG new file mode 100644 index 0000000..a65bbbf Binary files /dev/null and b/public/spr-23/IMG_3083.JPG differ diff --git a/public/spr-23/IMG_3084.JPG b/public/spr-23/IMG_3084.JPG new file mode 100644 index 0000000..4b47316 Binary files /dev/null and b/public/spr-23/IMG_3084.JPG differ diff --git a/public/spr-23/IMG_3093.JPG b/public/spr-23/IMG_3093.JPG new file mode 100644 index 0000000..cf3808c Binary files /dev/null and b/public/spr-23/IMG_3093.JPG differ diff --git a/public/spr-23/IMG_3103.JPG b/public/spr-23/IMG_3103.JPG new file mode 100644 index 0000000..2e02186 Binary files /dev/null and b/public/spr-23/IMG_3103.JPG differ diff --git a/public/spr-23/IMG_3109.JPG b/public/spr-23/IMG_3109.JPG new file mode 100644 index 0000000..e9d019a Binary files /dev/null and b/public/spr-23/IMG_3109.JPG differ diff --git a/public/spr-23/IMG_7721.JPG b/public/spr-23/IMG_7721.JPG new file mode 100644 index 0000000..4f49c8c Binary files /dev/null and b/public/spr-23/IMG_7721.JPG differ diff --git a/public/spr-23/IMG_7724.JPG b/public/spr-23/IMG_7724.JPG new file mode 100644 index 0000000..5558058 Binary files /dev/null and b/public/spr-23/IMG_7724.JPG differ diff --git a/public/spr-23/IMG_7729.JPG b/public/spr-23/IMG_7729.JPG new file mode 100644 index 0000000..e036acb Binary files /dev/null and b/public/spr-23/IMG_7729.JPG differ diff --git a/public/spr-23/IMG_7739.JPG b/public/spr-23/IMG_7739.JPG new file mode 100644 index 0000000..f367508 Binary files /dev/null and b/public/spr-23/IMG_7739.JPG differ diff --git a/public/spr-23/IMG_7768.JPG b/public/spr-23/IMG_7768.JPG new file mode 100644 index 0000000..e951c7a Binary files /dev/null and b/public/spr-23/IMG_7768.JPG differ diff --git a/public/spr-23/IMG_7771.JPG b/public/spr-23/IMG_7771.JPG new file mode 100644 index 0000000..2ebc893 Binary files /dev/null and b/public/spr-23/IMG_7771.JPG differ diff --git a/public/spr-23/Picsart_23-06-06_00-57-03-199.jpg b/public/spr-23/Picsart_23-06-06_00-57-03-199.jpg new file mode 100644 index 0000000..58ea578 Binary files /dev/null and b/public/spr-23/Picsart_23-06-06_00-57-03-199.jpg differ diff --git a/public/spr-23/Screenshot_20230605_222451_Gallery.jpg b/public/spr-23/Screenshot_20230605_222451_Gallery.jpg new file mode 100644 index 0000000..ed44714 Binary files /dev/null and b/public/spr-23/Screenshot_20230605_222451_Gallery.jpg differ diff --git a/public/wtr_23/IMG_2364.jpg b/public/wtr_23/IMG_2364.jpg new file mode 100644 index 0000000..53d83ea Binary files /dev/null and b/public/wtr_23/IMG_2364.jpg differ diff --git a/public/wtr_23/IMG_2366.jpg b/public/wtr_23/IMG_2366.jpg new file mode 100644 index 0000000..f38d494 Binary files /dev/null and b/public/wtr_23/IMG_2366.jpg differ diff --git a/public/wtr_23/IMG_2367.jpg b/public/wtr_23/IMG_2367.jpg new file mode 100644 index 0000000..e6a0af0 Binary files /dev/null and b/public/wtr_23/IMG_2367.jpg differ diff --git a/public/wtr_23/IMG_2372.jpg b/public/wtr_23/IMG_2372.jpg new file mode 100644 index 0000000..7283ea9 Binary files /dev/null and b/public/wtr_23/IMG_2372.jpg differ diff --git a/public/wtr_23/IMG_2388.jpg b/public/wtr_23/IMG_2388.jpg new file mode 100644 index 0000000..7b9bce0 Binary files /dev/null and b/public/wtr_23/IMG_2388.jpg differ diff --git a/public/wtr_23/IMG_2390.jpg b/public/wtr_23/IMG_2390.jpg new file mode 100644 index 0000000..36b83d2 Binary files /dev/null and b/public/wtr_23/IMG_2390.jpg differ diff --git a/public/wtr_23/IMG_2392.jpg b/public/wtr_23/IMG_2392.jpg new file mode 100644 index 0000000..ae14dae Binary files /dev/null and b/public/wtr_23/IMG_2392.jpg differ diff --git a/public/wtr_23/IMG_2395.jpg b/public/wtr_23/IMG_2395.jpg new file mode 100644 index 0000000..feaeb26 Binary files /dev/null and b/public/wtr_23/IMG_2395.jpg differ diff --git a/public/wtr_23/IMG_2397.jpg b/public/wtr_23/IMG_2397.jpg new file mode 100644 index 0000000..e99eb64 Binary files /dev/null and b/public/wtr_23/IMG_2397.jpg differ diff --git a/public/wtr_23/PXL_20230407_002442180.jpg b/public/wtr_23/PXL_20230407_002442180.jpg new file mode 100644 index 0000000..68de330 Binary files /dev/null and b/public/wtr_23/PXL_20230407_002442180.jpg differ diff --git a/public/wtr_23/PXL_20230407_002630504.jpg b/public/wtr_23/PXL_20230407_002630504.jpg new file mode 100644 index 0000000..6dcd51d Binary files /dev/null and b/public/wtr_23/PXL_20230407_002630504.jpg differ diff --git a/public/wtr_23/PXL_20230407_002733801.MP.jpg b/public/wtr_23/PXL_20230407_002733801.MP.jpg new file mode 100644 index 0000000..9b911d7 Binary files /dev/null and b/public/wtr_23/PXL_20230407_002733801.MP.jpg differ diff --git a/public/wtr_23/PXL_20230407_003044701.jpg b/public/wtr_23/PXL_20230407_003044701.jpg new file mode 100644 index 0000000..5df0146 Binary files /dev/null and b/public/wtr_23/PXL_20230407_003044701.jpg differ diff --git a/public/wtr_23/PXL_20230407_003133700.jpg b/public/wtr_23/PXL_20230407_003133700.jpg new file mode 100644 index 0000000..dff4156 Binary files /dev/null and b/public/wtr_23/PXL_20230407_003133700.jpg differ diff --git a/public/wtr_23/PXL_20230407_003149003.jpg b/public/wtr_23/PXL_20230407_003149003.jpg new file mode 100644 index 0000000..3169688 Binary files /dev/null and b/public/wtr_23/PXL_20230407_003149003.jpg differ diff --git a/public/wtr_23/PXL_20230407_003553652.jpg b/public/wtr_23/PXL_20230407_003553652.jpg new file mode 100644 index 0000000..07e61c6 Binary files /dev/null and b/public/wtr_23/PXL_20230407_003553652.jpg differ diff --git a/src/components/team-card/index.tsx b/src/components/team-card/index.tsx index 3fbe407..6fea27d 100644 --- a/src/components/team-card/index.tsx +++ b/src/components/team-card/index.tsx @@ -36,18 +36,21 @@ const project_people = [ name: "Jackie Piepkorn", role: "VP AI Events", discord: "devitoinaspeedo", + picture: "/assets/team_photos/jackie.png", alt: "Jackie Picture" }, { name: "Cindy Peng", role: "Design TED", discord: "cinpen#3504", + picture: "/assets/team_photos/cindy.jpg", alt: "Cindy Picture" }, { name: "Nicole Gong", role: "Design TED", discord: "lalanicole", + picture: "/assets/team_photos/nicole.jpg", alt: "Nicole Picture" }, { @@ -60,12 +63,14 @@ const project_people = [ name: "Angela Hu", role: "Hack TED", discord: "angela.__.hu", + picture: "/assets/team_photos/angela.jpg", alt: "Angela Picture" }, { name: "Khushi Patel", role: "Hack TED", discord: "dolphin2765", + picture: "/assets/team_photos/khushi.jpg", alt: "Khushi Picture" } ] @@ -77,12 +82,17 @@ const TeamCards: React.FC = () => {
{project_people.map((person, index) => (
- {person.alt} -
-

{person.name}

-
{person.role}
-
{person.discord}
-
+ {/* right now I am manually cropping to 3:4 */} + {person.alt} + {/* trying to set the picture so that it automatically goes to 3:4 aspect ratio with Image, but doesnt work */} + {/*
+ {person.alt} +
*/} +
+

{person.name}

+
{person.role}
+
{person.discord}
+
))}
diff --git a/src/components/team-card/style.module.scss b/src/components/team-card/style.module.scss index 3970c9d..8b89061 100644 --- a/src/components/team-card/style.module.scss +++ b/src/components/team-card/style.module.scss @@ -49,4 +49,11 @@ margin-bottom: 1rem; font-weight: 500; } -} \ No newline at end of file + + .picContainer { + position: relative; + width: 100%; + height: 100%; + } +} + diff --git a/src/sections/Photo-Gallery/NextJsImage.tsx b/src/sections/Photo-Gallery/NextJsImage.tsx new file mode 100644 index 0000000..d2cc0d4 --- /dev/null +++ b/src/sections/Photo-Gallery/NextJsImage.tsx @@ -0,0 +1,22 @@ +import Image from "next/image"; +import type { RenderPhotoProps } from "react-photo-album"; +import { CldImage } from 'next-cloudinary'; +import s from "./style.module.scss" + +export default function NextJsImage({ + photo, + imageProps: { alt, title, sizes, className, onClick }, + wrapperStyle, +}: RenderPhotoProps) { + return ( +
+ +
+ ); +} diff --git a/src/sections/Photo-Gallery/index.tsx b/src/sections/Photo-Gallery/index.tsx index e69de29..5781036 100644 --- a/src/sections/Photo-Gallery/index.tsx +++ b/src/sections/Photo-Gallery/index.tsx @@ -0,0 +1,107 @@ +"use client"; + +import React, { useState, useEffect } from "react"; +import s from "./style.module.scss"; +import PhotoAlbum from "react-photo-album"; +import NextJsImage from "./NextJsImage"; + +const qtr_yr = [ + {value:"wtr_23", text: "Winter 2023", length: 16}, + {value: "spr_23", text: "Spring 2023", length: 24, vertical:[7, 24, 22]}, + // {value: "sum_23", text: "Summer 2023", length: 1} +] + +const breakpoints = [1080, 640, 384, 256, 128, 96, 64, 48]; + +type Photo = { + src: string; + width: number; + height: number; + srcSet: { + src: string; + width: number; + height: number; + }[]; + }; + +const options = qtr_yr.map((option, index) => { + return +}) + +const PhotoGallery: React.FC = () => { + const [selectedOption, setSelectedOption] = useState(qtr_yr[0].value); + + const handleChange = (e: React.ChangeEvent) => { + setSelectedOption(e.target.value); + } + const [photos, setPhotos] = useState([]); + + useEffect(() => { + const rawPhotos = []; + //here i am trying to read the dimensions of the image from cloudinary, but doesn't work + // const cloudinary = require('cloudinary').v2; + // cloudinary.config({ + // cloud_name: 'dgnecfapo', + // api_key: '', + // api_secret: '' + // }); + const selectedQtrYr = qtr_yr.find(q => q.value === selectedOption); + const numPhotos = selectedQtrYr?.length ?? 0; + const indexVertical = selectedQtrYr?.vertical ?? []; + for (let i = 1; i <= numPhotos; i++) { + const newPhoto = {src: `${selectedOption}_showcase_${i}.jpg`, width:4032, height:3024}; + if (indexVertical.includes(i)) { + newPhoto.width = 4000; + newPhoto.height = 6000; + } + // trying to dynamically read the images from cloudinary + // cloudinary.uploader.explicit(newPhoto.src, {type: 'fetch'}, function(error: string, result: any) { + // newPhoto.width = result.width; + // newPhoto.height = result.height; + // }); + rawPhotos.push(newPhoto); + } + + const updatedPhotos = rawPhotos.map((photo) => ({ + src: photo.src, + width: photo.width, + height: photo.height, + srcSet: breakpoints.map((breakpoint) => { + const height = Math.round((photo.height / photo.width) * breakpoint); + return { + src: photo.src, + width: breakpoint, + height, + }; + }), + })); + + setPhotos(updatedPhotos); + }, [selectedOption]); + + return ( + <> +
+

Photo Gallery

+ +
+ + + ); +} + +export default PhotoGallery; \ No newline at end of file diff --git a/src/sections/Photo-Gallery/style.module.scss b/src/sections/Photo-Gallery/style.module.scss index 89c9839..de20721 100644 --- a/src/sections/Photo-Gallery/style.module.scss +++ b/src/sections/Photo-Gallery/style.module.scss @@ -1 +1,21 @@ -@use "/src/styles/vars.scss" as vars; // allows you to use pre-defined color \ No newline at end of file +@use "/src/styles/vars.scss" as vars; // allows you to use pre-defined color + +.container { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + select { + border-radius: 0.25rem; + margin-bottom: 1rem; + } + + h1 { + color: vars.$blue-dark; + } +} + +.image { + border-radius: 0.5rem; +} \ No newline at end of file diff --git a/src/styles/vars.scss b/src/styles/vars.scss index e4e5723..c0769df 100644 --- a/src/styles/vars.scss +++ b/src/styles/vars.scss @@ -8,6 +8,7 @@ $gray: #C3C6CF; $red-warning: #AC303E; $green-success: #30AC9E; $blue-ap: #68b4fc; +$blue-dark: #001D36; $turquoise: #51c0c0; diff --git a/yarn.lock b/yarn.lock index e9ed653..93e3a72 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,52 @@ dependencies: regenerator-runtime "^0.14.0" +"@cloudinary-util/url-loader@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@cloudinary-util/url-loader/-/url-loader-3.10.0.tgz#30dbed4d60968687c9161a60b246da62d42c3e33" + integrity sha512-RNp6WayU6e5ikA7yCRqNhp0lOwLl82vLco9EwpES2si6Hb+g9yEaeTYvobD44ISQeJUnPl6e1c/AEYVSjfzwrg== + dependencies: + "@cloudinary-util/util" "2.2.1" + "@cloudinary/url-gen" "^1.10.2" + +"@cloudinary-util/util@2.2.1", "@cloudinary-util/util@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@cloudinary-util/util/-/util-2.2.1.tgz#c482d9321d37d921b347858a121c161b68782bd3" + integrity sha512-MEIqn5WtPP3mxSMTNNfpqlGS1UquAXcjmVdY/t/edD/ZWVjI85viBiOMIuF0W6n6UF5gTstLymfQNYx0YO/GZg== + +"@cloudinary/html@^1.11.2": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@cloudinary/html/-/html-1.11.2.tgz#a906234880ffad3b6e0666a650157b885204375e" + integrity sha512-IibBZliI7MOK3dxvz0WlsEyTIsqZhY3SiCBQM0CNwCKxn3N1TO8OgetfU26Now1lJbdoF5JQ8S7Cn6ZWNuU1KA== + dependencies: + "@types/lodash.clonedeep" "^4.5.6" + "@types/lodash.debounce" "^4.0.6" + "@types/node" "^14.14.10" + lodash.clonedeep "^4.5.0" + lodash.debounce "^4.0.8" + typescript "^4.1.2" + +"@cloudinary/react@^1.11.2": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@cloudinary/react/-/react-1.11.2.tgz#6eb540533c18d77d134c47b705e76a867c4ee0a7" + integrity sha512-ZnVthMW7TExLMPmyven4N7EVr2oX2yZqnHn6EHBlni9iM0AZd6qtR8R5/SscxNLNwgBieWuvmejUlUT4LqPpMg== + dependencies: + "@cloudinary/html" "^1.11.2" + +"@cloudinary/transformation-builder-sdk@^1.5.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@cloudinary/transformation-builder-sdk/-/transformation-builder-sdk-1.6.1.tgz#89942a43a4ed770f74d486e935062c6de9ab3f19" + integrity sha512-cBoSFbE4SnXO2QvUq+cYgUpXufmZTgg05Cy+jAdiNRGcC6lN+KO0ybMnLU6yg9cFub2NRkBDpU4N53wg4a977w== + dependencies: + "@cloudinary/url-gen" "^1.7.0" + +"@cloudinary/url-gen@^1.10.2", "@cloudinary/url-gen@^1.11.2", "@cloudinary/url-gen@^1.7.0": + version "1.11.2" + resolved "https://registry.yarnpkg.com/@cloudinary/url-gen/-/url-gen-1.11.2.tgz#a454dc77f9efb58c6f2c2f61b84d0d3e2dce9405" + integrity sha512-9yL3BlThh3PfyRg/zS8cQVic3FdFaIOp361YrDrQ4fqYbYE47SGWF4ji9KoFxYF4ejfDEptayeG9jF2C465KRQ== + dependencies: + "@cloudinary/transformation-builder-sdk" "^1.5.1" + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -160,11 +206,35 @@ resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/lodash.clonedeep@^4.5.6": + version "4.5.7" + resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.7.tgz#0e119f582ed6f9e6b373c04a644651763214f197" + integrity sha512-ccNqkPptFIXrpVqUECi60/DFxjNKsfoQxSQsgcBJCX/fuX1wgyQieojkcWH/KpE3xzLoWN/2k+ZeGqIN3paSvw== + dependencies: + "@types/lodash" "*" + +"@types/lodash.debounce@^4.0.6": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.7.tgz#0285879defb7cdb156ae633cecd62d5680eded9f" + integrity sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.14.198" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c" + integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg== + "@types/node@20.5.1": version "20.5.1" resolved "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz" integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== +"@types/node@^14.14.10": + version "14.18.61" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.61.tgz#752097010d85f6279b3069811bf0e99eba996096" + integrity sha512-1mFT4DqS4/s9tlZbdkwEB/EnSykA9MDeDLIk3FHApGvIMGY//qgstB2gu9GKGESWyW/qiRUO+jhlLJ9bBJ8j+Q== + "@types/prop-types@*": version "15.7.5" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" @@ -494,6 +564,21 @@ client-only@0.0.1: resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== +cloudinary-core@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/cloudinary-core/-/cloudinary-core-2.13.0.tgz#b59f90871b6c708c3d0735b9be47ac08181c57fb" + integrity sha512-Nt0Q5I2FtenmJghtC4YZ3MZZbGg1wLm84SsxcuVwZ83OyJqG9CNIGp86CiI6iDv3QobaqBUpOT7vg+HqY5HxEA== + +cloudinary@^1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/cloudinary/-/cloudinary-1.40.0.tgz#34a7de414b4526021c8e25cc66c3122721d91be6" + integrity sha512-Fifkl8NRw/M+Enw4cKCXc6e0Or28c5y6RVGYS3OCLzT1W8EfBt416FURhLuuL/S4BCVv8bSilmnM746kCtth3g== + dependencies: + cloudinary-core "^2.13.0" + core-js "^3.30.1" + lodash "^4.17.21" + q "^1.5.1" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" @@ -511,6 +596,11 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +core-js@^3.30.1: + version "3.32.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.32.2.tgz#172fb5949ef468f93b4be7841af6ab1f21992db7" + integrity sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ== + cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" @@ -1444,15 +1534,25 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" @@ -1508,6 +1608,14 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +next-cloudinary@^4.22.0: + version "4.22.0" + resolved "https://registry.yarnpkg.com/next-cloudinary/-/next-cloudinary-4.22.0.tgz#a94815432485af26df2d86fdbad60b90357eba23" + integrity sha512-jSTHLsIEJsKVijyCY2gLybKr6nwJrTEHRi93PjoFKF6H7AmMh5K7pQJPi61lHQ3d9s16rQMMfPSQPp8Kq1aMVw== + dependencies: + "@cloudinary-util/url-loader" "^3.10.0" + "@cloudinary-util/util" "^2.2.1" + next@^13.4.19: version "13.4.19" resolved "https://registry.npmjs.org/next/-/next-13.4.19.tgz" @@ -1696,7 +1804,7 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.8.1: +prop-types@^15.5.8, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -1710,19 +1818,16 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -react-animate-on-scroll@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/react-animate-on-scroll/-/react-animate-on-scroll-2.1.7.tgz#6bf3102519eb89c07264148cb0492b8de79fbed3" - integrity sha512-A4MsApouThr2YhguCQ0fq/HVOLtDMuBM1XCHxhYug8k2NfP0S4S6B7qhrVjylMCX4zFAnTa+YKz7eQG/StizFw== - dependencies: - lodash.throttle "^4.1.1" - prop-types "^15.5.9" - react-dom@18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" @@ -1753,6 +1858,11 @@ react-lazyload@^3.2.0: resolved "https://registry.yarnpkg.com/react-lazyload/-/react-lazyload-3.2.0.tgz#497bd06a6dbd7015e3376e1137a67dc47d2dd021" integrity sha512-zJlrG8QyVZz4+xkYZH5v1w3YaP5wEFaYSUWC4CT9UXfK75IfRAIEdnyIUF+dXr3kX2MOtL1lUaZmaQZqrETwgw== +react-photo-album@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-photo-album/-/react-photo-album-2.3.0.tgz#262afa60691d8ed5e25b8c8a73cec339ec515652" + integrity sha512-CU+UMK4ZQHIoPZ672TSst9loKE5bxy6w0+bf7bY4XOw1g1C7+VdDWCW+wD8wPpbg2ve38QBTS73HVe6xYLAQ3w== + react-responsive-carousel@^3.2.23: version "3.2.23" resolved "https://registry.yarnpkg.com/react-responsive-carousel/-/react-responsive-carousel-3.2.23.tgz#4c0016ff54603e604bb5c1f9e7ef2d1eda133f1d" @@ -2102,6 +2212,11 @@ typescript@5.1.6: resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +typescript@^4.1.2: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"