* sliding tabs
* Add aria-label to the navigation
This supports the cypress tests, as well as retaining existing accessibility features.
* Adapt feedNavigation cypress test to handle new navigation layout
Before looking for week, month, year, or infinity top feeds, select
"Top" and wait for the page refresh.
* increasing tappable area + making foucs outline visible
Co-authored-by: Dan Uber <dan@forem.com>
* schema file undelete description
* update with main
* update with origin
* update
* create controller; hook up to badge_achievements
* almost done with implementation
* push up what I have
* complete implementation; generalize snackbar usage
* start writing tests
* add confirmation text entry step to test
* Fix delete via JS
* implement danger notice for errors
* complete cypress test
* create ErrorAlert CustomEvent and implement
* fix failing badge_achievements spec
* start applying PR review changes
* hook up Preact Modal
* fix cypress tests
* remove old comment
Co-authored-by: Nick Taylor <nick@forem.com>
* consolidate messaging functions
Co-authored-by: Michael Kohl <citizen428@forem.com>
Co-authored-by: Nick Taylor <nick@forem.com>
* Add feature flag for connect
* Start using Connect feature flag
* Add feature flag check to plaintext mailers
* Minor fixes/formatting issues
* Fix typo
* Enable Connect feature flag for tests
* Fix feature flag in tests
* Update rails_helper
* Fix typo
* (╯°□°)╯︵ ┻━┻
* One more try
* connect announcement
* Use connect feature flag in admin and admin routes
* Add aria-live attribute to announcement
* Undo schema.rb changes
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
* enable debug for warnings in dev env
* remove preact/devtools call no longer needed
* fix majority of proptype errors on home page
* sweep up proptype errors from listings page
* fix article form error
* chore: add my name to the chaore so that I can search after cleanup
* feat: update the forem creator signup template and copy over some stuff from the email_resgistration
* feat: update the fields
* feat: make sure that it saves
* feat: add an eye svg to the password input
* feat: update eye and eye-off svg
* feat: update the placeholder for the password field
* reveak and hide the password when clicking on the icon
* eye visiblibility functionality
* feat: display the username
* feat: show the username row when we click edit
* feat: update the interaction design
* chore: remove extra line
* chore: remove unneeded function
* feat: never show the username hint when the user field is not hidden
* feat: ensure that the username works
* chore: update the existing specs
* feat: move to packs
* refactor: manage the visibility with a avariable and not with the password type
* optimize the way we use password visibility
* chore: validate the username field
* chore: update the statement
* feat: add a background
* feat: accessibility changes
* feat: set a max length on the username
* feat: some more accessibility changes
* feat: validate the length of the password
* chore: add some margin to the error box
* feat: by_email shows the error states and we should cater for the Forem Creator
* feat: tackle any errors
* WIP/test: first pass of some integration specs
* feat: update the Cypress tests
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Michael Kohl <me@citizen428.net>
* chore: temporarily disable the background on large screens
* chore: remove title
* prevent default
* feat; update the style of the button
* feat: update the tests to use accessibility tags
* feat: update icons
* chore: oops
* little forntend updates
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update cypress/integration/creatorOnboardingFlows/creatorSignup.spec.js
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* fea: change the aria label and pressed
* feat: change to just John
* feat: update cypress tests
* test if this is causing the test to fail
* feat: add some margin
* feat: mostly for Cypress - required is true or false based on whether the field is needed
* refactor: use the password label and skip last test
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Update app/views/shared/authentication/_forem_creator_signup.html.erb
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* fix: do not toggle the label (accessibility)
* fix: add a comma
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Refactor category selection handler
* Provide a way to close modal if it's open
* Trigger Travis CI
* Add e2e test case for the fixed scenario
Co-authored-by: rhymes <github@rhymes.dev>
* Test with Grid layout
* Use Flexbox
* Replace with utility classes
* Wire up Tools -> Emails
* Stash: will rebase with a better commit message
* Fix transition between Email and Tools component
* Refactor Verify Email Ownership button a bit
* Use respond_to for verify_email_ownership
* Wrap the Preact Snackbar controller in Stimulus and use it from users/tools/email_controller
* Add HTML5 validation to EmailComponent
* Validation and cleanup
* Add Email history list and fix styling
* Additional styling cleanups
* Add error handling
* Close panel after email operations
* Actually use <local-time> GitHub time element correctly
* Add specs for Tools component and controller
* Email to Emails
* Add tests for Admin::Users::Tools::EmailsComponent
* Fix bug with ToolsComponent instantiation in ToolsController
* Add notes to show page
* Add ToolsComponent css
* Use Rails UJS instead of manual Stimulus to connect remote helpers
* Make Notes section come alive by adding its code
* Make Credits section come alive by adding its code
* Go back to vertical flex
* Finalize small restructuring of credits code
* Simplify ToolsComponent instantiation
* Add basic Add user to org functionality
* Make update user permissions form work
* Make remove user from org work
* Use generic Stimulus AjaxController to cleanup code
* Use Stimulus AjaxController for NotesComponent
* Use Stimulus AjaxController for CreditsComponent
* Use Stimulus AjaxController for OrganizationsController
* Add Admin::Users::Tools::ReportsComponent
* Do not display snackbar message if there is no message
* Add Admin::Users::Tools::ReactionsComponent
* Fix EmailsComponent spec
* Add CreditsComponent tests
* Fix quotes
* Add OrganizationsComponent specs
* Add ReportsComponent spec
* Add ReactionsComponent spec
* Fix rubocop violation
* Fix ToolsComponent specs
* Remove unused variable
* More tests
* Use keyword argument for ToolsComponent
* Fill in Tools requests specs
* Use Rspec shared_examples for ToolsController and EmailsController
* Add tests for Admin::Users::Tools::CreditsController
* Add tests for Admin::Users::Tools::NotesController
* Add tests for Admin::Users::Tools::OrganizationsController
* Add tests for Admin::Users::Tools::ReactionsController and ReportsController
* Fix bugs and add tests to Admin::OrganizationMembershipsController
* Add comments to deprecated sections of the UsersController
* Fix bugs and add tests to Admin::UsersController #send_email and #verify_email_ownership
* Add User model tests
* Feature flag fixes
* Add Cypress Tools - Emails tests
* Add Cypress Tools - Notes tests
* Add Cypress Tools - Credits tests
* Add Cypress Tools - Organizations tests
* Add Cypress Tools - Reports and Reactions tests
* Mark the replace target as a polite region
* Update view_component gem
* Tiny fixes
* Fix spec
* Wrap component rendering in render_component
* Move user.related_negative_reactions to a Reaction scope
* Move user.reports to a FeedbackMessage scope
* Move user.last_verification_date as EmailAuthorization class method
* Revert encapsulation to private
* Fix boxes backlinks names
* Add keyboard focus styling to boxes
* Remove duplicate styling
* Remove duplicated header element
* Improve heading hiearchy
* Fix <legend> and labels
* Backlink should be Tools not Users
* Announce section change to screen reader and fix focus
* Fix specs
* Add focus style for backlinks
* Enable email sending in e2e mode
* Use Settings instead of env variable
* add MobileDrawer component
* WIP begin navigation component
* rough working version complete
* update story to allow for actual navigation
* add component tests
* add docs
* add HTML variants
* add a max width to the drawer
* Add the preview card to logged out feed initial content
* initialise the initial dropdowns added on the logged out feed
* minor tweak to selector
* flip the follow button and the summary
* add minimal preview card to build article HTML
* WIP: data fetched an inserted into card on logged out feed
* WIP: cards added to logged in feed
* create separate profile preview card component
* small style tweak, import pack on each page that shows feed cards
* rename
* tweak some styling issues
* make sure follow buttons init in cards
* populate all matching metadata placeholders after fetch
* don't render full preview card upfront on logged out feed
* refactors from PR comments
* fix issue in person search results
* remove check for article author link that will be superseded by cypress test for preview card
* Revert "remove check for article author link that will be superseded by cypress test for preview card"
This reverts commit 9b42804ffd0f051891c87293d0b791ed2bb0367f.
* Revert "fix issue in person search results"
This reverts commit 04941e3520c0895212141193b60f2933faed5ca1.
* only show the preview cards on story cards for Posts (not users etc in search results)
* correct display on collections view
* remove link check that will be replaced by cypress test
* tweaks to small issues, add a test for the logged out feed
* add tests for logged in home feed, logged out tag index
* add search test and tag index logged in test
* fixes to preview profile spec
* tweak to followauthor spec
* add cypress test for preview on series page
* use a unique test user for series test
* correct the jsdoc comments
* tweaks following PR review
* allow feed preview cards to reposition
* move to separate file from pack
* Edit buttons styles for Templates responses (Mod)
* Update comments.scss
* Edit classic CSS buttons to SCSS
* added m-1 to submit buttons
* Deleted CSS class for .response-templates-container and added mb-3 to header
* Add crayons-btn to personal and moderator buttons
* Update app/assets/stylesheets/views/comments.scss
Co-authored-by: rhymes <github@rhymes.dev>
* 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`
* feat: add a first version of the confirmation page - still a wip
* feat: style the modal properly
* chore: update the text
* chore: update from master
* fix: add the correct text and layout for the feature flagged confirmation email
* feat: use the view_class functionality to assign some css styling to the confirmations class
* feat: add the Forem background
* feat: add some styling to "Click Here"
* feat: polish styles
* feat: the padding will be used for mobile
* chore: some blank lines
* feat: add some more styles
* feat; use media queries
* feat: add a callback to the modal
* feat: handle all javascript on the confirmation form
* feat: change back to a button
* feat; change from button to span for accessibility
* feat: add the callback in an if condition
* feat: add a main-content
* feat: update the confirmation page html
* feat: add Cypress test
* minimal seeded flows
* fix: rename the file
* feat: update confirm email spec
* fix: remove mistake
* refactor: rename the files appropriately
* feat: change some text
* fix: typo
* fix: update as per suggestions
* update-member-dropdown-to-remain-on-mouseout-when-click
* add test for topNavigation
* fix cypress test for member dropdown button
* fix typo, change file name
* use data-attribute isntead of empty class for clicked event
* refractor syntax
* remove unnecessary alias
* create new pack, handle user follow buttons, use pack on article page, remove initializeUserFollowButts
* init all follow button types, add pack to tag index and podcast episode pages
* add pack to all relevant pages, listen for newly inserted follow buttons
* change to searchParams to remove follow button initializer calls
* fix bug with tag page, add pack to notifications page
* fix issue with follow back inner text
* update cypress specs
* run the followbuttons code on sponsors page
* remove extra foreach
* add test for follow from article sidebar
* add test for follow and unfollow tag
* add test for the tag index page
* add spec for organisation profile follow
* add tests for follow buttons in search results
* add tests for notification follows
* commit missed file - woops
* show login modal if user is logged out when they click
* add cypress tests for logged out state
* change tag button initialization
* remove data-button-initialized
* init follow buttons from base pack
* handle the case where multiple follow buttons exist on a page for the same user
* account for instantclick and userdata not being defined, lower coverage for jest
* use getInstantClick
* fix issue with set initialisation
* only listen for mutations in areas we know follow buttons may be added dynamically
* small refactors
* Add tests and Railsify a few things
* Adds JSON representation of ProfilePreviewCardsController
* Load profile and setting eagerly
* Add profile preview card color
* delay the hover appearance of preview card
* don't run animation if the dropdown is already held open by click
* wake up travis
* Trigger Travis CI
* remove unncessary document queries
* change readonly input to p tag
* add pointer cursor and focus on copy post url option
* add Enter keypress eventListener to copy post url option
* add test for enter press event, refractor some test to click on copy post url option instead of just the image
* make copy post url font bold
* add scss class sidebar for dropdown && fix sidebar dropdown reaching under topheader in large screen resolution
* resolve conflict with main
* Update _actions.html.erb
* changin markup to improve accessibility
* make variable name appropriate, switch cypress to imitate user interaction
* remove dump file, fix test to use alias
* Banner v2 - first working version
* Move pack_with_chunks_tag up + removing comments
* Trying to fix unlrelated tests
* Revert experiment
* Defer initialization until page is ready
* Test refactor + trying out UDL Server refactor
* Revert experiment - to be handled in separate PR
* refactor to use function component
* Cleanup unused lines in cypress test
* Update app/javascript/runtimeBanner/RuntimeBanner.jsx
Co-authored-by: Nick Taylor <nick@forem.com>
* Apply review feedback
* Update app/javascript/runtimeBanner/RuntimeBanner.jsx
Co-authored-by: Nick Taylor <nick@forem.com>
* Add import clause + extract functions outside of component
Co-authored-by: Nick Taylor <nick@forem.com>
* search js in a separate file
* add file searchParams and import utilities
* fix imports
* use global header eslint
* add spaces in eslint comments in searchParams.js
Co-authored-by: rhymes <github@rhymes.dev>
Co-authored-by: rhymes <github@rhymes.dev>
* Fixed an issue with the moderation button not appearing on some posts.
* Added some E2E tests to ensure moderation button is on posts for trusted users.
* Added some more tests.
* Added a test to ensure moderation button does not appear when logged out.
* fetch preview card follow buttons in one network call
* when new comment is submitted, only fetch new comment status
* make sure individual button follow requests continue to init
* Add follow-user class to all follow user buttons via the application helper
Co-authored-by: mstruve <mollylbs@gmail.com>
* schema file undelete description
* feat: v1 of the script
* Flesh out remaining enums under their categories
* complete UsersSettings data update script
* complete DUS for relevant attributes in users and profiles tables
* complete DUS for users_notification_settings
* alphabetize user_settings sql file
* safeguard against null values for "null: false" settings
* Set up actual UsersSettings DUS and specs files
* fix broken DUS script
* complete specs for UsersSetting DUS
* Address QA of specs
* complete specs for users_notification_settings DUS
* fix the typos (thanks Julianna!)
* begin implementation
* still building
* add missing attribute "email_membership_newsletter"
* complete sync code (except race condition for user profile)
* complete implementation, remains tests
* Address PR review and fix Travis fails
* remove superfluous Profile.new
* fix travis fails
* feat: update the users_notification_setting attributes from the user model
* feat: use the config fonts enums to display the fonts
* feat: loop through the keys
* fix profile = nil blowing up; add specs for notification_setting model
* remove unneeded spec
* remove feed validation until after sync code removed; fixes feed_import spec failures
* remove spec associated with feed_url validation in user_setting model
* fix failing spec 😅
* add TODO
* feat: set the user settings in the user controller and use it in the customization form
* feat: move some update logic to the users settings controller thats being used from customization
* feat: show the updated values form the users_settingd and not the user instance
* Generalize redirect back to current tab
* still trying to reflect changed theme upon refresh
* customizations take effect on refresh
* remove 'with_feed' scope from user model
Co-authored-by: Jamie Gaskins <jamie@forem.com>
* start with takeover for fields previously in profiles table
* Takeover code for `publishing_from_rss` section in Settings (#13914)
* implement takeover code part 1
* implement takeover code
* fix feed fetch
* need rhymes help
* complete implementation; specs pending
* fix STUPID omission that caused so many headaches 😫
* implement profile fields pointing to users_settings 🎉
* run migrations
* implement inbox type & guidelines takeover code; specs pending (#13911)
* Point changes in notification settings to `users_notification_settings` table (#13910)
* implement takeover code; remains specs
* address PR feedback; remove related sync code
* address PR review feedback
* need help with routing and specs
* address pr review
* addressing pr review
* Treat implementation edge cases and omissions 😅
* fix uncommented comment
* fixing implementation cases
* address more PR review feedback
* fixing notifications use-cases
* refactor settings controller
* more pr review changes
* solving bugs
* fix broken onboarding
* handle eperience_level calls
* more fixes
* remove unneeded mappings
* add To-dos for quety updates
* remove done TODO
* purge done TODOs
* update notification_settings-related queries
* start fixing specs
* fixing specs
* fix notification and lrg_forem specs
* fixing broken specs
* still fixing
* fix line dif and remove reloads from user.rb
* run specs
* silence bullet and other fixes
* remove setting migration scripts and specs, fix more settings for specs
* handle missing user for article builder and fix notification specs
* fix some final controller specs and re-add incorrectly removed specs
* remove deprecated data update scripts and related workers, put travis back
* refactor admin tags mods controller, write/move specs for users notifications settings controller
* schema cleanup and other small refactors for consistency
* set field we can invalidate in spec via active record instead of at the db level
* remove I think an uneccessary hook call from subscribe_to_mailchimp_newsletter
* use bnefore_create to setup settings, please dont blow up the test suite
* mailchimp bot fix
* remove decorator in favor of single model method
Co-authored-by: Arit Amana <msarit@gmail.com>
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
Co-authored-by: Arit Amana <32520970+msarit@users.noreply.github.com>
Co-authored-by: Jamie Gaskins <jamie@forem.com>