3da395a792
* multiple forwards on a post first phase of the multi-forward support * update the graphql mutation for discussion posts to accept and validate multiple forwards * update the discussion form to allow multiple forwards in the UI * start working on db schema changes * uncomment db schema, add migration to create the new model, and update create_item, update_item stored procedures * Propagate updates from discussion to poll, link, and bounty forms Update the create, update poll sql functions for multi forward support * Update gql, typedefs, and resolver to return forwarded users in items responses * UI changes to show multiple forward recipients, and conditional upvote logic changes * Update notification text to reflect multiple forwards upon vote action * Disallow duplicate stacker entries * reduce duplication in populating adv-post-form initial values * Update item_act sql function to implement multi-way forwarding * Update referral functions to scale referral bonuses for forwarded users * Update notification text to reflect non-100% forwarded sats cases * Update wallet history sql queries to accommodate multi-forward use cases * Block zaps for posts you are forwarded zaps at the API layer, in addition to in the UI * Delete fwdUserId column from Item table as part of migration * Fix how we calculate stacked sats after partial forwards in wallet history * Exclude entries from wallet history that are 0 stacked sats from posts with 100% forwarded to other users * Fix wallet history query for forwarded stacked sats to be scaled by the fwd pct * Reduce duplication in adv post form, and do some style tweaks for better layout * Use MAX_FORWARDS constants * Address various PR feedback * first enhancement pass * enhancement pass too --------- Co-authored-by: keyan <keyan.kousha+huumn@gmail.com> Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
// XXX this is temporary until we have so many subs they have
|
|
// to be loaded from the server
|
|
const SUBS = ['bitcoin', 'nostr', 'tech', 'meta', 'jobs']
|
|
const SUBS_NO_JOBS = SUBS.filter(s => s !== 'jobs')
|
|
|
|
module.exports = {
|
|
NOFOLLOW_LIMIT: 100,
|
|
BOOST_MIN: 5000,
|
|
UPLOAD_SIZE_MAX: 2 * 1024 * 1024,
|
|
IMAGE_PIXELS_MAX: 35000000,
|
|
UPLOAD_TYPES_ALLOW: [
|
|
'image/gif',
|
|
'image/heic',
|
|
'image/png',
|
|
'image/jpeg',
|
|
'image/webp'
|
|
],
|
|
COMMENT_DEPTH_LIMIT: 10,
|
|
MAX_TITLE_LENGTH: 80,
|
|
MAX_POLL_CHOICE_LENGTH: 30,
|
|
ITEM_SPAM_INTERVAL: '10m',
|
|
ANON_ITEM_SPAM_INTERVAL: '0',
|
|
INV_PENDING_LIMIT: 10,
|
|
BALANCE_LIMIT_MSATS: 1000000000, // 1m sats
|
|
ANON_INV_PENDING_LIMIT: 100,
|
|
ANON_BALANCE_LIMIT_MSATS: 0, // disable
|
|
MAX_POLL_NUM_CHOICES: 10,
|
|
MIN_POLL_NUM_CHOICES: 2,
|
|
ITEM_FILTER_THRESHOLD: 1.2,
|
|
DONT_LIKE_THIS_COST: 1,
|
|
COMMENT_TYPE_QUERY: ['comments', 'freebies', 'outlawed', 'borderland', 'all', 'bookmarks'],
|
|
SUBS,
|
|
SUBS_NO_JOBS,
|
|
USER_SORTS: ['stacked', 'spent', 'comments', 'posts', 'referrals'],
|
|
ITEM_SORTS: ['votes', 'comments', 'sats'],
|
|
WHENS: ['day', 'week', 'month', 'year', 'forever'],
|
|
ITEM_TYPES: context => {
|
|
const items = ['all', 'posts', 'comments', 'bounties', 'links', 'discussions', 'polls']
|
|
if (!context) {
|
|
items.push('bios', 'jobs')
|
|
}
|
|
items.push('freebies')
|
|
if (context === 'user') {
|
|
items.push('jobs', 'bookmarks')
|
|
}
|
|
return items
|
|
},
|
|
OLD_ITEM_DAYS: 3,
|
|
ANON_USER_ID: 27,
|
|
AD_USER_ID: 9,
|
|
ANON_POST_FEE: 1000,
|
|
ANON_COMMENT_FEE: 100,
|
|
SSR: typeof window === 'undefined',
|
|
MAX_FORWARDS: 5
|
|
}
|