Skip to content

Commit 503b9ba

Browse files
V48 (impl-only): Add Bitcode–Bitcoin exchange mark on product card
Place an absolute Bitcode ⇄ Bitcoin mark on the productionized-protocol header with purple arrows, matched green/orange glows, and the public bitcoin-logo asset so card layout height is unchanged.
1 parent 390b7da commit 503b9ba

2 files changed

Lines changed: 59 additions & 2 deletions

File tree

uapi/components/marketing/MarketingLandingTestnetSection/MarketingLandingTestnetSection.tsx

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@
88

99
import React from 'react';
1010
import {
11+
ArrowsRightLeftIcon,
1112
ChatBubbleLeftRightIcon,
1213
CodeBracketSquareIcon,
1314
ComputerDesktopIcon,
1415
} from '@heroicons/react/24/outline';
1516

17+
import Logo from '@/components/bitcode/branding/Logo/Logo';
1618
import { BITCODE_PUBLIC_COPY } from '@/components/bitcode/layout/BitcodePublicCopy/bitcode-public-copy';
1719

1820
const TITLE_HIGHLIGHTS = [
@@ -63,8 +65,53 @@ export function MarketingLandingTestnetSection() {
6365
aria-label="Commercial product launch readiness"
6466
className="relative w-full shrink-0"
6567
>
66-
<div className="rounded-none border border-emerald-300/16 bg-emerald-300/[0.045] px-4 py-4 backdrop-blur-sm phone:px-5 phone:py-5">
67-
<div className="flex flex-wrap items-center gap-2">
68+
<div className="relative overflow-visible rounded-none border border-emerald-300/16 bg-emerald-300/[0.045] px-4 py-4 backdrop-blur-sm phone:px-5 phone:py-5">
69+
{/*
70+
Absolute so the larger exchange mark never expands card layout.
71+
Bitcode (green) ⇄ Bitcoin (orange); arrows use product purple.
72+
*/}
73+
<div
74+
className="pointer-events-none absolute right-2 top-2 z-10 inline-flex items-center gap-1.5 phone:right-3 phone:top-3"
75+
aria-hidden="true"
76+
title="Bitcode for Bitcoin exchange"
77+
>
78+
{/*
79+
Larger marks; gap scales only with size (gap-1.5 ≈ prior gap/size ratio),
80+
not extra whitespace between arrows and icons.
81+
*/}
82+
<span className="inline-flex h-14 w-14 shrink-0 items-center justify-center [filter:drop-shadow(0_0_10px_rgba(103,254,183,0.75))_drop-shadow(0_0_22px_rgba(52,211,153,0.45))]">
83+
<Logo
84+
height="h-14"
85+
width="w-14"
86+
fill="#65FEB7"
87+
className="opacity-95"
88+
/>
89+
</span>
90+
{/* Filter on wrapper so purple glow paints outside the stroke. */}
91+
<span className="inline-flex shrink-0 items-center justify-center [filter:drop-shadow(0_0_10px_rgba(232,121,249,0.8))_drop-shadow(0_0_22px_rgba(192,132,252,0.5))]">
92+
<ArrowsRightLeftIcon
93+
className="h-8 w-8 text-fuchsia-300"
94+
strokeWidth={2}
95+
/>
96+
</span>
97+
{/*
98+
Glow on outer frame — drop-shadow on a masked node is often clipped;
99+
filter the wrapper so orange matches Bitcode’s green glow strength.
100+
*/}
101+
<span className="inline-flex h-14 w-14 shrink-0 items-center justify-center [filter:drop-shadow(0_0_10px_rgba(251,146,60,0.8))_drop-shadow(0_0_22px_rgba(251,191,36,0.45))]">
102+
<span
103+
className="inline-block h-14 w-14 origin-center scale-[1.28] bg-orange-300"
104+
style={{
105+
maskImage: 'url(/bitcoin-logo.svg)',
106+
WebkitMaskImage: 'url(/bitcoin-logo.svg)',
107+
maskSize: 'contain',
108+
maskRepeat: 'no-repeat',
109+
maskPosition: 'center',
110+
}}
111+
/>
112+
</span>
113+
</div>
114+
<div className="flex flex-wrap items-center gap-2 pr-36 phone:pr-40">
68115
<span className="rounded-none border border-emerald-300/35 bg-emerald-300/12 px-2.5 py-1 text-[0.62rem] font-medium uppercase tracking-[0.18em] text-emerald-100">
69116
{copy.badge}
70117
</span>

uapi/public/bitcoin-logo.svg

Lines changed: 10 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)