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
Binary file removed public/Ellipse240.png
Binary file not shown.
Binary file removed public/Ellipse241.png
Binary file not shown.
Binary file removed public/Ellipse242.png
Binary file not shown.
Binary file removed public/Ellipse243.png
Binary file not shown.
Binary file removed public/PhamGiaTue.jpg
Binary file not shown.
49 changes: 48 additions & 1 deletion src/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -323,22 +323,69 @@ a:hover {
}

/* Responsive */

@media (max-width: 1024px) {
html { font-size: 15px; }

h1 { font-size: 3rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.75rem; }

/* Prevent team member circle from exceeding width */
.member-card,
.team-member {
width: 100% !important;
}

.member-image {
max-width: 160px;
height: auto;
}
}

@media (max-width: 768px) {
html { font-size: 14px; }

.section { padding: 4rem 0; }
.section-title { font-size: 2rem; }

/* Stack items vertically */
.team-row {
flex-direction: column !important;
align-items: center !important;
gap: 2rem;
}

.member-image {
max-width: 150px;
height: auto;
}
}

@media (max-width: 480px) {
h1 { font-size: 2.25rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }

.btn { padding: 0.6rem 1.25rem; }
}

/* Center everything cleanly on mobile */
.team-row {
flex-direction: column !important;
gap: 1.5rem;
}

.member-image {
max-width: 130px;
height: auto;
}

/* Prevent image circles from pushing layout */
.member-card {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
overflow: hidden;
}
}
90 changes: 60 additions & 30 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ function App() {
fontFamily: 'Fjalla One, sans-serif',
fontWeight: 'bold'
}}>
About
About
</h2>
<span style={{
color: '#fff',
Expand All @@ -574,7 +574,7 @@ function App() {
fontWeight: 'bold',
marginLeft: '1rem'
}}>
our team
our team
</span>
</div>

Expand Down Expand Up @@ -604,7 +604,7 @@ function App() {
alt={`Team member ${item}`}
style={{
width: '100%',
height: 'auto',
height: '150px',
display: 'block',
transition: 'transform 0.5s ease'
}}
Expand Down Expand Up @@ -648,42 +648,72 @@ function App() {

{Object.entries(membersData).map(([role, members]) => (
<div key={role} style={{ marginBottom: '4rem' }}>
<h2 style={{
textAlign: 'center',
color: '#fff',
marginBottom: '2rem',
fontSize: '2rem',
fontWeight: '600'
}}>
<h2
style={{
textAlign: 'center',
color: '#fff',
marginBottom: '2rem',
fontSize: '2rem',
fontWeight: '600',
}}
>
{role}
</h2>
<div style={{
display: 'grid',
gridTemplateColumns: 'repeat(auto-fit, minmax(250px, 1fr))',
gap: '2rem',
justifyContent: 'center'
}}>

<div
style={{
display: 'flex',
flexDirection: 'row',
flexWrap: 'wrap', // ← fix slider
justifyContent: 'center',
alignItems: 'center',
gap: '2rem',
overflow: 'hidden', // ← remove horizontal scroll
paddingBottom: '1rem',
width: '100%',
}}
>
{members.map((member, index) => (
<div key={member.name} style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
margin: '1rem'
}}>
<img
src={`${process.env.PUBLIC_URL}/${member.img}`}
alt={member.name}
<div
key={member.name}
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
}}
>
<div
style={{
width: '200px',
height: '200px',
borderRadius: '50%',
objectFit: 'cover',
overflow: 'hidden',
border: `3px solid ${index % 2 === 0 ? '#7c4dff' : '#b388ff'}`,
marginBottom: '1rem'
marginBottom: '0.5rem',
}}
>
<img
src={`${process.env.PUBLIC_URL}/${member.img}`}
alt={member.name}
loading="lazy"
style={{
width: '100%',
height: '100%',
objectFit: 'cover',
}}
/>
</div>

<p
style={{
color: '#fff',
fontSize: '1.1rem',
margin: '0.5rem 0',
textAlign: 'center',
}}
loading="lazy"
/>
<p style={{ color: '#fff', fontSize: '1.1rem', margin: '0.5rem 0' }}>{member.name}</p>
>
{member.name}
</p>
</div>
))}
</div>
Expand Down
61 changes: 51 additions & 10 deletions src/components/InfoCards/InfoCards.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,80 @@ import { FaBookOpen, FaCalendarAlt, FaBox } from 'react-icons/fa';
const InfoCards = () => {
return (
<div className="info-cards-container">

{/* Resource Hub */}
<FadeInOnScroll direction="right" delay={100}>
<div className="info-card">
<div className="card-icon">
<FaBox className="icon" />
</div>

<h3 className="card-title">UIT Resource Hub</h3>
<p className="card-description">Nền tảng tổng hợp, chia sẻ và cập nhật liên tục các ưu đãi phần mềm bản quyền, công cụ học tập, tài liệu học thuật và kỹ thuật dành riêng cho sinh viên UIT.</p>
<div className="card-badge">Available Now</div>
<p className="card-description">
Nền tảng tổng hợp, chia sẻ và cập nhật liên tục các ưu đãi phần mềm bản quyền,
công cụ học tập, tài liệu học thuật và kỹ thuật dành riêng cho sinh viên UIT.
</p>

<a
className="card-badge"
href="https://svuit.org/hub/"
target="_blank"
rel="noopener noreferrer"
>
Available Now
</a>
</div>
</FadeInOnScroll>


{/* MMTT */}
<FadeInOnScroll direction="left" delay={200}>
<div className="info-card" style={{marginLeft: '0.2rem'}}>
<div className="info-card" style={{ marginLeft: '0.2rem' }}>
<div className="card-icon">
<FaBookOpen className="icon" />
</div>

<h3 className="card-title">SVUIT - MMTT</h3>
<p className="card-description">Một kho tài liệu học tập đa dạng và phong phú, cung cấp cho sinh viên UIT một nguồn tài nguyên từ các môn đại cương đến các môn cơ sở ngành và chuyên ngành.</p>
<div className="card-badge">Available Now</div>
<p className="card-description">
Một kho tài liệu học tập đa dạng và phong phú, cung cấp cho sinh viên UIT một
nguồn tài nguyên từ các môn đại cương đến các môn cơ sở ngành và chuyên ngành.
</p>

<a
className="card-badge"
href="https://svuit.org/"
target="_blank"
rel="noopener noreferrer"
>
Available Now
</a>
</div>
</FadeInOnScroll>

{/* Awesome Projects */}
<FadeInOnScroll direction="right" delay={300}>
<div className="info-card">
<div className="card-icon">
<FaCalendarAlt className="icon" />
</div>
<h3 className="card-title">Awesome Projects</h3>
<p className="card-description">Nơi sinh viên có thể tìm thấy các đề án, đồ án môn học, công cụ hỗ trợ, và tài liệu học tập hữu ích thuộc từng lĩnh vực Công nghệ thông tin.</p>
<br />
<div className="card-badge">Available Now</div>

<h3 className="card-title">Awesome Projects</h3>
<p className="card-description">
Nơi sinh viên có thể tìm thấy các đề án, đồ án môn học, công cụ hỗ trợ,
và tài liệu học tập hữu ích thuộc từng lĩnh vực Công nghệ thông tin.
</p>
<br/>

<a
className="card-badge"
href="https://svuit.org/awesome-UIT-projects/"
target="_blank"
rel="noopener noreferrer"
>
Available Now
</a>
</div>
</FadeInOnScroll>

</div>
);
};
Expand Down