3a7c3f7af2
* Add diagnostics settings & endpoint Stackers can now help us to identify and fix bugs by enabling diagnostics. This will send anonymized data to us. For now, this is only used to send events around push notifications. * Send diagnostics to slack * Detect OS * Diagnostics data is only pseudonymous, not anonymous It's only pseudonymous since with additional knowledge (which stacker uses which fancy name), we could trace the events back to individual stackers. Data is only anonymous if this is not possible - it must be irreversible. * Check if window.navigator is defined * Use Slack SDK * Catch errors of slack requests --------- Co-authored-by: ekzyis <ek@stacker.news> Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
243 lines
5.6 KiB
JavaScript
243 lines
5.6 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
|
|
noteForwardedSats
|
|
hideInvoiceDesc
|
|
hideFromTopUsers
|
|
hideCowboyHat
|
|
clickToLoadImg
|
|
diagnostics
|
|
wildWestMode
|
|
greeterMode
|
|
lastCheckedJobs
|
|
hideWelcomeBanner
|
|
hideWalletBalance
|
|
isContributor
|
|
hideIsContributor
|
|
}
|
|
}`
|
|
|
|
export const SETTINGS_FIELDS = gql`
|
|
fragment SettingsFields on User {
|
|
tipDefault
|
|
turboTipping
|
|
fiatCurrency
|
|
noteItemSats
|
|
noteEarning
|
|
noteAllDescendants
|
|
noteMentions
|
|
noteDeposits
|
|
noteInvites
|
|
noteJobIndicator
|
|
noteCowboyHat
|
|
noteForwardedSats
|
|
hideInvoiceDesc
|
|
hideFromTopUsers
|
|
hideCowboyHat
|
|
hideBookmarks
|
|
hideIsContributor
|
|
clickToLoadImg
|
|
hideWalletBalance
|
|
diagnostics
|
|
nostrPubkey
|
|
nostrRelays
|
|
wildWestMode
|
|
greeterMode
|
|
authMethods {
|
|
lightning
|
|
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!, $clickToLoadImg: Boolean!,
|
|
$wildWestMode: Boolean!, $greeterMode: Boolean!, $nostrPubkey: String, $nostrRelays: [String!], $hideBookmarks: Boolean!,
|
|
$noteForwardedSats: Boolean!, $hideWalletBalance: Boolean!, $hideIsContributor: Boolean!, $diagnostics: Boolean!) {
|
|
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, clickToLoadImg: $clickToLoadImg,
|
|
wildWestMode: $wildWestMode, greeterMode: $greeterMode, nostrPubkey: $nostrPubkey, nostrRelays: $nostrRelays, hideBookmarks: $hideBookmarks,
|
|
noteForwardedSats: $noteForwardedSats, hideWalletBalance: $hideWalletBalance, hideIsContributor: $hideIsContributor, diagnostics: $diagnostics) {
|
|
...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 WELCOME_BANNER_MUTATION =
|
|
gql`
|
|
mutation hideWelcomeBanner {
|
|
hideWelcomeBanner
|
|
}
|
|
`
|
|
|
|
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
|
|
isContributor
|
|
meSubscriptionPosts
|
|
meSubscriptionComments
|
|
}`
|
|
|
|
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 = gql`
|
|
${USER_FIELDS}
|
|
query User($name: String!) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
}
|
|
}`
|
|
|
|
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)
|
|
}
|
|
}
|
|
}`
|