* move current profile card content to shared view, create profile preview card shared view
* article page: show link in small screens, button with preview card in larger
* initialize the hover and click functionality
* tweak class names
* make sure modals sit at highest elevation level
* add cypress tests
* add a test to make sure mobile view unaffected
* make sure follow buttons initialized in test before asserting on them
* stories list script as separate js file - defer attribute
* change name storiesListScript for storiesList
* remove legacy function hasClass()
* add description to js pack
* remove case that triggers nothing
* Revert "remove case that triggers nothing"
the if statement is on the element not its parents
This reverts commit f4402f5456e15da122f9820917f5965a1ebc50a4.
* remove deprecated code from storiesList pack
* remove unused code
* Add LandingPage domain model
* Rely on Rails data integrity and remove previous code
* Remove superfluous equality check
* Restore landing_page class method
* Add and fix specs
* Do not attach landing page modal controller unnecessarily
* use the dropdown initializer in post editor options
* use dropdown initializer in comment subs dropdown
* use Dropdown component in listings
* show the dropdown button when it's focused
* update storybook notes and components
* add cypress tests for post options dropdown
* add comment subscription tests
* make sure page is properly initialized before setting button functionality
* add jsdoc comments, props types, rely on optional chaining
* Update app/javascript/crayons/Dropdown/__stories__/dropdowns.md
Co-authored-by: rhymes <github@rhymes.dev>
* Update app/javascript/crayons/Dropdown/__stories__/dropdowns.md
Co-authored-by: rhymes <github@rhymes.dev>
Co-authored-by: rhymes <github@rhymes.dev>
* fix usage of aria current - html error
* delete tests for aria current empty value
* delete tests for aria current empty value - tag nav
* missing occurrences should have attr aria current
* e2e tests: make sure other nagivation items do not have attr aria-curent
* e2e tests (tagged nav): make sure other nagivation items do not have attr aria-curent
* missing case @latest
* @latest is only for tagged nav
* every single nav item needs the test for aria-current
* make connect message dropdown accessible
* add a cypress test
* use crayons buttons throughout
* fix some unhandled error affecting cypress
* make message options a list
* minor tweak to test
* guard against filter error being triggered in test
* utilise newer dropdown helpers
* wait for message to fully send
* use optional chaining
There's a unique index page on slugs that failed today during a PR
merge, where 'et' was the `Faker::Lorem.word` selected both times.
Add a suffix to the generated word to ensure these are unique and an
index collision doesn't happen.
* use initializedropdown in profileDropdown
* improve aria in html
* add cypress tests, stop buttons and dropdown initializing twice or more
* make sure dropdown shows when logged out
* Simplify logic around generated article description
@citizen428 helpfully pointed out ActiveSupport's String#truncate
method, and I had read the processed_description method body
immediately before and knew it could benefit from using truncate.
When the body text is present, if it's long, truncate to 100
characters (with trailing ellipsis as needed), removing newlines.
When the body text is absent, populate with a generic "post by user"
message.
* Change magic description length to match the original behavior
Since we were previously slicing [0..100] we would get 101 characters, and then
appending three dots makes for 104 total.
There is a longish description passed in the articles api request test
that shows "part of the body as a description" that failed to match
with the first pass.
* Shorten long titles from feed items if needed
Fixes#13959
When the title is too long to create a valid article, put a shortened
title in the generated article markdown.
Added unit tests to cover the default case and the shortening case
* Fix Struct initialization
Rubocop suggested struct over openstruct because of performance, but
Struct.new creates a "class" with a positional initializer, while
Openstruct's new takes a hash like keyword set and builds an object
from those directly.
I mistakenly reused the openstruct syntax after the conversion. This
changes the feed and item to use Struct's initializer.
* Use String#truncate in place of custom trimming
`separator` enables a natural break (preventing space between last
character and ellipsis), and omission text "..." is the default behavior.
* Use verifying doubles in test, use method access to members in code
The instance_double for Feedjira::Parser::RSSEntry
necessitated changing hash key access to reader method access for the
data members (title, categories, summary, description).
* replace inline attribute defer with external js - show.html.erb
* fix typo in filename
* disable no-undef and bail if not defined
* put js on subfolder utilities
* refactor jsx instead of loading chunk with defer
* fix typo in desc
* better name for global gist helper
* use InstantClick
* working script on preview AND single view, not dynamic import, though
* embed only if gists
* combine all approaches to make dynamic import work
* make gist embeds work on submit comment form
* make gist embeds work on preview comment
* refactor - preview comments and submit
* add pack editComment + helper embedGistsInComments
* comment gist helper
* delete useless file utility
* use new syntax for events
* put code in method embedGistsInComments
* delete older pack gist
* handle edge case 'view full discussion'
* resolve conflict with package ibm-openapi-validator
* resolve conflict with package husky
* empty commit to test random error travis
* better name for class dismiss
* handle future events submit
* delete test code on click toggle form
* delete unused file
* rename pack as js file, not jsx
* Added POC using MutationObserver.
* missing case: notification page
* use custom pack notification page
* add e2e test for comment with embed gist
* add e2e test for preview post with embed gist
* add an extra step in tests to check gist is present
Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>