Skip to content

Commit 6a65163

Browse files
Remove coming soon banners from mock website (#247)
1 parent 85da1c7 commit 6a65163

3 files changed

Lines changed: 27 additions & 65 deletions

File tree

website/src/components/DeviceCarousel.tsx

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { useCallback } from "react";
44
import raiImg from "@/app/assets/rai.png";
55
import haloImg from "@/app/assets/halo.png";
66
import radeonImg from "@/app/assets/radeon.png";
7-
import { COMING_SOON_CATEGORIES } from "@/types/playbook";
87

98
const families = [
109
{ id: "reference", name: "AMD Ryzen\u2122 AI Halo", img: haloImg },
@@ -41,34 +40,24 @@ export default function DeviceCarousel({
4140
{/* Device Family Tabs */}
4241
<div className="flex justify-center mb-8">
4342
<div className="inline-flex items-center bg-[#1a1a1a] border border-[#333333] rounded-xl p-1.5 gap-1">
44-
{families.map((family) => {
45-
const comingSoon = COMING_SOON_CATEGORIES.has(family.id);
46-
return (
47-
<button
48-
key={family.id}
49-
onClick={() => selectFamily(family.id)}
50-
className={`relative px-5 py-2.5 rounded-lg text-sm font-medium transition-all duration-300 flex flex-col items-center gap-0.5 ${
51-
activeId === family.id
52-
? "text-black shadow-lg"
53-
: "text-[#a0a0a0] hover:text-white hover:bg-[#242424]"
54-
}`}
55-
style={
56-
activeId === family.id
57-
? { backgroundColor: ACCENT }
58-
: undefined
59-
}
60-
>
61-
{family.name}
62-
{comingSoon && (
63-
<span className={`text-[9px] font-medium leading-none tracking-wide ${
64-
activeId === family.id ? "text-black/60" : "text-[#D4915D]/70"
65-
}`}>
66-
Coming Soon
67-
</span>
68-
)}
69-
</button>
70-
);
71-
})}
43+
{families.map((family) => (
44+
<button
45+
key={family.id}
46+
onClick={() => selectFamily(family.id)}
47+
className={`relative px-5 py-2.5 rounded-lg text-sm font-medium transition-all duration-300 flex flex-col items-center gap-0.5 ${
48+
activeId === family.id
49+
? "text-black shadow-lg"
50+
: "text-[#a0a0a0] hover:text-white hover:bg-[#242424]"
51+
}`}
52+
style={
53+
activeId === family.id
54+
? { backgroundColor: ACCENT }
55+
: undefined
56+
}
57+
>
58+
{family.name}
59+
</button>
60+
))}
7261
<button
7362
onClick={() => selectFamily(ALL_ID)}
7463
className={`relative px-5 py-2.5 rounded-lg text-sm font-medium transition-all duration-300 ${

website/src/components/PlaybooksSection.tsx

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { useState, useEffect, useMemo, useRef, type ReactNode } from "react";
44
import Link from "next/link";
55
import type { Playbook, Platform, Device, DeviceCategory } from "@/types/playbook";
6-
import { formatTime, platformNames, extractPlatforms, DEVICE_CATEGORY_MAP, deviceNames, COMING_SOON_CATEGORIES, COMING_SOON_DEVICES } from "@/types/playbook";
6+
import { formatTime, platformNames, extractPlatforms, DEVICE_CATEGORY_MAP, deviceNames } from "@/types/playbook";
77

88
function PlatformBadge({ platform }: { platform: Platform }) {
99
const icons: Record<Platform, ReactNode> = {
@@ -103,7 +103,6 @@ export default function PlaybooksSection({ activeDevice, selectedDevice, onSelec
103103
const displayedPlaybooks = (showAll || isSearching) ? regularPlaybooks : regularPlaybooks.slice(0, 6);
104104

105105
const isHaloSelected = activeDevice === "reference";
106-
const isComingSoon = (!!activeDevice && COMING_SOON_CATEGORIES.has(activeDevice)) || (!!selectedDevice && COMING_SOON_DEVICES.has(selectedDevice));
107106
const playbookHref = (id: string) => {
108107
const params = new URLSearchParams();
109108
if (activeDevice && activeDevice !== "all") params.set("category", activeDevice);
@@ -159,13 +158,6 @@ export default function PlaybooksSection({ activeDevice, selectedDevice, onSelec
159158
}`}
160159
>
161160
{catInfo?.deviceDisplayNames?.[d] ?? deviceNames[d]}
162-
{COMING_SOON_DEVICES.has(d) && (
163-
<span className={`text-[9px] font-medium tracking-wide ${
164-
selectedDevice === d ? "text-black/50" : "text-[#D4915D]/70"
165-
}`}>
166-
Soon
167-
</span>
168-
)}
169161
</button>
170162
))}
171163
<span className="text-[#333] text-xs select-none">|</span>
@@ -250,17 +242,10 @@ export default function PlaybooksSection({ activeDevice, selectedDevice, onSelec
250242
<>
251243
{/* Featured Playbook - Hero Style */}
252244
{featuredPlaybook && (
253-
<Link href={isComingSoon ? "#" : playbookHref(featuredPlaybook.id)} className="block mb-6" onClick={isComingSoon ? (e) => e.preventDefault() : undefined}>
245+
<Link href={playbookHref(featuredPlaybook.id)} className="block mb-6">
254246
<div className="group relative bg-gradient-to-r from-[#1e1e1e] to-[#242424] border border-[#D4915D]/30 rounded-xl overflow-hidden hover:border-[#D4915D]/60 transition-all duration-300">
255247
<div className="absolute inset-0 bg-gradient-to-r from-[#D4915D]/5 to-transparent" />
256248
<div className="absolute top-0 right-0 w-48 h-48 bg-[#D4915D]/5 rounded-full blur-3xl transform translate-x-1/2 -translate-y-1/2" />
257-
{isComingSoon && (
258-
<div className="absolute inset-0 z-10 bg-black/60 backdrop-blur-[2px] flex items-center justify-center rounded-xl">
259-
<span className="px-4 py-1.5 text-sm font-semibold text-[#D4915D] border border-[#D4915D]/40 rounded-full bg-[#D4915D]/10 tracking-wide">
260-
Coming Soon
261-
</span>
262-
</div>
263-
)}
264249

265250
<div className="relative p-5 md:p-6 flex flex-col md:flex-row items-start md:items-center gap-4">
266251
<div className="flex-1">
@@ -328,15 +313,8 @@ export default function PlaybooksSection({ activeDevice, selectedDevice, onSelec
328313
{/* Playbook Grid */}
329314
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 mb-6">
330315
{displayedPlaybooks.map((playbook) => (
331-
<Link key={playbook.id} href={isComingSoon ? "#" : playbookHref(playbook.id)} className="block group" onClick={isComingSoon ? (e) => e.preventDefault() : undefined}>
316+
<Link key={playbook.id} href={playbookHref(playbook.id)} className="block group">
332317
<div className="relative h-full bg-[#1e1e1e] border border-[#333333] rounded-lg p-4 hover:border-[#D4915D]/50 hover:bg-[#242424] transition-all duration-300 overflow-hidden">
333-
{isComingSoon && (
334-
<div className="absolute inset-0 z-10 bg-black/60 backdrop-blur-[2px] flex items-center justify-center rounded-lg">
335-
<span className="px-3 py-1 text-xs font-semibold text-[#D4915D] border border-[#D4915D]/40 rounded-full bg-[#D4915D]/10 tracking-wide">
336-
Coming Soon
337-
</span>
338-
</div>
339-
)}
340318
<div className="flex items-start justify-between mb-3">
341319
<div className="p-1.5 rounded-md bg-[#D4915D]/10 border border-[#D4915D]/20">
342320
<svg className="w-4 h-4 text-[#D4915D]" fill="none" stroke="currentColor" viewBox="0 0 24 24" strokeWidth={1.5}>
@@ -375,14 +353,12 @@ export default function PlaybooksSection({ activeDevice, selectedDevice, onSelec
375353
</span>
376354
<DifficultyBadge difficulty={playbook.difficulty} />
377355
</div>
378-
{!isComingSoon && (
379-
<div className="flex items-center text-xs text-[#D4915D] font-medium opacity-0 group-hover:opacity-100 transition-opacity">
380-
<span>View</span>
381-
<svg className="w-3 h-3 ml-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
382-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
383-
</svg>
384-
</div>
385-
)}
356+
<div className="flex items-center text-xs text-[#D4915D] font-medium opacity-0 group-hover:opacity-100 transition-opacity">
357+
<span>View</span>
358+
<svg className="w-3 h-3 ml-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
359+
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" />
360+
</svg>
361+
</div>
386362
</div>
387363
</div>
388364
</Link>

website/src/types/playbook.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,6 @@ export const DEVICE_CATEGORIES: DeviceCategoryInfo[] = [
104104
export const DEVICE_CATEGORY_MAP: Record<DeviceCategory, DeviceCategoryInfo> =
105105
Object.fromEntries(DEVICE_CATEGORIES.map(c => [c.id, c])) as Record<DeviceCategory, DeviceCategoryInfo>;
106106

107-
export const COMING_SOON_CATEGORIES: ReadonlySet<string> = new Set<string>(["reference", "gpu"]);
108-
export const COMING_SOON_DEVICES: ReadonlySet<string> = new Set<string>(["stx", "krk"]);
109-
110107
/**
111108
* Returns the categories available for a playbook given its supported platforms.
112109
* A category is available if any of its devices appear in the supported platforms

0 commit comments

Comments
 (0)