diff --git a/src/app/[handle]/[collection]/[rkey]/page.tsx b/src/app/[handle]/[collection]/[rkey]/page.tsx index cdc53eb..55847a3 100644 --- a/src/app/[handle]/[collection]/[rkey]/page.tsx +++ b/src/app/[handle]/[collection]/[rkey]/page.tsx @@ -285,7 +285,7 @@ async function RecordContent({ handle, collection, rkey }: { handle: string; col return ( <>
-
+
-
+
{/* AT-URI alternate link, mirroring Bluesky's bskyweb template. React 19 hoists this to . */} @@ -512,7 +512,7 @@ export default async function RecordPage({ params }: Props) { fallback={ <>
-
+
diff --git a/src/app/[handle]/page.tsx b/src/app/[handle]/page.tsx index 1917efb..decb457 100644 --- a/src/app/[handle]/page.tsx +++ b/src/app/[handle]/page.tsx @@ -89,7 +89,7 @@ async function ProfileContent({ handle }: { handle: string }) { return ( <>
-
+
-
+
{profileData && (
@@ -154,7 +154,7 @@ export default async function ProfilePage({ params }: Props) { fallback={ <>
-
+
diff --git a/src/app/globals.css b/src/app/globals.css index 7839684..2258d0c 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -2923,3 +2923,51 @@ html { text-align: center; } } + +.profile-preview-banner { + width: 100%; + height: 200px; +} + +/* Universal-link (waypoint) pages ran large on phones — the preview card, + the "choose where to view" header, and the waypoint rows were all sized + for desktop, so the page felt zoomed in versus the rest of the app. On + small screens tighten the gutters and scale the big elements down a notch + so more fits on screen without the user having to pinch-zoom out. */ +@media (max-width: 600px) { + .waypoint-page { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .waypoint-page #waypoint-picker > header { + margin-bottom: 1.5rem; + } + + .waypoint-page #waypoint-picker > header h1 { + font-size: 1.875rem; + } + + .waypoint-page #waypoint-picker > header p { + font-size: 1rem !important; + } + + .waypoint-page .waypoint-button { + padding: 1rem 1.125rem; + gap: 0.75rem; + } + + .waypoint-page .waypoint-name { + font-size: 1rem; + } + + .waypoint-page .waypoint-description { + font-size: 0.8125rem; + } + + /* Trim the profile banner — at 200px it ate roughly a third of the + viewport before any content showed. */ + .profile-preview-banner { + height: 130px; + } +} diff --git a/src/app/profile/[handle]/post/[rkey]/page.tsx b/src/app/profile/[handle]/post/[rkey]/page.tsx index 727f920..07ee868 100644 --- a/src/app/profile/[handle]/post/[rkey]/page.tsx +++ b/src/app/profile/[handle]/post/[rkey]/page.tsx @@ -171,7 +171,7 @@ async function PostContent({ handle, rkey }: { handle: string; rkey: string }) { return ( <>
-
+
-
+
{/* AT-URI alternate link, mirroring Bluesky's bskyweb template. React 19 hoists this to . */} @@ -309,7 +309,7 @@ export default async function PostPage({ params }: Props) { fallback={ <>
-
+
diff --git a/src/components/ProfilePreview.tsx b/src/components/ProfilePreview.tsx index f55cb4e..79c145a 100644 --- a/src/components/ProfilePreview.tsx +++ b/src/components/ProfilePreview.tsx @@ -74,18 +74,16 @@ export default function ProfilePreview({ profile }: ProfilePreviewProps) { {/* Banner */} {banner ? (
) : (
diff --git a/src/components/ScrollIndicator.tsx b/src/components/ScrollIndicator.tsx index d2b8277..72a5d56 100644 --- a/src/components/ScrollIndicator.tsx +++ b/src/components/ScrollIndicator.tsx @@ -55,10 +55,10 @@ export default function ScrollIndicator({ className="scroll-indicator-floating" style={{ display: 'flex', - flexDirection: 'column', + flexDirection: 'row', alignItems: 'center', - gap: '0.5rem', - padding: '1rem 1.75rem 1.25rem', + gap: '0.625rem', + padding: '0.5rem 1rem 0.5rem 0.875rem', background: 'var(--bg-overlay)', backdropFilter: 'blur(12px)', WebkitBackdropFilter: 'blur(12px)', @@ -104,8 +104,9 @@ export default function ScrollIndicator({
- +
- +
- +
@@ -247,7 +248,7 @@ export default function ScrollIndicator({ @media (max-width: 640px) { .scroll-indicator-floating { - padding: 0.875rem 1.5rem 1rem; + padding: 0.4375rem 0.875rem 0.4375rem 0.75rem; } } `}