* log armoire, quoest response and cron events to history
* show user history in admin panel
* allow stats to be edited from admin panel
* Improve admin panel stats input
* improve setting client in history
* fix tests
* fix lint
* fix armoire buying issue
* Improve hero saving
* Formatting fix
* Improve user history logging
* allow class to be changed from admin panel
* make terminating subscriptions easier
* support decimal extraMonths
* Fix editing some achievements in admin panel
* log if a user invites party to quest
* Log more quest events into user history
* make userhistory length configurable
* fix some numbered achievements
* fix extraMonths field
* Automatically set up group plan subs with admin panel
* show party info nicer in admin panel
* improve admin panel sub handling
* add missing brace
* display when there are unsaved changes
* fix setting group plan
* fix showing group id
* Display group plan info in admin panel
* fix setting hourglass promo date
* Improve termination handling in admin panel
* reload data after certain save events in admin panel
* remove console
* fix plan.extraMonths not being reset if terminating a sub
* add more options when cancelling subs
* reload data after group plan change
* Add a way to remove users from a party
* fix issue with removing user from party
* pass party id correctly
* correctly call async function
* Improve sub display in admin panel
* fix line length
* fix line
* shorter
* plaid
* fix(lint): vue code style
---------
Co-authored-by: Kalista Payne <sabrecat@gmail.com>
* feat(subscriptions): pre rollout announcement
* fix(faq): more h4 and p, less ul li
* fix(faq): a little less purple
* fix(subs): update change preview date
* 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>
* 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
Co-authored-by: SabreCat <sabe@habitica.com>
* Show "Next Hourglass" Month
* fix lint
* lint,
* lint
* lint..
* linting bad
* ui fixes
* remove additional margin
* show next hourglass date to debug further
* WIP tests - maybe broken logic
* flex:1 doesn't work - so stats columns now at 33% width
* fix(cron): lint and short circuit
* refactor logic
* update test dates using timezone
* also check for the timezone date
* fix timezone for tests
* fixing the test dates?
* fixing the test dates?
* change nextHourglass logic + update gem cap label / value
* fix lint
* dont add gemsBought to it
* remove tooltip
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
* Update title for tabs not including challenges, guild and team
* add section titles to challenges, guilds, and groups
* Update dynamic title to use vuex action
* Remove duplicate key
* Actually remove duplicate key
* Fix section sub section in group
* Add note to implement setTitle when adding a page
* Add missing sections to dynamic title
* Features string not translated
* Use onGroupUpdate to update group titles
* Add watcher to challenges for dynamic title updates
* Small fixes
* Add register and login to title, remove duplicate keys
* Add home page dynamic title functionality
* Minor name changes
* remove wrong i18n strings from front.js
* refactor router note
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
* 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>