Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update data

+72 -331
+72 -331
src/lib/demo.ts
··· 1 1 import {type AppBskyFeedGetFeed} from '@atproto/api' 2 + import {subDays,subMinutes} from 'date-fns' 3 + 4 + const DID = `did:plc:z72i7hdynmk6r22z27h6tvur` 5 + const NOW = new Date() 6 + const POST_1_DATE = subMinutes(NOW, 2).toISOString() 7 + const POST_2_DATE = subMinutes(NOW, 4).toISOString() 8 + const POST_3_DATE = subMinutes(NOW, 5).toISOString() 2 9 3 10 export const DEMO_FEED = { 4 11 feed: [ 5 12 { 6 13 post: { 7 - uri: 'at://did:plc:vwzwgnygau7ed7b7wt5ux7y2/app.bsky.feed.post/3lng6kvb6uc2a', 8 - cid: 'bafyreifqyej7jivzucaagu22f7jj7rvjcpbzv2kxo27wt47ktduwwdpdae', 14 + uri: `at://${DID}/app.bsky.feed.post/post1`, 15 + cid: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 9 16 author: { 10 - did: 'did:plc:vwzwgnygau7ed7b7wt5ux7y2', 11 - handle: 'someoneelse.bsky.social', 12 - displayName: 'Not David', 13 - avatar: 14 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:vwzwgnygau7ed7b7wt5ux7y2/bafkreifrtz3ngpzz5qmhjliv5toj4nvyjovijxs5e2la67wddhmdhro5he@jpeg', 17 + did: DID, 18 + handle: 'forkedriver.blsky', 19 + displayName: 'Forked River Band', 20 + avatar: 'https://bsky.social/about/adi/post_1_avi.jpg', 15 21 associated: { 16 22 chat: { 17 23 allowIncoming: 'following', ··· 20 26 viewer: { 21 27 muted: false, 22 28 blockedBy: false, 23 - following: 24 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3kcvvfzq6o32a', 25 - followedBy: 26 - 'at://did:plc:vwzwgnygau7ed7b7wt5ux7y2/app.bsky.graph.follow/3jwawchotz22h', 29 + following: `at://${DID}/app.bsky.graph.follow/post1`, 27 30 }, 28 31 labels: [], 29 - createdAt: '2023-04-27T09:23:54.423Z', 32 + createdAt: POST_1_DATE, 30 33 verification: { 31 34 verifications: [ 32 35 { 33 - issuer: 'did:plc:z72i7hdynmk6r22z27h6tvur', 34 - uri: 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.graph.verification/3lndpxt7ur22f', 36 + issuer: DID, 37 + uri: `at://${DID}/app.bsky.graph.verification/post1`, 35 38 isValid: true, 36 - createdAt: '2025-04-21T10:48:58.775Z', 39 + createdAt: subDays(NOW, 11).toISOString(), 37 40 }, 38 41 ], 39 42 verifiedStatus: 'valid', 40 43 trustedVerifierStatus: 'none', 41 44 }, 42 45 }, 46 + embed: { 47 + $type: 'app.bsky.embed.images#view', 48 + images: [ 49 + { 50 + thumb: 'https://bsky.social/about/adi/post_1_image.jpg', 51 + fullsize: 'https://bsky.social/about/adi/post_1_image.jpg', 52 + alt: '', 53 + aspectRatio: { 54 + height: 1350, 55 + width: 900, 56 + }, 57 + }, 58 + ], 59 + }, 43 60 record: { 44 61 $type: 'app.bsky.feed.post', 45 - createdAt: '2025-04-22T17:15:30.525Z', 62 + createdAt: POST_1_DATE, 46 63 langs: ['en'], 47 - reply: { 48 - parent: { 49 - cid: 'bafyreic7wmhywvu5fi4lupswxpmyydqn2gl5kwnt4n4jxvb3lpej2l72ku', 50 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.feed.post/3lng66dkzu222', 51 - }, 52 - root: { 53 - cid: 'bafyreic7wmhywvu5fi4lupswxpmyydqn2gl5kwnt4n4jxvb3lpej2l72ku', 54 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.feed.post/3lng66dkzu222', 55 - }, 56 - }, 57 - text: 'sometimes I go to the apple store just to look at them', 64 + text: 'Sonoma County folks: Come tip your hats our way and see us play new and old tunes at Sebastopol Bluegrass Fest on June 14th.', 58 65 }, 59 - replyCount: 0, 60 - repostCount: 0, 61 - likeCount: 6, 66 + replyCount: 1, 67 + repostCount: 4, 68 + likeCount: 18, 62 69 quoteCount: 0, 63 - indexedAt: '2025-04-22T17:15:31.251Z', 70 + indexedAt: POST_1_DATE, 64 71 viewer: { 65 72 threadMuted: false, 66 73 embeddingDisabled: false, 67 74 }, 68 75 labels: [], 69 76 }, 70 - reply: { 71 - root: { 72 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.feed.post/3lng66dkzu222', 73 - cid: 'bafyreic7wmhywvu5fi4lupswxpmyydqn2gl5kwnt4n4jxvb3lpej2l72ku', 74 - author: { 75 - did: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 76 - handle: 'jasalterego.bsky.social', 77 - displayName: 'Jerry Appleseed', 78 - avatar: 79 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:vc7f4oafdgxsihk4cry2xpze/bafkreicwxwecqiko2rwwln5y3fqqb2zx6wfg5rxf5r7lukakkq2slqy5hy@jpeg', 80 - associated: { 81 - chat: { 82 - allowIncoming: 'following', 83 - }, 84 - }, 85 - viewer: { 86 - muted: false, 87 - blockedBy: false, 88 - following: 89 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3jx4rnvlnhl25', 90 - followedBy: 91 - 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.graph.follow/3jx4siiniuc2e', 92 - }, 93 - labels: [ 94 - { 95 - cts: '2024-05-17T21:53:59.049Z', 96 - src: 'did:plc:skibpmllbhxvbvwgtjxl3uao', 97 - uri: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 98 - val: 'cringe', 99 - ver: 1, 100 - }, 101 - { 102 - cts: '2024-05-17T21:53:59.049Z', 103 - src: 'did:plc:skibpmllbhxvbvwgtjxl3uao', 104 - uri: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 105 - val: 'elder-watch', 106 - ver: 1, 107 - }, 108 - { 109 - src: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 110 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.actor.profile/self', 111 - cid: 'bafyreidfiuv3c22vliyu2onazf23zrp35rr7i3upsqa2dsn5cqimmlgugm', 112 - val: '!no-unauthenticated', 113 - cts: '1970-01-01T00:00:00.000Z', 114 - }, 115 - ], 116 - createdAt: '2023-04-23T20:11:04.375Z', 117 - }, 118 - record: { 119 - $type: 'app.bsky.feed.post', 120 - createdAt: '2025-04-22T17:08:29.321Z', 121 - langs: ['en'], 122 - text: "(studying the blade) ow that's the sharp side", 123 - }, 124 - replyCount: 8, 125 - repostCount: 37, 126 - likeCount: 252, 127 - quoteCount: 1, 128 - indexedAt: '2025-04-22T17:08:29.458Z', 129 - viewer: { 130 - threadMuted: false, 131 - embeddingDisabled: false, 132 - }, 133 - labels: [], 134 - $type: 'app.bsky.feed.defs#postView', 135 - }, 136 - parent: { 137 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.feed.post/3lng66dkzu222', 138 - cid: 'bafyreic7wmhywvu5fi4lupswxpmyydqn2gl5kwnt4n4jxvb3lpej2l72ku', 139 - author: { 140 - did: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 141 - handle: 'jasalterego.bsky.social', 142 - displayName: 'Jerry Appleseed', 143 - avatar: 144 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:vc7f4oafdgxsihk4cry2xpze/bafkreicwxwecqiko2rwwln5y3fqqb2zx6wfg5rxf5r7lukakkq2slqy5hy@jpeg', 145 - associated: { 146 - chat: { 147 - allowIncoming: 'following', 148 - }, 149 - }, 150 - viewer: { 151 - muted: false, 152 - blockedBy: false, 153 - following: 154 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3jx4rnvlnhl25', 155 - followedBy: 156 - 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.graph.follow/3jx4siiniuc2e', 157 - }, 158 - labels: [ 159 - { 160 - cts: '2024-05-17T21:53:59.049Z', 161 - src: 'did:plc:skibpmllbhxvbvwgtjxl3uao', 162 - uri: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 163 - val: 'cringe', 164 - ver: 1, 165 - }, 166 - { 167 - cts: '2024-05-17T21:53:59.049Z', 168 - src: 'did:plc:skibpmllbhxvbvwgtjxl3uao', 169 - uri: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 170 - val: 'elder-watch', 171 - ver: 1, 172 - }, 173 - { 174 - src: 'did:plc:vc7f4oafdgxsihk4cry2xpze', 175 - uri: 'at://did:plc:vc7f4oafdgxsihk4cry2xpze/app.bsky.actor.profile/self', 176 - cid: 'bafyreidfiuv3c22vliyu2onazf23zrp35rr7i3upsqa2dsn5cqimmlgugm', 177 - val: '!no-unauthenticated', 178 - cts: '1970-01-01T00:00:00.000Z', 179 - }, 180 - ], 181 - createdAt: '2023-04-23T20:11:04.375Z', 182 - }, 183 - record: { 184 - $type: 'app.bsky.feed.post', 185 - createdAt: '2025-04-22T17:08:29.321Z', 186 - langs: ['en'], 187 - text: '*sees the studio display* i think i hauve covid', 188 - }, 189 - replyCount: 8, 190 - repostCount: 37, 191 - likeCount: 252, 192 - quoteCount: 1, 193 - indexedAt: '2025-04-22T17:08:29.458Z', 194 - viewer: { 195 - threadMuted: false, 196 - embeddingDisabled: false, 197 - }, 198 - labels: [], 199 - $type: 'app.bsky.feed.defs#postView', 200 - }, 201 - }, 202 77 }, 203 78 { 204 79 post: { 205 - uri: 'at://did:plc:qvzn322kmcvd7xtnips5xaun/app.bsky.feed.post/3lnehbwkvzk2z', 206 - cid: 'bafyreidshyla4xoolb7fexhtlqcjjbn6ts7z4xja7gnlinroms5cuqg3fq', 80 + uri: `at://${DID}/app.bsky.feed.post/post2`, 81 + cid: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 207 82 author: { 208 - did: 'did:plc:qvzn322kmcvd7xtnips5xaun', 209 - handle: 'scalzi.com', 210 - displayName: 'John Scalzi', 211 - avatar: 212 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:qvzn322kmcvd7xtnips5xaun/bafkreih4dn5gllculyzb6wlqcqparkax35zloe3bzn2nufeqeilz4sutsu@jpeg', 83 + did: DID, 84 + handle: 'dinh-designs.blsky', 85 + displayName: 'Dinh Designs', 86 + avatar: 'https://bsky.social/about/adi/post_2_avi.jpg', 213 87 associated: { 214 88 chat: { 215 89 allowIncoming: 'following', 216 90 }, 217 91 }, 218 - 219 92 viewer: { 220 93 muted: false, 221 94 blockedBy: false, 222 - following: 223 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3kcvvfzq6o32a', 224 - followedBy: 225 - 'at://did:plc:vwzwgnygau7ed7b7wt5ux7y2/app.bsky.graph.follow/3jwawchotz22h', 95 + following: `at://${DID}/app.bsky.graph.follow/post2`, 226 96 }, 227 97 labels: [], 228 - createdAt: '2023-04-27T16:05:17.859Z', 229 - }, 230 - record: { 231 - $type: 'app.bsky.feed.post', 232 - createdAt: '2025-04-22T00:46:14.095Z', 233 - embed: { 234 - $type: 'app.bsky.embed.images', 235 - images: [ 236 - { 237 - alt: 'Smudge napping on the Eames chair, which is covered in a blanket to avoid getting cat hair on it. ', 238 - aspectRatio: { 239 - height: 2000, 240 - width: 1505, 241 - }, 242 - image: { 243 - $type: 'blob', 244 - ref: { 245 - $link: 246 - 'bafkreigkfbcmttc4r4avknp4y2mlcjlws3sdcat6jcyd2mjr7yvz6sje4q', 247 - }, 248 - mimeType: 'image/jpeg', 249 - size: 833834, 250 - }, 251 - }, 252 - ], 253 - }, 254 - langs: ['en'], 255 - text: 'Smudge found the Eames chair', 98 + createdAt: POST_2_DATE, 256 99 }, 257 100 embed: { 258 101 $type: 'app.bsky.embed.images#view', 259 102 images: [ 260 103 { 261 - thumb: 262 - 'https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:qvzn322kmcvd7xtnips5xaun/bafkreigkfbcmttc4r4avknp4y2mlcjlws3sdcat6jcyd2mjr7yvz6sje4q@jpeg', 263 - fullsize: 264 - 'https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:qvzn322kmcvd7xtnips5xaun/bafkreigkfbcmttc4r4avknp4y2mlcjlws3sdcat6jcyd2mjr7yvz6sje4q@jpeg', 265 - alt: 'Smudge napping on the Eames chair, which is covered in a blanket to avoid getting cat hair on it. ', 104 + thumb: 'https://bsky.social/about/adi/post_2_image.jpg', 105 + fullsize: 'https://bsky.social/about/adi/post_2_image.jpg', 106 + alt: '', 266 107 aspectRatio: { 267 - height: 2000, 268 - width: 1505, 108 + height: 872, 109 + width: 598, 269 110 }, 270 111 }, 271 112 ], 272 113 }, 273 - replyCount: 47, 274 - repostCount: 31, 275 - likeCount: 1543, 114 + record: { 115 + $type: 'app.bsky.feed.post', 116 + createdAt: POST_2_DATE, 117 + langs: ['en'], 118 + text: 'Details from our install at the Lucas residence in Joshua Tree. We populated the space with rich, earthy tones and locally-sourced materials to suit the landscape.', 119 + }, 120 + replyCount: 3, 121 + repostCount: 1, 122 + likeCount: 4, 276 123 quoteCount: 0, 277 - indexedAt: '2025-04-22T00:46:17.457Z', 124 + indexedAt: POST_2_DATE, 278 125 viewer: { 279 126 threadMuted: false, 280 127 embeddingDisabled: false, ··· 284 131 }, 285 132 { 286 133 post: { 287 - uri: 'at://did:plc:jb2q4yqmgpmefxd4xx66gepm/app.bsky.feed.post/3lng4m2memc2k', 288 - cid: 'bafyreicvgwkd5xkbtu3eh756yodnynqbxoegzzqhhees5ou45t3gq3j6um', 134 + uri: `at://${DID}/app.bsky.feed.post/post3`, 135 + cid: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 289 136 author: { 290 - did: 'did:plc:jb2q4yqmgpmefxd4xx66gepm', 291 - handle: 'visionprofan.bsky.social', 137 + did: DID, 138 + handle: 'visionprofan.blsky', 292 139 displayName: 'Visionary', 293 140 avatar: 294 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:jb2q4yqmgpmefxd4xx66gepm/bafkreibqdpwilgj43m37ksjilzcnzqx2g3njcyiyifvazdar23rs5hlokm@jpeg', 141 + 'https://cdn.bsky.app/img/avatar/plain/did:plc:p2cp5gopk7mgjegy6wadk3ep/bafkreiaqsy36o6lpbpnonb4n46cvntfs6zoxbav35raix2sxhqgopxcjge@jpeg', 295 142 associated: { 296 143 chat: { 297 144 allowIncoming: 'following', 298 145 }, 299 146 }, 300 - 301 147 viewer: { 302 148 muted: false, 303 149 blockedBy: false, 304 - following: 305 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3kcvvfzq6o32a', 306 - followedBy: 307 - 'at://did:plc:vwzwgnygau7ed7b7wt5ux7y2/app.bsky.graph.follow/3jwawchotz22h', 150 + following: `at://${DID}/app.bsky.graph.follow/post3`, 308 151 }, 309 - labels: [ 310 - { 311 - cts: '2024-07-14T04:31:55.599Z', 312 - src: 'did:plc:skibpmllbhxvbvwgtjxl3uao', 313 - uri: 'did:plc:jb2q4yqmgpmefxd4xx66gepm', 314 - val: 'cringe', 315 - ver: 1, 316 - }, 317 - ], 318 - createdAt: '2023-04-13T05:48:48.827Z', 152 + createdAt: POST_3_DATE, 319 153 }, 320 154 record: { 321 155 $type: 'app.bsky.feed.post', 322 - createdAt: '2025-04-22T16:40:22.205Z', 323 - embed: { 324 - $type: 'app.bsky.embed.record', 325 - record: { 326 - cid: 'bafyreif6ks7dhjrgrio5guztdhf3byoygbwebbvehi4al2c5kmkevlqdky', 327 - uri: 'at://did:plc:4llrhdclvdlmmynkwsmg5tdc/app.bsky.feed.post/3lnfspxzdd42p', 328 - }, 329 - }, 156 + createdAt: POST_3_DATE, 330 157 langs: ['en'], 331 158 text: 'Just got my Vision Pro! 🤯\n\nAny recommendations for apps to try out?', 332 159 }, 333 - embed: { 334 - $type: 'app.bsky.embed.record#view', 335 - record: { 336 - $type: 'app.bsky.embed.record#viewRecord', 337 - uri: 'at://did:plc:4llrhdclvdlmmynkwsmg5tdc/app.bsky.feed.post/3lnfspxzdd42p', 338 - cid: 'bafyreif6ks7dhjrgrio5guztdhf3byoygbwebbvehi4al2c5kmkevlqdky', 339 - author: { 340 - did: 'did:plc:4llrhdclvdlmmynkwsmg5tdc', 341 - handle: 'atrupar.com', 342 - displayName: 'Aaron Rupar', 343 - avatar: 344 - 'https://cdn.bsky.app/img/avatar/plain/did:plc:4llrhdclvdlmmynkwsmg5tdc/bafkreibmhm3h6ar52pogvolisrzjdhwa2myras5vkxzj67twxn2l6pogwu@jpeg', 345 - associated: { 346 - chat: { 347 - allowIncoming: 'following', 348 - }, 349 - }, 350 - viewer: { 351 - muted: false, 352 - blockedBy: false, 353 - following: 354 - 'at://did:plc:p2cp5gopk7mgjegy6wadk3ep/app.bsky.graph.follow/3l7eals2t4g2k', 355 - }, 356 - labels: [], 357 - createdAt: '2023-04-28T00:47:57.437Z', 358 - }, 359 - value: { 360 - $type: 'app.bsky.feed.post', 361 - createdAt: '2025-04-22T13:43:36.261Z', 362 - embed: { 363 - $type: 'app.bsky.embed.video', 364 - alt: '', 365 - aspectRatio: { 366 - height: 720, 367 - width: 1280, 368 - }, 369 - captions: [ 370 - { 371 - $type: 'app.bsky.embed.video#caption', 372 - file: { 373 - $type: 'blob', 374 - ref: { 375 - $link: 376 - 'bafkreihm7npnefqxqmn7d45lcbxzn4wnowc2abe5hxmd63qlob7fbszola', 377 - }, 378 - mimeType: 'text/vtt', 379 - size: 1339, 380 - }, 381 - lang: 'en', 382 - }, 383 - ], 384 - video: { 385 - $type: 'blob', 386 - ref: { 387 - $link: 388 - 'bafkreihovdkyvql2yswuimm5m35lqyo7tgsfiujm7vrxtfmi4gwej4hkpa', 389 - }, 390 - mimeType: 'video/mp4', 391 - size: 6026932, 392 - }, 393 - }, 394 - facets: [], 395 - langs: ['en'], 396 - text: 'Austin Scott previews how House Rs plan to cut Medicaid: "The federal govt is paying 90% of the Medicaid expansion. What we\'ve talked about is moving that 90% level of the expansion back... nobody would be kicked off Medicaid as long as governors decided they wanted to continue to fund the program"', 397 - }, 398 - labels: [], 399 - likeCount: 880, 400 - replyCount: 230, 401 - repostCount: 347, 402 - quoteCount: 145, 403 - indexedAt: '2025-04-22T13:43:37.350Z', 404 - embeds: [ 405 - { 406 - $type: 'app.bsky.embed.video#view', 407 - cid: 'bafkreihovdkyvql2yswuimm5m35lqyo7tgsfiujm7vrxtfmi4gwej4hkpa', 408 - playlist: 409 - 'https://video.bsky.app/watch/did%3Aplc%3A4llrhdclvdlmmynkwsmg5tdc/bafkreihovdkyvql2yswuimm5m35lqyo7tgsfiujm7vrxtfmi4gwej4hkpa/playlist.m3u8', 410 - thumbnail: 411 - 'https://video.bsky.app/watch/did%3Aplc%3A4llrhdclvdlmmynkwsmg5tdc/bafkreihovdkyvql2yswuimm5m35lqyo7tgsfiujm7vrxtfmi4gwej4hkpa/thumbnail.jpg', 412 - alt: '', 413 - aspectRatio: { 414 - height: 720, 415 - width: 1280, 416 - }, 417 - }, 418 - ], 419 - }, 420 - }, 421 160 replyCount: 11, 422 161 repostCount: 97, 423 162 likeCount: 399, 424 163 quoteCount: 3, 425 - indexedAt: '2025-04-22T16:40:22.648Z', 164 + indexedAt: POST_3_DATE, 426 165 viewer: { 427 166 threadMuted: false, 428 167 embeddingDisabled: false, ··· 430 169 labels: [], 431 170 }, 432 171 }, 172 + /* 433 173 { 434 174 post: { 435 175 uri: 'at://did:plc:5o6k7jvowuyaquloafzn3cfw/app.bsky.feed.post/3lng6lkuhxc2s', ··· 629 369 labels: [], 630 370 }, 631 371 }, 372 + */ 632 373 ], 633 374 } satisfies AppBskyFeedGetFeed.OutputSchema 634 375