* Wallet flow * Prepopulate fields of complementary protocol * Remove TODO about one mutation for save We need to save protocols in separate mutations so we can use the wallet id returned by the first protocol save for the following protocol saves and save them all to the same wallet. * Fix badges not updated on wallet delete * Fix useProtocol call * Fix lightning address save via prompt * Don't pass share as attribute to DOM * Fix useCallback dependency * Progress numbers as SVGs * Fix progress line margins * Remove unused saveWallet arguments * Update cache with settings response * Fix line does not connect with number 1 * Don't reuse page nav arrows in form nav * Fix missing SVG hover style * Fix missing space in wallet save log message * Reuse CSS from nav.module.css * align buttons and their icons/text * center form progress line * increase top padding of form on smaller screens * provide margin above button bar on settings form --------- Co-authored-by: k00b <k00b@stacker.news>
397 lines
8.0 KiB
JavaScript
397 lines
8.0 KiB
JavaScript
import { gql } from '@apollo/client'
|
|
import { COMMENTS, COMMENTS_ITEM_EXT_FIELDS } from './comments'
|
|
import { ITEM_FIELDS, ITEM_FULL_FIELDS } from './items'
|
|
import { SUB_FULL_FIELDS } from './subs'
|
|
|
|
export const STREAK_FIELDS = gql`
|
|
fragment StreakFields on User {
|
|
optional {
|
|
streak
|
|
hasSendWallet
|
|
hasRecvWallet
|
|
}
|
|
}
|
|
`
|
|
|
|
export const ME = gql`
|
|
${STREAK_FIELDS}
|
|
{
|
|
me {
|
|
id
|
|
name
|
|
bioId
|
|
photoId
|
|
privates {
|
|
autoDropBolt11s
|
|
noReferralLinks
|
|
fiatCurrency
|
|
withdrawMaxFeeDefault
|
|
satsFilter
|
|
hideFromTopUsers
|
|
hideWalletBalance
|
|
hideWelcomeBanner
|
|
hideWalletRecvPrompt
|
|
imgproxyOnly
|
|
showImagesAndVideos
|
|
nostrCrossposting
|
|
nsfwMode
|
|
sats
|
|
credits
|
|
tipDefault
|
|
tipRandom
|
|
tipRandomMin
|
|
tipRandomMax
|
|
tipPopover
|
|
turboTipping
|
|
zapUndos
|
|
upvotePopover
|
|
wildWestMode
|
|
disableFreebies
|
|
vaultKeyHash
|
|
vaultKeyHashUpdatedAt
|
|
walletsUpdatedAt
|
|
showPassphrase
|
|
diagnostics
|
|
}
|
|
optional {
|
|
isContributor
|
|
stacked
|
|
}
|
|
...StreakFields
|
|
}
|
|
}`
|
|
|
|
export const SETTINGS_FIELDS = gql`
|
|
fragment SettingsFields on User {
|
|
privates {
|
|
tipDefault
|
|
tipRandom
|
|
tipRandomMin
|
|
tipRandomMax
|
|
turboTipping
|
|
zapUndos
|
|
fiatCurrency
|
|
withdrawMaxFeeDefault
|
|
noteItemSats
|
|
noteEarning
|
|
noteAllDescendants
|
|
noteMentions
|
|
noteItemMentions
|
|
noteDeposits
|
|
noteWithdrawals
|
|
noteInvites
|
|
noteJobIndicator
|
|
noteCowboyHat
|
|
noteForwardedSats
|
|
hideInvoiceDesc
|
|
autoDropBolt11s
|
|
hideFromTopUsers
|
|
hideCowboyHat
|
|
hideBookmarks
|
|
hideGithub
|
|
hideNostr
|
|
hideTwitter
|
|
hideIsContributor
|
|
imgproxyOnly
|
|
showImagesAndVideos
|
|
hideWalletBalance
|
|
noReferralLinks
|
|
nostrPubkey
|
|
nostrCrossposting
|
|
nostrRelays
|
|
wildWestMode
|
|
satsFilter
|
|
disableFreebies
|
|
nsfwMode
|
|
authMethods {
|
|
lightning
|
|
nostr
|
|
github
|
|
twitter
|
|
email
|
|
apiKey
|
|
}
|
|
apiKeyEnabled
|
|
}
|
|
}`
|
|
|
|
export const SETTINGS = gql`
|
|
${SETTINGS_FIELDS}
|
|
query Settings {
|
|
settings {
|
|
...SettingsFields
|
|
}
|
|
}`
|
|
|
|
export const SET_SETTINGS = gql`
|
|
${SETTINGS_FIELDS}
|
|
mutation setSettings($settings: SettingsInput!) {
|
|
setSettings(settings: $settings) {
|
|
...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_SUGGESTIONS = gql`
|
|
query userSuggestions($q: String!, $limit: Limit) {
|
|
userSuggestions(q: $q, limit: $limit) {
|
|
name
|
|
}
|
|
}`
|
|
|
|
export const HIDE_WALLET_RECV_PROMPT_MUTATION = gql`
|
|
mutation hideWalletRecvPrompt {
|
|
hideWalletRecvPrompt
|
|
}`
|
|
|
|
export const USER_SEARCH = gql`
|
|
${STREAK_FIELDS}
|
|
query searchUsers($q: String!, $limit: Limit, $similarity: Float) {
|
|
searchUsers(q: $q, limit: $limit, similarity: $similarity) {
|
|
id
|
|
name
|
|
photoId
|
|
ncomments
|
|
nposts
|
|
|
|
optional {
|
|
stacked
|
|
spent
|
|
referrals
|
|
}
|
|
...StreakFields
|
|
}
|
|
}`
|
|
|
|
export const USER_FIELDS = gql`
|
|
${STREAK_FIELDS}
|
|
fragment UserFields on User {
|
|
id
|
|
name
|
|
since
|
|
photoId
|
|
nitems
|
|
nterritories
|
|
meSubscriptionPosts
|
|
meSubscriptionComments
|
|
meMute
|
|
|
|
optional {
|
|
stacked
|
|
maxStreak
|
|
isContributor
|
|
githubId
|
|
nostrAuthPubkey
|
|
twitterId
|
|
}
|
|
...StreakFields
|
|
}`
|
|
|
|
export const MY_MUTED_USERS = gql`
|
|
${STREAK_FIELDS}
|
|
query MyMutedUsers($cursor: String) {
|
|
myMutedUsers(cursor: $cursor) {
|
|
users {
|
|
id
|
|
name
|
|
photoId
|
|
meSubscriptionPosts
|
|
meSubscriptionComments
|
|
meMute
|
|
...StreakFields
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const TOP_USERS = gql`
|
|
${STREAK_FIELDS}
|
|
query TopUsers($cursor: String, $when: String, $from: String, $to: String, $by: String, ) {
|
|
topUsers(cursor: $cursor, when: $when, from: $from, to: $to, by: $by) {
|
|
users {
|
|
id
|
|
name
|
|
photoId
|
|
ncomments(when: $when, from: $from, to: $to)
|
|
nposts(when: $when, from: $from, to: $to)
|
|
proportion
|
|
optional {
|
|
stacked(when: $when, from: $from, to: $to)
|
|
spent(when: $when, from: $from, to: $to)
|
|
referrals(when: $when, from: $from, to: $to)
|
|
}
|
|
...StreakFields
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const TOP_COWBOYS = gql`
|
|
${STREAK_FIELDS}
|
|
query TopCowboys($cursor: String) {
|
|
topCowboys(cursor: $cursor) {
|
|
users {
|
|
id
|
|
name
|
|
photoId
|
|
ncomments(when: "forever")
|
|
nposts(when: "forever")
|
|
|
|
optional {
|
|
stacked(when: "forever")
|
|
spent(when: "forever")
|
|
referrals(when: "forever")
|
|
}
|
|
...StreakFields
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const USER_FULL = gql`
|
|
${USER_FIELDS}
|
|
${ITEM_FULL_FIELDS}
|
|
${COMMENTS}
|
|
query User($name: String!, $sort: String, $cursor: String) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
bio {
|
|
...ItemFullFields
|
|
comments(sort: $sort, cursor: $cursor) {
|
|
cursor
|
|
comments {
|
|
...CommentsRecursive
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}`
|
|
|
|
export const USER = gql`
|
|
${USER_FIELDS}
|
|
query User($id: ID, $name: String) {
|
|
user(id: $id, 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, $from: String, $to: String, $by: String, $limit: Limit, $includeComments: Boolean = false) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
}
|
|
items(sub: $sub, sort: "user", cursor: $cursor, type: $type, name: $name, when: $when, from: $from, to: $to, by: $by, limit: $limit) {
|
|
cursor
|
|
items {
|
|
...ItemFields
|
|
...CommentItemExtFields @include(if: $includeComments)
|
|
}
|
|
}
|
|
}`
|
|
|
|
export const USER_WITH_SUBS = gql`
|
|
${USER_FIELDS}
|
|
${SUB_FULL_FIELDS}
|
|
query UserWithSubs($name: String!, $cursor: String, $type: String, $when: String, $from: String, $to: String, $by: String) {
|
|
user(name: $name) {
|
|
...UserFields
|
|
}
|
|
userSubs(name: $name, cursor: $cursor) {
|
|
cursor
|
|
subs {
|
|
...SubFullFields
|
|
ncomments(when: "forever")
|
|
nposts(when: "forever")
|
|
|
|
optional {
|
|
stacked(when: "forever")
|
|
spent(when: "forever")
|
|
revenue(when: "forever")
|
|
}
|
|
}
|
|
}
|
|
}`
|
|
|
|
export const USER_STATS = gql`
|
|
query UserStats($when: String, $from: String, $to: String) {
|
|
userStatsActions(when: $when, from: $from, to: $to) {
|
|
time
|
|
data {
|
|
name
|
|
value
|
|
}
|
|
}
|
|
userStatsIncomingSats(when: $when, from: $from, to: $to) {
|
|
time
|
|
data {
|
|
name
|
|
value
|
|
}
|
|
}
|
|
userStatsOutgoingSats(when: $when, from: $from, to: $to) {
|
|
time
|
|
data {
|
|
name
|
|
value
|
|
}
|
|
}
|
|
}`
|
|
|
|
export const MY_SUBSCRIBED_USERS = gql`
|
|
${STREAK_FIELDS}
|
|
query MySubscribedUsers($cursor: String) {
|
|
mySubscribedUsers(cursor: $cursor) {
|
|
users {
|
|
id
|
|
name
|
|
photoId
|
|
meSubscriptionPosts
|
|
meSubscriptionComments
|
|
meMute
|
|
...StreakFields
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const MY_SUBSCRIBED_SUBS = gql`
|
|
${SUB_FULL_FIELDS}
|
|
query MySubscribedSubs($cursor: String) {
|
|
mySubscribedSubs(cursor: $cursor) {
|
|
subs {
|
|
...SubFullFields
|
|
}
|
|
cursor
|
|
}
|
|
}
|
|
`
|
|
|
|
export const SET_DIAGNOSTICS = gql`
|
|
mutation setDiagnostics($diagnostics: Boolean!) {
|
|
setDiagnostics(diagnostics: $diagnostics)
|
|
}
|
|
`
|