211 lines
4.7 KiB
JavaScript
211 lines
4.7 KiB
JavaScript
import { gql } from '@apollo/client'
|
|
import { COMMENTS, COMMENTS_ITEM_EXT_FIELDS } from './comments'
|
|
import { ITEM_FIELDS, ITEM_FULL_FIELDS } from './items'
|
|
|
|
export const ME = gql`
|
|
{
|
|
me {
|
|
id
|
|
name
|
|
streak
|
|
sats
|
|
stacked
|
|
freePosts
|
|
freeComments
|
|
tipDefault
|
|
turboTipping
|
|
fiatCurrency
|
|
bioId
|
|
upvotePopover
|
|
tipPopover
|
|
noteItemSats
|
|
noteEarning
|
|
noteAllDescendants
|
|
noteMentions
|
|
noteDeposits
|
|
noteInvites
|
|
noteJobIndicator
|
|
noteCowboyHat
|
|
hideInvoiceDesc
|
|
hideFromTopUsers
|
|
hideCowboyHat
|
|
wildWestMode
|
|
greeterMode
|
|
lastCheckedJobs
|
|
}
|
|
}`
|
|
|
|
export const SETTINGS_FIELDS = gql`
|
|
fragment SettingsFields on User {
|
|
tipDefault
|
|
turboTipping
|
|
fiatCurrency
|
|
noteItemSats
|
|
noteEarning
|
|
noteAllDescendants
|
|
noteMentions
|
|
noteDeposits
|
|
noteInvites
|
|
noteJobIndicator
|
|
noteCowboyHat
|
|
hideInvoiceDesc
|
|
hideFromTopUsers
|
|
hideCowboyHat
|
|
nostrPubkey
|
|
nostrRelays
|
|
wildWestMode
|
|
greeterMode
|
|
authMethods {
|
|
lightning
|
|
slashtags
|
|
nostr
|
|
github
|
|
twitter
|
|
email
|
|
}
|
|
}`
|
|
|
|
export const SETTINGS = gql`
|
|
${SETTINGS_FIELDS}
|
|
{
|
|
settings {
|
|
...SettingsFields
|
|
}
|
|
}`
|
|
|
|
export const SET_SETTINGS =
|
|
gql`
|
|
${SETTINGS_FIELDS}
|
|
mutation setSettings($tipDefault: Int!, $turboTipping: Boolean!, $fiatCurrency: String!, $noteItemSats: Boolean!,
|
|
$noteEarning: Boolean!, $noteAllDescendants: Boolean!, $noteMentions: Boolean!, $noteDeposits: Boolean!,
|
|
$noteInvites: Boolean!, $noteJobIndicator: Boolean!, $noteCowboyHat: Boolean!, $hideInvoiceDesc: Boolean!,
|
|
$hideFromTopUsers: Boolean!, $hideCowboyHat: Boolean!,
|
|
$wildWestMode: Boolean!, $greeterMode: Boolean!, $nostrPubkey: String, $nostrRelays: [String!]) {
|
|
setSettings(tipDefault: $tipDefault, turboTipping: $turboTipping, fiatCurrency: $fiatCurrency,
|
|
noteItemSats: $noteItemSats, noteEarning: $noteEarning, noteAllDescendants: $noteAllDescendants,
|
|
noteMentions: $noteMentions, noteDeposits: $noteDeposits, noteInvites: $noteInvites,
|
|
noteJobIndicator: $noteJobIndicator, noteCowboyHat: $noteCowboyHat, hideInvoiceDesc: $hideInvoiceDesc,
|
|
hideFromTopUsers: $hideFromTopUsers, hideCowboyHat: $hideCowboyHat,
|
|
wildWestMode: $wildWestMode, greeterMode: $greeterMode, nostrPubkey: $nostrPubkey, nostrRelays: $nostrRelays) {
|
|
...SettingsFields
|
|
}
|
|
}
|
|
`
|
|
|
|
export const NAME_QUERY =
|
|
gql`
|
|
query nameAvailable($name: String!) {
|
|
nameAvailable(name: $name)
|
|
}
|
|
`
|
|
|
|
export const NAME_MUTATION =
|
|
gql`
|
|
mutation setName($name: String!) {
|
|
setName(name: $name)
|
|
}
|
|
`
|
|
|
|
export const USER_SEARCH =
|
|
gql`
|
|
query searchUsers($q: String!, $limit: Int, $similarity: Float) {
|
|
searchUsers(q: $q, limit: $limit, similarity: $similarity) {
|
|
id
|
|
name
|
|
streak
|
|
hideCowboyHat
|
|
photoId
|
|
stacked
|
|
spent
|
|
ncomments
|
|
nposts
|
|
referrals
|
|
}
|
|
}`
|
|
|
|
export const USER_FIELDS = gql`
|
|
fragment UserFields on User {
|
|
id
|
|
name
|
|
streak
|
|
maxStreak
|
|
hideCowboyHat
|
|
nitems
|
|
stacked
|
|
since
|
|
photoId
|
|
}`
|
|
|
|
export const TOP_USERS = gql`
|
|
query TopUsers($cursor: String, $when: String, $by: String) {
|
|
topUsers(cursor: $cursor, when: $when, by: $by) {
|
|
users {
|
|
id
|
|
name
|
|
streak
|
|
hideCowboyHat
|
|
photoId
|
|
stacked(when: $when)
|
|
spent(when: $when)
|
|
ncomments(when: $when)
|
|
nposts(when: $when)
|
|
referrals(when: $when)
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const TOP_COWBOYS = gql`
|
|
query TopCowboys($cursor: String) {
|
|
topCowboys(cursor: $cursor) {
|
|
users {
|
|
id
|
|
name
|
|
streak
|
|
hideCowboyHat
|
|
photoId
|
|
stacked(when: "forever")
|
|
spent(when: "forever")
|
|
ncomments(when: "forever")
|
|
nposts(when: "forever")
|
|
referrals(when: "forever")
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const USER_FULL = gql`
|
|
${USER_FIELDS}
|
|
${ITEM_FULL_FIELDS}
|
|
${COMMENTS}
|
|
query User($name: String!, $sort: String) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
bio {
|
|
...ItemFullFields
|
|
comments(sort: $sort) {
|
|
...CommentsRecursive
|
|
}
|
|
}
|
|
}
|
|
}`
|
|
|
|
export const USER_WITH_ITEMS = gql`
|
|
${USER_FIELDS}
|
|
${ITEM_FIELDS}
|
|
${COMMENTS_ITEM_EXT_FIELDS}
|
|
query UserWithItems($name: String!, $sub: String, $cursor: String, $type: String, $when: String, $by: String, $limit: Int, $includeComments: Boolean = false) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
}
|
|
items(sub: $sub, sort: "user", cursor: $cursor, type: $type, name: $name, when: $when, by: $by, limit: $limit) {
|
|
cursor
|
|
items {
|
|
...ItemFields
|
|
...CommentItemExtFields @include(if: $includeComments)
|
|
}
|
|
}
|
|
}`
|