Skip to content

Commit 8219814

Browse files
author
Ajit Kumar
committed
fix(click handler, ui)
1 parent 2f00750 commit 8219814

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

src/pages/sponsor/style.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
margin-bottom: 15px;
6060
background-color: var(--popup-background-color);
6161
color: var(--popup-text-color);
62-
border: 1px solid var(--popup-border-color);
62+
border: 1px solid var(--border-color);
6363
transition: all 0.3s ease;
6464
animation: fadeInUp 0.8s ease-out calc(0.6s + var(--delay, 0s)) both;
6565
box-sizing: border-box;

src/pages/sponsors/sponsors.js

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export default function Sponsors() {
4040
</div>
4141
<div className="sponsors-container">
4242
<h2>Acode's Sponsors</h2>
43-
<div className="sponsors-list">
43+
<div className="sponsors-list" onclick={handleLinkClick}>
4444
<div className="tier">
4545
<div className="tier-name">
4646
<span className="tier-icon titanium"></span>Titanium
@@ -159,21 +159,33 @@ function SponsorCard({ name, image, website, tier, tagline }) {
159159
return (
160160
<div
161161
attr-role="button"
162+
data-website={website}
162163
className={`sponsor-card ${tier}`}
163-
onclick={() => {
164-
if (!website) return;
165-
if (!website.startsWith("http")) {
166-
website = "http://" + website;
167-
}
168-
system.openInBrowser(website);
169-
}}
170164
>
171-
<div className="sponsor-avatar">
172-
<img src={`https://acode.app/sponsor/image/${image}`} />
173-
</div>
165+
{image && (
166+
<div className="sponsor-avatar">
167+
<img src={`https://acode.app/sponsor/image/${image}`} />
168+
</div>
169+
)}
174170
<div className="sponsor-name">{name}</div>
175-
<div className="sponsor-tagline">{tagline}</div>
171+
{tagline && <div className="sponsor-tagline">{tagline}</div>}
176172
{website && <small className="sponsor-website">{website}</small>}
177173
</div>
178174
);
179175
}
176+
177+
/**
178+
* Handle link click
179+
* @param {MouseEvent} e
180+
* @returns
181+
*/
182+
function handleLinkClick(e) {
183+
const target = e.target.closest(".sponsor-card");
184+
if (!target) return;
185+
const { website } = target.dataset;
186+
if (!website) return;
187+
if (!website.startsWith("http")) {
188+
website = "http://" + website;
189+
}
190+
system.openInBrowser(website);
191+
}

src/pages/sponsors/style.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
padding: 15px;
107107
text-align: center;
108108
backdrop-filter: blur(10px);
109-
border: 1px solid var(--popup-border-color);
109+
border: 1px solid var(--border-color);
110110
transition: all 0.3s ease;
111111

112112
.sponsor-avatar {

0 commit comments

Comments
 (0)