diff --git a/apps/web/components/landing-page.test.tsx b/apps/web/components/landing-page.test.tsx
index 95d05bd..f6add8a 100644
--- a/apps/web/components/landing-page.test.tsx
+++ b/apps/web/components/landing-page.test.tsx
@@ -213,6 +213,45 @@ describe('LandingPage', () => {
expect(toolfioDarkBadgeImage?.className).toContain('hidden');
expect(toolfioDarkBadgeImage?.className).toContain('dark:block');
+ const earlyHuntBadgeLink = screen.getByRole('link', {
+ name: /Featured on EarlyHunt/i
+ });
+ expect(earlyHuntBadgeLink).toHaveProperty(
+ 'href',
+ 'https://earlyhunt.com/project/xpenser'
+ );
+ expect(earlyHuntBadgeLink.getAttribute('target')).toBe('_blank');
+ expect(earlyHuntBadgeLink.getAttribute('rel')).toBe(
+ 'noopener noreferrer'
+ );
+
+ const earlyHuntBadgeImages = screen.getAllByAltText(
+ 'Featured on EarlyHunt'
+ );
+ expect(earlyHuntBadgeImages).toHaveLength(2);
+
+ const earlyHuntLightBadgeImage = earlyHuntBadgeImages.find(
+ image =>
+ image.getAttribute('src') ===
+ 'https://earlyhunt.com/badges/earlyhunt-badge-light.svg'
+ );
+ expect(earlyHuntLightBadgeImage).toBeTruthy();
+ expect(earlyHuntLightBadgeImage?.getAttribute('width')).toBe('265');
+ expect(earlyHuntLightBadgeImage?.getAttribute('height')).toBe('58');
+ expect(earlyHuntLightBadgeImage?.className).toContain('block');
+ expect(earlyHuntLightBadgeImage?.className).toContain('dark:hidden');
+
+ const earlyHuntDarkBadgeImage = earlyHuntBadgeImages.find(
+ image =>
+ image.getAttribute('src') ===
+ 'https://earlyhunt.com/badges/earlyhunt-badge-dark.svg'
+ );
+ expect(earlyHuntDarkBadgeImage).toBeTruthy();
+ expect(earlyHuntDarkBadgeImage?.getAttribute('width')).toBe('265');
+ expect(earlyHuntDarkBadgeImage?.getAttribute('height')).toBe('58');
+ expect(earlyHuntDarkBadgeImage?.className).toContain('hidden');
+ expect(earlyHuntDarkBadgeImage?.className).toContain('dark:block');
+
const openHuntsBadgeLink = screen.getByRole('link', {
name: /OpenHunts Club Member/i
});
diff --git a/apps/web/components/landing-page.tsx b/apps/web/components/landing-page.tsx
index 48b9730..f38c0d6 100644
--- a/apps/web/components/landing-page.tsx
+++ b/apps/web/components/landing-page.tsx
@@ -204,6 +204,15 @@ const toolfioBadge = {
width: 200
} as const;
+const earlyHuntBadge = {
+ alt: 'Featured on EarlyHunt',
+ darkSrc: 'https://earlyhunt.com/badges/earlyhunt-badge-dark.svg',
+ height: 58,
+ href: 'https://earlyhunt.com/project/xpenser',
+ lightSrc: 'https://earlyhunt.com/badges/earlyhunt-badge-light.svg',
+ width: 265
+} as const;
+
const openHuntsBadge = {
alt: 'OpenHunts Club Member',
height: 105,
@@ -646,6 +655,35 @@ function ToolfioBadge() {
);
}
+function EarlyHuntBadge() {
+ return (
+
+ {/* biome-ignore lint/performance/noImgElement: EarlyHunt provides this hosted badge snippet, and next/image would need remote config for a tiny footer badge. */}
+
+ {/* biome-ignore lint/performance/noImgElement: EarlyHunt provides this hosted badge snippet, and next/image would need remote config for a tiny footer badge. */}
+
+
+ );
+}
+
function OpenHuntsBadge() {
return (
+
);