Commit graph

3073 commits

Author SHA1 Message Date
PJ
eadbc94ca5
Round Robin notifications design refresh (#19420)
* update visual design

* add comment user to mod notification

* fix request spec
2023-05-04 18:13:14 +01:00
Rajat Talesra
80f5591c1f
Changed Add Moderator position for better UX (#19346) 2023-05-01 14:13:48 +05:30
Rajat Talesra
321db95e31
Add more visibility and control into the Admin Article page (#19345)
* Basic thumbsup, thumbsdown and vomit

* Refined UI of flags and vomits

* If check

* Optimised code and added a method in article.rb

* Removed public keyword

* Nit fixes
2023-05-01 13:37:01 +05:30
Ridhwana
e67454fa53
Preparation of endpoint and files required for ChatGPT Plugin (#19394)
* feat: add the ./wellknown/ai-plugin.json file

* feat: add a logo

* feat: firts attempt at open_api file with endpoint we thought we'd use

* feat: add a search action to teh articles controller that build up teh appropriate json

* feat: add a query param to the article index

* feat: add some chatgpt endpoints and file paths to CORS

* feat: update the openapi yml file to reflect the article search endpoint

* fix: use the correct concept

* feat: replace the logo

* feat: update the ai-json file

* feat: update the openapi file

* feat: update the api and it's params

* feat: update the search query

* fix: ordering

* feat: cors debug

* fix: logic with markdown

* chore: fix test

* spec: article

* spec: article

* spec: article

* Update public/.well-known/ai-plugin.json

* Update public/openapi.yml

---------

Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2023-04-27 16:51:24 -04:00
PJ
800ff397e0
Migrate initializeArticleDate and initializeArticleReactions to Webpack (#19377)
* feat: tests for series list on article page

* feat: test for jump to comments button (needs fix)

* feat: tests for reaction drawer on article page

* feat: test for full date on hover??

* feat: add full date on hover tests for all pages with publish dates

* fixed jumping to comments test

* move initialisers to packs

* fix coverage issues

* fix flaky login modal spec

* switch back to using onclick instead of addEventListener
2023-04-25 18:33:43 +01:00
Joshua Wehner
dc1ab81401
Allow DisplayAd to target users via audience segmentation (#19284)
* Trying some models for audience segmentation

* AudienceSegment basics

* Attach AudienceSegment to DisplayAd

* Possibly use a DUS to populate AudienceSegments

* Add to display ad form UI

* Add to display ad API

* Refresh strategy for audience segments

* Add user_id to async ads query

* Maybe :testing -> :manual, for no-refresh segment

* Test & tweak segment refresh

* Testing audience_segment#refresh logic

* Coverage: testing human_readable

* Scope segment refresh to recently active users

* Tweak logic for when to refresh

* Tweak experience levels to match SettingsHelper

* Test for front-end logic

* Fix test, hope this helps coverage?

* Better test names

* One worker for all, many workers for each, perform_bulk

* Fix audience segment UI, needs to use id, not enum

* cron/schedule should RefreshAll

* Singular id in RefreshWorker
2023-04-25 08:41:10 -04:00
Rajat Talesra
55bf506dfb
Added link to org name in community billboards (#19331)
* Added link to org name in community billboards

* Nit fix
2023-04-17 12:28:30 -04:00
fille du chaos
bef1c4a1e0
Migrate initializeDrawerSliders and initializeHeroBannerClose to Webpack (#19324)
* feat: tests for tag page sidebar drawers on mobile

* feat: tests for hero area/banner on home feed

* refactor: move ui interaction initialisers to packs

* remove old filter select implementation
2023-04-17 10:55:02 +01:00
Ben Halpern
886e170e2f
Fix typo in tag mod email (#19333) 2023-04-15 21:44:16 +02:00
Lawrence
51b1cc212b
Update Tag Mod Email (#19329)
* update text file

* feat: update the text

* feat: update the html

* fix: Hey, username

* feat; just use @tag consistently instead of tag.name

---------

Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
2023-04-14 15:59:40 +02:00
Ridhwana
4e9c5479c1
Billboard Dropdown style updates (#19318)
* changes to the divider

* chore: update the flag icon

* chore: add a consistent width and height to all the icons in the dropdown

* chore: move widtha dn height closer to definition

* feat: make the border 1pm

* feat: add a margin to thehr

* add margin all round for hr

* chore: same 8px for all around
2023-04-14 11:01:52 +02:00
Ridhwana
940c67a904
Load post_sidebar billboard asynchronously (#19317)
* feat: add a route to the async_info for display ads

* feat: load the billboard asyncronously

* feat: move the methods to the display_ads controller

* feat: handle params better

* feat: cache control headers

* feat: test fastly caching headers on display ads

* fix: surrogate key test

* feat: use safe navigation operator to handle cases where there is no article id

* fix: article id present then find the article

* feat: add a response test

* Fragment caching

* feat: update the article decorator

* feat: update cache keys for fragment

* feat: remove an empty line

* feat: add article id

* feat: bust cache

* feat: setup dropdown for billboard

* chore: add chunk to same line

* feat: add to safe params for caching

* Update app/controllers/display_ads_controller.rb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* feat: remove the cache deletion

* feat: update the routes to follow a new scope

* feat: update the cache params

* feat: get and replace all ads on the article page

* feat: do not go into the if statement if there is no async url property so that the ad fails gracefully

* chore: remove duplicate pack

* Update app/views/articles/show.html.erb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* Update app/views/articles/_sticky_nav.html.erb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* chore: add other params

* feat: allows adding placeholder content in the ad if need be

---------

Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-04-13 19:23:27 +02:00
Ridhwana
0771a5cd2e
Load post_comments billboard asynchronously (#19285)
* feat: add a route to the async_info for display ads

* feat: load the billboard asyncronously

* feat: move the methods to the display_ads controller

* feat: handle params better

* feat: cache control headers

* feat: test fastly caching headers on display ads

* fix: surrogate key test

* feat: use safe navigation operator to handle cases where there is no article id

* fix: article id present then find the article

* feat: add a response test

* Fragment caching

* feat: update the article decorator

* feat: update cache keys for fragment

* feat: remove an empty line

* feat: add article id

* feat: bust cache

* feat: setup dropdown for billboard

* chore: add chunk to same line

* feat: add to safe params for caching

* Update app/controllers/display_ads_controller.rb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* feat: remove the cache deletion

* feat: update the routes to follow a new scope

* feat: update the cache params

---------

Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-04-12 18:15:15 +02:00
Rajat Talesra
fc28dfaae5
Support for new ad placement locations on home page feed (#19299)
* Basic implementation of all 3 ad placements

* UI fixes

* Dropdown bug fix

* Optimised code

* Updated tests

* Updated tes

* EOF added

* Improved a11y

* Nit fix
2023-04-12 18:47:29 +05:30
Joshua Wehner
5188ca8138
Cleanup multiple reactions feature flag (#19257)
* Update notifications_helper

* Update notification decorator

* Removed old notifications views

* Remove flag check from _actions partial

* Remove feature flag from views

* Remove flag from model

* Update logic in reaction drawer button

* Missed this somehow

* Update app/assets/javascripts/initializers/initializeArticleReactions.js

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

* Update these tests to multiple reactions

* Adjust logged-out test to account for multiple reactions

* Removed unused

* Try to boost coverage

---------

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2023-04-07 17:14:10 +02:00
Joshua Wehner
d3f8e127fa
Add an article exclusion list to Billboards (#19280)
* Add exclude_article_ids int array

* Add specs, normalize inputs better

* Add to form & controller

* Add exclude_article_ids to DisplayAd API

* Use exclude_article_ids in query

* Rubocop

* Comment typo

* Tweak rspec example length config

* Arguments all the way down

* Typo

* Update spec/requests/api/v1/docs/display_ads_spec.rb

Co-authored-by: Ben Halpern <bendhalpern@gmail.com>

* Update spec/requests/api/v1/docs/display_ads_spec.rb

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

* Swagger schema for Display Ad

---------

Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2023-04-05 09:10:22 -04:00
Rajat Talesra
2346d22fe9
a11y-ize reaction drawer (#19273) 2023-03-31 11:00:45 -04:00
Ridhwana
16f678cebd
feat: move the initializer to a pack file (#19279) 2023-03-31 15:33:41 +02:00
Lawrence
e4e1f4d96d
report abuse dropdown link (#19247)
* report abuse dropdown link

* Update app/controllers/pages_controller.rb

* Update app/views/shared/_display_ad.html.erb

* remove billboard url check

---------
2023-03-28 14:02:31 -05:00
Ridhwana
42b392906b
Migrate initializeUserProfilePage to webpack (#19241) 2023-03-28 12:20:49 -04:00
Ridhwana
15bb2e5a8b
Tweaks to display ad styling (#19262) 2023-03-24 12:49:27 -04:00
Rajat Talesra
54eb412593
Add user status from profiles to the report section (#19240) 2023-03-23 15:47:41 -04:00
Ridhwana
c285cf8f9e
Promotional Flair for external Billboard (#19216)
* Users can only opt-out of external ads

* Move random sampling out of FilteredAdsQuery

* Refactor filtered_ads_query_spec

* Add test for new permit_adjacent setting

* Rubocop

* Use permit_adjacent_sponsors on article sidebar and post-comments

* Remove, unused

* Update copy

* type_matched -> type_of_ads

* Remove non-applicable test

* feat: update the bullet safe list and add eager loading with organizations

* feat: add an indicator round for promoted

* feat: update the css

* feat: add il8n

* fix: styling changes

---------

Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-03-23 18:37:04 +02:00
Joshua Wehner
b812ca5955
(Really) Enable multiple reactions on #index (#19202) 2023-03-22 10:20:00 -04:00
Joshua Wehner
8086ef68ac
Fix bullet issue with includes commentable (#19145)
* Fix bullet issue with includes commentable

* Flatten view logic

* Restore user comment section logic (but bullet-friendly)

* Try fixing podcast_episode -> podcast

* Add test that would have caught the logic bug

* View specs need describe to specific the path

* Remove unnecessary _comments argument

* Ooops, missed saving this
2023-03-20 16:08:03 +01:00
James Wu
78bb52a627
Fix text color contrast on social previews (#19163) 2023-03-17 13:37:19 -04:00
Joshua Wehner
230e77e5cd
Update FilteredAdsQuery and user settings for opting-out of Billboards (#19208)
* Users can only opt-out of external ads

* Move random sampling out of FilteredAdsQuery

* Refactor filtered_ads_query_spec

* Add test for new permit_adjacent setting

* Rubocop

* Use permit_adjacent_sponsors on article sidebar and post-comments

* Remove, unused

* Update copy

* type_matched -> type_of_ads

* Remove non-applicable test

---------

Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
2023-03-16 15:23:02 +02:00
Ben Halpern
22e8d802da
Billboard style tweaks (#19206)
* Billboard style tweaks

* Padding-right adjustment

* Padding adjustments
2023-03-09 13:51:42 -05:00
Joshua Wehner
0baafeabb9
Fix social media settings to enable mastodon (#19191) 2023-03-07 16:49:16 +01:00
Lawrence
cfad413ca1
Display Rules for In house and Community Billboards (#19189)
* init

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* add display ad query and update caller

* set as keyword args and add org id to callers

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/views/articles/_sticky_nav.html.erb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* Update app/views/articles/show.html.erb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Spacing

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/queries/display_ads/filtered_ads_query.rb

More spacing

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: Joshua Wehner <joshua@forem.com>

* Update app/queries/display_ads/filtered_ads_query.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix some broken specs

* add updated spec for billboard rules

* missing comma

* Update spec/queries/display_ads/filtered_ads_query_spec.rb

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* add placement in spec

* fix external spec

* cleanup

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-03-06 14:15:14 -08:00
Lawrence
b5744b08c6
Billboards Ownership Style Rules (#19176)
* display ad partial

* add translations

* replace views with partial

* add context types

* check if ad is community

* not fully rounded

* fix spec

* updated styling

* adjust spacing
2023-03-03 13:19:09 -06:00
Joshua Wehner
727705dc89
Revert "Enable multiple reactions on #index (including front-end render)" (#19197) 2023-03-03 09:59:51 -05:00
Joshua Wehner
8a45a4bf67
Enable multiple reactions on #index (including front-end render) (#19169)
* Revert "(Temporarily) Remove multiple reactions from #index (#19142)"

This reverts commit a45d300639.

* Clean up reaction category count mechanism for #index

* Remove, unnecessary

* Expose reaction categories in JSON response

* Update test with new categories

* Fix flaky sample / minimum floor

* buildArticle (infinite scroll) with multiple reactions

* If we're doing #index front-end, we aren't feature-flag'd

* nbsp

* react (home feed) has multiple_reactions

* Update app/assets/javascripts/utilities/buildArticleHTML.js

Co-authored-by: Rajat Talesra <rajat@forem.com>

* Clean up Reactable#reaction_categories

* Use 'multiple_reactions_icons_container'

* Try adding a ReactionCount test

* Adapt memory fix from 76dd53d

* Try adding categories to fixture

* Attempt to eager-load distinct public categories

* Setting dependent to the default for rubocop

* Try making image assets more public?

* Revert "Fix flaky sample / minimum floor"

---------

Co-authored-by: Rajat Talesra <rajat@forem.com>
Co-authored-by: Mac Siri <mac@forem.com>
2023-03-03 15:17:19 +01:00
Rajat Talesra
1d60c5ff77
Added dropdown to display ads / billboards (#19106)
* Initial setup work with error

* Dropdown working with error fixed

* Removed repition

* Home page billboard dropdowns added

* Created common file for dropdown

* Complete display ad dropdown usage

* Minor indentation fix

* Minor UI updates

* Minor test update

* Dropdown for billboard optimisation

* Added anchor tags

* Display ad unified code

* Design changes

* Design changes

* Changes to display ad click tracking

* Style changes

* Design change to admin display ad

* Nit fix

* Nit fix

* Updated test
2023-02-27 22:57:01 +05:30
Joshua Wehner
c251f4000d
Add creator to DisplayAd (#19126) 2023-02-22 14:17:22 -05:00
yheuhtozr
561ed1858f
Tweak i18n edited date format(#19104) 2023-02-21 18:30:57 -05:00
dancristianb
814080dc3b
Fix nested sidebar active item highlight (#18973)
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
Co-authored-by: Fernando Valverde <fernando@fdo.cr>
Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-02-21 16:18:42 -05:00
Anna Buianova
efe540dfce
Billboards type_of: added field to the API and small admin form changes (#19125)
Co-authored-by: Joshua Wehner <joshua.wehner@gmail.com>
Co-authored-by: Mac Siri <mac@forem.com>
2023-02-21 14:17:40 -05:00
Ben Halpern
76dd53d874
Fix icon memory issue (#19162) 2023-02-21 08:10:22 -05:00
Joshua Wehner
a45d300639
(Temporarily) Remove multiple reactions from #index (#19142) 2023-02-20 14:38:05 -05:00
Ben Halpern
9b66a8e406
Make multiple reactions play nicely with edge caching (Frontend) (#19147)
* Make multiple reactions play nicely with edge caching

* Remove backend code

* Update app/assets/javascripts/initializers/initializeArticleReactions.js
2023-02-20 12:55:50 -05:00
Joshua Wehner
1374ab98e6
Ensure spam doesn't hit logged-out /latest (#19110)
* Ensure spam doesn't hit logged-out /latest

* Restore load-bearing constant

* Narrow selector avoids the new 'latest' banner

* Test scenario for signed-in low-score content

* Remove false-negative test

* Actual test for the logged-in scenario

* Signed-in users get poor quality content

* Feeds (RSS) use an entirely different query

* Pass @stories

* Update tests with new minimum score
2023-02-17 09:29:59 +01:00
Ben Halpern
888bdd9b88
Tweak trusted copy to include page (#19113) 2023-02-15 09:16:37 -05:00
Lawrence
ca96be13dd
name route and add link (#19109) 2023-02-14 10:15:21 -06:00
Keiichi Kayama
8e0b5bc0f5
Fix force params of the fetch episodes (#18932)
* Fix force params of the fetch episodes

* Fix rubocop@Fix force params of the fetch episodes

---------

Co-authored-by: Joshua Wehner <joshua@forem.com>
2023-02-14 11:37:35 +01:00
Rajat Talesra
2fc5e13306
Multiple Reactions minor fixes (#19107)
* Reactions minor fixes

* Notification, stack and reactions UI fixes

* Final multi reactions UI fixes
2023-02-13 22:11:55 +05:30
Lawrence
a4a54efc34
Mobile View: Padding Adjust (#19061)
* adjust bottom padding

* reset icon size

* resize spacing

* increase width for desktop drawer

* revert svg sizes

* set icon dimensions

* adjust styling to mock

* revert

* change the correct scss file
2023-02-10 12:02:47 -06:00
Joshua Wehner
567e31248a
Try right-to-left for stack effect (#19083)
* Try right-to-left for stack effect

* Reverse order to counter rtl ordering

* Better post-merge reconciliation

* Try to get test ratio boost

* Fix test
2023-02-10 11:01:03 +01:00
Rajat Talesra
0b684eb421
Multiple Reactions UI fixes (#19077)
* Multiple Reactions UI fixes

* Minor fixes
2023-02-10 10:36:04 +05:30
Rajat Talesra
37941c4f5b
Multiple Reactions icon align with text (#19079)
* Reactions icon align with text

* Nit fixes

* Nit fixes

* Made reactions clickable

* Indentation fix

* Added border to icons
2023-02-08 20:26:46 +05:30