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}
+ )}
{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) => (
+