stacker.news/fragments/notifications.js

204 lines
3.8 KiB
JavaScript

import { gql } from '@apollo/client'
import { ITEM_FULL_FIELDS, POLL_FIELDS } from './items'
import { INVITE_FIELDS } from './invites'
import { SUB_FIELDS } from './subs'
import { INVOICE_FIELDS } from './wallet'
export const HAS_NOTIFICATIONS = gql`{ hasNewNotes }`
export const INVOICIFICATION = gql`
${ITEM_FULL_FIELDS}
${POLL_FIELDS}
${INVOICE_FIELDS}
fragment InvoicificationFields on Invoicification {
id
sortTime
invoice {
...InvoiceFields
item {
...ItemFullFields
...PollFields
}
itemAct {
id
act
invoice {
id
actionState
}
}
}
}`
export const NOTIFICATIONS = gql`
${INVOICIFICATION}
${INVITE_FIELDS}
${SUB_FIELDS}
query Notifications($cursor: String, $inc: String) {
notifications(cursor: $cursor, inc: $inc) {
cursor
lastChecked
notifications {
__typename
... on Mention {
id
sortTime
mention
item {
...ItemFullFields
text
}
}
... on ItemMention {
id
sortTime
item {
...ItemFullFields
text
}
}
... on Votification {
id
sortTime
earnedSats
item {
...ItemFullFields
text
}
}
... on Revenue {
id
sortTime
earnedSats
subName
}
... on ForwardedVotification {
id
sortTime
earnedSats
item {
...ItemFullFields
text
}
}
... on Streak {
id
sortTime
days
type
}
... on Earn {
id
sortTime
minSortTime
earnedSats
sources {
posts
comments
tipPosts
tipComments
}
}
... on ReferralReward {
id
sortTime
earnedSats
sources {
forever
oneDay
}
}
... on Referral {
id
sortTime
}
... on Reply {
id
sortTime
item {
...ItemFullFields
text
}
}
... on FollowActivity {
id
sortTime
item {
...ItemFullFields
text
}
}
... on TerritoryPost {
id
sortTime
item {
...ItemFullFields
text
}
}
... on TerritoryTransfer {
id
sortTime
sub {
...SubFields
}
}
... on Invitification {
id
sortTime
invite {
...InviteFields
}
}
... on JobChanged {
id
sortTime
item {
...ItemFields
}
}
... on SubStatus {
id
sortTime
sub {
...SubFields
}
}
... on InvoicePaid {
id
sortTime
earnedSats
invoice {
id
nostr
comment
lud18Data
actionType
forwardedSats
}
}
... on Invoicification {
...InvoicificationFields
}
... on WithdrawlPaid {
id
sortTime
earnedSats
withdrawl {
autoWithdraw
satsFeePaid
forwardedActionType
}
}
... on Reminder {
id
sortTime
item {
...ItemFullFields
}
}
}
}
} `