From c69770f02fd81e7ac0af910e5687f44ca9ecd3d0 Mon Sep 17 00:00:00 2001
From: Puechberty Arthur
Date: Wed, 29 Apr 2026 20:53:24 +0200
Subject: [PATCH] refactor: update photo gallery and reduce image count
- Reduced the number of photos displayed from 68 to 33 in the photo gallery.
- Removed unused photo files (photos 34 to 68) from the public directory.
- Updated Docker configuration for better environment management and container naming.
- Upgraded Next.js and ESLint dependencies to their latest versions.
- Added ESLint configuration file for improved code quality checks.
- Introduced a .dockerignore file to exclude unnecessary files from the Docker context.
- Added an example .env file for environment variable configuration.
Co-authored-by: Copilot
---
.dockerignore | 7 ++
.env.exemple | 1 +
.gitignore | 2 +-
Dockerfile | 48 +++++----
app/components/Footer.tsx | 21 ++--
app/components/Homelab.tsx | 14 +++
app/components/Projects.tsx | 120 +++++++++++----------
app/components/Sailing.tsx | 19 ++--
app/components/ThemeProvider.tsx | 31 +++---
app/layout.tsx | 2 +-
app/photos/page.tsx | 2 +-
docker-compose.yml | 22 ++--
eslint.config.js | 46 ++++++++
package-lock.json | 175 +++++++++++++++++--------------
package.json | 11 +-
public/pictures/photo_034.webp | Bin 72526 -> 0 bytes
public/pictures/photo_035.webp | Bin 87572 -> 0 bytes
public/pictures/photo_036.webp | Bin 330902 -> 0 bytes
public/pictures/photo_037.webp | Bin 281880 -> 0 bytes
public/pictures/photo_038.webp | Bin 144788 -> 0 bytes
public/pictures/photo_039.webp | Bin 1026798 -> 0 bytes
public/pictures/photo_040.webp | Bin 524038 -> 0 bytes
public/pictures/photo_041.webp | Bin 122808 -> 0 bytes
public/pictures/photo_042.webp | Bin 357612 -> 0 bytes
public/pictures/photo_043.webp | Bin 388724 -> 0 bytes
public/pictures/photo_044.webp | Bin 288640 -> 0 bytes
public/pictures/photo_045.webp | Bin 376454 -> 0 bytes
public/pictures/photo_046.webp | Bin 50046 -> 0 bytes
public/pictures/photo_047.webp | Bin 6268 -> 0 bytes
public/pictures/photo_048.webp | Bin 118338 -> 0 bytes
public/pictures/photo_049.webp | Bin 93806 -> 0 bytes
public/pictures/photo_050.webp | Bin 79942 -> 0 bytes
public/pictures/photo_051.webp | Bin 1935000 -> 0 bytes
public/pictures/photo_052.webp | Bin 56836 -> 0 bytes
public/pictures/photo_053.webp | Bin 136664 -> 0 bytes
public/pictures/photo_054.webp | Bin 256134 -> 0 bytes
public/pictures/photo_055.webp | Bin 714218 -> 0 bytes
public/pictures/photo_056.webp | Bin 1151354 -> 0 bytes
public/pictures/photo_057.webp | Bin 337652 -> 0 bytes
public/pictures/photo_058.webp | Bin 123654 -> 0 bytes
public/pictures/photo_059.webp | Bin 178612 -> 0 bytes
public/pictures/photo_060.webp | Bin 36492 -> 0 bytes
public/pictures/photo_061.webp | Bin 458200 -> 0 bytes
public/pictures/photo_062.webp | Bin 489898 -> 0 bytes
public/pictures/photo_063.webp | Bin 371904 -> 0 bytes
public/pictures/photo_064.webp | Bin 341282 -> 0 bytes
public/pictures/photo_065.webp | Bin 138898 -> 0 bytes
public/pictures/photo_066.webp | Bin 84036 -> 0 bytes
public/pictures/photo_067.webp | Bin 83526 -> 0 bytes
public/pictures/photo_068.webp | Bin 739618 -> 0 bytes
50 files changed, 326 insertions(+), 195 deletions(-)
create mode 100644 .dockerignore
create mode 100644 .env.exemple
create mode 100644 eslint.config.js
delete mode 100644 public/pictures/photo_034.webp
delete mode 100644 public/pictures/photo_035.webp
delete mode 100644 public/pictures/photo_036.webp
delete mode 100644 public/pictures/photo_037.webp
delete mode 100644 public/pictures/photo_038.webp
delete mode 100644 public/pictures/photo_039.webp
delete mode 100644 public/pictures/photo_040.webp
delete mode 100644 public/pictures/photo_041.webp
delete mode 100644 public/pictures/photo_042.webp
delete mode 100644 public/pictures/photo_043.webp
delete mode 100644 public/pictures/photo_044.webp
delete mode 100644 public/pictures/photo_045.webp
delete mode 100644 public/pictures/photo_046.webp
delete mode 100644 public/pictures/photo_047.webp
delete mode 100644 public/pictures/photo_048.webp
delete mode 100644 public/pictures/photo_049.webp
delete mode 100644 public/pictures/photo_050.webp
delete mode 100644 public/pictures/photo_051.webp
delete mode 100644 public/pictures/photo_052.webp
delete mode 100644 public/pictures/photo_053.webp
delete mode 100644 public/pictures/photo_054.webp
delete mode 100644 public/pictures/photo_055.webp
delete mode 100644 public/pictures/photo_056.webp
delete mode 100644 public/pictures/photo_057.webp
delete mode 100644 public/pictures/photo_058.webp
delete mode 100644 public/pictures/photo_059.webp
delete mode 100644 public/pictures/photo_060.webp
delete mode 100644 public/pictures/photo_061.webp
delete mode 100644 public/pictures/photo_062.webp
delete mode 100644 public/pictures/photo_063.webp
delete mode 100644 public/pictures/photo_064.webp
delete mode 100644 public/pictures/photo_065.webp
delete mode 100644 public/pictures/photo_066.webp
delete mode 100644 public/pictures/photo_067.webp
delete mode 100644 public/pictures/photo_068.webp
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..dc8e944
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,7 @@
+node_modules
+.next
+.git
+Dockerfile
+docker-compose.yml
+npm-debug.log
+.env
\ No newline at end of file
diff --git a/.env.exemple b/.env.exemple
new file mode 100644
index 0000000..8f0968b
--- /dev/null
+++ b/.env.exemple
@@ -0,0 +1 @@
+WEB_PORT=3000
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b5a55c4..1e6ce6e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,7 +31,7 @@ yarn-error.log*
.pnpm-debug.log*
# env files (can opt-in for committing if needed)
-.env*
+.env
# vercel
.vercel
diff --git a/Dockerfile b/Dockerfile
index 193b26c..34cb63c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,34 +1,44 @@
-# === Étape 1 : Build ===
+# ====== 1. Dependencies ======
+FROM node:20-alpine AS deps
+
+WORKDIR /app
+
+COPY package.json package-lock.json* ./
+RUN npm ci
+
+
+# ====== 2. Build ======
FROM node:20-alpine AS builder
WORKDIR /app
-# Copier les fichiers de dépendances pour profiter du cache Docker
-COPY package*.json ./
-
-# Installer uniquement ce qu'il faut pour le build
-RUN npm ci
-
-# Copier tout le code
+COPY --from=deps /app/node_modules ./node_modules
COPY . .
-# Build Next.js pour la production
+# Variables build-time
+ENV NEXT_TELEMETRY_DISABLED=1
+
RUN npm run build
-# === Étape 2 : Runner léger ===
+
+# ====== 3. Runner (prod minimal) ======
FROM node:20-alpine AS runner
WORKDIR /app
-# Copier uniquement ce qui est nécessaire pour la prod
-COPY --from=builder /app/package*.json ./
-COPY --from=builder /app/node_modules ./node_modules
-COPY --from=builder /app/.next ./.next
-COPY --from=builder /app/public ./public
-
-# Mode production
ENV NODE_ENV=production
+ENV NEXT_TELEMETRY_DISABLED=1
+
+# user non-root (bonne pratique)
+RUN addgroup -S nextjs && adduser -S nextjs -G nextjs
+
+# Copy standalone output
+COPY --from=builder /app/public ./public
+COPY --from=builder /app/.next/standalone ./
+COPY --from=builder /app/.next/static ./.next/static
+
+USER nextjs
+
EXPOSE 3000
-# Lancer le serveur Next.js
-CMD ["npm", "start"]
\ No newline at end of file
+CMD ["node", "server.js"]
\ No newline at end of file
diff --git a/app/components/Footer.tsx b/app/components/Footer.tsx
index 3410c98..98f5210 100644
--- a/app/components/Footer.tsx
+++ b/app/components/Footer.tsx
@@ -1,4 +1,4 @@
-import { Github, Mail, Globe, Heart } from "lucide-react";
+import { Github, Mail, Globe, Heart, Presentation } from "lucide-react";
export default function Footer() {
return (
@@ -42,16 +42,16 @@ export default function Footer() {
Contact
diff --git a/app/components/Homelab.tsx b/app/components/Homelab.tsx
index 308a28a..843ef18 100644
--- a/app/components/Homelab.tsx
+++ b/app/components/Homelab.tsx
@@ -7,6 +7,8 @@ import {
Image,
Tv,
Monitor,
+ Music,
+ Search,
} from "lucide-react";
const infra = [
@@ -55,6 +57,18 @@ const personalServices = [
url: "jellyfin.arthurp.fr",
desc: "Serveur multimédia auto-hébergé — films, séries, musique.",
},
+ {
+ icon: ,
+ name: "Navidrome",
+ url: "navidrome.arthurp.fr",
+ desc: "Serveur de musique auto-hébergé — streaming de ma bibliothèque musicale.",
+ },
+ {
+ icon: ,
+ name: "SearXNG",
+ url: "searxng.arthurp.fr",
+ desc: "Moteur de recherche anonyme et décentralisé.",
+ },
];
export default function Homelab() {
diff --git a/app/components/Projects.tsx b/app/components/Projects.tsx
index 424eb60..2f1205d 100644
--- a/app/components/Projects.tsx
+++ b/app/components/Projects.tsx
@@ -1,4 +1,4 @@
-import { ExternalLink, Timer, FileQuestion, Grid3X3, Video, QrCode, BookOpen, Link2, FileText, Bot, LinkIcon, Clock } from "lucide-react";
+import { ExternalLink, Timer, FileQuestion, Grid3X3, Video, QrCode, BookOpen, Link2, FileText, Bot, LinkIcon, Clock, Zap } from "lucide-react";
const projects = [
{
@@ -9,11 +9,67 @@ const projects = [
tags: ["Site vitrine", "Hub"],
},
{
- name: "pomodoro.arthurp.fr",
- url: "https://pomodoro.arthurp.fr",
- desc: "Application de gestion du temps basée sur la méthode Pomodoro.",
- icon: ,
- tags: ["Productivité", "Web App"],
+ name: "links.arthurp.fr",
+ url: "https://links.arthurp.fr",
+ desc: "Page de centralisation de liens.",
+ icon: ,
+ tags: ["Liens", "Hub"],
+ },
+ {
+ name: "lazybot.arthurp.fr",
+ url: "https://lazybot.arthurp.fr",
+ desc: "Bot Discord contrôlé via un dashboard web, développé et hébergé par moi.",
+ icon: ,
+ tags: ["Discord", "Bot", "Dashboard"],
+ },
+ {
+ name: "clock.arthurp.fr",
+ url: "https://clock.arthurp.fr",
+ desc: "Application d'affichage et de gestion du temps.",
+ icon: ,
+ tags: ["Temps", "Utilitaire"],
+ },
+ {
+ name: "flint.arthurp.fr",
+ url: "https://flint.arthurp.fr",
+ desc: "Saas de gestion de bots Discord avec dashboard.",
+ icon: ,
+ tags: ["Discord", "Bot", "Dashboard"],
+ },
+ {
+ name: "learn.arthurp.fr",
+ url: "https://learn.arthurp.fr",
+ desc: "Plateforme d'apprentissage et de documentation personnelle.",
+ icon: ,
+ tags: ["Apprentissage", "Documentation"],
+ },
+ {
+ name: "form.arthurp.fr",
+ url: "https://form.arthurp.fr",
+ desc: "Système de formulaires auto-hébergé.",
+ icon: ,
+ tags: ["Formulaires", "Auto-hébergé"],
+ },
+ {
+ name: "reducelink.arthurp.fr",
+ url: "https://reducelink.arthurp.fr",
+ desc: "Service de réduction de liens.",
+ icon: ,
+ tags: ["Outil", "Raccourcisseur"],
+ },
+ {
+ name: "imprimersudoku.arthurp.fr",
+ url: "https://imprimersudoku.arthurp.fr",
+ desc: "Feuille de grilles de Sudoku imprimables.",
+ icon: ,
+ tags: ["Jeu", "Imprimante"],
+ },
+ {
+ name: "qrcode.arthurp.fr",
+ url: "https://qrcode.arthurp.fr",
+ desc: "Générateur de QR codes personnalisés.",
+ icon: ,
+ tags: ["Outil", "Utilitaire"],
},
{
name: "qcu.arthurp.fr",
@@ -37,53 +93,11 @@ const projects = [
tags: ["Communication", "Auto-hébergé"],
},
{
- name: "qrcode.arthurp.fr",
- url: "https://qrcode.arthurp.fr",
- desc: "Générateur de QR codes personnalisés.",
- icon: ,
- tags: ["Outil", "Utilitaire"],
- },
- {
- name: "learn.arthurp.fr",
- url: "https://learn.arthurp.fr",
- desc: "Plateforme d'apprentissage et de documentation personnelle.",
- icon: ,
- tags: ["Apprentissage", "Documentation"],
- },
- {
- name: "links.arthurp.fr",
- url: "https://links.arthurp.fr",
- desc: "Page de centralisation de liens.",
- icon: ,
- tags: ["Liens", "Hub"],
- },
- {
- name: "form.arthurp.fr",
- url: "https://form.arthurp.fr",
- desc: "Système de formulaires auto-hébergé.",
- icon: ,
- tags: ["Formulaires", "Auto-hébergé"],
- },
- {
- name: "lazybot.arthurp.fr",
- url: "https://lazybot.arthurp.fr",
- desc: "Bot Discord contrôlé via un dashboard web, développé et hébergé par moi.",
- icon: ,
- tags: ["Discord", "Bot", "Dashboard"],
- },
- {
- name: "reducelink.arthurp.fr",
- url: "https://reducelink.arthurp.fr",
- desc: "Service de réduction de liens.",
- icon: ,
- tags: ["Outil", "Raccourcisseur"],
- },
- {
- name: "clock.arthurp.fr",
- url: "https://clock.arthurp.fr",
- desc: "Application d'affichage et de gestion du temps.",
- icon: ,
- tags: ["Temps", "Utilitaire"],
+ name: "pomodoro.arthurp.fr",
+ url: "https://pomodoro.arthurp.fr",
+ desc: "Application de gestion du temps basée sur la méthode Pomodoro.",
+ icon: ,
+ tags: ["Productivité", "Web App"],
},
];
diff --git a/app/components/Sailing.tsx b/app/components/Sailing.tsx
index 83eb0c7..17f2bd6 100644
--- a/app/components/Sailing.tsx
+++ b/app/components/Sailing.tsx
@@ -6,8 +6,8 @@ const palmares = [
results: [
{ rank: "1er", event: "Spi Ouest France", boat: "Open 5.70" },
{ rank: "1er", event: "GPEN", boat: "Open 5.70" },
- { rank: "3e", event: "18h d'Arcachon", boat: "Open 5.70" },
- { rank: "2e", event: "Championnat de France Espoirs", boat: "" },
+ { rank: "3e", event: "18h d'Arcachon", boat: "5.90" },
+ { rank: "2e", event: "Championnat de France Espoirs", boat: "Open 5.70" },
],
},
{
@@ -41,9 +41,9 @@ const qualities = [
];
function getRankColor(rank: string) {
- if (rank.startsWith("1er")) return "text-yellow-400 bg-yellow-400/10 border-yellow-400/20";
- if (rank.startsWith("2e")) return "text-gray-300 bg-gray-300/10 border-gray-300/20";
- if (rank.startsWith("3e")) return "text-amber-600 bg-amber-600/10 border-amber-600/20";
+ if (rank.startsWith("1er")) {return "text-yellow-400 bg-yellow-400/10 border-yellow-400/20";}
+ if (rank.startsWith("2e")) {return "text-gray-300 bg-gray-300/10 border-gray-300/20";}
+ if (rank.startsWith("3e")) {return "text-amber-600 bg-amber-600/10 border-amber-600/20";}
return "text-blue-400 bg-blue-400/10 border-blue-400/20";
}
@@ -89,7 +89,8 @@ export default function Sailing() {
deux championnats du monde
{" "}
en Open Skiff et obtenu le statut de{" "}
- sportif de haut niveau.
+ sportif de haut niveau{" "}
+ en gagnant le titre de champion de France en Open 5.70.
@@ -115,15 +116,15 @@ export default function Sailing() {
{/* Highlights */}
-
2
+
1
- Championnats du monde
+ Champion de France
9e
- Mondial (×2)
+ Championnat du monde (×2)
diff --git a/app/components/ThemeProvider.tsx b/app/components/ThemeProvider.tsx
index 81246dd..461170e 100644
--- a/app/components/ThemeProvider.tsx
+++ b/app/components/ThemeProvider.tsx
@@ -12,8 +12,15 @@ const ThemeContext = createContext<{
toggleTheme: () => {},
});
-export function useTheme() {
- return useContext(ThemeContext);
+// safe getter (évite SSR crash)
+function getInitialTheme(): Theme {
+ if (typeof window === "undefined") {return "dark";}
+
+ return (
+ (localStorage.getItem("theme") as Theme) ||
+ (document.documentElement.getAttribute("data-theme") as Theme) ||
+ "dark"
+ );
}
export default function ThemeProvider({
@@ -21,21 +28,15 @@ export default function ThemeProvider({
}: {
children: React.ReactNode;
}) {
- const [theme, setTheme] = useState
("dark");
- const [mounted, setMounted] = useState(false);
+ const [theme, setTheme] = useState(() => getInitialTheme());
useEffect(() => {
- const stored =
- (document.documentElement.getAttribute("data-theme") as Theme) || "dark";
- setTheme(stored);
- setMounted(true);
- }, []);
+ document.documentElement.setAttribute("data-theme", theme);
+ localStorage.setItem("theme", theme);
+ }, [theme]);
const toggleTheme = () => {
- const next = theme === "dark" ? "light" : "dark";
- setTheme(next);
- localStorage.setItem("theme", next);
- document.documentElement.setAttribute("data-theme", next);
+ setTheme((prev) => (prev === "dark" ? "light" : "dark"));
};
return (
@@ -44,3 +45,7 @@ export default function ThemeProvider({
);
}
+
+export function useTheme() {
+ return useContext(ThemeContext);
+}
\ No newline at end of file
diff --git a/app/layout.tsx b/app/layout.tsx
index f0bf92d..b8470e6 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -108,7 +108,7 @@ const jsonLd = {
"Auto-hébergement",
"Infrastructure réseau",
],
- sameAs: ["https://github.com"],
+ sameAs: ["https://github.com/arthur-pbty/portfolio"],
};
export default function RootLayout({
diff --git a/app/photos/page.tsx b/app/photos/page.tsx
index 03f0deb..2498362 100644
--- a/app/photos/page.tsx
+++ b/app/photos/page.tsx
@@ -9,7 +9,7 @@ export const metadata: Metadata = {
"Galerie photo d'Arthur P. — moments de vie, voile et aventures.",
};
-const photos = Array.from({ length: 68 }, (_, i) => {
+const photos = Array.from({ length: 33 }, (_, i) => {
const num = String(i + 1).padStart(3, "0");
return { src: `/pictures/photo_${num}.webp`, alt: `Photo ${i + 1}` };
});
diff --git a/docker-compose.yml b/docker-compose.yml
index df24aeb..9327066 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,12 +1,20 @@
services:
- web:
+ next-app:
build:
context: .
+ dockerfile: Dockerfile
+
+ container_name: portfolio-app
+
ports:
- - "3000:3000"
- volumes:
- - ./:/app # monte ton code pour hot reload
- - /app/node_modules # préserver les modules installés dans l'image
+ - "${WEB_PORT}:3000"
+
+ env_file:
+ - .env
+
+ restart: unless-stopped
+
environment:
- - NODE_ENV=development
- command: npm run dev
\ No newline at end of file
+ - PORT=3000
+ - NODE_ENV=production
+ - HOSTNAME=0.0.0.0
\ No newline at end of file
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..e19fd73
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,46 @@
+import js from "@eslint/js";
+import next from "eslint-config-next";
+import tseslint from "typescript-eslint";
+
+const config = [
+ // Base JavaScript recommended rules
+ js.configs.recommended,
+
+ // TypeScript recommended rules
+ ...tseslint.configs.recommended,
+
+ // Next.js recommended rules
+ ...next,
+
+ {
+ rules: {
+ // ===== Code quality =====
+ "no-console": "warn",
+ "prefer-const": "error",
+ eqeqeq: ["error", "always"],
+ curly: ["error", "all"],
+
+ // ===== TypeScript =====
+ "@typescript-eslint/no-unused-vars": ["warn"],
+
+ // ===== React / Next =====
+ "react-hooks/exhaustive-deps": "warn",
+ "react/react-in-jsx-scope": "off",
+
+ // ===== Style =====
+ semi: ["error", "always"],
+ quotes: ["error", "double"],
+ },
+ },
+
+ {
+ ignores: [
+ "node_modules",
+ ".next",
+ "dist",
+ "out",
+ ],
+ },
+];
+
+export default config;
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index d728081..649db8f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,17 +9,18 @@
"version": "0.1.0",
"dependencies": {
"lucide-react": "^0.576.0",
- "next": "16.1.6",
+ "next": "^16.2.4",
"react": "19.2.3",
"react-dom": "19.2.3"
},
"devDependencies": {
+ "@eslint/eslintrc": "^3.3.5",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
- "eslint": "^9",
- "eslint-config-next": "16.1.6",
+ "eslint": "^9.39.4",
+ "eslint-config-next": "^16.1.6",
"tailwindcss": "^4",
"typescript": "5.9.3"
}
@@ -68,6 +69,7 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -353,15 +355,15 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
- "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "version": "0.21.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz",
+ "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/object-schema": "^2.1.7",
"debug": "^4.3.1",
- "minimatch": "^3.1.2"
+ "minimatch": "^3.1.5"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -394,9 +396,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz",
- "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==",
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz",
+ "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -407,7 +409,7 @@
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.1",
- "minimatch": "^3.1.3",
+ "minimatch": "^3.1.5",
"strip-json-comments": "^3.1.1"
},
"engines": {
@@ -418,9 +420,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.39.3",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz",
- "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==",
+ "version": "9.39.4",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz",
+ "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1036,9 +1038,9 @@
}
},
"node_modules/@next/env": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.6.tgz",
- "integrity": "sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.4.tgz",
+ "integrity": "sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==",
"license": "MIT"
},
"node_modules/@next/eslint-plugin-next": {
@@ -1052,9 +1054,9 @@
}
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.6.tgz",
- "integrity": "sha512-wTzYulosJr/6nFnqGW7FrG3jfUUlEf8UjGA0/pyypJl42ExdVgC6xJgcXQ+V8QFn6niSG2Pb8+MIG1mZr2vczw==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.4.tgz",
+ "integrity": "sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==",
"cpu": [
"arm64"
],
@@ -1068,9 +1070,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.6.tgz",
- "integrity": "sha512-BLFPYPDO+MNJsiDWbeVzqvYd4NyuRrEYVB5k2N3JfWncuHAy2IVwMAOlVQDFjj+krkWzhY2apvmekMkfQR0CUQ==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.4.tgz",
+ "integrity": "sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==",
"cpu": [
"x64"
],
@@ -1084,9 +1086,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.6.tgz",
- "integrity": "sha512-OJYkCd5pj/QloBvoEcJ2XiMnlJkRv9idWA/j0ugSuA34gMT6f5b7vOiCQHVRpvStoZUknhl6/UxOXL4OwtdaBw==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.4.tgz",
+ "integrity": "sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==",
"cpu": [
"arm64"
],
@@ -1100,9 +1102,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.6.tgz",
- "integrity": "sha512-S4J2v+8tT3NIO9u2q+S0G5KdvNDjXfAv06OhfOzNDaBn5rw84DGXWndOEB7d5/x852A20sW1M56vhC/tRVbccQ==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.4.tgz",
+ "integrity": "sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==",
"cpu": [
"arm64"
],
@@ -1116,9 +1118,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.6.tgz",
- "integrity": "sha512-2eEBDkFlMMNQnkTyPBhQOAyn2qMxyG2eE7GPH2WIDGEpEILcBPI/jdSv4t6xupSP+ot/jkfrCShLAa7+ZUPcJQ==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.4.tgz",
+ "integrity": "sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==",
"cpu": [
"x64"
],
@@ -1132,9 +1134,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.6.tgz",
- "integrity": "sha512-oicJwRlyOoZXVlxmIMaTq7f8pN9QNbdes0q2FXfRsPhfCi8n8JmOZJm5oo1pwDaFbnnD421rVU409M3evFbIqg==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.4.tgz",
+ "integrity": "sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==",
"cpu": [
"x64"
],
@@ -1148,9 +1150,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.6.tgz",
- "integrity": "sha512-gQmm8izDTPgs+DCWH22kcDmuUp7NyiJgEl18bcr8irXA5N2m2O+JQIr6f3ct42GOs9c0h8QF3L5SzIxcYAAXXw==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.4.tgz",
+ "integrity": "sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==",
"cpu": [
"arm64"
],
@@ -1164,9 +1166,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.6.tgz",
- "integrity": "sha512-NRfO39AIrzBnixKbjuo2YiYhB6o9d8v/ymU9m/Xk8cyVk+k7XylniXkHwjs4s70wedVffc6bQNbufk5v0xEm0A==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.4.tgz",
+ "integrity": "sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==",
"cpu": [
"x64"
],
@@ -1562,6 +1564,7 @@
"integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@@ -1621,6 +1624,7 @@
"integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.56.1",
"@typescript-eslint/types": "8.56.1",
@@ -1775,9 +1779,9 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2146,6 +2150,7 @@
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -2446,9 +2451,9 @@
}
},
"node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz",
+ "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2489,6 +2494,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -3051,25 +3057,26 @@
}
},
"node_modules/eslint": {
- "version": "9.39.3",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz",
- "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==",
+ "version": "9.39.4",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz",
+ "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.1",
+ "@eslint/config-array": "^0.21.2",
"@eslint/config-helpers": "^0.4.2",
"@eslint/core": "^0.17.0",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.39.3",
+ "@eslint/eslintrc": "^3.3.5",
+ "@eslint/js": "9.39.4",
"@eslint/plugin-kit": "^0.4.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
- "ajv": "^6.12.4",
+ "ajv": "^6.14.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
@@ -3088,7 +3095,7 @@
"is-glob": "^4.0.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
+ "minimatch": "^3.1.5",
"natural-compare": "^1.4.0",
"optionator": "^0.9.3"
},
@@ -3241,6 +3248,7 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@@ -3599,9 +3607,9 @@
}
},
"node_modules/flatted": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz",
- "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
+ "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
"dev": true,
"license": "ISC"
},
@@ -4994,14 +5002,14 @@
"license": "MIT"
},
"node_modules/next": {
- "version": "16.1.6",
- "resolved": "https://registry.npmjs.org/next/-/next-16.1.6.tgz",
- "integrity": "sha512-hkyRkcu5x/41KoqnROkfTm2pZVbKxvbZRuNvKXLRXxs3VfyO0WhY50TQS40EuKO9SW3rBj/sF3WbVwDACeMZyw==",
+ "version": "16.2.4",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.2.4.tgz",
+ "integrity": "sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==",
"license": "MIT",
"dependencies": {
- "@next/env": "16.1.6",
+ "@next/env": "16.2.4",
"@swc/helpers": "0.5.15",
- "baseline-browser-mapping": "^2.8.3",
+ "baseline-browser-mapping": "^2.9.19",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
"styled-jsx": "5.1.6"
@@ -5013,15 +5021,15 @@
"node": ">=20.9.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "16.1.6",
- "@next/swc-darwin-x64": "16.1.6",
- "@next/swc-linux-arm64-gnu": "16.1.6",
- "@next/swc-linux-arm64-musl": "16.1.6",
- "@next/swc-linux-x64-gnu": "16.1.6",
- "@next/swc-linux-x64-musl": "16.1.6",
- "@next/swc-win32-arm64-msvc": "16.1.6",
- "@next/swc-win32-x64-msvc": "16.1.6",
- "sharp": "^0.34.4"
+ "@next/swc-darwin-arm64": "16.2.4",
+ "@next/swc-darwin-x64": "16.2.4",
+ "@next/swc-linux-arm64-gnu": "16.2.4",
+ "@next/swc-linux-arm64-musl": "16.2.4",
+ "@next/swc-linux-x64-gnu": "16.2.4",
+ "@next/swc-linux-x64-musl": "16.2.4",
+ "@next/swc-win32-arm64-msvc": "16.2.4",
+ "@next/swc-win32-x64-msvc": "16.2.4",
+ "sharp": "^0.34.5"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
@@ -5338,9 +5346,9 @@
"license": "ISC"
},
"node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5361,9 +5369,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "version": "8.5.12",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz",
+ "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==",
"dev": true,
"funding": [
{
@@ -5447,6 +5455,7 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
"integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5456,6 +5465,7 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
"integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@@ -6139,11 +6149,12 @@
}
},
"node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -6306,6 +6317,7 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6581,6 +6593,7 @@
"integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
diff --git a/package.json b/package.json
index 7512511..bf4df6b 100644
--- a/package.json
+++ b/package.json
@@ -2,25 +2,28 @@
"name": "portfolio",
"version": "0.1.0",
"private": true,
+ "type": "module",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
- "lint": "eslint"
+ "lint": "eslint .",
+ "lint:fix": "eslint . --fix"
},
"dependencies": {
"lucide-react": "^0.576.0",
- "next": "16.1.6",
+ "next": "^16.2.4",
"react": "19.2.3",
"react-dom": "19.2.3"
},
"devDependencies": {
+ "@eslint/eslintrc": "^3.3.5",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
- "eslint": "^9",
- "eslint-config-next": "16.1.6",
+ "eslint": "^9.39.4",
+ "eslint-config-next": "^16.1.6",
"tailwindcss": "^4",
"typescript": "5.9.3"
}
diff --git a/public/pictures/photo_034.webp b/public/pictures/photo_034.webp
deleted file mode 100644
index 7c94c6caada7c7546fe484597d48367bbdb187e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 72526
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