Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
33c50be
feat: start new navbar
anqilique May 20, 2026
def0634
feat: create What We Do section + navbar update on page load
anqilique May 21, 2026
9649687
style: polish What We Do section
anqilique May 23, 2026
29dcc36
style: accurate nav bar + user pfp styling
anqilique May 23, 2026
7cba31c
style: make moving tab pill smoother
anqilique May 23, 2026
c78aea1
fix: remove unused code
anqilique May 23, 2026
b668bb2
style: fix styling of navbar join button
anqilique May 23, 2026
0bfc374
feat: create hero section
anqilique May 23, 2026
c64ce77
reserve spacing for events section, add mascot silhouette
anqilique May 24, 2026
5ccd4c6
style: larger navbar text
anqilique May 24, 2026
bab7f28
feat: create sponsors layout + minor style tweaks
anqilique May 24, 2026
81772c8
feat: add sponsor ImageBlock components + style edits
anqilique May 24, 2026
e74601b
feat: create (inaccurate but functional) events carousel
anqilique May 24, 2026
a49c3a4
style: hide footer content until it is completed
anqilique May 24, 2026
4dca868
style: adjust spacing around carousel elements
anqilique May 24, 2026
afd71cc
style: disable editing mascot silhouette for now
anqilique May 24, 2026
55694ae
fix: make button actually go to sponsors page
anqilique May 24, 2026
75c251a
chore: remove unused logo file
anqilique May 24, 2026
c528c23
feat(about-frontend): exec cards now sorted by role, probably needs a…
willjinjin May 24, 2026
f759a90
feat(about-frontend): exec cards are separated by role, role is a header
willjinjin May 25, 2026
0123929
feat(about-frontend): added attribute rolegroup to specify group that…
willjinjin May 25, 2026
d7a0a18
chore(faq-frontend): exec cards display in order of time added instea…
willjinjin May 25, 2026
ad96775
feat(about-frontend): updated exec cards to follow figma styling
willjinjin May 25, 2026
3b46b88
chore(about-frontend): changed margins and spacing to follow figma
willjinjin May 25, 2026
2117163
feat(about-frontend): added kac logo to title
willjinjin May 25, 2026
51ee1c0
chore(about-frontend): updated new exec button to look better
willjinjin May 25, 2026
ad18c08
feat(about-frontend): added hover effect on exec cards
willjinjin May 25, 2026
c945feb
feat(about-frontend): implemented preview for exec cards when clicked…
willjinjin May 25, 2026
1698fe6
chore(about-frontend): fixed alignment of text in preview
willjinjin May 25, 2026
0ace41c
Merge branch 'main' into feat/homepage-design
anqilique May 25, 2026
c24535f
fix: adjust to removal of role prop from ImageBlock
anqilique May 25, 2026
6b2d779
fix: remove use of role prop from header
anqilique May 25, 2026
b6e2b3f
feat: use auth on homepage to hide join button if logged in
anqilique May 25, 2026
dbd8fe3
style: swap navbar spring with tween transition
anqilique May 26, 2026
491f2c6
style: create more accurate events section
anqilique May 26, 2026
836a0ce
Merge branch 'main' into feat/homepage-design
anqilique May 26, 2026
3c8b9c0
Revert "Merge branch 'main' into feat/homepage-design"
anqilique May 26, 2026
a7d9b3c
fix(about-frontend): fixed image box stretching in preview container …
willjinjin May 27, 2026
42fabf2
chore(about-frontend): made image in preview a square
willjinjin May 27, 2026
e30bab2
feat(about-frontend): added a scroll bar for descriptions in preview.
willjinjin May 27, 2026
ec1bafa
Merge branch 'feat/about-frontend' into milestone1
RLee64 Jun 1, 2026
705e07e
chore: update client gitignore
anqilique Jun 1, 2026
537a36b
Merge branch 'feat/homepage-design' into milestone1
RLee64 Jun 1, 2026
e44aadf
remove admin guard on exec fetch
RLee64 Jun 1, 2026
4646e94
remove unnecessary dns resolution
RLee64 Jun 1, 2026
595c9bf
remove redundant normalisation
RLee64 Jun 1, 2026
5b42951
Merge branch 'feat/homepage-design' into Milestone1
RLee64 Jun 1, 2026
fda828b
ran prettier
RLee64 Jun 1, 2026
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
137 changes: 84 additions & 53 deletions client/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
"preview": "vite preview"
},
"dependencies": {
"@stripe/react-stripe-js": "^6.3.0",
"@stripe/stripe-js": "^9.5.0",
"@tailwindcss/vite": "^4.3.0",
"framer-motion": "^12.39.0",
"axios": "^1.16.0",
"lucide-react": "^1.11.0",
"motion": "^12.39.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-hot-toast": "^2.6.0",
Expand Down
95 changes: 42 additions & 53 deletions client/src/components/ExecCard.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import "../style/common.css";
import "../style/image_block/ImageBlock.css";
import { Pencil, Trash2 } from "lucide-react";
import api from "../api";

Expand All @@ -25,72 +26,60 @@ interface ExecProps {
interface ExecCardProps {
role: "admin" | "user";
onDelete: () => void;
onOpen: () => void;
}

const ExecCard: React.FC<ExecProps & ExecCardProps> = ({
role,
onDelete,
onOpen,
id,
imageURL,
displayName,
execRole,
description,
fullName,
ethnicity,
degree,
mbti,
fact,
sponsor,
greenFlag,
redFlag,
emojis,
}) => {
return (
<div className="executive-card">
<div className="image-block">
<img src={EXEC_IMG || imageURL} alt={displayName} />
{role === "admin" && (
<button
className="image-block__edit-btn"
onClick={async () => {
// Implementation for edit functionality
}}
title="Edit Executive"
>
<Pencil size={17} />
</button>
)}
<button
type="button"
className="executive-card__click-target"
onClick={onOpen}
aria-label={`Open ${displayName} preview`}
/>

{role === "admin" && (
<button
className="image-block__delete-btn"
onClick={async () => {
await api.delete(`/executives/${id}`);
onDelete();
}}
title="Delete Executive"
>
<Trash2 size={17} />
</button>
)}
</div>
<h2>{displayName}</h2>
<div className="card-body">
<p>
Meet our {execRole}, {displayName}!
</p>
<p className="exec-desc">{description}</p>
<ul>
<li>Full Name: {fullName}</li>
{ethnicity !== "" && <li>Ethnicity: {ethnicity}</li>}
{degree !== "" && <li>Degree: {degree}</li>}
<li>MBTI: {mbti}</li>
<li>Fun Fact: {fact}</li>
<li>Favourite KAC Sponsor: {sponsor}</li>
<li>Green Flag ✅: {greenFlag}</li>
<li>Red Flag 🚩: {redFlag}</li>
{emojis !== "" && <li>Fav Emojis: {emojis}</li>}
</ul>
<div className="executive-card__top">
<div className="executive-card__media image-block">
<img src={imageURL || EXEC_IMG} alt={displayName} />
{role === "admin" && (
<button
className="image-block__edit-btn"
onClick={async () => {
// Implementation for edit functionality
}}
title="Edit Executive"
>
<Pencil size={17} />
</button>
)}

{role === "admin" && (
<button
className="image-block__delete-btn"
onClick={async () => {
await api.delete(`/executives/${id}`);
onDelete();
}}
title="Delete Executive"
>
<Trash2 size={17} />
</button>
)}
</div>

<div className="executive-card__identity">
<p className="executive-card__role">{execRole}</p>
<h2 className="executive-card__name">{displayName}</h2>
</div>
</div>
</div>
);
Expand Down
Loading
Loading