* Refactor initializeArticleReactions.js
- Refactors file according to eslint rules
- Add showModal and sendHapticMessage to globals
in eslintrc.js
- Shorten initializeArticleReactions() by distributing
parts of it into jumpToComments() and requestReactionCounts()
- requestReactionCounts() makes an ajax request to get the
reaction counts
- jumpToComments() jumps to comments element directly if the
element jump-to-comments is present
* Fix reactionOnClick function to work correctly
- Move sendHapticMessage and showModal global declaration to file
- name function on reaction button on click as addReactionOnClick
which then calls reactToArticle()
Tags scss needed to be more cohesive with the entire DEV aeshetic, so I made the following changes:
* Decreased the margin between the `tag-edit-container` and `tag-edit-tag areas`.
* Added vertical margins to `tag-form-field` so that elements have a breathing room between them.
* Increased the width of `tag-form-text-field` so that it's a bit easier to read, and changed its resizing mode to be vertical ONLY. Resizing a textarea should feel easy.
* When clicking on a text field, the class `focus-visible` becomes active - The border color now becomes black.
* Button `tag-edit-submit` was looking very unfamiliar with all other buttons. I didn't want it to be lonely, so I gave it attributes to match the 'WRITE A POST' CTA button.
* `tag-edit-flash-error` will show background $red instead of the hardcoded hex value (#ff0000).
Modify tags/edit.html.erb
* The top area now shows a '#' sign next to the tag show section, e.g. '#beginner is the name of the tag used in Markdown.'
* The order for text edit fields is now Summary, Wiki Markdown, Rules Markdown. The reason for this is that the Rules Markdown area feels like it's optional - Not every tag will have submission guidelines or specific rules.
* Text area descriptions have changed a bit to try represent what they do better.
Fix: import variables & mixin, refactor tag-edit
* Add initial functionality for Stackbit on integrations settings tab
* Add test for stackbit integration
* Adjust test
* switch check from grants to tokens
* Add ProMembership model
* Implement ProMembershipsController#create
* Implement basic ProMembershipsController#show
* Add ProMembership to ledger
* Populate user history after pro subscription is created
* Add fields for expiration notifications
* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships
* Add tasks for recurring jobs to notify users of expiration
* Add auto_recharge column to ProMembership
* Add ProMemberships::Biller (incomplete)
* Fix specs
* Add ProMembership to Administrate
* Fix spec
* Add has_enough_credits? to User and Organization
* Add Payments::Customer class
* Finish ProMembership::Biller functionality
* Fix ProMemberships::Creator check for credits
* Disable destroy actions for ProMembershipsController
* Correctly authenticate ProMembershipsController actions
* Make sure only pro user's history can be indexed
* Add ProMembershipsController#update action for auto recharge
* Use regular AR to save new credits and add touch to the purchaser
* Clarify Pro membership create policy
* Display information about an existing pro membership
* Add UI to show page
* Add system test for Pro membership creation
* Implement edit membership
* Make sure users with pro memberships can access history and dashboard pro
* Fix padding issue
* Show a different text for a user that has credits but not enough for Pro
* Move Pro Membership functionality inside settings
* Update Pro Membership link in email notifications
* Bust all relevant caches
* Add the Pro checkmark around the website
* Use Users::ResaveArticlesJob instead of delay
* Add/remove user from pro-members chat channel
* Use the appropriate Pro checkmark
* Remove unfinished pro elements
* Remove checkmark JS
* Increase efficiency and fix pagination offset issue
Right now we filter recently aggregated notifications at runtime, which worked before when there was no pagination, but now filtering is not a good idea combined with offset pagination because it throws off the calculations.
The filtering should be done in the SQL query before paginating, which is what we've switched to. I added a bunch of scopes to make the code clearer as well.
To avoid nesting tags I've also updated the HTML and the JS logic to insert it in the right place.
* Add explanation for hiding the load more button for new users
* Use offset instead of page and explain things
* Make load more button work
* Add tests for admin view
* Restore the previous logged out behavior
* Modernize initNotifications.js
* Revert "Modernize initNotifications.js"
This reverts commit 4a112b797d7911c4ab63ad0c0a07111b4e7abe25.
* Fix elements presence errors
* Change load-more-button to only appear if 7 or more posts (and some notification copy adjustments)
* Hide scrollbars
There is no need for scrollbars in the textarea given the scrollbar at the edge of the browser and that `preact-textarea-autosize` used for the textarea already increases the height of the textarea when needed. Getting rid of scrollbars would solve #2939 and #3330
* add documentation
* wip init handle draft class and styling
* add draft button
* start splitting up listing row into multile files
* separate tag links
* split location
* fix location
* separate listing row action buttons
* update listing row proptypes to describe listing object
* contact via connect to jsx
* fix default checked
* init draft creation and first publish charge
* fix first publish logic and credit charging
* handle drafts in dashboard filtering
* adjust isDraft bool statement
* hide drafts from main listings feed
* fix expired and draft bools in listing row
* adjust create listing org credits
* internally handle drafts
* adjust listing row
* break down update method
* remove unnecessary logic and shorten lines
* fix logic again woops
* convert input hidden value + submit into one form button submit with corresponding name and value
also adds clear message that drafts do not cost credits
* handle insufficient org credits on first publish
- uses user credits to publish
- similar to bump implementation
* fix sorting for personal and all orgs
* space out some elements
* don't spend original users credit for them
* add delete buttons and delete_confirm and destroy methods
* remove notification removal since listings dont trigger notifications
* move draft message and add draft_params to tests
* Update classified_listings_controller.rb
* update tests
* update snapshot
* add del tests
* add guard preventing free draft publish
* fix draft filter
* update from master and resolve merge conflict in listing preact
* Revert "update from master and resolve merge conflict in listing preact"
This reverts commit 0a34fccf334a2ca0902644b486cb26ead6bef664.
* update column spec
instead of setting and saving
* separate two expectations into their own tests
* split more tests into single expectations
* change to unless bumped_at? instead of if nil
* Fix listing draft edge cases and styling
* Add title tags to listings pages