A personal website powered by Astro and ATProto

no more authors

Changed files
+5 -44
src
+1 -4
src/components/content/BlueskyFeed.astro
··· 6 6 interface Props { 7 7 feedUri: string; 8 8 limit?: number; 9 - showAuthor?: boolean; 10 9 showTimestamp?: boolean; 11 10 } 12 11 13 - const { feedUri, limit = 10, showAuthor = true, showTimestamp = true } = Astro.props; 12 + const { feedUri, limit = 10, showTimestamp = true } = Astro.props; 14 13 15 14 const config = loadConfig(); 16 15 const browser = new AtprotoBrowser(); ··· 34 33 blueskyPosts.map((record) => ( 35 34 <BlueskyPost 36 35 post={record.value} 37 - author={record.author} 38 - showAuthor={showAuthor} 39 36 showTimestamp={showTimestamp} 40 37 /> 41 38 ))
+2 -21
src/components/content/BlueskyPost.astro
··· 5 5 6 6 interface Props { 7 7 post: AppBskyFeedPost.Record; 8 - author?: { 9 - displayName?: string; 10 - handle?: string; 11 - }; 12 - showAuthor?: boolean; 13 8 showTimestamp?: boolean; 14 9 } 15 10 16 - const { post, author, showAuthor = false, showTimestamp = true } = Astro.props; 11 + const { post, showTimestamp = true } = Astro.props; 17 12 18 13 // Validate post data 19 14 if (!post || !post.text) { ··· 61 56 --- 62 57 63 58 <article class="bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 mb-4"> 64 - {showAuthor && author && ( 65 - <div class="flex items-center mb-3"> 66 - <div class="w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center text-white text-sm font-medium"> 67 - {author.displayName?.[0] || 'U'} 68 - </div> 69 - <div class="ml-3"> 70 - <div class="text-sm font-medium text-gray-900 dark:text-white"> 71 - {author.displayName || 'Unknown'} 72 - </div> 73 - <div class="text-xs text-gray-500 dark:text-gray-400"> 74 - @{author.handle || 'unknown'} 75 - </div> 76 - </div> 77 - </div> 78 - )} 59 + 79 60 80 61 <div class="text-gray-900 dark:text-white mb-3"> 81 62 {post.text}
-2
src/components/content/ContentFeed.astro
··· 9 9 collection?: string; 10 10 limit?: number; 11 11 feedUri?: string; 12 - showAuthor?: boolean; 13 12 showTimestamp?: boolean; 14 13 live?: boolean; 15 14 } ··· 18 17 collection = 'app.bsky.feed.post', 19 18 limit = 10, 20 19 feedUri, 21 - showAuthor = true, 22 20 showTimestamp = true, 23 21 live = false, 24 22 } = Astro.props;
-8
src/lib/atproto/atproto-browser.ts
··· 9 9 indexedAt: string; 10 10 collection: string; 11 11 $type: string; 12 - author?: { 13 - displayName?: string; 14 - handle?: string; 15 - }; 16 12 } 17 13 18 14 export interface RepoInfo { ··· 258 254 indexedAt: item.post.indexedAt, 259 255 collection: item.post.uri.split('/')[2] || 'unknown', 260 256 $type: (item.post.record?.$type as string) || 'unknown', 261 - author: item.post.author ? { 262 - displayName: item.post.author.displayName, 263 - handle: item.post.author.handle, 264 - } : undefined, 265 257 })); 266 258 267 259 return records;
-1
src/pages/index.astro
··· 38 38 </h2> 39 39 <ContentFeed 40 40 limit={10} 41 - showAuthor={false} 42 41 showTimestamp={true} 43 42 live={true} 44 43 />
+1 -4
src/pages/leaflets.astro
··· 46 46 47 47 <div class="text-sm text-gray-500 dark:text-gray-400"> 48 48 {document.data.publishedAt && ( 49 - <span class="mr-4"> 49 + <span> 50 50 Published: {new Date(document.data.publishedAt).toLocaleDateString('en-US', { 51 51 year: 'numeric', 52 52 month: 'long', 53 53 day: 'numeric', 54 54 })} 55 55 </span> 56 - )} 57 - {document.data.author && ( 58 - <span>Author: {document.data.author}</span> 59 56 )} 60 57 </div> 61 58 </header>
+1 -4
src/pages/leaflets/[leaflet].astro
··· 40 40 41 41 <div class="text-sm text-gray-500 dark:text-gray-400 mb-6"> 42 42 {document.data.publishedAt && ( 43 - <span class="mr-4"> 43 + <span> 44 44 Published: {new Date(document.data.publishedAt).toLocaleDateString('en-US', { 45 45 year: 'numeric', 46 46 month: 'long', 47 47 day: 'numeric', 48 48 })} 49 49 </span> 50 - )} 51 - {document.data.author && ( 52 - <span>Author: {document.data.author}</span> 53 50 )} 54 51 </div> 55 52 </header>