this repo has no description
atproto bluesky typescript express

feed stuff

+15 -15
+8 -6
src/lib/feed.ts
··· 2 2 3 3 // TODO: connect to feeds directly rather than using an existing appview 4 4 5 - export async function getFeed(agent: AtpAgent, did: string, record: string, cursor?: string) { 5 + export async function getFeed(agent: AtpAgent, did: string, rkey: string, cursor?: string) { 6 6 const response = await agent.app.bsky.feed.getFeed({ 7 - feed: "at://" + did + "/app.bsky.feed.generator/" + record, 7 + feed: "at://" + did + "/app.bsky.feed.generator/" + rkey, 8 8 cursor: cursor, 9 9 }); 10 10 return response.data; 11 11 } 12 12 13 - export async function getFeedData(agent: AtpAgent, did: string, record: string) { 14 - const response = await agent.app.bsky.feed.getFeedGenerators({ 15 - feeds: ["at://" + did + "/app.bsky.feed.generator/" + record], 13 + export async function getFeedData(agent: AtpAgent, did: string, rkey: string) { 14 + const response = await agent.com.atproto.repo.getRecord({ 15 + repo: did, 16 + collection: "app.bsky.feed.generator", 17 + rkey: rkey 16 18 }); 17 - return response.data.feeds; 19 + return response.data.value; 18 20 }
+1 -1
src/routes/main.ts
··· 186 186 187 187 res.render("feed", { 188 188 layout: "main", 189 - title: "Bluesky / " + feedData[0].displayName, 189 + title: "Bluesky / " + (feedData as any).displayName, 190 190 feed: feed.feed, 191 191 cursor: feed.cursor, 192 192 feedData: feedData,
+1 -1
src/routes/mobile.ts
··· 100 100 101 101 res.render("mobile/feed", { 102 102 layout: "mobile", 103 - title: "Bluesky / " + feedData[0].displayName, 103 + title: "Bluesky / " + (feedData as any).displayName, 104 104 feed: feed.feed, 105 105 cursor: feed.cursor, 106 106 feedData: feedData,
+4 -5
views/feed.hbs
··· 16 16 17 17 <address> 18 18 <ul class="about vcard entry-author"> 19 - <li><span class="label">Description</span> <span class="fn">{{feedData.[0].description}}</span></li> 20 - <li><span class="label">Author</span> @<span class="fn"><a class="url" href="../../{{feedData.[0].creator.handle}}">{{feedData.[0].creator.handle}}</a></span></li> 19 + <li><span class="label">Description</span> <span class="fn">{{feedData.description}}</span></li> 21 20 </ul> 22 21 </address> 23 22 </div> ··· 29 28 <div id="content"> 30 29 <div class="wrapper"> 31 30 <h2 class="thumb" style="margin-bottom:25px"> 32 - {{#if feedData.[0].avatar}} 33 - <img alt="Default_profile_bigger" id="profile-image" src="{{feedData.[0].avatar}}" width="73" height="73" /> 31 + {{#if feedData.avatar}} 32 + <img alt="Default_profile_bigger" id="profile-image" src="{{feedData.avatar}}" width="73" height="73" /> 34 33 {{else}} 35 34 <img alt="Default_profile_bigger" id="profile-image" src="../../../img/feed.png" width="73" height="73" /> 36 35 {{/if}} 37 36 38 - {{feedData.[0].displayName}} 37 + {{feedData.displayName}} 39 38 </h2> 40 39 41 40 <div class="clear"></div>
+1 -2
views/mobile/feed.hbs
··· 1 1 <table> 2 2 <tr> 3 - <td class="g"><img alt="{{feedData.[0].displayName}}" height="48" src="{{feedData.[0].avatar}}" width="48" /></td> 3 + <td class="g"><img alt="{{feedData.displayName}}" height="48" src="{{feedData.avatar}}" width="48" /></td> 4 4 <td> 5 5 <b>{{feedData.[0].displayName}}</b> 6 - <small>by @<a href="../../{{feedData.[0].creator.handle}}">{{feedData.[0].creator.handle}}</a></small> 7 6 </td> 8 7 </tr> 9 8 </table>