From efb0a05055d25c322377376ee9617d9558b03224 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Wed, 22 Jul 2026 23:13:54 -0400 Subject: [PATCH] better content labels --- src/components/actor-app.tsx | 6 ++++- src/components/bluesky-profile.tsx | 15 +++++++++++- src/components/grain-photos.tsx | 5 +++- src/components/profile-section.tsx | 30 ++++++++++++++++++++++-- src/components/rocksky-scrobble-list.tsx | 7 ++++-- src/components/standard-documents.tsx | 5 +++- src/components/tangled-repo-list.tsx | 5 +++- src/styles/globals.css | 27 +++++++++++++++++++++ 8 files changed, 91 insertions(+), 9 deletions(-) diff --git a/src/components/actor-app.tsx b/src/components/actor-app.tsx index 7ca85f8..9b6988a 100644 --- a/src/components/actor-app.tsx +++ b/src/components/actor-app.tsx @@ -106,7 +106,11 @@ export function ActorApp() { > {profile ? ( - + ) : ( )} diff --git a/src/components/bluesky-profile.tsx b/src/components/bluesky-profile.tsx index ba0d2c0..6f9bc1b 100644 --- a/src/components/bluesky-profile.tsx +++ b/src/components/bluesky-profile.tsx @@ -3,12 +3,14 @@ import { useState } from "react"; import type { BlueskyProfile } from "~/lib/providers/bluesky"; type BlueskyProfileProps = { + did: string; handle: string | null; profile: BlueskyProfile; }; -export function BlueskyProfile({ handle, profile }: BlueskyProfileProps) { +export function BlueskyProfile({ did, handle, profile }: BlueskyProfileProps) { const [avatarUrl, setAvatarUrl] = useState(profile.avatarUrl); + const profileIdentifier = handle ?? did; return (
@@ -63,6 +65,17 @@ export function BlueskyProfile({ handle, profile }: BlueskyProfileProps) {

)} */} + +
); } diff --git a/src/components/grain-photos.tsx b/src/components/grain-photos.tsx index 6dd8fb3..815b76b 100644 --- a/src/components/grain-photos.tsx +++ b/src/components/grain-photos.tsx @@ -6,7 +6,10 @@ type GrainPhotosProps = { export function GrainPhotos({ photos }: GrainPhotosProps) { return ( - +
{photos.map((photo) => photo.postUrl ? ( diff --git a/src/components/profile-section.tsx b/src/components/profile-section.tsx index ac58dbe..0a5b803 100644 --- a/src/components/profile-section.tsx +++ b/src/components/profile-section.tsx @@ -2,14 +2,40 @@ import type { ReactNode } from "react"; type ProfileSectionProps = { children: ReactNode; + source?: { + href: string; + name: string; + }; title: string; }; -export function ProfileSection({ title, children }: ProfileSectionProps) { +export function ProfileSection({ + title, + source, + children, +}: ProfileSectionProps) { return (
-

{title}

+ {source ? ( +
+

{title}

+
+ ) : ( +

{title}

+ )} {children} + {source && ( + + )}
); } diff --git a/src/components/rocksky-scrobble-list.tsx b/src/components/rocksky-scrobble-list.tsx index d6607d2..20077f8 100644 --- a/src/components/rocksky-scrobble-list.tsx +++ b/src/components/rocksky-scrobble-list.tsx @@ -12,7 +12,10 @@ type RockskyScrobbleProps = Pick< export function RockskyScrobbleList({ scrobbles }: RockskyScrobbleListProps) { return ( - +
{scrobbles.map((scrobble) => ( {albumArtUrl ? ( +
{documents.map((document) => (
+
{repos.map((repo) => (