* Add SiteConfig.feed_pinned_article and validation
* Display pinned article at the top of feed
* Add (basic) functionality to pin/unpin post
* Admins can pin other users posts as well
* Hide the button if looking at the non pinned post
* Add pinned/unpinned snackbar message
* Rename SiteConfig usage to Settings::General
* Add pinned article to the Admin articles index
* Show the pin post button when there's no pinned article
* Move pinning to a separate controller
* Fix SiteConfig reference
* Hide PinController actions to unauthorized users
* PinnedArticlesController#show action and refactor some of the code
* Add Modal interaction
* Fix modal-pinned checkbox interaction
* Fixed pin/unpin post
* Add ArticleDecorator#pinned? specs
* Add PinnedArticlePolicy and PinnedArticlesController specs
* Add ability to actually pin an article from the admin after submit
* Add partial Cypress pin/unpin spec
* Fix pinned article and add basic Cypress interaction tests
* Add Crayons styling to modal
* Only render the pinned article on the default Feed page
* Use persisted?
* Add some comments
* Update app/javascript/articles/Article.jsx
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/javascript/packs/homePageFeed.jsx
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Fix Cypress tests
* Update app/javascript/admin/controllers/article_controller.js
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* Fix pinning in article show page
* Used PinnedArticle domain model
* Fix spec
* Update cypress/integration/adminFlows/articles/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/adminFlows/articles/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/adminFlows/articles/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/adminFlows/articles/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/adminFlows/articles/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/articleFlows/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/articleFlows/pinArticle.spec.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/views/admin/articles/index.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Fix merge woes
* Add missing article pin post flows
* Add missing admin article flows
* Add Unpin to Admin as well
* Add Audit::Log entries for pin/unpin actions
* Update app/controllers/stories/feeds_controller.rb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Do not rate limit in E2E tests
* Use .find instead of .filter
* Rename ArticleIdValidator to ExistingArticleIdValidator
* Treat draft and deleted articles the same
* Make sure posts can be pinned after the pinned article is unpublished or deleted
* Use .get directly
* Fix spec and fix PinnedArticlesController#show
* Strengthen pinArticle Cypress tests
* Add Cypress test heading guard
* Add another Cypress test heading guard
* Remove duplicate validator
* Try using the Tools: header instead of the article title
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
Co-authored-by: Michael Kohl <citizen428@dev.to>
* initial rough version
* link to relevant rules, extract image text, only show if more than 0 errors
* jsdoc and tweaks
* refactors
* add tests
* open info links in new tab
* add new window link icon
* WIP - basic init of comment dropdowns with open and close on click
* WIP - initialize the share dropdown
* initialize all post dropdowns within packs, init copy to clipboard announcer
* refactor and add JSDocs to helper
* undo changes to base jsx
* update accessible name of post actions button in cypress test
* make sure dropdowns pack loaded on comment index page
* undo prettier changes in base jsx
* undo prettier changes in base jsx
* initialize comment dropdowns in podcasts
* add test for the post actions
* add article comment tests
* add cypress tests for comment dropdowns
* Rename SiteConfig
* More renaming
* Update spec
* Update mandatory settings mapping
* More renaming
* e2e test fixes
* You have a rename, and you have a rename
* Spec fix
* More changes
* Temporarily disable specs
* After-merge update
* Undo rename for migration
* undo rename of DUS
* Fix DUS
* Fix merge problem
* Remove redundant DUS
* Fix specs
* Remove unused code
* Change wrong class name
* More cleanup
* Re-add missing values to constant
* Fix constant
* Fix spec
* Remove obsolete fields
* Add accidentally removed field
* Update spec
* Move methods from Settings::General to ForemInstance
* Remove unneeded model
* Change mentions of 'site config'
* manually delete cache key on unfollow
* add cypress test
* move deletecached into own service
* rename and tidy up
* Update cypress/integration/profileFlows/followUser.spec.js
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
* update storybook example and docs
* update desktop home feed tabs with a11y enhancements
* update storybook to reflect buttons usage, update post editor buttons
* update admin html variants tabs
* update admin sponsorships tabs
* re-add flex to the crayons-tab class to prevent regression in tab components not updated
* Revert "update admin sponsorships tabs"
This reverts commit d9e4a5e4b0d362e38a11c795b35ceb4442bc4d90.
* Revert "update admin html variants tabs"
This reverts commit 3d9f119e88dc2f2f102d664c57a1f56413490a36.
* update search tabs
* update v2 form erb html
* update tag index tabs
* update notifications tabs
* label the notifications nav
* update mod sidebar tabs
* update main analytics page tabs
* add cypress tests for home feed tabs
* add tab tests for the post editor
* add cypress tests for tags index navigation
* fix UI issue with search tabs, add search cypress tests
* add tests for the analytics dashboard tabs
* add mod nav tests
* add notifications navigation tests
* get new handles after view switch
* replace hardcoded mod paths
* apply review suggestions
* Add required tooltips and asterisks to fields
* Generate profile image for email signups
* Use be over eq
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Use path helpers over hard-coded paths
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Add labels to make it more accessible
* Stub it all... eek
* stub some more stuff
* stub stub stub
* Move aria label to proper label and fix tests
Co-authored-by: Michael Kohl <citizen428@dev.to>
* chore: remove current_admin routes file
* feat: move all the admin routes into the admin file
* chore: remove conditionals for the sidebar and tabbed navbar
* remove some more notes where we use the admin_restructure feature flag
* chore: amend the tests now that the old routes and the admin_restructure flag are removed
* chore: remove more references to the admin_restructure flag
* chore: fix the tests
* chore: remove sidebar_spec
* chore: add slash back
* chore: comment it out for now whilst I try and figure out why its not passing
* add modal code to Forem namespace, use showModal in the rate limit modal generator
* add cypress tests for both modals
* styling tweaks
* tidy up
* make sure modal trap selector is unique to page, update Modal JSDoc
* add additional jest test for focusTrapSelector
* Fix bug when responding to listings
Sending a message to a listing author works about half the time. I
can't determine exactly what user behavior causes it to fail or succeed,
but after making this change it doesn't fail anymore. Looking at the
code, I'm not sure how it ever works...
* Notify Honeybadger when listing responses fail
* Add E2E test for contacting through listings
* Update e2e test
* re-enable test
* specifically target the option rather than text in the dropdown
* remove use of aliases from flakey test
* trigger travis
* trigger travis
* focus option before clicking
* add comment, remove other aliases for textareas
* delete alt attribute on span
* delete role checkbox on button - add type button
* delete wrong aria label
* sidebar-nav as class not ID
* delete duplicate attr class on single story
* delete duplicate attr class sidebar nav
* Revert "delete role checkbox on button - add type button"
This reverts commit 456fa676ff4457ffa724e9a07a3f123149dc5f39.
* delete role checkbox and modidy spec login modal js
* no need for name in cypress test showloginmodal anymore
* add attr data-test-id
* replace attr defer with DOMContentLoaded event
* delete useless class
* better a11y approach for button and cypress tests
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* better a11y approach for button and cypress tests
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* discussion_r612278777 : change initialize article reactions js
* revert replacing `const` with `let`
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* revert replacing `const` with `let`
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* apply `aria-hidden` on all reaction svg
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* keep original text `Saved` for bookmark button
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* fix missing aria-label on load - reaction button
* Revert "replace attr defer with DOMContentLoaded event"
This reverts commit db6a7eec051c443c18c17e23cf331132b222011f.
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Navigate back to dashboard instead of article.path
* Set mainImage to null to remove image properly
* Use dashboard_path over string path
Co-authored-by: Michael Kohl <me@citizen428.net>
* Handle apostrophe edge cases
* Allow main image to be set
* Add new test for removing article cover img
* Use potentially less flaky find
* Use findByAltText instead of get
Co-authored-by: Michael Kohl <me@citizen428.net>
* Some div soup to semantic markup.
* Small refactor to inline mapping of available tags.
* Renamed <ItemListTags /> component to <TagList />.
* Now a select is used for picking a tag to filter on.
* Added custom Cypress command to create an article.
* Added documentation for the create article custom command.
* Removed unnecesary properties from payload to create an article.
* reading list mobile view wip.
* Reworked styles in <TagList />.
* Reworked reading list to use <MediaQuery /> component.
* Removed bottom padding from reading list header.
* styling tweaks if there are no available tags.
* Added some E2E tests.
* Removed reading list component test in favour of e2e test.
* Made breakpoint values numbers.
* Added some padding and more grid gap to filter on small screens.
* Adjusted jest coverage thresholds as we're moving some tests to e2e tests.
* Reverting a VS Code setting change caused by one of my extensions.
* First pass for E2E tests for the reading list.
* Added some more grid gap.
* Fixed load next page to send tags properly.
* Added some more tests.
* Improved label and placeholder for text filter in reading list.
* Added more tests
* Fixed media queries so it works in Chrome as well.
* Removed aside as tag filters are not complimentary information.
* Update app/javascript/readingList/components/TagList.jsx
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update docs/tests/e2e-tests.md
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Turned off deprecated rule in jsx-a11y eslint plugin.
* Reverted to links instead of radio buttons.
* Added an all tags link and select option.
* Fixed relayout issue.
* Fixed View Archive button size.
* Fixed styling of the load more button.
* Fixed empty list issue toggling between archive and reading list.
* Fixed request changes from PR review.
* Removed CSS change that is no longer required.
* Trigger Build
* Fixed centering of items in top fieldset.
* Fixed issue with search text field resetting reading list.
* Fixed component tests for the reading list.
* Fixed empty state popping up between search queries.
* Fixed casing of fixture filenames.
* Update app/javascript/readingList/readingList.jsx
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Reverted change in reading list component test.
* Added missing JSDoc comment.
* Now links are in an unordered list.
* Promoted some CSS classes from the <nav /> to the <ul /> for spacing.
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* WIP - initial exploration into post mentioon autocomplete
* replace the autosize textarea with mention autocomplete, adjusting height
* add cypress tests for mentioning in a post
* fix resizing of text areas
* refactor text area resize hook
* refactoring
* update cypress tests
* remove mergeRefs from utils, extract UserListItemContent
* allow useTextAreaAutoResize elements to have height greater than minimum, apply styles to container
* Trigger Travis CI
* Travis plz
* small refactors
* add comments and constants as per PR feedback
Co-authored-by: Nick Taylor <nick@dev.to>