* feat: Add a pack file that pulls in the MultiSelect Component
* feat: move the tags to its own component
* save tags
* refactor: create a getCSRFToken function in the packs files so that it can be used in the admin
* feat: import the new module in request.js
* feat: remove unnecessary id
* feat: first pass of csrf token test
* chore: update the test
* fix: csrf token
* feat: hide the enw functionality behinda feature flag
* fix: loading form twice
* refactor: import for csrftoken
* refactor: move trackEvents to a utilities folder so that it can be re-used
* feat: add a function called trackCommentClicks and use it on the articlePage
* feat: update the auth widget to take the correct properties
* feat: add create account tracking method for hamburger
* feat: add create account tracking method for sidebar left
* feat: whoops, sidebar tracking info added
* feat: add the feed card create account tracking
* feat: whoops add the id to the dom
* feat: add top nav create account tracking
* feat: create account tracking for the registration modal
* fix: callback instead of invoking + rename class
* fix: js-prepend
* feat: some showLogin event tracking
* use the tracking propert
* x - feed.jsx
* fix: oops I removed hidden
* track from the search login
* feat: add tracking for follow button
* fix: main_stories is only being called in view/articles and both are including the FollowButtons pack
* comments track
* feat: remove punc (.)
* chore: cahnge working
* chore: remove tracking-id from modal
* feat: remove ecmascript features
* refactor: rename some events
* feat: referrer page
* feat: add a secondary source for the follow buttons
* feat: remove file that is not used
* chore: rename key
* feat: use @utilities
* feat: add spec for create account clicks
* feat: add key referrer
* fix: tests
* fix: oops
* chore: add commented test
* test for tracking
* feat: update the change by 1
* feat: aggregate_failures
* feat: add data-no-instant back
* feat: try a different way of testing
* refactor: change secondary_source to referring_souce
* feat: change ahoy event test
* feat: add a version number to ahoy tracking
* feat: change the href to pathname
* feat: reply comment tracking
* fix: to be present syntax
* feat: use href instead of pathname
* chore: do not track tags and podcasts follow and remove referrer
* feat: add readinglist
* fix: remove referrer from test
* feat: fail gracefully in instances where there is no tracking data
* Preventing author profile from going transparent
Prior to this change, when you would hover over an author profile that
was "close to" the bottom of the page, the card would be transparent
instead of the expected opaque.
With this change, when you hover over an author profile that is "close"
to the bottom of the page, the card renders as an opaque card.
Now why does this work? I don't really know, except to say that a
`display: table` imperative is a more "chunky" display element than a
block. I would love for someone to explain why this works.
Tested against on MacOS Safari, Firefox, and Chrome.
https://developer.mozilla.org/en-US/docs/Web/CSS/displayFixes#15290
* revert table
* fix
* missed spot
* actions dropdown
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
* Fix Prop Types Error #14837
Fixed prop types errors for Button, ButtonGroup, Modal and articlePage
* #added some checks into default children props
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* 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>
* Add logic to subscribe button that shows login modal if user is not logged in
Pass in userstatus to CommentSubscription
Remove logic that loads comment subscription button for logged-in users only
* Modify test to account for new userStatus input in CommentSubscription
* Change UserStatus to isLoggedIn
Add propType to isLoggedIn
Remove preventDefault from click event
* Fix indentation and input on commentSubscription test
Create new isLoggedIn variable that returns boolean
Replace all instances of userStatus to isLoggedIn
Create test for showLoginModal when subscribing
* Convert index.jsx to index.js as they are just barrel files.
* Removed prop types and eslint configs from code coverage.
* Using <root_dir> in test ignore patterns now.
* Added app/javascript/storybook-static to eslint's ignore list.
* Now .storybook is excluded from code coverage.
* Bumped coverage thresholds
* Fixed to <rootDir>
* Added story sorting to Storybook.
* Added design system guidelines.
* Made Base in Storybook tree 2nd in the tree view.
* Now Components are 3rd in the treeview of Storybook.
* Now App Components are 4th in the treeview of Storybook.
* Froze node version to 12.16.0
* Revert "Froze node version to 12.16.0"
This reverts commit 093b119c7d7ca05ecb4e1c0234b24bcf8e7b10a4.
* wip
* Right aligned the comment subscription panel.
* Cleaned up the comment area on the article page so it uses crayon margin classes.
* Updated tests
* Removed old UI for comment subscriptions.
* Made Discussion text bigger and bolder.
* Fixed some layout issues as per PR comments.
* Fixed some layout issues as per PR comments.
* Updated Storybook stories, tests and snapshots
* wip
* Everything works now, just need to integrate snackbar.
* Removed setTimeout I was debugging with.
* Using the new utilities/http/request utility now.
* Added the <SnackbarPoller />
* Now when unsubscribed, the subscription type resets to all comments.
* Removed overflow hidden from .home CSS class so comment subscription component displays properly.
* Now unsuccessful subscribes/unsubscribes error properly.
* Changed button text from Done to Subscribe
* Merged the <SnackbarPoller /> component into the <Snackbar /> component.
* Fixed a propType issue.
* Fixed a test.
* Removed snackbar tests for now. Need to figure out polling in tests.
* Now comment subscription component is only loaded for logged on users.
* Added a comment.
* Updated some storybook stories.
* Fixed a small formatting issue.
* Reduced snackbar item lifespans to 3 seconds.
* Extracted <CogIcon /> to it's own file because other features are going to need it.
* Added some Storybook stories and tests for the <CogIcon /> component.
* Revert "Extracted <CogIcon /> to it's own file because other features are going to need it."
This reverts commit b30406a50e491c53c3dce5be03bcdf8112b043df.
* Put back <CogIcon /> component.
* Added some error handling if the component doesn't load.
* Moving some things around.
* Rename the article pack file.
* Changed wording from "article" to "post".
* Fixed false negative CSS issue. It was a dangling div tag.
* Add the option to add an optional close button to snackbar items.
* Fixed z-index of subscription type options panel so it is always visible on mobile.
* Reworked the comment subsciption utilities a bit.
* Added test for comment subscription utilities.
* Fixed a broken test from a refactor.
* Added more tests for comment subscription utiltities.
* Fixed comments footer bottom padding.
* Fixed issue with stale find in comment subscription test.
* Update app/javascript/packs/articlePage.jsx
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* Update app/assets/stylesheets/article-show.scss
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* Changed close button wording to Dismiss.
* Fixed padding to use utility variable instead.
* Added missing import for SASS file.
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
* Created the <RadioButton /> and <FormField /> components.
* wip
* Now variant for a <FormField /< is optional
* Added the name prop to the <RadioButton /> component.
* Added the onClick prop to the <RadioButton /> component.
* Updated <CommentSubscription /> component with new subscription functionality.
* Added some tests.
* Fixed a bug found be tests I added.
* Reenabled a skipped test.
* Replaced a string with a constant.