···66 - [x] ~~GitHub issues, including a "[Comment via GitHub]" button.~~ For a later release, as this will require a lot of work to implement the GraphQL queries and mutations.
77 - [ ] Other platforms? Maybe? Depends on how much time I have, and how much demand there is for other platforms.
88- [x] [fix] Adding `flex-wrap: wrap;` to `.widget .form-controls` to prevent the buttons from overflowing on smaller screens.
99-- [ ] Remove the builtin CSS in favour of [DaisyUI](https://daisyui.com) classes.
99+- [ ] Remove the builtin CSS in favour of [DaisyUI](https://daisyui.com) classes which means standardized class names for self-stylers, and site-themed widgets for everyone else!
10101111## [feat] Adding multiple back-ends
12121313### Fetching a post from Bluesky
1414This seems a little more complicated than fetching from Mastodon, but seems doable.
15151616-From a uri, extract `handle` and `post_id` (e.g. `at://did:plc:abc123/app.bsky.feed.post/def456` -> `handle=abc123`, `post_id=def456`)
1616+Where for a mastodon post we need `instance` and `postid`, we now need `did` and `postid`.
17171818-Then, fetch the post using the Bluesky API:
1818+Let's say they have been supplied as `did:plc:jgtfsmv25thfs4zmydtbccnn` (strawmelonjuice.com) and `3mgrbiiadws2k`
19192020-Firstly, resolve the handle to get the DID:
2121-https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=abc123
2222-2323-This will return a DID (e.g. `did:plc:abc123`).
2424-2525-Then, fetch a list of the user's posts:
2626-https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did:plc:abc123&filter=posts_with_replies&limit=100
2020+Fetch a list of the user's posts:
2121+https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did:plc:jgtfsmv25thfs4zmydtbccnn&filter=posts_with_replies&limit=100
27222823This may require a few requests if the user has more than 100 posts, but we can paginate through them using the `cursor` parameter.
29243030-Finally, find the post with the matching `post_id` (e.g. `def456`) in the list of posts and return it.
2525+Finally, find the post with the matching `post_id` in the list of posts and return it.
31263232-Shaped like this:
2727+That'd be [this post](https://witchsky.app/profile/did:plc:jgtfsmv25thfs4zmydtbccnn/post/3mgrbiiadws2k), shaped like this (well this is embarrassing):
33283429```json
3530{