* remove border from ad and fix cut-off
* improving ellipsis for tags
* improving ellipsis for tags
* fixing underline between each tag on hover
* user avatars alignment in left sidebar
* test commit
* reverting test
* test commit
* reverting test
* index unassigned
* user suggestions in right sidebar on tag page, fixes
* improving widgets a little
* line height for category
* Update tests
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Add UI to vomit on a user from /mod
Co-authored-by: MichaelaHunter <michaela1234@gmail.com>
* Add backend tweaks for vomitting on users
Co-authored-by: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com>
* Validate that users can't moderate articles
* Add system spec for article mod page
* Satisfy rubocop after rebase
* Fix typo and formatting
* Use reactable_id instead of user_id
Co-authored-by: Michaela Hunter <60361569+MichaelaHunter@users.noreply.github.com>
Co-authored-by: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com>
Because confirming a User vomit is a particularly destructive task, we
want to make it a bit more intentional. Ben recommended adding a confirm
dialog for these reports.
This commit also satisfies erblint's complaints regarding the select
element in the ransack search form.
The FAQ page displayed in production is actually generated in internal
and it might be pretty misleading to folks who want to contributing by
improving our FAQ if they find this file in the codebase.
This has the benefit of clearing up any confusing that might arise from
finding this file and also having a placeholder if someone goes the faq
route in the their dev environment.
* de-emphasizing right sidebar: mostly colors & spacing
* adding a bit more love to typography in sidebar
* changing language on LISTINGS widget header
* hiding profile widget from left sidebar
* cards shadow now looks like a bit less random and annoying
* actually doing the same with all shadows! YOLO
* some spacing cleanups around sidebars
* this time some typography love
* im committing but not really sure what exactly
* adding a bit more love to feed card
* looks like i broke some other views.. time to fix em all
* cleaning up typography a bit more
* .
* separating empty search results styling
* created a card styling mixing to reduce some code.. also moved cheese around a bit
* several more cleanups
* improving responsiveness
* i fixed what i broke
* more cleanups
* org badge
* .
* ...
* responsiveness
* .
* some adjustments
* bring back profile card
* tiny logo adjustment
* bunch of further refainments
* typography
* a bit more refainments
* whoops
* bringing back CTAs styling to loggedout sidebar
* fixes to left tags in left sidebar after merge
* buttons fix
* fixing border-color
* Update app/assets/stylesheets/articles.scss
Typo!
Co-Authored-By: Nick Taylor <nick@iamdeveloper.com>
* .
* css cleanup + double border on article page
* removing unnecessary comments
* get rid of loading glitch
* static vs fixed header
* Update system specs
* Update client test snapshots
* Further modify homepage specs
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Add json support at stories/index endpoint
* Tweak tests
* Add main image
* Some light refactoring in StoriesController
* Tiny test refactor
* Split feed generation to it's own controller
* Use Jbuilder for article formatting
* Blank lines thanks Rubocop
* Don't cache this response: we want it generated per use each time
* Whoops!
* PR changes and tweaks to Timeframmer constants
* Remove initializer test since arguments aren't required
* feat: we add the attribute for faceting
* feat: pass the requires_approval tag through with the dataset
* feat: if the tag requires approval then filter by the approved:true facet that we setup via algolia
* chore: false is redundant
* chore: robocop syntax improvement
* refactor: rename filters to tagFilters
* chore: standard javascript styleguide formatting
* chore: javascript styling
* Update app/assets/javascripts/initializers/initScrolling.js.erb
Co-Authored-By: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* feat: port over changes (+ suggestions) from https://github.com/thepracticaldev/dev.to/pull/5892/files
* chore: add query over multiple lines
* refactor: move the sql logic into the controller instead of in the template
* chore: appease code climate
* feat: the number of published posts should show up by approved article.
* chore: Do not use spaces between -> and ( in lambda literals
* refactor: use the existing function in order to spawn the one where we need approval
* refactor: move logic to the controller instead of the view :)
* chore: code climate syntax
* chore: more codeclimate
* Convert SponsorshipDecorator to Rails decorator
* Remove empty ReactionDecorator
* Rename SponsorshipDecorator#level_color_hex to level_background_color
* Convert CommentDecorator to Rails decorator
* Add specs and fix bugs for NotificationDecorator
* Convert NotificationDecorator to Rails decorator
* Add specs and fix bugs for OrganizationDecorator
* Convert OrganizationDecorator to Rails decorator
* Add specs to PodcastEpisodeDecorator and fix bugs
* Convert PodcastEpisodeDecorator to a Rails decorator
* Add missing specs for ArticleDecorator and fix bugs
* Convert ArticleDecorator to Rails decorator
* Add missing specs to UserDecorator and fix issues
* Convert UserDecorator to Rails decorator
* Add .decorate_collection method
* Add decorator for AR relations and remove Draper
* Rename BaseDecorator back to ApplicationDecorator
* Rename .decorate_ back to .decorate
* Restore decorate_collection (WTH)
* Add decorated?
* Fix bugs and failing specs
* Decoration should always be explicit
* Add "Welcome" type to Broadcasts, allow dynamic "authoring" of Broadcasts
This adds a new `type_of` to the Broadcast model: "Welcome". As we begin to create a new "welcome notification" workflow, we'll categorize them by making them all of the same type.
This also adds a concept of a "welcoming user", which can be set via an ENV var. The WELCOMING_USER_ID will allow us to explicitly set (and change) which user in the database is the one that "sends" welcoming notification. In production, we plan for this to be dev.to/sloan.
* Allow WelcomeNotificationWorker to accept + send any kind of broadcast
This abstracts out the logic of deciding which broadcast to send from the woker into the calling method. This will help us send many different kinds of welcome notifications using one, resuable worker class.
* Raise if a Notification can't be created
* Add STAFF_USER_ID as an ENV var
This is in preparation for moving away from SiteConfig.staff_user_id, and replacing it with an ENV var. We will need to set this in production first, and then make a separate PR to replace all instances of staff_user_id with the newly-set ENV var.
* Consolidate `.decorate` calls
* Move Activerecord finders out of main stories feed partial
* Add back in decorates to sticky_articles partial
* Combine top and new articles returned from StoriesController
* Extract feed construction logic to a service
* Some PR tweaks (naming)
* Quick test fix
* SASS formatting in action.
* Unnested .sidebar-nav-element in SASS
* Created the <TagsFollowed /> component.
* Mini refactor.
* Left side bar uses <TagsFollowed /> component now.
* Accomodating InstantClick
* Small refactor and added some comments.
* The homepage webpacker pack only needs to be loaded once.
* Added tests for the <TagsFollowed /> component.
* Modified the receive InstantClick callback as per their docs.
* Reverted the data-no-instant on he homepage bundle. It seems to cause issues in certain scenarios.
* Just some tweaks to <TagsFollowed /> component.
* Removed CSS for general img tag in context of sidebar as it does not appear to be used.
* Fixed copy paste error from JSX to HTML.
* Fixed <img /> styles for arbitrary sponsorship widget.
* Fixed a regression that a Capybara test caught.
* Fixed user followed tags on home page tests.
* Fixed logic for loading user data on homepage.
Allowing ids to be mutated by admins from the /internal/config pages is dangerous.
This could cause issues if an admin tries to update the SiteConfig.staff_user_id to an id that is another user's id, or to an id that isn't valid.