* updates
* updating doc
* Fixed broken documentation in Storybook stories.
* bring back a element
* md --> mdx
* c-* doc update
Co-authored-by: Nick Taylor <nick@dev.to>
* Add cypress to reproduce the issue `Reading list is not reactive`
https://github.com/forem/forem/issues/14469
* Bug fixes: The reading list item count (in the title) isn't reactive
https://github.com/forem/forem/issues/14469
* Fix the cypress test cases
- to test reading list item count
* stylistic changeo
- extract `itemsTotal` from `this.state`
* 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>
* Remove pro role on user, expose pro dashboard to all users as analytics
* Remove pro from Elasticsearch mappings
* Update user role docs to use :trusted over :pro
* Remove pro from Role model spec
* Remove more references to pro, as noted by @rhymes
* Step one in populating the reading list with PG
This first attempt tries to recycle the `Search::ArticleSerializer` which is only
used in input in ES, but we're using it in output in PG.
For this reason it's currently 15.55x times slower
* Serialize only what is requested by the frontend
`Search::ArticleSerializer` which is only used in ES in the indexing step aims
to add as much info as possible for broader purposes, in this case
(with serialization in output) we should aim to save only what's requested from
the frontend.
* Optimize selection of articles columns
* Select only needed columns for users
* Compute total of reading list items
* Attach the basic filtering based on PG on the search controller
* Restructure in methods
* Add tags support
* Use LIKE on articles.cached_tag_list
* Fix tags as nil
* Fix default pagination
* Add optional FTS for reading list
* Reworded the tags comment explaining why
* Add index to reactions.status
* Fix total counter in Preact readingList component
* Fix total count in reading list backend search
* Add GIN index to articles.cached_tag_list
* Add service tests
* Add search request specs
* Added missing early return
* Update spec/requests/search_spec.rb
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Extract MAX_PER_PAGE constant and add comments
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Some div soup to semantic markup.
* Converted an import to use our webpack @utilities alias.
* Removed unnecessary t variable to house .
* Removed state that can be derived from other component state.
* Removed unused state property .
* Reverted to <div /> as per PR feedback.
* Refactor debounce usage into debounceAction util
* Allow debounceAction's config to be merged, allow for named arguments
Also clean up the documentation as necessary!
* Make readingList testable
* Make history and readingList more similar
* Extract ItemListTags component
* Simplify load next page logic
* History and reading list load more should be the same
* Extract ItemListLoadMoreButton component
* Use the same exact CSS for both
* Use empty instead of 0
* Extract ItemListItem component
* Remove unnecessary else
* Same search function
* Use a common module to group related functionality
* Extract loadNextPage and fix load more button presence logic
* Extract toggleTag
* Refactor toggleStatusView and pass page
* Added additional tests
* 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
* init
- add reading_time to reactions
- make migration
- add to algolia index in reaction model
- add method in reaction model to define reading time based on reactable reading time
* add time to front end
* Revert "Return errors instead of raising an exception on ArticleCreation (#2922)"
This reverts commit 09a99d93a3.
* Revert "init"
This reverts commit 53650ebcc3c93c54e396977f7c34f7aa35a589c4.
* Revert "Revert "Return errors instead of raising an exception on ArticleCreation (#2922)""
This reverts commit e8cf1f3a290dd06b937247e3ff7593e7c7036553.
* Update reaction.rb
* remove duplicate searchableAttribute