Skip to content
Open
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
4 changes: 4 additions & 0 deletions src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import "./App.css";
import ContactUs from "./components/ContactUs";
import FAQ from "./components/FAQ";
import PageNotFound from "./components/PageNotFound";
import About from "./components/About";

const App = () => {

Expand Down Expand Up @@ -156,6 +157,9 @@ const App = () => {
<Route path="/contactus" element={<ContactUs />} />
<Route path="/faq" element={<FAQ />} />

{/* About Section */}
<Route path="/about" element={<About />} />

{/* Page Not Found */}
<Route path="*" element={<PageNotFound />} />

Expand Down
192 changes: 192 additions & 0 deletions src/components/About.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
/* Animated gradient underline for headings */
.about-title-underline {
display: inline-block;
position: relative;
}
.about-title-underline::after {
content: '';
display: block;
position: absolute;
left: 0;
bottom: -6px;
width: 100%;
height: 4px;
border-radius: 2px;
background: linear-gradient(90deg, #38bdf8 0%, #f472b6 100%);
opacity: 0.85;
animation: underline-move 2.5s linear infinite alternate;
}

@keyframes underline-move {
0% {
background-position: 0% 50%;
}
100% {
background-position: 100% 50%;
}
}

/* Fade-in animation for About section */
.fade-in {
opacity: 0;
animation: fadeInAbout 1.1s ease-in forwards;
}
@keyframes fadeInAbout {
from { opacity: 0; transform: translateY(32px); }
to { opacity: 1; transform: none; }
}

.about-section {
max-width: 900px;
margin: 48px auto;
padding: 44px 28px 36px 28px;
background: rgba(24, 28, 46, 0.85);
border-radius: 22px;
box-shadow: 0 8px 40px 0 rgba(36, 40, 80, 0.22), 0 2px 12px 0 rgba(80, 200, 255, 0.10);
font-family: 'Segoe UI', Arial, sans-serif;
color: #eaf0fa;
position: relative;
overflow: hidden;
border: 1.5px solid rgba(61, 90, 180, 0.18);
backdrop-filter: blur(12px);
transition: box-shadow 0.3s, border 0.3s;
}
.about-section:hover {
box-shadow: 0 12px 48px 0 rgba(36, 40, 80, 0.28), 0 4px 18px 0 rgba(80, 200, 255, 0.16);
border: 1.5px solid #38bdf8;
}
.about-intro {
font-size: 1.18rem;
color: #e0e7ef;
margin-bottom: 22px;
z-index: 1;
position: relative;
line-height: 1.75;
text-align: justify;
}

/* Features grid and cards */
.about-features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 22px 18px;
margin: 32px 0 18px 0;
z-index: 1;
position: relative;
}
.about-feature-card {
background: rgba(36, 40, 80, 0.38);
border-radius: 14px;
padding: 18px 18px 18px 54px;
color: #e0e7ef;
font-size: 1.08rem;
font-weight: 500;
box-shadow: 0 2px 12px 0 rgba(56, 189, 248, 0.08);
position: relative;
transition: background 0.3s, transform 0.18s, box-shadow 0.3s;
cursor: pointer;
border: 1.5px solid rgba(56, 189, 248, 0.10);
overflow: hidden;
}
.about-feature-card:hover {
background: linear-gradient(90deg, #38bdf8 0%, #818cf8 100%);
color: #fff;
transform: translateY(-4px) scale(1.03);
box-shadow: 0 6px 24px 0 rgba(56, 189, 248, 0.18);
border: 1.5px solid #818cf8;
}
.about-feature-icon {
position: absolute;
left: 18px;
top: 50%;
transform: translateY(-50%) scale(1.18);
font-size: 1.5rem;
filter: drop-shadow(0 2px 8px #38bdf8aa);
transition: transform 0.3s;
}
.about-feature-card:hover .about-feature-icon {
transform: translateY(-50%) scale(1.28) rotate(-8deg);
}
.about-section::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 180px;
height: 180px;
background: radial-gradient(circle, #3b82f6 0%, #232946 80%);
opacity: 0.18;
z-index: 0;
}
.about-section h1 {
font-size: 2.7rem;
margin-bottom: 18px;
color: #60a5fa;
letter-spacing: 1px;
font-weight: 700;
z-index: 1;
position: relative;
text-shadow: 0 2px 12px rgba(80,200,255,0.12);
}
.about-section h2 {
font-size: 1.45rem;
margin-top: 32px;
color: #38bdf8;
font-weight: 600;
z-index: 1;
position: relative;
letter-spacing: 0.5px;
}
.about-section p {
font-size: 1.13rem;
color: #e0e7ef;
margin-bottom: 18px;
z-index: 1;
position: relative;
line-height: 1.7;
}
.about-section ul {
margin-left: 28px;
color: #e0e7ef;
z-index: 1;
position: relative;
padding-left: 0;
}
.about-section li {
margin-bottom: 12px;
font-size: 1.08rem;
background: linear-gradient(90deg, #38bdf8 0%, #818cf8 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
font-weight: 500;
transition: background 0.3s, transform 0.2s;
cursor: pointer;
border-radius: 6px;
padding-left: 0.2em;
}
.about-section li:hover {
background: linear-gradient(90deg, #f472b6 0%, #38bdf8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-fill-color: transparent;
transform: translateX(6px) scale(1.04);
}

@media (max-width: 900px) {
.about-section {
padding: 18px 4vw 18px 4vw;
max-width: 99vw;
}
.about-features-grid {
grid-template-columns: 1fr;
gap: 16px;
}
.about-section h1 {
font-size: 2rem;
}
.about-section h2 {
font-size: 1.1rem;
}
}
28 changes: 28 additions & 0 deletions src/components/About.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from "react";
import "./About.css";

const About = () => {
return (
<div className="about-section fade-in">
<h1 className="about-title-underline">About CryptoHub</h1>
<p className="about-intro">
CryptoHub is a comprehensive platform designed to provide users with real-time cryptocurrency market data, insightful analytics, and educational resources. Our mission is to empower both beginners and experienced traders with the tools and information they need to make informed decisions in the fast-paced world of digital assets.
</p>
<h2 className="about-title-underline">Key Features</h2>
<div className="about-features-grid">
<div className="about-feature-card"><span className="about-feature-icon">💹</span>Live cryptocurrency prices and market overviews</div>
<div className="about-feature-card"><span className="about-feature-icon">📈</span>Interactive charts and analytics</div>
<div className="about-feature-card"><span className="about-feature-icon">📰</span>Latest news and updates from the crypto world</div>
<div className="about-feature-card"><span className="about-feature-icon">📚</span>Educational blogs and resources</div>
<div className="about-feature-card"><span className="about-feature-icon">🏆</span>Leaderboard and activity tracking for community engagement</div>
<div className="about-feature-card"><span className="about-feature-icon">🔒</span>Secure authentication and user management</div>
</div>
<h2 className="about-title-underline">Our Vision</h2>
<p className="about-intro">
We aim to foster a transparent and accessible crypto ecosystem by delivering accurate data, insightful content, and a supportive community. Whether you are new to cryptocurrencies or a seasoned investor, CryptoHub is your go-to destination for all things crypto.
</p>
</div>
);
};

export default About;
Loading