* initial commit: based on group-tracking-modal branch
* chore: merge group-tracking-modal
* update: create functions for each success condition
* chore: merge develop
* chore: work on successModal.vue & remove redundant code on groupPlan.vue
* update: remove `giftSubscriptionText4` from footer
* fix: correct groupPlan.vue file
* update: add messaging placeholder, clean up logic in a few places, update/add strings
* update: rearrange modal in order of display & test existence of 'gift-subscription' paymentType
* update: added props for receiverName so 'gift-subscription' works
* update: add close.svg & function
style: refactor CSS
* update: work on gift messaging
* update: work on gift messaging
* update: work on gift messaging
* update: let's make messages GO
* update: messages are a GO, we have LIFT OFF!
* fix: remove console log (oops)
Co-authored-by: SabreCat <sabe@habitica.com>
* update selectUserModal.vue
* more updates to selectUserModal.vue, typo fix in subscriber.json
* remove exact sizing for selectUserModal.vue
* update to size for selectUserModal.vue
* added sendGiftModal.vue file
* updates to selectUser & sendGift modals
* making the modals go & position cursor
* working working working
* added a return to method
* avatar display & placeholder profile.name and username
* subscription-options added
* added menu row & started on gem options
* Added selectPage function, have not tested.
* updated habitica-images
* state changes
* bringing in gem counter
* arranging elements
* state changes, gem input boxes
* styling sendGiftModal.vue
* more sendGiftModal.vue styling and new close.svg icon
* more styling!
* and more styling of send own gems part of page
* images update
* more styling of own gems & some attempts to adjust :class on the menu
* styling styling styling
* replace +/- svg, styling
* styling, mostly
* new SVGs
* stylin'
* reverting svg changes
* no more stylin'
* finally got the +/- icons to show up...but they're the wrong color
* solved svg icon color problem! :)
* habitica-images
* working on sendGift part of button
* trying to make it do math, failing
* more attempts at math
* +/- buttons work on gem pages & cost calculation on buyGems
* trying to get hover colors working on +/- svgs
* formatted dollar amount as currency
* css/html for subscription-options & payments-buttons simplified
* swag at payments-buttons parameter (not tested)
* send gems from own balance works!
* working on starting page
* increment gem amount limited to maxGems and not < 0
* uncommented onHide()
* got bg color on sub options to work! yay!
* payment buttons!
* making g1g1 look good
* position modal on page properly & code clean-up
* Changes as requested!
* small color update
* fixed ternary function
* chore(html): indentation and comments
* fix(fn): correct catch for under-0
* chore(json): whitespace
* update gem styling; add linebreak to notifications.vue bc linter
* updating subscriptionOptions
* snackbar css fix
* reverting commit e16c12f
* removing merge conflict markers
* just a little comment
* fixed some navigation, clear input field on selectPage, cleaned up code; another try at subscriptionOption.vue
* merge upstream/develop
* update selectPage() to disable Gems menu items when on 'ownGems' or 'buyGems' states
* working on subscriptionOptions.vue logic
* fix(script): changed props & added updateSubscriptionData()
* fix(script): forgot to call updateSubscriptionData()
* fix(scripts): corrected :userReceivingGift on sendGiftModal.vue
* fix(scripts): correct props userReceivingGift to an Object
* fix(scripts): corrected v-if & revised props
* fix(style/html/whitespace): updated css for close.svg and added missing </div>
* style(radio-buttons): updated focus states and added hover states
* style(radio-buttons): refined focus and hover states
* fix(function): changed buyGemsLink to buyGems; still working on menu
* style(radio buttons): ensured consistent display of radio buttons through-out site; still struggling with hover states
* style(radio buttons): updated focus/active/hover to match design & removed unnecessary code
* fix: set default subscription option to 1 month
* fix(function): add default amounts to gem states when modal selected from user profile
* fix(build): use develop package json
* fix: SCSS commenting & abstracted setGemsDefault()
* fix(packages): revert to develop
* fix: remove unnecessary console.log statement
Co-authored-by: SabreCat <sabe@habitica.com>
* upgrade stripe module
* switch stripe api to latest version
* fix api version in tests
* start upgrading client and server
* client: switch to redirect
* implement checkout session creation for gems, start implementing webhooks
* stripe: start refactoring one time payments
* working gems and gift payments
* start adding support for subscriptions
* stripe: migrate subscriptions and fix cancelling sub
* allow upgrading group plans
* remove console.log statements
* group plans: upgrade from static page / create new one
* fix#11885, correct group plan modal title
* silence more stripe webhooks
* fix group plans redirects
* implement editing payment method
* start cleaning up code
* fix(stripe): update in-code docs, fix eslint issues
* subscriptions tests
* remove and skip old tests
* skip integration tests
* fix client build
* stripe webhooks: throw error if request fails
* subscriptions: correctly pass groupId
* remove console.log
* stripe: add unit tests for one time payments
* wip: stripe checkout tests
* stripe createCheckoutSession unit tests
* stripe createCheckoutSession unit tests
* stripe createCheckoutSession unit tests (editing card)
* fix existing webhooks tests
* add new webhooks tests
* add more webhooks tests
* fix lint
* stripe integration tests
* better error handling when retrieving customer from stripe
* client: remove unused strings and improve error handling
* payments: limit gift message length (server)
* payments: limit gift message length (client)
* fix redirects when payment is cancelled
* add back "subUpdateCard" string
* fix redirects when editing a sub card, use proper names for products, check subs when gifting
* content: add gems blocks
* gemsBlocks: include ios and android identifiers
* wip: promo code
* split common constants into multiple files
* add second promo part
* geCurrentEvent, refactor promo
* fix lint
* fix exports, use world state api
* start adding world state tests
* remove console.log
* use gems block for purchases
* remove comments
* fix most unit tests
* restore comment
* fix lint
* prevent apple/google gift tests from breaking other tests when stub is not reset
* fix unit tests, clarify tests names
* iap: use gift object when gifting gems
* allow gift object with less data
* fix iap tests, remove findById stubs
* iap: require less data from the mobile apps
* apply discounts
* add missing worldState file
* fix lint
* add test event
* start removing 20 gems option for web
* start adding support for all gems packages on web
* fix unit tests for apple, stripe and google
* amazon: support all gems blocks
* paypal: support all gems blocks
* fix payments unit tests, add tests for getGemsBlock
* web: add gems plans with discounts, update stripe
* fix amazon and paypal clients, payments success modals
* amazon pay: disabled state
* update icons, start abstracting payments buttons
* begin redesign
* redesign gems modal
* fix buttons
* fix hover color for gems modal close icon
* add key to world state current event
* extend test event length
* implement gems modals designs
* early test fall2020
* fix header banner position
* add missing files
* use iso 8601 for dates, minor ui fixes
* fix time zones
* events: fix ISO8601 format
* fix css indentation
* start abstracting banners
* refactor payments buttons
* test spooky, fix group plans box
* implement gems promo banners, refactor banners, fixes
* fix lint
* fix dates
* remove unused i18n strings
* fix stripe integration test
* fix world state integration tests
* the current active event
* add missing unit tests
* add storybook story for payments buttons component
* fix typo
* fix(stripe): correct label when gifting subscriptions
* Change where members info is retrieved in Group component.
In Group component, changes the place where members data is retrieved from the load function originally to within the watch group function, so that when group data has changed, the code will update the corresponding members data as well.
* Moving the code for loading members data from watcher to inside fetchGuilds function
* Complying with lint
Co-authored-by: kazekunGb <eynsan@yahoo.co.uk>
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>