* Initial controller creation
* Ahoy custom clicks initial WIP
* Add test for success and failure
* Adjust some tests
* Adjust test
* Adjust tests and some code
* Update app/views/mailers/digest_mailer/digest_email.html.erb
* Remove s/t/u from safe params
* Add simple test
* Update app/controllers/ahoy/custom_email_clicks_controller.rb
Co-authored-by: Mac Siri <mac@forem.com>
* Change to just email clicks
* Email clicks controller test
---------
Co-authored-by: Mac Siri <mac@forem.com>
* Adjust Digest Email design and configuration
* Adjust some tests
* Update tests
* More adjustments to markup and tests
* More adjustments to markup and tests
* Digest email feature flag
* Test title variants
* fix: add display:block style to span and correct minor typo
* refactor: change posisiton and max-heigh on scss
* refactor: adapt message with conditional
---------
Co-authored-by: Mac Siri <mac@forem.com>
* persist selectedTag filtering of the reading list when coming back after reading an article
* bugfix -- could not filter back by all tags in mobile
* e2e tests for persisted filtering
---------
Co-authored-by: Mac Siri <mac@forem.com>
* Add delayed behavior
* Add special behavior to billboards
* Fix order for test
* Test clicking outside element when close event is present
* Update app/javascript/packs/billboardAfterRenderActions.js
* Add new render and template modes for billboards
* Add new fields to /admin
* Adjust test
* Adjust markup in form
* Add tests for script execution
* Add two script test
* Adjust scripts
* Adjust scripts
* Add new test
* Add new explicit tests
* Move JS functionaity around
* feat: step 1 - add the buttons to the html template
* refactor: renamed the class to be prepended with js-
* feat: add the js-tag-card class to the entire tag-card div
* feat: add the relevant data elements and tag-id to the tag-card div
* feat: add the required data elements for the top level js-tag-card
* feat: use @tag instead of tag
* refactor: rename the tag pack file
* refactor: rename the Tag file component
* feat: add a snackzone so that the snackbar can be added there
* feat: remove the follow-actions-button and the hide-actions-button from the tag pages so that it doesn't conflict with the 'followButtons' pack whne we need to add it
* spec: update the specs for tags
* chore: follow-action-button renamed to follow-tag-button and hide-action-button to hide-tag-button
* refactor: js-classes
* chore: add some comments
---------
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Settings can process markdown into html
* Update Settings with new onboarding settings
* Async render onboarding newsletter step
* Tweak onboarding design
* Fix broken spec
* Better rendered component test
* Tweaks to match design
* Try to tweak design
* Try having a default state
* Tweak placeholder content
* Better await componentDidMount
* Continue to tweak the design
* ContentRenderer#process should always return Result
* Try more clarity in the partial
* Rubocop
* Support username inputs on /admin/articles
* Support username input on tag admin moderator
* Support username input on admin community settings
* Support username input on admin mascot settings