From a6c90941d29c2fd53124fd9de4171ab9aaed9f9d Mon Sep 17 00:00:00 2001 From: "shakespeare.diy" Date: Wed, 2 Sep 2026 21:56:28 +0700 Subject: [PATCH] =?UTF-8?q?Ensure=20Become-Skater=20=E2=86=94=20Profile=20?= =?UTF-8?q?field=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fields collected on the Become-Skater form were being dropped on the profile: - Instagram: now rendered in the profile Info card (normalizes @handle / full URL, links to instagram.com), matching where website/lightning live - Location (city/area): now shown as "Based in" in the skate-layer stats row - hasSkateLayer now also triggers on location/instagram so the skate card renders even when those are the only fields filled All other fields (photo from kind-0, bio, styles, stance, level/custom level, years, home spot + mapped link, website) already round-trip consistently between the two pages. Co-authored-by: shakespeare.diy --- src/pages/NIP19Page.tsx | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/pages/NIP19Page.tsx b/src/pages/NIP19Page.tsx index f67abb3..916d664 100644 --- a/src/pages/NIP19Page.tsx +++ b/src/pages/NIP19Page.tsx @@ -32,6 +32,7 @@ import { Copy, Check, ShieldCheck, + Instagram, Users, Crown, Bot, @@ -95,7 +96,7 @@ function ProfilePage({ pubkey }: { pubkey: string }) { const skaterWebsite = skater?.website || website; const hasSkateLayer = !!skater && ( !!stanceMeta || !!levelMeta || !!skater.customLevel || skater.styles.length > 0 || - !!skater.yearsSkating || !!skater.homeSpot + !!skater.yearsSkating || !!skater.homeSpot || !!skater.location || !!skater.instagram ); const handleCopyNpub = () => { @@ -328,6 +329,15 @@ function ProfilePage({ pubkey }: { pubkey: string }) { {inner} ) : inner; })()} + {skater?.location && ( +
+ +
+

Based in

+

{skater.location}

+
+
+ )} {/* Styles */} @@ -559,6 +569,23 @@ function ProfilePage({ pubkey }: { pubkey: string }) { )} + {skater?.instagram && (() => { + const handle = skater.instagram.trim().replace(/^@+/, '').replace(/^https?:\/\/(www\.)?instagram\.com\//i, '').replace(/\/+$/, ''); + if (!handle) return null; + return ( + + + @{handle} + + + ); + })()} + {lud16 && (