Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 1 addition & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default function RootLayout({
}) {
return (
<html lang="en">
<body className={inter.className}>
<body className={inter.className} suppressHydrationWarning={true}>
Comment thread
akash-kumar-dev marked this conversation as resolved.
Outdated
{children}
<BackToTop />
</body>
Expand Down
2 changes: 1 addition & 1 deletion src/app/not-found.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default function NotFound() {
<h2 className="text-3xl md:text-4xl font-bold text-gray-200 mb-4">
Oops! Page Not Found
</h2>
<p className="text-lg text-gray-400 mb-8">
<p className="text-lg text-gray-300 mb-8">
The page you&apos;re looking for doesn&apos;t exist or has been moved.
</p>

Expand Down
4 changes: 2 additions & 2 deletions src/components/about/AboutValues.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const AboutValues = () => {
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-4xl font-bold text-white mb-4">Our Core Values</h2>
<p className="text-gray-400 max-w-2xl mx-auto">
<p className="text-gray-300 max-w-2xl mx-auto">
The principles that guide everything we do at BrowsePing.
</p>
</div>
Expand All @@ -43,7 +43,7 @@ const AboutValues = () => {
</div>
<div>
<h3 className="text-xl font-bold text-white mb-2">{value.title}</h3>
<p className="text-gray-400 leading-relaxed">
<p className="text-gray-300 leading-relaxed">
{value.description}
</p>
</div>
Expand Down
12 changes: 6 additions & 6 deletions src/components/contact/ContactUs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const ContactUs = () => {
</div>
<div>
<h3 className="text-xl font-bold text-white">General Inquiries</h3>
<p className="text-gray-400">Questions, feedback, and support</p>
<p className="text-gray-300">Questions, feedback, and support</p>
</div>
</div>

Expand All @@ -58,11 +58,11 @@ const ContactUs = () => {
<div className="bg-gray-800/30 backdrop-blur-sm border border-gray-700 rounded-2xl p-8">
<div className="flex items-center space-x-3 mb-6">
<div className="w-12 h-12 bg-gray-500/20 rounded-xl flex items-center justify-center">
<FiGithub className="text-gray-400" size={24} aria-hidden="true" />
<FiGithub className="text-gray-300" size={24} aria-hidden="true" />
</div>
<div>
<h3 className="text-xl font-bold text-white">Development & Open Source</h3>
<p className="text-gray-400">Contributing to the project</p>
<p className="text-gray-300">Contributing to the project</p>
</div>
</div>

Expand Down Expand Up @@ -115,7 +115,7 @@ const ContactUs = () => {

<div className="mb-6">
<h3 className="text-2xl font-bold text-white mb-2">Akash Kumar</h3>
<p className="text-gray-400 font-medium">Main Developer</p>
<p className="text-gray-300 font-medium">Main Developer</p>
</div>
</div>

Expand Down Expand Up @@ -154,11 +154,11 @@ const ContactUs = () => {
<div className="absolute inset-0 bg-gradient-to-r from-transparent via-gray-500/5 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
<div className="relative flex items-center space-x-3">
<div className="w-10 h-10 bg-gray-500/20 group-hover:bg-gray-500/30 rounded-lg flex items-center justify-center transition-colors">
<FiGithub className="text-gray-400" size={20} aria-hidden="true" />
<FiGithub className="text-gray-300" size={20} aria-hidden="true" />
</div>
<div className="min-w-0">
<p className="text-white font-semibold group-hover:text-gray-100 transition-colors">GitHub</p>
<p className="text-gray-400 text-sm font-medium">@akash-kumar-dev</p>
<p className="text-gray-300 text-sm font-medium">@akash-kumar-dev</p>
</div>
</div>
</a>
Expand Down
2 changes: 1 addition & 1 deletion src/components/download/InstallationGuide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ const InstallationGuide = () => {
<step.icon className="text-purple-400" size={24} aria-hidden="true" />
</div>
<h4 className="text-lg font-semibold text-white mb-2">{step.title}</h4>
<p className="text-gray-400">{step.description}</p>
<p className="text-gray-300">{step.description}</p>
</div>
))}
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/components/download/PlatformsList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ const PlatformsList = () => {
href={detectedPlatform.url}
target="_blank"
rel="noopener noreferrer"
className={`inline-flex items-center justify-center gap-2 px-6 py-3 rounded-lg bg-gradient-to-r ${detectedPlatform.color} hover:brightness-110 transition-all text-white font-medium shadow-lg hover:shadow-xl hover:scale-105 focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 focus:ring-offset-gray-900 focus:outline-none`}
className={`inline-flex items-center justify-center gap-2 px-6 py-3 rounded-lg bg-gradient-to-r ${detectedPlatform.color} hover:brightness-110 transition-all text-white font-medium shadow-lg hover:shadow-xl hover:scale-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900`}
>
<FiDownload size={18} />
<span>Download for {detectedPlatform.name}</span>
Expand All @@ -143,7 +143,7 @@ const PlatformsList = () => {
href={platform.url}
target="_blank"
rel="noopener noreferrer"
className={`block h-[300px] p-6 rounded-2xl bg-gradient-to-br ${platform.color} ${platform.hover} transition-all duration-300 transform hover:scale-105 hover:shadow-2xl`}
className={`block h-[300px] p-6 rounded-2xl bg-gradient-to-br ${platform.color} ${platform.hover} transition-all duration-300 transform hover:scale-105 hover:shadow-2xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900`}
>
<div className="text-center flex flex-col justify-between h-full">
<div className="mb-4">
Expand Down
21 changes: 11 additions & 10 deletions src/components/download/ZipDownload.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
'use client';

import React, { useEffect, useState } from 'react';
import React, { useEffect, useState, useRef } from 'react';
import { FiDownload, FiArchive, FiFolder, FiCode, FiCheckCircle } from 'react-icons/fi';

const ZipDownload = () => {
const [isVisible, setIsVisible] = useState(false);
const [downloadProgress, setDownloadProgress] = useState(0);
const [isDownloading, setIsDownloading] = useState(false);
const progressBarRef = useRef<HTMLDivElement>(null);

useEffect(() => {
const observer = new IntersectionObserver(
Expand Down Expand Up @@ -97,7 +98,7 @@ const ZipDownload = () => {
</div>
<div>
<h3 className="text-lg font-semibold text-white mb-1">{feature.title}</h3>
<p className="text-gray-400">{feature.description}</p>
<p className="text-gray-300">{feature.description}</p>
</div>
</div>
))}
Expand All @@ -119,13 +120,13 @@ const ZipDownload = () => {
{/* Download progress */}
{isDownloading && (
<div className="mb-6">
<div className="w-full bg-gray-700 rounded-full h-2 mb-2">
<div
className="bg-gradient-to-r from-green-400 to-blue-400 h-2 rounded-full transition-all duration-300"
style={{ width: `${downloadProgress}%` }}
></div>
</div>
<p className="text-sm text-gray-400">Downloading... {downloadProgress}%</p>
<div className="w-full bg-gray-700 rounded-full h-2 mb-2">
<div
ref={progressBarRef}
className={`bg-gradient-to-r from-green-400 to-blue-400 h-2 rounded-full transition-all duration-300`}
/>
</div>
<p className="text-sm text-gray-300">Downloading... {downloadProgress}%</p>
Comment thread
akash-kumar-dev marked this conversation as resolved.
Outdated
</div>
)}

Expand All @@ -140,7 +141,7 @@ const ZipDownload = () => {
</span>
</button>

<p className="text-sm text-gray-400 mt-4">
<p className="text-sm text-gray-300 mt-4">
Size: ~2.5 MB • Compatible with all browsers
</p>
</div>
Expand Down
34 changes: 20 additions & 14 deletions src/components/home/FeaturesSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,17 +194,19 @@ const FeaturesSection = () => {
<div className="hidden md:flex items-center space-x-4">
<button
onClick={prevSlide}
className="flex items-center justify-center w-16 h-16 bg-gray-800/70 hover:bg-gray-700/70 border border-gray-600/50 rounded-2xl transition-all duration-300 group hover:scale-110 shadow-xl backdrop-blur-xl z-30"
className="flex items-center justify-center w-16 h-16 bg-gray-800/70 hover:bg-gray-700/70 border border-gray-600/50 rounded-2xl transition-all duration-300 group hover:scale-110 shadow-xl backdrop-blur-xl z-30 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900"
aria-label="Previous feature"
>
<FiChevronLeft className="text-gray-300 group-hover:text-white transition-colors" size={24} />
Comment thread
akash-kumar-dev marked this conversation as resolved.
Outdated
</button>

{/* Card */}
<div className="hidden lg:block">
{features[(currentIndex - 1 + features.length) % features.length] && (
<div
className="w-64 h-80 bg-gray-800/30 backdrop-blur-xl border border-gray-700/40 rounded-2xl p-6 cursor-pointer hover:scale-105 transition-all duration-500 opacity-60 hover:opacity-80"
<button
className="w-64 h-80 bg-gray-800/30 backdrop-blur-xl border border-gray-700/40 rounded-2xl p-6 cursor-pointer hover:scale-105 transition-all duration-500 opacity-60 hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900"
onClick={prevSlide}
aria-label={`View ${features[(currentIndex - 1 + features.length) % features.length].title} feature`}
>
Comment thread
akash-kumar-dev marked this conversation as resolved.
<div className={`w-12 h-12 rounded-xl bg-gradient-to-br ${features[(currentIndex - 1 + features.length) % features.length].gradient} flex items-center justify-center mb-4`}>
<div className="text-white scale-75">
Expand All @@ -214,10 +216,10 @@ const FeaturesSection = () => {
<h4 className="text-lg font-bold text-white mb-2">
{features[(currentIndex - 1 + features.length) % features.length].title}
</h4>
<p className="text-sm text-gray-400 line-clamp-3">
<p className="text-sm text-gray-300 line-clamp-3">
{features[(currentIndex - 1 + features.length) % features.length].description}
</p>
</div>
</button>
)}
</div>
</div>
Expand All @@ -229,7 +231,7 @@ const FeaturesSection = () => {
<div className="text-center mb-4 sm:mb-6">
<div className="inline-flex items-center space-x-2 mb-2 sm:mb-3">
<div className={`w-2 h-2 rounded-full bg-gradient-to-r ${features[currentIndex].gradient}`}></div>
<span className="text-xs sm:text-sm font-semibold text-gray-400 uppercase tracking-wider">
<span className="text-xs sm:text-sm font-semibold text-gray-300 uppercase tracking-wider">
{features[currentIndex].category}
</span>
</div>
Expand Down Expand Up @@ -260,9 +262,9 @@ const FeaturesSection = () => {
</div>

{/* Action Button */}
<button className={`inline-flex items-center space-x-3 bg-gradient-to-r ${features[currentIndex].gradient} hover:shadow-xl text-white px-4 sm:px-6 py-2.5 sm:py-3 rounded-2xl font-semibold transition-all duration-300 hover:scale-105 group text-sm sm:text-base`}>
<button className={`inline-flex items-center space-x-3 bg-gradient-to-r ${features[currentIndex].gradient} hover:shadow-xl text-white px-4 sm:px-6 py-2.5 sm:py-3 rounded-2xl font-semibold transition-all duration-300 hover:scale-105 group text-sm sm:text-base focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900`}>
<span>Explore Feature</span>
<FiZap className="group-hover:scale-110 transition-transform duration-300" size={16} />
<FiZap className="group-hover:scale-110 transition-transform duration-300" size={16} aria-hidden="true" />
</button>
</div>

Expand All @@ -276,9 +278,10 @@ const FeaturesSection = () => {
{/* Side Card */}
<div className="hidden lg:block">
{features[(currentIndex + 1) % features.length] && (
<div
className="w-64 h-80 bg-gray-800/30 backdrop-blur-xl border border-gray-700/40 rounded-2xl p-6 cursor-pointer hover:scale-105 transition-all duration-500 opacity-60 hover:opacity-80"
<button
className="w-64 h-80 bg-gray-800/30 backdrop-blur-xl border border-gray-700/40 rounded-2xl p-6 cursor-pointer hover:scale-105 transition-all duration-500 opacity-60 hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900"
onClick={nextSlide}
aria-label={`View ${features[(currentIndex + 1) % features.length].title} feature`}
>
<div className={`w-12 h-12 rounded-xl bg-gradient-to-br ${features[(currentIndex + 1) % features.length].gradient} flex items-center justify-center mb-4`}>
<div className="text-white scale-75">
Expand All @@ -288,16 +291,17 @@ const FeaturesSection = () => {
<h4 className="text-lg font-bold text-white mb-2">
{features[(currentIndex + 1) % features.length].title}
</h4>
<p className="text-sm text-gray-400 line-clamp-3">
<p className="text-sm text-gray-300 line-clamp-3">
{features[(currentIndex + 1) % features.length].description}
</p>
</div>
</button>
)}
</div>

<button
onClick={nextSlide}
className="flex items-center justify-center w-16 h-16 bg-gray-800/70 hover:bg-gray-700/70 border border-gray-600/50 rounded-2xl transition-all duration-300 group hover:scale-110 shadow-xl backdrop-blur-xl z-30"
className="flex items-center justify-center w-16 h-16 bg-gray-800/70 hover:bg-gray-700/70 border border-gray-600/50 rounded-2xl transition-all duration-300 group hover:scale-110 shadow-xl backdrop-blur-xl z-30 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900"
aria-label="Next feature"
>
<FiChevronRight className="text-gray-300 group-hover:text-white transition-colors" size={24} />
</button>
Expand All @@ -317,10 +321,11 @@ const FeaturesSection = () => {
<button
key={index}
onClick={() => goToSlide(index)}
className={`w-3 h-3 rounded-full transition-all duration-300 ${index === currentIndex
className={`w-3 h-3 rounded-full transition-all duration-300 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-gray-900 ${index === currentIndex
? `bg-gradient-to-r ${features[currentIndex].gradient} scale-125`
: 'bg-gray-600 hover:bg-gray-500'
}`}
aria-label={`Go to ${features[index].title} feature`}
/>
))}
</div>
Expand All @@ -345,6 +350,7 @@ const FeaturesSection = () => {
target="_blank"
rel="noopener noreferrer"
className="inline-block hover:scale-105 transition-transform duration-300 group"
aria-label="View BrowsePing on Product Hunt"
>
<Image
src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1030190&theme=dark&t=1761421790748"
Expand Down
Loading
Loading