Implement thread locking (#4545)
* Add the ability to edit threadgates * Fix bottom border on mobile * Refresh thread after threadgate edit
This commit is contained in:
parent
4165a02b2d
commit
d6ce16d15a
8 changed files with 222 additions and 111 deletions
|
@ -32,6 +32,8 @@ export type TrackPropertiesMap = {
|
|||
'Post:ThreadMute': {} // CAN BE SERVER
|
||||
'Post:ThreadUnmute': {} // CAN BE SERVER
|
||||
'Post:Reply': {} // CAN BE SERVER
|
||||
'Post:EditThreadgateOpened': {}
|
||||
'Post:ThreadgateEdited': {}
|
||||
// PROFILE events
|
||||
'Profile:Follow': {
|
||||
username: string
|
||||
|
|
|
@ -270,7 +270,7 @@ export async function post(agent: BskyAgent, opts: PostOpts) {
|
|||
return res
|
||||
}
|
||||
|
||||
async function createThreadgate(
|
||||
export async function createThreadgate(
|
||||
agent: BskyAgent,
|
||||
postUri: string,
|
||||
threadgate: ThreadgateSetting[],
|
||||
|
@ -296,10 +296,17 @@ async function createThreadgate(
|
|||
}
|
||||
|
||||
const postUrip = new AtUri(postUri)
|
||||
await agent.api.app.bsky.feed.threadgate.create(
|
||||
{repo: agent.session!.did, rkey: postUrip.rkey},
|
||||
{post: postUri, createdAt: new Date().toISOString(), allow},
|
||||
)
|
||||
await agent.api.com.atproto.repo.putRecord({
|
||||
repo: agent.session!.did,
|
||||
collection: 'app.bsky.feed.threadgate',
|
||||
rkey: postUrip.rkey,
|
||||
record: {
|
||||
$type: 'app.bsky.feed.threadgate',
|
||||
post: postUri,
|
||||
allow,
|
||||
createdAt: new Date().toISOString(),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// helpers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue