Fix mention-creation and implement mentions in notifications
parent
1a11c13fce
commit
ae522c86fe
|
@ -21,7 +21,7 @@ export function doPolyfill() {
|
|||
export async function post(
|
||||
store: RootStoreModel,
|
||||
text: string,
|
||||
replyTo?: Post.PostRef,
|
||||
replyTo?: Post.ReplyRef,
|
||||
knownHandles?: Set<string>,
|
||||
) {
|
||||
let reply
|
||||
|
@ -43,6 +43,14 @@ export async function post(
|
|||
}
|
||||
}
|
||||
const entities = extractEntities(text, knownHandles)
|
||||
if (entities) {
|
||||
for (const ent of entities) {
|
||||
if (ent.type === 'mention') {
|
||||
const prof = await store.profiles.getProfile(ent.value)
|
||||
ent.value = prof.data.did
|
||||
}
|
||||
}
|
||||
}
|
||||
return await store.api.app.bsky.feed.post.create(
|
||||
{did: store.me.did || ''},
|
||||
{
|
||||
|
|
|
@ -81,6 +81,10 @@ export class NotificationsViewItemModel implements GroupedNotification {
|
|||
return this.reason === 'trend'
|
||||
}
|
||||
|
||||
get isMention() {
|
||||
return this.reason === 'mention'
|
||||
}
|
||||
|
||||
get isReply() {
|
||||
return this.reason === 'reply'
|
||||
}
|
||||
|
@ -94,7 +98,13 @@ export class NotificationsViewItemModel implements GroupedNotification {
|
|||
}
|
||||
|
||||
get needsAdditionalData() {
|
||||
if (this.isUpvote || this.isRepost || this.isTrend || this.isReply) {
|
||||
if (
|
||||
this.isUpvote ||
|
||||
this.isRepost ||
|
||||
this.isTrend ||
|
||||
this.isReply ||
|
||||
this.isMention
|
||||
) {
|
||||
return !this.additionalPost
|
||||
}
|
||||
return false
|
||||
|
@ -124,7 +134,7 @@ export class NotificationsViewItemModel implements GroupedNotification {
|
|||
return
|
||||
}
|
||||
let postUri
|
||||
if (this.isReply) {
|
||||
if (this.isReply || this.isMention) {
|
||||
postUri = this.uri
|
||||
} else if (this.isUpvote || this.isRead || this.isTrend) {
|
||||
postUri = this.subjectUri
|
||||
|
|
|
@ -48,7 +48,7 @@ export const FeedItem = observer(function FeedItem({
|
|||
return <View />
|
||||
}
|
||||
|
||||
if (item.isReply) {
|
||||
if (item.isReply || item.isMention) {
|
||||
return (
|
||||
<Link href={itemHref} title={itemTitle}>
|
||||
<Post
|
||||
|
|
Loading…
Reference in New Issue