Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,15 @@
.black-gradient {
background: linear-gradient(90deg, #161a31 0%, #06091f 100%);
}

/* Hide scrollbar while maintaining scroll functionality */
.scrollbar-hide {
-ms-overflow-style: none;
scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
display: none;
}
Comment on lines +89 to +97
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scrollbar-hide utility class is defined but not used anywhere in the codebase. Consider either using this class where it's needed or removing it to keep the codebase clean and maintainable.

Suggested change
/* Hide scrollbar while maintaining scroll functionality */
.scrollbar-hide {
-ms-overflow-style: none;
scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
display: none;
}

Copilot uses AI. Check for mistakes.
}

body,
Expand Down
50 changes: 22 additions & 28 deletions components/RecentProjects.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,36 +41,30 @@ const RecentProjects = () => {
<p className="lg:text-xl lg:font-normal font-light text-sm line-clamp-2">
{des}
</p>
<div className="flex items-center justify-between mt-7 mb-3">
<div className="flex items-center ">
{lngIconLts.map((icon, index) => (
<div
key={icon}
className="border border-white/[2.0] rounded-full bg-black lg:w-10 lg:h-10 w-8 h-8 flex items-center justify-center"
style={{
zIndex: 13 - index,
transform: `translateX(-${7.2 * index}px)`,
}}
>
<img src={icon} alt={icon} className="p-2" />
</div>
))}
<div className="flex items-center justify-between mt-7 mb-3 gap-2">
<div className="flex items-center flex-wrap gap-1 min-w-0 flex-shrink">
{lngIconLts.map((icon, index) => (
<div
key={icon}
className="border border-white/[2.0] rounded-full bg-black w-7 h-7 sm:w-8 sm:h-8 lg:w-9 lg:h-9 xl:w-10 xl:h-10 flex items-center justify-center flex-shrink-0"
style={{ zIndex: 13 - index }}
>
<img src={icon} alt={icon} className="p-1.5 sm:p-2" />
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The alt text for the icon image uses the icon path (URL) as the value, which is not descriptive for screen readers. Consider using a more descriptive alternative text that indicates what the icon represents, such as the technology name (e.g., "Python", "React", etc.).

Copilot uses AI. Check for mistakes.
</div>
<div className="flex justify-center items-center">
{toolsIconLts.map((icon, index) => (
<div
key={icon}
className="border border-white/[2.0] rounded-full bg-black lg:w-10 lg:h-10 w-8 h-8 flex items-center justify-center"
style={{
zIndex: 13 - index,
transform: `translateX(-${7.2 * index}px)`,
}}
>
<img src={icon} alt={icon} className="p-2" />
</div>
))}
))}
Comment on lines +46 to +54
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using icon file paths as React keys is fragile and could lead to bugs if the same icon appears multiple times in the array or if paths change. Consider using the index parameter or a combination of icon path and index for the key prop.

Copilot uses AI. Check for mistakes.
</div>
<div className="flex items-center flex-wrap gap-1 min-w-0 flex-shrink justify-end">
{toolsIconLts.map((icon, index) => (
<div
key={icon}
className="border border-white/[2.0] rounded-full bg-black w-7 h-7 sm:w-8 sm:h-8 lg:w-9 lg:h-9 xl:w-10 xl:h-10 flex items-center justify-center flex-shrink-0"
style={{ zIndex: 13 - index }}
>
<img src={icon} alt={icon} className="p-1.5 sm:p-2" />
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The alt text for the icon image uses the icon path (URL) as the value, which is not descriptive for screen readers. Consider using a more descriptive alternative text that indicates what the tool represents, such as the tool name (e.g., "VSCode", "Jupyter", etc.).

Copilot uses AI. Check for mistakes.
</div>
</div>
))}
Comment on lines +57 to +65
Copy link

Copilot AI Dec 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using icon file paths as React keys is fragile and could lead to bugs if the same icon appears multiple times in the array or if paths change. Consider using the index parameter or a combination of icon path and index for the key prop.

Copilot uses AI. Check for mistakes.
</div>
</div>
</div>
</PinContainer>
</div>
Expand Down
Loading