* set up refactored onboarding
* create onboarding page
* add in first slide and change slide functionality
* fix test suite
* profile refactor
* profile refactor
* refactor to api
* add checkbox fields
* add checkbox fields
* remove puts
* add basic css
* add styling
* add redirect
* hide back and next at first and last slides
* test refactored onboarding
* test refactored onboarding
* remove article edits
* Fix schema
* Add deleted file back in
* Add default value for checked_t&c column
* Adjust HTML structure to keep nav buttons in place
* Fix ESLint issues on Onboarding.jsx file
* Handling for undefined or empty followedTags on getUserTags
* Fix codeclimate issues
* Fix codeclimate issues
* Fix more codeclimate issues
* Fix more codeclimate issues
* Update Onboarding snapshots
* Uncheck the CoC and T&C checkboxes on render
* Update snapshots
* Return false instead of raising error
* Update spec to use new onboarding
* Redirect to onboarding if haven't seen it yet
* Prevent redirect to onboarding from /signout_confirm
* Use assign_attributes instead of saving twice
* Move COC and T&C checkbox page to second slide
* Add 'go back to original page' functionality
* Reuse ready prototype logic
* Keep track of the last visited onboarding page
* Fix email subscription bug
* Fix overflow issue for tags page
* Remove height to prevent page container scrolling
* Check for CoC and T&C for displaying onboarding
* Add InstantClick redirect and preserve referrer in client
* Fix async update + check by using localStorage
* Turn off onboarding for tests
* Finalize design for onboarding
* Finalize design for onboarding
* Make bulk follows during onboarding
* Fix bulk follow test
* Add #purchase to Credit
* Assigns spent credits to the listing
* Add Credits::Ledger and use it
* Localize ledger datetimes
* Add organization to the ledger
* Add tests for ledger
* Remove unused class
* Fix scope error
* Compare UTC times
* Fix broken specs
* Wrap listing create in a transaction
* Wrap listings bump into a transaction
* Avoid microseconds issue with datetimes in tests
* Use .detect instead of .select.first
* Fix spec description
* Add base history support
* Add tags and ranking and make it work
* Fix styling
* Add article title and text excerpt to the index
* Add pagination support
* Debounce the search to 300ms
* Show history only to pro users
* Use routing helpers instead of hardcoding
* Raise the page size to 100
* Remove console log
* A bit of regrouping
* Add MVP of notification subscriptions
* Add rate limiting for notification subscriptions
* Show modal for logged out users on subscribe click
* Add enter key functionality for checkbox
* Add relationships for notification subscriptions
* Add model test for notification subscription
* Deprecated article mutes in favor of notification subscriptions
* Deprecated comment mutes in favor of notification subscriptions
* Move comment muting tests and logic over
* Merge comment and article muting into subscriptions
* Remove redundant check
* Use database to check for rate limit instead of cache
* Test for subscriptions handling notifications properly
* Fix notification model spec for subscriptions
* Fix tests for subscriptions
* Remove rate limiting
* Properly handle logged out users getting subscription status
* Fix test for new pattern
* Update reserved words
* Add config column to notification subscriptions
* Add logic for top level config and move tests
* Test for top level subscribers getting notified
* Fix logic mistake oops
* Add index and refactor comment_user_ids
* Add /stats endpoint for articles, opened only to Pro users
* Add analytics to article stats page
* Add stats button to the article page and test stats page
* Simplify article show page reactions
* Clean up styling and adjust zen mode logic
* Remove unused variables
* Update app/views/articles/_actions.html.erb
Co-Authored-By: Nick Taylor <nick@iamdeveloper.com>
* Small style mods
* Slight padding change
* Finalize new show page button design
* Remove uncompileable JS and small css changes
* Simplify article show page reactions
* Clean up styling and adjust zen mode logic
* Remove unused variables
* Update app/views/articles/_actions.html.erb
Co-Authored-By: Nick Taylor <nick@iamdeveloper.com>
* Small style mods
* Slight padding change
* Finalize new show page button design
* This commit adds the "archived" attribute to the Article model, which will
enable users to automatically filter archived articles/drafts from appearing
on their dashboard. It also adds an ellipsis menu with a link to archive the
article. I've also moved the Mute Notifications button into the ellipsis menu
as well.
* Add ellipsis menu and make it work
* Fix logic error
* Hide ellipsis menus when you click elsewhere on the body
* Extract function to remove duplication
* Ensure that menu is hidden when the ellipsis button is clicked on an open menu
* Ensure that archiving post button works and that 'archived' param is accepted by the controller
* Enable link to toggle showing/hiding archived articles
* Make 'mute' and 'archive' buttons in ellipsis dropdown list work
* Refactor to make Code Climate happy
* Minor JS refactors
* Add article decorator published_timestamp
* Use time HTML5 element and refactor date in partial
* Add published_timestamp to Article
Adding `published_timestamp` to the homepage we can then use JS to render the full timestamp localized for the user.
We've also added the timestamp to the index and the API
* Display article published timestamp on hover
* Use time also in the article show page
* Add timestamp to bottom articles as well
* Remove published_timestamp from index because it is not used
* Fix broken specs
* Add more article dates specs
* Refactor date initializers
* Increase loader text opacity
Low contrast text is not great in general, this also brings Lighthouse score from 88 to 96
* Add some alternative text to images
* Add some aria labels to controls
* Allow users to follow podcasts
* Only display podcasts user follows
* Add main_color_hex to factory
* Fix podcast test and modify styles
* Fix tests
* Remove weird test
* Add policy for article manage action
This commit adds a policy for the articles#manage method. This will
prevent the error that is stopping article owners from managing their
articles.
* Hide manage button if article isnt published
* account for no current_user
* Move button logic to javascript