diff --git a/next.config.mjs b/next.config.mjs
index c7f4edcb..6bc575c0 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -132,6 +132,10 @@ const nextConfig = {
protocol: "https",
hostname: "avatars.githubusercontent.com",
},
+ {
+ protocol: "https",
+ hostname: "github.githubassets.com",
+ },
],
},
async headers() {
diff --git a/src/app/compare/[users]/page.tsx b/src/app/compare/[users]/page.tsx
index 8d51654a..ae854923 100644
--- a/src/app/compare/[users]/page.tsx
+++ b/src/app/compare/[users]/page.tsx
@@ -1,5 +1,6 @@
import { Metadata } from "next";
import { Scale, Trophy } from "lucide-react";
+import Image from "next/image";
import { normalizeGitHubUsername } from "@/lib/validate-github-username";
import {
fetchPublicProfile,
@@ -224,10 +225,11 @@ function ProfileHeader({
align === "right" ? "md:flex-row-reverse" : ""
}`}
>
- {/* eslint-disable-next-line @next/next/no-img-element */}
-
diff --git a/src/app/leaderboard/page.tsx b/src/app/leaderboard/page.tsx
index b3f8fd67..2b40b61c 100644
--- a/src/app/leaderboard/page.tsx
+++ b/src/app/leaderboard/page.tsx
@@ -1,4 +1,5 @@
import Link from "next/link";
+import Image from "next/image";
import EmptyState from "@/components/EmptyState";
import SponsorBadge from "@/components/SponsorBadge";
@@ -146,10 +147,11 @@ export default async function LeaderboardPage({
#{entry.rank}
- {/* eslint-disable-next-line @next/next/no-img-element */}
-
diff --git a/src/components/BadgeSection.tsx b/src/components/BadgeSection.tsx
index 392054ab..7aaa1f9a 100644
--- a/src/components/BadgeSection.tsx
+++ b/src/components/BadgeSection.tsx
@@ -1,6 +1,7 @@
"use client";
import React, { useState, useEffect } from "react";
+import Image from "next/image";
interface BadgeSectionProps {
username: string;
@@ -49,8 +50,7 @@ export default function BadgeSection({ username }: BadgeSectionProps) {
Streak Badge
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

+
@@ -61,8 +61,7 @@ export default function BadgeSection({ username }: BadgeSectionProps) {
Commits Badge
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

+
@@ -73,10 +72,8 @@ export default function BadgeSection({ username }: BadgeSectionProps) {
Combined (Both Badges)
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

- {/* eslint-disable-next-line @next/next/no-img-element */}
-

+
+
diff --git a/src/components/FriendComparison.tsx b/src/components/FriendComparison.tsx
index a484ac9d..08d010d7 100644
--- a/src/components/FriendComparison.tsx
+++ b/src/components/FriendComparison.tsx
@@ -1,6 +1,7 @@
"use client";
import { useEffect, useMemo, useRef, useState } from "react";
+import Image from "next/image";
import dynamic from "next/dynamic";
const ComparisonChart = dynamic(() => import("./ComparisonChart"), { ssr: false });
@@ -265,10 +266,11 @@ export default function FriendComparison() {
: "hover:bg-[var(--control)]",
].join(" ")}
>
- {/* eslint-disable-next-line @next/next/no-img-element */}
-
diff --git a/src/components/GitHubAchievements.tsx b/src/components/GitHubAchievements.tsx
index 749f4580..05f64d24 100644
--- a/src/components/GitHubAchievements.tsx
+++ b/src/components/GitHubAchievements.tsx
@@ -1,3 +1,4 @@
+import Image from "next/image";
import type { GitHubAchievement } from "@/lib/github-achievements";
interface GitHubAchievementsProps {
@@ -52,10 +53,11 @@ export default function GitHubAchievements({
title={achievement.description}
className="group rounded-lg border border-[var(--border)] bg-[var(--control)] p-3 text-center transition-colors hover:border-[var(--accent)]"
>
- {/* eslint-disable-next-line @next/next/no-img-element */}
-
diff --git a/src/components/WrappedExperience.tsx b/src/components/WrappedExperience.tsx
index 88469423..83526faf 100644
--- a/src/components/WrappedExperience.tsx
+++ b/src/components/WrappedExperience.tsx
@@ -2,6 +2,7 @@
import { useEffect, useMemo, useState } from "react";
import Link from "next/link";
+import Image from "next/image";
import type { WrappedStats } from "@/lib/wrapped";
const SLIDE_THEMES = [
@@ -306,11 +307,13 @@ export default function WrappedExperience() {
Generated from your selected year.
- {/* eslint-disable-next-line @next/next/no-img-element */}
-