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
Fragment caching does not support an explicit expiration date for simplicitly, which means that cached resources are tied to the update datetime of the model.
In this case unfortunately this is not sufficient: a cached time that potentially never gets expired can stale quickly when applied to a time sensitive item like a notification.
Since the "time ago" computation is not particularly heavy and notifications are paginated, I ended up removing that part from the cache altogether.
As a byproduct I created two new separate cache keys for the article notification, one of each section surrounding the time.
* 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
* Listings creation and update API
- new listings controller
- refactored code to share core functionnality between api and web controllers
- code in common in classified listing concerns
- added tests for index/create/update
- json output as views
- updated a factory
* Listings creation and update API: code update
- refactored json calls
- added test cases
- added pagination for list of listings
- refactored jbuilder files
- typos
* Listings creation and update API: code update
- tags and tag_list in controller
- changed view to display both
- refactored and added test
* Listings creation and update API: code update
- small change to resolve conflit
* Listings creation and update API: code update
- added test case
- deleted unneeded test case
* Added association between webhook_endpoints and oauth apps
* Limit webhooks access by oauth_app_id when authorized by doorkeeper
* Use rails route helpers in webhooks api test