Fix mention-creation and implement mentions in notifications

zio/stable
Paul Frazee 2022-12-06 13:47:52 -06:00
parent 1a11c13fce
commit ae522c86fe
3 changed files with 22 additions and 4 deletions

View File

@ -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 || ''},
{

View File

@ -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

View File

@ -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