diff --git a/package-lock.json b/package-lock.json
index 8254a2e..bf0b5e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,15 +28,15 @@
"typewriter-effect": "^2.21.0"
},
"devDependencies": {
- "@types/node": "^20",
- "@types/react": "^18",
+ "@types/node": "22.13.10",
+ "@types/react": "19.0.10",
"@types/react-dom": "^18",
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "14.1.4",
"postcss": "^8",
"tailwindcss": "^3.3.0",
- "typescript": "^5"
+ "typescript": "5.8.2"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -630,9 +630,9 @@
}
},
"node_modules/@next/env": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.0.tgz",
- "integrity": "sha512-Mcv8ZVmEgTO3bePiH/eJ7zHqQEs2gCqZ0UId2RxHmDDc7Pw6ngfSrOFlxG8XDpaex+n2G+TKPsQAf28MO+88Gw==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.2.tgz",
+ "integrity": "sha512-yWgopCfA9XDR8ZH3taB5nRKtKJ1Q5fYsTOuYkzIIoS8TJ0UAUKAGF73JnGszbjk2ufAQDj6mDdgsJAFx5CLtYQ==",
"license": "MIT"
},
"node_modules/@next/eslint-plugin-next": {
@@ -645,9 +645,9 @@
}
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.0.tgz",
- "integrity": "sha512-Gjgs3N7cFa40a9QT9AEHnuGKq69/bvIOn0SLGDV+ordq07QOP4k1GDOVedMHEjVeqy1HBLkL8rXnNTuMZIv79A==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.2.tgz",
+ "integrity": "sha512-HNBRnz+bkZ+KfyOExpUxTMR0Ow8nkkcE6IlsdEa9W/rI7gefud19+Sn1xYKwB9pdCdxIP1lPru/ZfjfA+iT8pw==",
"cpu": [
"arm64"
],
@@ -661,9 +661,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.0.tgz",
- "integrity": "sha512-BUtTvY5u9s5berAuOEydAUlVMjnl6ZjXS+xVrMt317mglYZ2XXjY8YRDCaz9vYMjBNPXH8Gh75Cew5CMdVbWTw==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.2.tgz",
+ "integrity": "sha512-mJOUwp7al63tDpLpEFpKwwg5jwvtL1lhRW2fI1Aog0nYCPAhxbJsaZKdoVyPZCy8MYf/iQVNDuk/+i29iLCzIA==",
"cpu": [
"x64"
],
@@ -677,9 +677,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.0.tgz",
- "integrity": "sha512-sbCoEpuWUBpYoLSgYrk0CkBv8RFv4ZlPxbwqRHr/BWDBJppTBtF53EvsntlfzQJ9fosYX12xnS6ltxYYwsMBjg==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.2.tgz",
+ "integrity": "sha512-5ZZ0Zwy3SgMr7MfWtRE7cQWVssfOvxYfD9O7XHM7KM4nrf5EOeqwq67ZXDgo86LVmffgsu5tPO57EeFKRnrfSQ==",
"cpu": [
"arm64"
],
@@ -693,9 +693,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.0.tgz",
- "integrity": "sha512-JAw84qfL81aQCirXKP4VkgmhiDpXJupGjt8ITUkHrOVlBd+3h5kjfPva5M0tH2F9KKSgJQHEo3F5S5tDH9h2ww==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.2.tgz",
+ "integrity": "sha512-cgKWBuFMLlJ4TWcFHl1KOaVVUAF8vy4qEvX5KsNd0Yj5mhu989QFCq1WjuaEbv/tO1ZpsQI6h/0YR8bLwEi+nA==",
"cpu": [
"arm64"
],
@@ -709,9 +709,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.0.tgz",
- "integrity": "sha512-r5Smd03PfxrGKMewdRf2RVNA1CU5l2rRlvZLQYZSv7FUsXD5bKEcOZ/6/98aqRwL7diXOwD8TCWJk1NbhATQHg==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.2.tgz",
+ "integrity": "sha512-c3kWSOSsVL8rcNBBfOq1+/j2PKs2nsMwJUV4icUxRgGBwUOfppeh7YhN5s79enBQFU+8xRgVatFkhHU1QW7yUA==",
"cpu": [
"x64"
],
@@ -725,9 +725,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.0.tgz",
- "integrity": "sha512-fM6qocafz4Xjhh79CuoQNeGPhDHGBBUbdVtgNFJOUM8Ih5ZpaDZlTvqvqsh5IoO06CGomxurEGqGz/4eR/FaMQ==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.2.tgz",
+ "integrity": "sha512-PXTW9PLTxdNlVYgPJ0equojcq1kNu5NtwcNjRjHAB+/sdoKZ+X8FBu70fdJFadkxFIGekQTyRvPMFF+SOJaQjw==",
"cpu": [
"x64"
],
@@ -741,9 +741,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.0.tgz",
- "integrity": "sha512-ZOd7c/Lz1lv7qP/KzR513XEa7QzW5/P0AH3A5eR1+Z/KmDOvMucht0AozccPc0TqhdV1xaXmC0Fdx0hoNzk6ng==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.2.tgz",
+ "integrity": "sha512-nG644Es5llSGEcTaXhnGWR/aThM/hIaz0jx4MDg4gWC8GfTCp8eDBWZ77CVuv2ha/uL9Ce+nPTfYkSLG67/sHg==",
"cpu": [
"arm64"
],
@@ -757,9 +757,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.0.tgz",
- "integrity": "sha512-2RVWcLtsqg4LtaoJ3j7RoKpnWHgcrz5XvuUGE7vBYU2i6M2XeD9Y8RlLaF770LEIScrrl8MdWsp6odtC6sZccg==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.2.tgz",
+ "integrity": "sha512-52nWy65S/R6/kejz3jpvHAjZDPKIbEQu4x9jDBzmB9jJfuOy5rspjKu4u77+fI4M/WzLXrrQd57hlFGzz1ubcQ==",
"cpu": [
"x64"
],
@@ -827,12 +827,12 @@
"license": "Apache-2.0"
},
"node_modules/@swc/helpers": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz",
- "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==",
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
"license": "Apache-2.0",
"dependencies": {
- "tslib": "^2.4.0"
+ "tslib": "^2.8.0"
}
},
"node_modules/@tabler/icons": {
@@ -1227,27 +1227,22 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.12.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz",
- "integrity": "sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==",
+ "version": "22.13.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
+ "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.20.0"
}
},
- "node_modules/@types/prop-types": {
- "version": "15.7.12",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
- "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
- "dev": true
- },
"node_modules/@types/react": {
- "version": "18.2.73",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.73.tgz",
- "integrity": "sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==",
+ "version": "19.0.10",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
+ "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
@@ -4226,14 +4221,14 @@
"dev": true
},
"node_modules/next": {
- "version": "15.0.0",
- "resolved": "https://registry.npmjs.org/next/-/next-15.0.0.tgz",
- "integrity": "sha512-/ivqF6gCShXpKwY9hfrIQYh8YMge8L3W+w1oRLv/POmK4MOQnh+FscZ8a0fRFTSQWE+2z9ctNYvELD9vP2FV+A==",
+ "version": "15.2.2",
+ "resolved": "https://registry.npmjs.org/next/-/next-15.2.2.tgz",
+ "integrity": "sha512-dgp8Kcx5XZRjMw2KNwBtUzhngRaURPioxoNIVl5BOyJbhi9CUgEtKDO7fx5wh8Z8vOVX1nYZ9meawJoRrlASYA==",
"license": "MIT",
"dependencies": {
- "@next/env": "15.0.0",
+ "@next/env": "15.2.2",
"@swc/counter": "0.1.3",
- "@swc/helpers": "0.5.13",
+ "@swc/helpers": "0.5.15",
"busboy": "1.6.0",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
@@ -4243,25 +4238,25 @@
"next": "dist/bin/next"
},
"engines": {
- "node": ">=18.18.0"
+ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "15.0.0",
- "@next/swc-darwin-x64": "15.0.0",
- "@next/swc-linux-arm64-gnu": "15.0.0",
- "@next/swc-linux-arm64-musl": "15.0.0",
- "@next/swc-linux-x64-gnu": "15.0.0",
- "@next/swc-linux-x64-musl": "15.0.0",
- "@next/swc-win32-arm64-msvc": "15.0.0",
- "@next/swc-win32-x64-msvc": "15.0.0",
+ "@next/swc-darwin-arm64": "15.2.2",
+ "@next/swc-darwin-x64": "15.2.2",
+ "@next/swc-linux-arm64-gnu": "15.2.2",
+ "@next/swc-linux-arm64-musl": "15.2.2",
+ "@next/swc-linux-x64-gnu": "15.2.2",
+ "@next/swc-linux-x64-musl": "15.2.2",
+ "@next/swc-win32-arm64-msvc": "15.2.2",
+ "@next/swc-win32-x64-msvc": "15.2.2",
"sharp": "^0.33.5"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
"@playwright/test": "^1.41.2",
"babel-plugin-react-compiler": "*",
- "react": "^18.2.0 || 19.0.0-rc-65a56d0e-20241020",
- "react-dom": "^18.2.0 || 19.0.0-rc-65a56d0e-20241020",
+ "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
"sass": "^1.3.0"
},
"peerDependenciesMeta": {
@@ -5871,9 +5866,10 @@
}
},
"node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
"node_modules/type-check": {
"version": "0.4.0",
@@ -5973,10 +5969,11 @@
}
},
"node_modules/typescript": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz",
- "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==",
+ "version": "5.8.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
+ "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"dev": true,
+ "license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6015,10 +6012,11 @@
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "6.20.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/universalify": {
"version": "2.0.1",
diff --git a/package.json b/package.json
index 525b4db..3cc47d9 100644
--- a/package.json
+++ b/package.json
@@ -36,14 +36,14 @@
"typewriter-effect": "^2.21.0"
},
"devDependencies": {
- "@types/node": "^20",
- "@types/react": "^18",
+ "@types/node": "22.13.10",
+ "@types/react": "19.0.10",
"@types/react-dom": "^18",
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "14.1.4",
"postcss": "^8",
"tailwindcss": "^3.3.0",
- "typescript": "^5"
+ "typescript": "5.8.2"
}
}
diff --git a/src/app/globals.css b/src/app/globals.css
index 54f00f0..aaf8638 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -18,12 +18,7 @@
body {
color: rgb(var(--foreground-rgb));
- background: linear-gradient(
- to bottom,
- transparent,
- rgb(var(--background-end-rgb))
- )
- rgb(var(--background-start-rgb));
+ background-color: rgb(var(--background-start-rgb));
}
@layer utilities {
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 6eb0a6d..29fe560 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -14,9 +14,7 @@ import Networking from "./pages/networking";
export default function Home() {
useEffect(() => {
- // if (T_ID !== '') {
ReactGA.initialize("G-PYQ50G2GWN");
- // }
}, []);
return (
diff --git a/src/app/pages/articles.tsx b/src/app/pages/articles.tsx
index 489fbf7..6f88438 100644
--- a/src/app/pages/articles.tsx
+++ b/src/app/pages/articles.tsx
@@ -1,9 +1,18 @@
"use client";
import React from "react";
import Link from "next/link";
+import ReactGA from "react-ga4";
+import { SiReaddotcv } from "react-icons/si";
import { PinContainer } from "@/components/ui/3d-pin";
export function Article() {
+ const trackReadMoreClick = () => {
+ ReactGA.event("article_read_more", {
+ category: "Articles",
+ label: "Read more - Tech Scoop"
+ });
+ };
+
return (
@@ -29,18 +38,42 @@ export function Article() {
))}
+
+
+ Read more
+
+
+
);
}
const pinData = [
+ {
+ techstack: "@techscoop/lassiecoder",
+ href: "https://techscoop.hashnode.dev/gemini-ai-in-chrome-devtools",
+ heading: "Gemini AI in Chrome DevTools",
+ description:
+ "Google integrates Gemini AI into Chrome DevTools, offering AI-powered debugging, code optimization, security insights, and accessibility improvements for developers."
+ },
+ {
+ techstack: "@techscoop/lassiecoder",
+ href: "hhttps://techscoop.hashnode.dev/using-deepseek-r1-for-free-in-visual-studio-code",
+ heading: "Using DeepSeek R1 for Free in VSCode",
+ description:
+ "DeepSeek R1 - an open-source AI tool for code generation, seamlessly integrating with VSCode to enhance developer productivity and workflow efficiency."
+ },
{
techstack: "@medium.com/lassiecoder",
- href: "https://sharmapriyanka84510.medium.com/keeping-your-open-source-repo-happy-with-github-community-health-files-1972e3dacc27",
- heading:
- "Keeping Your Open Source Repo Happy with GitHub Community Health Files",
+ href: "https://medium.com/nerd-for-tech/how-to-become-an-open-source-contributor-c07acbc8e9ca",
+ heading: "How to Become an Open-Source Contributor",
description:
- "Explore essential strategies for organizing your open source repository, ensuring clarity and collaboration while avoiding chaos in the world of code maintenance."
+ "If you’re looking to become an open-source contributor, this guide will walk you through everything you need to know to get started, from finding projects to making your first contribution."
},
{
techstack: "@medium.com/lassiecoder",
@@ -49,13 +82,6 @@ const pinData = [
description:
"A comprehensive guide to crafting clear and meaningful Git commit messages, enhancing collaboration, maintainability, and understanding throughout the development process for future contributors."
},
- {
- techstack: "@dev.to/lassiecoder/",
- href: "https://dev.to/lassiecoder/git-common-developer-pitfalls-and-solutions-5aim",
- heading: "Git <> Common Developer Pitfalls and Solutions",
- description:
- "This article tackles typical Git challenges and offers actionable remedies to enhance version control and teamwork, empowering developers to optimize their workflows and collaboration processes."
- },
{
techstack: "@medium.com/lassiecoder",
href: "https://sharmapriyanka84510.medium.com/navigating-the-upgrade-odyssey-a-journey-through-react-native-project-upgrades-and-helpful-tools-1b4384dc7f6d",
diff --git a/src/app/pages/contact.tsx b/src/app/pages/contact.tsx
index d316fa0..6a968e4 100644
--- a/src/app/pages/contact.tsx
+++ b/src/app/pages/contact.tsx
@@ -1,11 +1,21 @@
"use client";
import React from "react";
-import Typewriter from "typewriter-effect";
+import Link from "next/link";
+import Image from "next/image";
+import ReactGA from "react-ga4";
import { FlipWords } from "../../components/ui/flip-words";
const ContactForm = () => {
const words = ["Networking", "Collaboration", "Suggestions"];
+
+ const trackSponsorClick = () => {
+ ReactGA.event("sponsorship_click_contact", {
+ category: "Sponsorship",
+ label: "GitHub Sponsor Button"
+ });
+ };
+
return (
@@ -53,6 +63,19 @@ const ContactForm = () => {
.
+
+
+
Always be caffeinated! | © Priyanka Sharma (lassiecoder)
diff --git a/src/app/pages/experience.tsx b/src/app/pages/experience.tsx
index 56a0bcf..bcd1165 100644
--- a/src/app/pages/experience.tsx
+++ b/src/app/pages/experience.tsx
@@ -79,7 +79,7 @@ export function Experience() {
contribute to the development of the{" "}
Adecco India app , which is
utilized by top companies for staffing solutions.
-
+
I also work on the{" "}
global web app , ensuring
it meets diverse needs across various regions. My expertise
@@ -87,7 +87,7 @@ export function Experience() {
React Native and{" "}
React.js to build
efficient, user-friendly applications.
-
+
Additionally, I have developed a{" "}
diff --git a/src/app/pages/homescreen.tsx b/src/app/pages/homescreen.tsx
index 044ff98..c95f311 100644
--- a/src/app/pages/homescreen.tsx
+++ b/src/app/pages/homescreen.tsx
@@ -1,6 +1,4 @@
import Footer from "@/components/footer";
-import { SparklesCore } from "@/components/ui/sparkles";
-import Typewriter from "typewriter-effect";
import {
IconBrandGithub,
IconBrandX,
@@ -11,6 +9,7 @@ import {
} from "@tabler/icons-react";
import Image from "next/image";
import { FlipWords } from "@/components/ui/flip-words";
+import { SparklesCore } from "@/components/ui/sparkles";
export default function HomeScreen() {
const words = ["Hi! I'm Priyanka Sharma"];
@@ -19,7 +18,7 @@ export default function HomeScreen() {
{/* home screen */}
-
+
diff --git a/src/app/pages/networking.tsx b/src/app/pages/networking.tsx
index b13fc3d..a7afc38 100644
--- a/src/app/pages/networking.tsx
+++ b/src/app/pages/networking.tsx
@@ -1,8 +1,8 @@
"use client";
import React from "react";
-import { ParallaxScroll } from "@/components/ui/parallax-scroll";
import { FlipWords } from "@/components/ui/flip-words";
+import { ParallaxScroll } from "@/components/ui/parallax-scroll";
const Networking = () => {
const words = ["Connecting, Learning, and Growing Together"];
@@ -14,17 +14,22 @@ const Networking = () => {
-
+
Explore my insights and experiences from various{" "}
- industry events and
- meetups, where I share{" "}
- key takeaways,{" "}
- valuable connections, and moments
+ industry events and{" "}
+ meetups , where I share{" "}
+ key takeaways ,{" "}
+ valuable connections , and moments
that shaped my professional journey.
-
+
+
+
+
+
+
);
};
@@ -32,6 +37,10 @@ const Networking = () => {
export default Networking;
const images = [
+ {
+ src: "https://github.com/user-attachments/assets/cd0c78f5-c6ba-4f8e-9837-558418aeb606",
+ href: "https://www.linkedin.com/feed/update/urn:li:activity:7306864289519128576"
+ },
{
src: "https://github.com/user-attachments/assets/e6d60bde-990c-4062-bbcd-0715f18455a7",
href: "https://www.linkedin.com/posts/priyanka-s-b79401142_keploy-gittogether-opensourcecommunity-activity-7169236453577646080-YoXh?utm_source=share&utm_medium=member_desktop"
@@ -40,6 +49,10 @@ const images = [
src: "https://github.com/user-attachments/assets/5c0b9253-31d6-456e-9a37-4e3e74ea0b54",
href: "https://www.linkedin.com/posts/priyanka-s-b79401142_serverlessdays-bangalore-techcommunity-activity-7235735531211345920-RoQg?utm_source=share&utm_medium=member_desktop"
},
+ {
+ src: "https://github.com/user-attachments/assets/265a5c1f-b721-401e-ae6f-5021f2e05d38",
+ href: "https://www.linkedin.com/posts/technexuscommunity_microsoftai-azureopenai-aiinnovation-activity-7302707221094666241-9zWP?utm_source=share&utm_medium=member_desktop&rcm=ACoAACKWXU0BijJEUI16M7ei08EhKNgho2RX3xM"
+ },
{
src: "https://github.com/user-attachments/assets/b8e71bf6-1002-46c6-a98b-de6cb0934e83",
href: "https://www.linkedin.com/posts/priyanka-s-b79401142_thats-a-wrap-for-serverlessdays-bengaluru-activity-7235948907954892802-3tpT?utm_source=share&utm_medium=member_desktop"
diff --git a/src/app/pages/projects.tsx b/src/app/pages/projects.tsx
index 0a9fef1..f27bb41 100644
--- a/src/app/pages/projects.tsx
+++ b/src/app/pages/projects.tsx
@@ -1,16 +1,58 @@
"use client";
-import React from "react";
+import React, { useEffect, useState } from "react";
import Link from "next/link";
import Image from "next/image";
+import { FaStar } from "react-icons/fa6";
+import { PiGitForkBold } from "react-icons/pi";
import { ButtonsCard } from "@/components/ui/tailwindcss-buttons";
import { CardBody, CardContainer, CardItem } from "@/components/ui/3d-card.tsx";
+const GITHUB_USERNAME = "lassiecoder";
+
const ThreeDCard = () => {
+ const [repoStats, setRepoStats] = useState<{
+ [key: string]: { stars: number; forks: number };
+ }>({});
+
+ useEffect(() => {
+ const fetchRepoStats = async () => {
+ try {
+ const repoData = await Promise.all(
+ dummyData.map(async (item) => {
+ const response = await fetch(
+ `https://api.github.com/repos/${GITHUB_USERNAME}/${item.repo}`
+ );
+ const data = await response.json();
+ return {
+ repo: item.repo,
+ stars: data.stargazers_count,
+ forks: data.forks_count
+ };
+ })
+ );
+
+ const stats = repoData.reduce(
+ (acc: { [key: string]: { stars: number; forks: number } }, curr) => {
+ acc[curr.repo] = { stars: curr.stars, forks: curr.forks };
+ return acc;
+ },
+ {}
+ );
+
+ setRepoStats(stats);
+ } catch (error) {
+ console.error("Failed to fetch GitHub data", error);
+ }
+ };
+
+ fetchRepoStats();
+ }, []);
+
return (
-
+
-
+
Projects
@@ -18,35 +60,56 @@ const ThreeDCard = () => {
{dummyData.map((item, index) => (
-
+
+ {/* Title */}
{item.title}
+
+ {/* Description with Clamp */}
{item.description}
+
+ {/* Image with Fixed Height */}
-
+
+ {/* Stats and Button */}
+
+ {item.projectType !== "work-project" && (
+
+ {repoStats[item.repo]?.stars !== 0 && (
+
+
+ {repoStats[item.repo]?.stars || 0}
+
+ )}
+
+ {repoStats[item.repo]?.forks !== 0 && (
+
+
+ {repoStats[item.repo]?.forks || 0}
+
+ )}
+
+ )}
+
@@ -76,15 +139,19 @@ const dummyData = [
"The community-health-files package automates the setup and management for open-source projects, providing a streamlined way to maintain project guidelines and policies.",
image:
"https://github.com/user-attachments/assets/cc1e0729-4de9-4014-8ef2-be3f47844d91",
- link: "https://github.com/lassiecoder/community-health-files"
+ link: "https://github.com/lassiecoder/community-health-files",
+ repo: "community-health-files",
+ projectType: ""
},
{
- title: "EduFund - Mutual Funds & SIP",
+ title: "GitHub README",
description:
- "EduFund, India's leading investment app, helps parents save for their children's education, ensuring a brighter future amid rising education expenses.",
+ "A dynamic GitHub profile showcasing JavaScript expertise, tech writing, speaking, and community contributions with engaging visuals, stats, and social links.",
image:
- "https://github.com/lassiecoder/portfolio/assets/17312616/08a65762-328a-480e-bd20-cdc7df1a5a73",
- link: "https://play.google.com/store/apps/details?id=com.educationfund.edufund"
+ "https://github.com/user-attachments/assets/7c3a6b68-4503-445e-b5c3-0bc57d348a56",
+ link: "https://github.com/lassiecoder/lassiecoder",
+ repo: "lassiecoder",
+ projectType: ""
},
{
title: "Shoplane – E-commerce website",
@@ -92,23 +159,39 @@ const dummyData = [
"Shoplane's GitHub repository, with 340 stars and 250 forks, is a significant player in open-source e-commerce, influencing the online retail sector's development.",
image:
"https://github.com/lassiecoder/portfolio/assets/17312616/357237f8-298a-4f77-9cf4-63bea0b9892d",
- link: "https://github.com/lassiecoder/E-CommerceWebsite"
+ link: "https://github.com/lassiecoder/E-CommerceWebsite",
+ repo: "E-CommerceWebsite",
+ projectType: ""
},
{
- title: "Torum: Cryptocurrency Social App",
+ title: "npx lassiecoder – in your terminal?",
description:
- "Torum's mobile app fosters a vibrant SocialFi ecosystem, connecting over 230,000 cryptocurrency enthusiasts since its 2018 inception.",
+ "A personalized command-line business card. This innovative tool allows you to showcase your professional profile, skills, and contact information in the terminal.",
image:
- "https://github.com/lassiecoder/portfolio/assets/17312616/b86aa717-34bf-4aa2-a8fd-ae850e27ff62",
- link: "https://play.google.com/store/apps/details?id=com.torum.app&hl=en_IN&gl=US"
+ "https://github.com/lassiecoder/npx-lassiecoder/assets/17312616/fb0fd710-69ef-46ef-9f73-54ee4149c86f",
+ link: "https://github.com/lassiecoder/npx-lassiecoder",
+ repo: "npx-lassiecoder",
+ projectType: ""
},
{
- title: "npx lassiecoder – in your terminal?",
+ title: "EduFund - Mutual Funds & SIP",
description:
- "A personalized command-line business card. This innovative tool allows you to showcase your professional profile, skills, and contact information in the terminal.",
+ "EduFund, India's leading investment app, helps parents save for their children's education, ensuring a brighter future amid rising education expenses.",
image:
- "https://github.com/lassiecoder/npx-lassiecoder/assets/17312616/fb0fd710-69ef-46ef-9f73-54ee4149c86f",
- link: "https://github.com/lassiecoder/npx-lassiecoder"
+ "https://github.com/lassiecoder/portfolio/assets/17312616/08a65762-328a-480e-bd20-cdc7df1a5a73",
+ link: "https://play.google.com/store/apps/details?id=com.educationfund.edufund",
+ repo: "",
+ projectType: "work-project"
+ },
+ {
+ title: "Torum: Cryptocurrency Social App",
+ description:
+ "Torum's mobile app fosters a vibrant SocialFi ecosystem, connecting over 230,000 cryptocurrency enthusiasts since its 2018 inception.",
+ image:
+ "https://github.com/lassiecoder/portfolio/assets/17312616/b86aa717-34bf-4aa2-a8fd-ae850e27ff62",
+ link: "https://play.google.com/store/apps/details?id=com.torum.app&hl=en_IN&gl=US",
+ repo: "",
+ projectType: "work-project"
},
{
title: "Mutual funding app",
@@ -116,7 +199,9 @@ const dummyData = [
"The proof-of-concept app exhibits mutual funds with authentication, presenting a scrollable list of key fund information. Selecting a fund directs users to a detailed product page for additional insights.",
image:
"https://github.com/lassiecoder/portfolio/assets/17312616/fbcc8292-4b94-4156-8125-07ac93f9266e",
- link: "https://github.com/lassiecoder/mutual-funding-app"
+ link: "https://github.com/lassiecoder/mutual-funding-app",
+ repo: "mutual-funding-app",
+ projectType: ""
},
{
title: "Adecco",
@@ -124,6 +209,8 @@ const dummyData = [
"The Adecco mobile app transforms job placement with accuracy, speed, and thorough evaluation. Daily linking over 700,000 individuals to top-tier global opportunities.",
image:
"https://github.com/lassiecoder/portfolio/assets/17312616/261c3286-edf3-4ba9-bf70-027fde826915",
- link: "https://play.google.com/store/apps/details?id=com.adecco.app20&hl=en_IN&gl=US"
+ link: "https://play.google.com/store/apps/details?id=com.adecco.app20&hl=en_IN&gl=US",
+ repo: "",
+ projectType: "work-project"
}
];
diff --git a/src/components/footer.tsx b/src/components/footer.tsx
index ce166a4..bf16f10 100644
--- a/src/components/footer.tsx
+++ b/src/components/footer.tsx
@@ -1,4 +1,6 @@
-import { FaMedium, FaSquareXTwitter } from "react-icons/fa6";
+import ReactGA from "react-ga4";
+import Image from "next/image";
+import { FaSquareXTwitter } from "react-icons/fa6";
import { IoNewspaperOutline } from "react-icons/io5";
import {
@@ -10,82 +12,85 @@ import {
import Link from "next/link";
export default function Footer() {
- return (
-
-
-
- {/* */}
-
-
- GitHub
-
-
-
+ const trackSponsorClick = () => {
+ ReactGA.event("sponsorship_click_header", {
+ category: "Sponsorship",
+ label: "GitHub Sponsor Button"
+ });
+ };
-
+ return (
+
+ {/* Container that changes between centered/between based on screen size */}
+
+ {/* Left Side - GitHub Sponsor Button */}
-
-
- LinkedIn
-
+
-
-
-
-
-
- Newsletter
-
-
-
-
-
-
-
-
- Twitter
-
-
+ {/* Social Icons - Centered on small screens */}
+
+
+
+
+
+
+
+
+
+ );
+}
-
-
-
-
- Instagram
-
-
-
+interface SocialLinkProps {
+ href: string;
+ icon: React.ComponentType<{ className?: string }>;
+ label: string;
+}
-
-
-
-
- Mail
-
-
-
+const SocialLink: React.FC
= ({ href, icon: Icon, label }) => {
+ return (
+
+
+
+
+ {label}
+
+
);
-}
+};
diff --git a/src/components/ui/parallax-scroll.tsx b/src/components/ui/parallax-scroll.tsx
index 62d966f..5459563 100644
--- a/src/components/ui/parallax-scroll.tsx
+++ b/src/components/ui/parallax-scroll.tsx
@@ -1,11 +1,11 @@
"use client";
-import { useScroll, useTransform } from "framer-motion";
import { useRef } from "react";
-import { motion } from "framer-motion";
-import Image from "next/image";
import Link from "next/link";
+import Image from "next/image";
import { cn } from "../utils/cn";
+import { motion } from "framer-motion";
+import { useScroll, useTransform } from "framer-motion";
export const ParallaxScroll = ({
items,
@@ -24,13 +24,16 @@ export const ParallaxScroll = ({
const translateSecond = useTransform(scrollYProgress, [0, 1], [0, 200]);
const translateThird = useTransform(scrollYProgress, [0, 1], [0, -200]);
const translateFourth = useTransform(scrollYProgress, [0, 1], [0, 200]);
+ const translateFifth = useTransform(scrollYProgress, [0, 1], [0, -200]);
- const quarter = Math.ceil(items.length / 5);
+ // Adjust the division to create 5 parts instead of 4
+ const fifth = Math.ceil(items.length / 5);
- const firstPart = items.slice(0, quarter);
- const secondPart = items.slice(quarter, 2 * quarter);
- const thirdPart = items.slice(2 * quarter, 3 * quarter);
- const fourthPart = items.slice(3 * quarter);
+ const firstPart = items.slice(0, fifth);
+ const secondPart = items.slice(fifth, 2 * fifth);
+ const thirdPart = items.slice(2 * fifth, 3 * fifth);
+ const fourthPart = items.slice(3 * fifth, 4 * fifth);
+ const fifthPart = items.slice(4 * fifth);
return (
-
+
{firstPart.map(({ src, href }, idx) => (
@@ -109,6 +112,23 @@ export const ParallaxScroll = ({
))}
+
+ {fifthPart.map(({ src, href }, idx) => (
+
+
+
+
+
+ ))}
+
);
diff --git a/yarn.lock b/yarn.lock
index 03197ae..79b9c36 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -131,10 +131,10 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@next/env@15.0.0":
- version "15.0.0"
- resolved "https://registry.npmjs.org/@next/env/-/env-15.0.0.tgz"
- integrity sha512-Mcv8ZVmEgTO3bePiH/eJ7zHqQEs2gCqZ0UId2RxHmDDc7Pw6ngfSrOFlxG8XDpaex+n2G+TKPsQAf28MO+88Gw==
+"@next/env@15.2.2":
+ version "15.2.2"
+ resolved "https://registry.npmjs.org/@next/env/-/env-15.2.2.tgz"
+ integrity sha512-yWgopCfA9XDR8ZH3taB5nRKtKJ1Q5fYsTOuYkzIIoS8TJ0UAUKAGF73JnGszbjk2ufAQDj6mDdgsJAFx5CLtYQ==
"@next/eslint-plugin-next@14.1.4":
version "14.1.4"
@@ -143,10 +143,10 @@
dependencies:
glob "10.3.10"
-"@next/swc-darwin-arm64@15.0.0":
- version "15.0.0"
- resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.0.tgz"
- integrity sha512-Gjgs3N7cFa40a9QT9AEHnuGKq69/bvIOn0SLGDV+ordq07QOP4k1GDOVedMHEjVeqy1HBLkL8rXnNTuMZIv79A==
+"@next/swc-darwin-arm64@15.2.2":
+ version "15.2.2"
+ resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.2.tgz"
+ integrity sha512-HNBRnz+bkZ+KfyOExpUxTMR0Ow8nkkcE6IlsdEa9W/rI7gefud19+Sn1xYKwB9pdCdxIP1lPru/ZfjfA+iT8pw==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@@ -184,12 +184,12 @@
resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz"
integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
-"@swc/helpers@0.5.13":
- version "0.5.13"
- resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz"
- integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==
+"@swc/helpers@0.5.15":
+ version "0.5.15"
+ resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz"
+ integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==
dependencies:
- tslib "^2.4.0"
+ tslib "^2.8.0"
"@tabler/icons-react@^3.24.0":
version "3.24.0"
@@ -473,17 +473,12 @@
resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-"@types/node@^20":
- version "20.12.2"
- resolved "https://registry.npmjs.org/@types/node/-/node-20.12.2.tgz"
- integrity sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==
+"@types/node@22.13.10":
+ version "22.13.10"
+ resolved "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz"
+ integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==
dependencies:
- undici-types "~5.26.4"
-
-"@types/prop-types@*":
- version "15.7.12"
- resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz"
- integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
+ undici-types "~6.20.0"
"@types/react-dom@^18":
version "18.2.23"
@@ -492,12 +487,11 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@^18":
- version "18.2.73"
- resolved "https://registry.npmjs.org/@types/react/-/react-18.2.73.tgz"
- integrity sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==
+"@types/react@*", "@types/react@19.0.10":
+ version "19.0.10"
+ resolved "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz"
+ integrity sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==
dependencies:
- "@types/prop-types" "*"
csstype "^3.0.2"
"@types/youtube-player@^5.5.5":
@@ -2267,26 +2261,26 @@ natural-compare@^1.4.0:
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
next@^15.0.0:
- version "15.0.0"
- resolved "https://registry.npmjs.org/next/-/next-15.0.0.tgz"
- integrity sha512-/ivqF6gCShXpKwY9hfrIQYh8YMge8L3W+w1oRLv/POmK4MOQnh+FscZ8a0fRFTSQWE+2z9ctNYvELD9vP2FV+A==
+ version "15.2.2"
+ resolved "https://registry.npmjs.org/next/-/next-15.2.2.tgz"
+ integrity sha512-dgp8Kcx5XZRjMw2KNwBtUzhngRaURPioxoNIVl5BOyJbhi9CUgEtKDO7fx5wh8Z8vOVX1nYZ9meawJoRrlASYA==
dependencies:
- "@next/env" "15.0.0"
+ "@next/env" "15.2.2"
"@swc/counter" "0.1.3"
- "@swc/helpers" "0.5.13"
+ "@swc/helpers" "0.5.15"
busboy "1.6.0"
caniuse-lite "^1.0.30001579"
postcss "8.4.31"
styled-jsx "5.1.6"
optionalDependencies:
- "@next/swc-darwin-arm64" "15.0.0"
- "@next/swc-darwin-x64" "15.0.0"
- "@next/swc-linux-arm64-gnu" "15.0.0"
- "@next/swc-linux-arm64-musl" "15.0.0"
- "@next/swc-linux-x64-gnu" "15.0.0"
- "@next/swc-linux-x64-musl" "15.0.0"
- "@next/swc-win32-arm64-msvc" "15.0.0"
- "@next/swc-win32-x64-msvc" "15.0.0"
+ "@next/swc-darwin-arm64" "15.2.2"
+ "@next/swc-darwin-x64" "15.2.2"
+ "@next/swc-linux-arm64-gnu" "15.2.2"
+ "@next/swc-linux-arm64-musl" "15.2.2"
+ "@next/swc-linux-x64-gnu" "15.2.2"
+ "@next/swc-linux-x64-musl" "15.2.2"
+ "@next/swc-win32-arm64-msvc" "15.2.2"
+ "@next/swc-win32-x64-msvc" "15.2.2"
sharp "^0.33.5"
node-releases@^2.0.14:
@@ -2602,7 +2596,7 @@ raf@^3.4.1:
dependencies:
performance-now "^2.1.0"
-"react-dom@^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0", "react-dom@^17.x || ^18.x", react-dom@^18.0.0, "react-dom@^18.2.0 || 19.0.0-rc-65a56d0e-20241020", react-dom@^18.3.1, react-dom@>=16.8.0:
+"react-dom@^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0", "react-dom@^17.x || ^18.x", react-dom@^18.0.0, "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^18.3.1, react-dom@>=16.8.0:
version "18.3.1"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@@ -2677,7 +2671,7 @@ react-youtube@^10.1.0:
prop-types "15.8.1"
youtube-player "5.5.2"
-react@*, "react@^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0", "react@^17.x || ^18.x", react@^18.0.0, "react@^18.2.0 || 19.0.0-rc-65a56d0e-20241020", react@^18.3.1, "react@>= 16", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=0.14.1, react@>=16.8.0:
+react@*, "react@^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0", "react@^17.x || ^18.x", react@^18.0.0, "react@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react@^18.3.1, "react@>= 16", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0", react@>=0.14.1, react@>=16.8.0:
version "18.3.1"
resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
@@ -3163,10 +3157,10 @@ tsconfig-paths@^3.15.0:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tslib@^2.4.0:
- version "2.6.2"
- resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz"
- integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
+tslib@^2.4.0, tslib@^2.8.0:
+ version "2.8.1"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
@@ -3224,10 +3218,10 @@ typed-array-length@^1.0.6:
is-typed-array "^1.1.13"
possible-typed-array-names "^1.0.0"
-typescript@^5, typescript@>=3.3.1, typescript@>=4.2.0:
- version "5.4.3"
- resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz"
- integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==
+typescript@>=3.3.1, typescript@>=4.2.0, typescript@5.8.2:
+ version "5.8.2"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz"
+ integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==
typewriter-effect@^2.21.0:
version "2.21.0"
@@ -3247,10 +3241,10 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
-undici-types@~5.26.4:
- version "5.26.5"
- resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
- integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
+undici-types@~6.20.0:
+ version "6.20.0"
+ resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz"
+ integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==
universalify@^2.0.0:
version "2.0.1"