Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork client
117
fork

Configure Feed

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

at a876aae44ea07494ebea9727350aa060b81f317b 202 lines 6.7 kB view raw
1import {type AppBskyFeedGetFeed} from '@atproto/api' 2import {subDays, subMinutes} from 'date-fns' 3 4const DID = `did:plc:z72i7hdynmk6r22z27h6tvur` 5const NOW = new Date() 6const POST_1_DATE = subMinutes(NOW, 2).toISOString() 7const POST_2_DATE = subMinutes(NOW, 4).toISOString() 8const POST_3_DATE = subMinutes(NOW, 5).toISOString() 9 10export const DEMO_FEED = { 11 feed: [ 12 { 13 post: { 14 uri: 'at://did:plc:pvooorihapc2lf2pijehgrdf/app.bsky.feed.post/3lniysofyll2d', 15 cid: 'bafyreihwh3wxxme732ylbylhhdyz7ex6t4jtu6s3gjxxvnnh4feddhg3ku', 16 author: { 17 did: 'did:plc:pvooorihapc2lf2pijehgrdf', 18 handle: 'forkedriverband.bsky.social', 19 displayName: 'Forked River Band', 20 avatar: 'https://bsky.social/about/adi/post_1_avi.jpg', 21 viewer: { 22 muted: false, 23 blockedBy: false, 24 following: `at://${DID}/app.bsky.graph.follow/post1`, 25 }, 26 labels: [], 27 createdAt: POST_1_DATE, 28 verification: { 29 verifications: [ 30 { 31 issuer: DID, 32 uri: `at://${DID}/app.bsky.graph.verification/post1`, 33 isValid: true, 34 createdAt: subDays(NOW, 11).toISOString(), 35 }, 36 ], 37 verifiedStatus: 'valid', 38 trustedVerifierStatus: 'none', 39 }, 40 }, 41 record: { 42 $type: 'app.bsky.feed.post', 43 createdAt: POST_1_DATE, 44 // embed: { 45 // $type: 'app.bsky.embed.images', 46 // images: [ 47 // { 48 // alt: 'Fake flier for Sebastapol Bluegrass Fest', 49 // aspectRatio: { 50 // height: 1350, 51 // width: 900, 52 // }, 53 // image: { 54 // $type: 'blob', 55 // ref: { 56 // $link: 57 // 'bafkreig7gnirmz5guhhjutf3mqbjjzxzi3w4wvs5qy2gnxma5g3brbaidi', 58 // }, 59 // mimeType: 'image/jpeg', 60 // size: 562871, 61 // }, 62 // }, 63 // ], 64 // }, 65 langs: ['en'], 66 text: 'Sonoma County folks: Come tip your hats our way and see us play new and old bluegrass tunes at Sebastopol Solstice Fest on June 20th.', 67 }, 68 embed: { 69 $type: 'app.bsky.embed.images#view', 70 images: [ 71 { 72 thumb: 'https://bsky.social/about/adi/post_1_image.jpg', 73 fullsize: 'https://bsky.social/about/adi/post_1_image.jpg', 74 alt: 'Fake flier for Sebastapol Bluegrass Fest', 75 aspectRatio: { 76 height: 1350, 77 width: 900, 78 }, 79 }, 80 ], 81 }, 82 replyCount: 1, 83 repostCount: 4, 84 likeCount: 18, 85 quoteCount: 0, 86 indexedAt: POST_1_DATE, 87 viewer: { 88 threadMuted: false, 89 embeddingDisabled: false, 90 }, 91 labels: [], 92 }, 93 }, 94 { 95 post: { 96 uri: 'at://did:plc:fhhqii56ppgyh5qcm2b3mokf/app.bsky.feed.post/3lnizc7fug52c', 97 cid: 'bafyreienuabsr55rycirdf4ewue5tjcseg5lzqompcsh2brqzag6hvxllm', 98 author: { 99 did: 'did:plc:fhhqii56ppgyh5qcm2b3mokf', 100 handle: 'dinh-designs.bsky.social', 101 displayName: 'Rich Dinh Designs', 102 avatar: 'https://bsky.social/about/adi/post_2_avi.jpg', 103 viewer: { 104 muted: false, 105 blockedBy: false, 106 following: `at://${DID}/app.bsky.graph.follow/post2`, 107 }, 108 labels: [], 109 createdAt: POST_2_DATE, 110 }, 111 record: { 112 $type: 'app.bsky.feed.post', 113 createdAt: POST_2_DATE, 114 // embed: { 115 // $type: 'app.bsky.embed.images', 116 // images: [ 117 // { 118 // alt: 'Placeholder image of interior design', 119 // aspectRatio: { 120 // height: 872, 121 // width: 598, 122 // }, 123 // image: { 124 // $type: 'blob', 125 // ref: { 126 // $link: 127 // 'bafkreidcjc6bjb4jjjejruin5cldhj5zovsuu4tydulenyprneziq5rfeu', 128 // }, 129 // mimeType: 'image/jpeg', 130 // size: 296003, 131 // }, 132 // }, 133 // ], 134 // }, 135 langs: ['en'], 136 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.', 137 }, 138 embed: { 139 $type: 'app.bsky.embed.images#view', 140 images: [ 141 { 142 thumb: 'https://bsky.social/about/adi/post_2_image.jpg', 143 fullsize: 'https://bsky.social/about/adi/post_2_image.jpg', 144 alt: 'Placeholder image of interior design', 145 aspectRatio: { 146 height: 872, 147 width: 598, 148 }, 149 }, 150 ], 151 }, 152 replyCount: 3, 153 repostCount: 1, 154 likeCount: 4, 155 quoteCount: 0, 156 indexedAt: POST_2_DATE, 157 viewer: { 158 threadMuted: false, 159 embeddingDisabled: false, 160 }, 161 labels: [], 162 }, 163 }, 164 { 165 post: { 166 uri: 'at://did:plc:h7fwnfejmmifveeea5eyxgkc/app.bsky.feed.post/3lnizna3g4f2t', 167 cid: 'bafyreiepn7obmlshliori4j34texpaukrqkyyu7cq6nmpzk4lkis7nqeae', 168 author: { 169 did: 'did:plc:h7fwnfejmmifveeea5eyxgkc', 170 handle: 'rodyalbuerne.bsky.social', 171 displayName: 'Rody Albuerne', 172 avatar: 'https://bsky.social/about/adi/post_3_avi.jpg', 173 viewer: { 174 muted: false, 175 blockedBy: false, 176 following: `at://${DID}/app.bsky.graph.follow/post3`, 177 }, 178 labels: [], 179 createdAt: POST_3_DATE, 180 }, 181 record: { 182 $type: 'app.bsky.feed.post', 183 createdAt: POST_3_DATE, 184 langs: ['en'], 185 text: 'Tinkering with the basics of traditional wooden joinery in my shop lately. Starting small with this ox, made using simple mortise and tenon joints.', 186 }, 187 replyCount: 11, 188 repostCount: 97, 189 likeCount: 399, 190 quoteCount: 0, 191 indexedAt: POST_3_DATE, 192 viewer: { 193 threadMuted: false, 194 embeddingDisabled: false, 195 }, 196 labels: [], 197 }, 198 }, 199 ], 200} satisfies AppBskyFeedGetFeed.OutputSchema 201 202export const BOTTOM_BAR_AVI = 'https://bsky.social/about/adi/user_avi.jpg'