Commit graph

2578 commits

Author SHA1 Message Date
Jeremy Friesen
a3441a318d
Adding ugc role to untrusted profile URLs (#15520)
Prior to this commit, we trusted all user profiles.  There are folks
using DEV.to profiles to help with their spam efforts.

With this commit, we're trying to thwart their efforts.

Closes forem/rfcs#334
2021-11-29 17:54:09 -05:00
Ridhwana
4ef0949263
Update the User Invitation email copy (#15501)
* feat: update the invitation text and translations

* chore: oops french in english

* chore: translation

* fix: name fr
2021-11-29 09:29:36 -05:00
yheuhtozr
e88d1adb47
views/dashboards i18n (#15069)
* views/dashboards etc i18n

* remove ja.yml

* Update en.yml

* Update fr.yml

* Update index.html.erb

* Update index.html.erb

* Update _dashboard_article.html.erb

* Update subscriptions.html.erb

* Update dashboard_spec.rb

* Update _actions.html.erb
2021-11-29 07:19:16 -07:00
Suzanne Aitchison
03660423b9
Rename feeds + update feeds' tabs UI (#15435)
* Rename feeds + update feeds' tabs UI

* rspec updates

* change relevance to relevant
2021-11-29 07:51:24 +00:00
Jeremy Friesen
58a4d805d7
Preventing author profile from going transparent (#15478)
* 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/display

Fixes #15290

* revert table

* fix

* missed spot

* actions dropdown

Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
2021-11-24 09:38:13 -05:00
Anna Buianova
d711897cb4
Accessibility improvements for hide comments modal (#15462) 2021-11-24 09:50:27 +03:00
Fernando Valverde
75a722bd6e
ForemMobile namespaced functions (#15212)
* window.ForemMobile namespaced functions

* Fix broken Buildkite

* Wait for data-loaded before using Runtime in pack

* Bring back sprockets base

* Better error handling

* Smal fixes to ConsumerApp to support Android platform

* Fix typo

* utilities/waitForDataLoaded.js

* Update app/javascript/utilities/waitForDataLoaded.js

Co-authored-by: Nick Taylor <nick@forem.com>

* Review feedback

* Fix failing spec

* Cleanup promise

* Remove old utility file

* Add Cypress check for namespaced availability

* More specs

* Refactor to rely on ForemMobile for native bridge messaging

* Fix spec/requests/api/v0/instances_spec.rb

* Fix devices spec

* Remove changes to /api/instance

* Refactor to dynamic import

* Fix typo

* Fixed custom event detail payload for tests.

* mock ForemMobile function instead of webkit call directly

* failing jest test debug

* Another attempt

* Fixed broken test that was missing an onMainImageUrlChange prop on the component.

* Fixed mobile bridging E2E tests.

* Move Cypress tests to mobileFlows

* Add JSDocs + cypress spec for injectJSMessage when logged out

* Cleanup + Disable native image upload until AppStore approval

Co-authored-by: Nick Taylor <nick@forem.com>
Co-authored-by: Nick Taylor <nick@dev.to>
2021-11-23 15:25:29 -06:00
Fernando Valverde
c384755bae
Enable Forem (Passport) Auth (#15141)
* Enable Forem (Passport) Auth

* Remove feature flag DUS

* Add prompt for Forem Passport in admin

* Add spec & fix broken one

* Link to docs instead of passport site
2021-11-23 14:59:00 -06:00
Julianna Tetreault
cbff6cb92f
Adjust "Public" Radio Buttons on the Creator Settings Form (#15476)
* Adjusts booleans tied to public radio buttons

* Update app/views/admin/creator_settings/_form.html.erb

Revert capitalization of "only" in "Members only"
2021-11-23 11:34:05 -07:00
Julianna Tetreault
f9549b8f5c
Fixes broken TOS broken link on Creator Settings form (#15466) 2021-11-23 10:17:27 -07:00
Ridhwana
8060f78893
Dynamically update the brand colors (#15432)
* Added alias for app/javascript/controllers

* Added hooks for Stimulus controller.

* Fixed eslint issue with @controllers alias.

* Initial working logo preview.

* Added explicit accept values for png and svg files only for a logo.

* Fixed content layout shift issue and resize to max height 80px.

* Cleaned up logo preview resizing.

* Added focus style to Upload logo label.

* Now the logo preview image has empty alt text as it's visual only.

* Fixed position of upload logo button.

* Removed tooltip for logo.

* Fixed check to load client-side controller.

* Put back tooltip, minus the aria-describedby

* Fixed E2E tests I broke.

* Made the logo preview visible to the accessibility tree.

* feat: update the brand colors on the page when we select a new one

* feat: update the radio button_tags to use crayons-radio

* feat: remove the fill attributes in the svg

* Added support for JPG image upload.

* Fixed height adjustment when width exceeds max preview width.

* feat: add form-background class with an accent

* feat: update the briightness accent on the page

* Fixed JS error if user cancelled file selection for a logo.

* Added the @routes webpack alias for routes.js.erb.

* Fixed data tooltip for assistive technologies.

* Fixed preview logo alignment with upload logo button.

* remove required as it's not doing anything

* feat: update the code brigtness code

* Opting to not show friendly error message if route fails to load.

* Fixed validation message not appearing for logo.

* Revert "Added the @routes webpack alias for routes.js.erb."

This reverts commit 3b6621dcde541f2fa05df6ff75af38955842b88e.

* Reverted to default styling of input[type="file"].

* Moved creator_settings_controller to admin/controllers.

* Updated E2E test for logo preview on the creator settings page.

* create tests for the brand color updates

* feat: update the description

* Update cypress/integration/creatorOnboardingFlows/creatorSettings.spec.js

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* Update app/javascript/admin/controllers/creator_settings_controller.js

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* feat: do not update branding if an invalid color is provided

* feat: move the brightness code to its own accent calculator file in js utilities

* test: brightness ratios

* chore: remove whitespace

Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-11-23 09:46:17 +02:00
Julianna Tetreault
363c099bab
Provide COC and TOS Checkboxes During Creator Onboarding (#15430)
* WIP: Add COC and TOS checkboxes to Creator Settings form

* Adds assertions to the creatorSettings.spec.js E2E test

* Removes comments and unnecessary code from Admin::CreatorSettingsController

* Removes params from transaction

* Updates creatorSettings.spec.js to fix checkbox-related failures

* Adds a note to the COC and TOS checkboxes
2021-11-22 07:41:05 -07:00
Suzanne Aitchison
e5cda63391
reflect search query in page title (#15434) 2021-11-22 13:32:28 +00:00
ludwiczakpawel
50f8cb21fc
Mod tools trigger (#15400)
* init

* init

* test

* test
2021-11-22 08:22:26 +01:00
Nick Taylor
ca0db28fc4
Add logo preview to creator settings form (#15363) 2021-11-18 12:23:24 -05:00
Michael Kohl
09828853f6
✂✂✂ Remove Connect (#14734)
* Remove Connect

* Remove more Connect specs

* Remove a lot more Connect code

* 🚮

* It all has to go

* Explicitly add httpclient

* Update application layout

* Remove messages association from User

* Start fixing specs

* reintroduce util function and refactor references

* Remove Connect Cypress test

* Fix more specs

* Remove Connect from listings

* Ignore contact_via_connect column on listings

* Remove contact_via_connect usages

* Ignore mod_chat_channel_id on tags

* Drop Connect tables

* Remove email_connect_messages from user notification settings

* Re-add httpclient 2.8.3

This was mistakenly removed as a merge conflict

* Don't need to exclude removed chat channel file

* Remove unneeded style for chat channels

* Remove unneeded channel list prop type

* Remove chat channels index/connect-link from getPageEntries

* Re-add comment from httpclient in Gemfile

* Remove connect references from mailers

Tag Moderators no longer have a chat channel

No longer will users be notified about new messages (there won't be
any)

No longer will users be notified about channel invites (you can't
invite anyone anymore)

* Don't configure Pusher and remove PUSHER_* from .env_sample

since it's removed from gemfile, the Pusher constant will not resolve, if this is
configured in the environment variables we'll fail to boot.

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Dan Uber <dan@forem.com>
2021-11-18 08:21:00 -06:00
Suzanne Aitchison
15fed1cce4
Revise skip link behaviour (#15401)
* Revise skip link route change behaviour

* remove cypress test for divergent behaviour no longer needed

* fix import path

* remove duplicate styles - woops

* use translated string
2021-11-18 13:45:08 +00:00
Anna Buianova
4cab190285
Hiding comments: an option to hide or keep children (#15178)
* Optional hiding child comments (start)

* Changed confirm button in comments hide form

* Hide children comments if hide_children was passed

* Added a spec for hidden child comment notifications

* Hide only explicitly hidden comments

* Hide comment modal on article page

* Prevent default behaviour for hide comment link

* Improved hide comments modal looks

* Improved hide comments modal looks

* Removed unused code

* Send hide comment form via fetch

* Hide comment descendants when hide_children was passed

* Don't hide hidden comments descendants on permalink

* Removed unnecesary span

* Improved hide comments modal styling

* Removed unused styles and js, improved styling

* Clickable label

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Fixed showing hidden comments spoiler for article author

* Fixed hideArticleComments.spec.js

* Fixed displaying hidden comments text for artice author, added specs

* Target hide comments modal inside the modal when adding a listener

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Replaced hide comment link with a button

* Refactored adding hide_children url param

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Fixed cypress hide comments test

* Removed aria-label for submit on the hide comments modal

* Fixed formatting

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-11-18 11:57:40 +03:00
Julianna Tetreault
4d3237ecfb
Remove Setup Banner from Creator Onboarding Flow (#15310)
* Removes the 'Setup not complete' banner from the Creator Onboarding flow

* Chains the safe navigation operator to current_user in #creator_setup_mode?

* Replaces current_user with User.with_role(:creator) in creator_setup_mode?

* Checks for URL rather than path helper in #creator_setup_path?

* Consistently remove setup banner on the creator settings form

* Reverts changes to verify_setup_complete.rb

* Adds a setup-banner ID for removal of the gobal setup banner

* Replaces Rspec test with creatorSettings E2E test

* Wraps setup text in regex in creatorSettings.js.spec
2021-11-17 13:20:16 -07:00
Jeremy Friesen
7aa9c5b0eb
Moving blocked registration domains up (#15403)
* Moving blocked registration domains up

Prior to this commit, the field "worked" but you had to toggle email
authentication to enabled, then fill it out.  You could then disable
email notification and it would work.

This builds on #15397

* Update app/views/admin/settings/forms/_authentication.html.erb

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-11-17 11:28:37 -05:00
Jeremy Friesen
3782db891a
Adding ability to block domains from registration (#15397)
Prior to this commit, we had filtering options for email registration:

1. Specific allowed domains.
2. Implicitly allow all domains if no allowed domains specified.

With this commit, we add another option: The adminstrator may block one
or more domains from registering.

Closes forem/rfcs#281
2021-11-16 18:56:01 -05:00
ludwiczakpawel
1f685d93d1
Remove unused assets (#15367)
* remove unused assets

* spec update

* spec

* spec

* minus

* whoops

* whoops
2021-11-16 19:57:37 +01:00
ludwiczakpawel
f6dc6c1112
fix (#15360) 2021-11-12 12:35:36 +01:00
ludwiczakpawel
09db50b296
Update tag's style (#15266)
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Michael Kohl <citizen428@forem.com>
2021-11-11 14:03:31 -05:00
Julianna Tetreault
807e11b80c
Provide "Help" on the Creator Onboarding Setup Page (#15308)
* Adds a help icon to the creator settings setup page

* Moves the help icon styles from the a tag to the inline_svg_tag

* Removes reused class and aligns help icon to the right

* Refactors help icon out into a partial used across necessary views

* Moves .admin-help-button class from admin.scss to scaffolds.scss

* Adds further utility classes to align help icon as expected
2021-11-11 08:42:56 -07:00
Daniel Uber
8f7e0b1744
Let users purchase credits (#15346)
* Dark Theme preference is a user setting and not delegated

Resolves NoMethodError

* Add a view spec

This ensures the /credits/purchase page is rendered

* Test both styles based on user setting

Add an actual expectation to the view test
2021-11-10 15:18:52 -06:00
yheuhtozr
f7474ed369
views/credits i18n (#15134)
* views/credits i18n

* remove ja.yml
2021-11-10 09:12:09 -06:00
yheuhtozr
a6f08ae215
views/stories, views/layouts and other homepage i18n (#15083)
* views/stories and home related i18n

* PR key names fixes

* remove ja.yml

* Update en.yml

* Update fr.yml

* Update articles_search_spec.rb

* Update _meta.html.erb

* Update index.html.erb

* Update _meta.html.erb

* Update articles_search_spec.rb

text in HTML should not contain raw brackets

* Update articles_search_spec.rb

* Update _signup_modal.html.erb

* Add back missing Search text

Co-authored-by: Fernando Valverde <fernando@visualcosita.com>
2021-11-10 07:38:43 -06:00
Nick Taylor
dad0f9d4cc
Added a skip link for the admin area. (#15340) 2021-11-10 06:37:48 -05:00
Michael Kohl
6b2160f307
Theming cleanup (#15237)
* Theming cleanup

* Fix specs

* Use correct method

* Update storybook theme switcher
2021-11-09 10:11:55 -05:00
Arit Amana
dcf1e08477
Remove chars-count from user fields; fix inconsistent loading (#15309)
* remove chars-count from user fields; fix inconsistent loading

* remove "if loaded" check

* simplify iteration
2021-11-09 08:27:18 -05:00
Ridhwana
04c7d61dd5
Update the Creator Settings Page (#15295)
* fix: closing divs and  alignments

* fix: closing divs, alignments and add z-elevate

* refactor: remove the confirm email css annd add it to setup_mode

* improve mobile responsiveness
2021-11-09 12:42:24 +02:00
Michael Kohl
bff7cd1118
Theme data update script, remove theme choices from UI (#15225)
* Add prefer_os_color_scheme to users_settings

* Add data update script

* Update theme selector view

* Update spec wording

* Fix spec

Co-authored-by: Jeremy Friesen <jeremy.n.friesen@gmail.com>
2021-11-08 08:38:43 -05:00
ludwiczakpawel
2c40071063
fix (#15293) 2021-11-08 11:55:02 +01:00
Arit Amana
4f1bdcda22
[Small Wins] Show character limits for profile inputs (#15255)
* Start implementation

* Extend raw implementation; will refactor later

* still building

* basic implementation

* create JS pack

* Rename JS pack; use existing CSS property

* complete implementation for profile fields

* Add guard againt irrelevant profile fields

* extract view logic to helper and add specs
2021-11-05 09:11:42 -04:00
Mac Siri
2f42bc46d4
Add collection cache in articles/full_comment_area (#15278)
* Add collection cache in articles/full_comment_area

* Add missing file
2021-11-04 10:38:29 -04:00
Akash Srivastava
4cb48768f9
Added collapsed hidden comments to author's article/podcast episode view (#14018)
* Handling hiding/collapsing hidden comments client side

* Updated comment quality text

* Added placeholder for comments against podcast episodes

* Added logic for encompassing co-author-ids in articles

* Removed rspecs validating non-presence of hidden comments in dom

* Fixed hiding flow on comments page for a commentable

* Fixed e2e specs

* Addressed feedback on e2e tests
2021-11-03 11:08:04 +07:00
Kushal Niroula
87244c345c
Fix: cannot unpin articles using checkbox (#15090)
Co-authored-by: rhymes <github@rhymes.dev>
Co-authored-by: Arit Amana <msarit@gmail.com>
2021-11-02 13:50:56 -04:00
Julianna Tetreault
4a9f442354
Creator Onboarding: Creator Setup View (#14728)
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Yhëhtozr <conlang2012@outlook.com>
Co-authored-by: yheuhtozr <84892012+yheuhtozr@users.noreply.github.com>
Co-authored-by: Nick Taylor <nick@dev.to>
2021-11-01 15:50:08 -04:00
Daniel Uber
277adbed8e
Escape the backslash in the string (#15232)
This ensures it's rendered in the pattern regex field in the browser.

Without "\\w" -> "\w" we get "\w" ->"w" and only urls starting with
www are accepted by the matcher.
2021-11-01 08:59:20 -05:00
Daniel Uber
43adc9f1fb
cross posted articles showing <time> tag (#15224)
* Maybe this is what we need to do?

* Undo change to keyword

Use the on_html translation in the view, but pass 'on' as a keyword to
the template.

* remove unused translation

Since we only want to use views.articles.crossposted.on.html (and this is only used in the
article show template) - remove the unused 'on' key from the
translations file.

* Add a spec

Tested that this fails in main and passes on the branch

* Check that the original publication date is shown in the users local

And that it's not a <time> tag presented as text

* Correct local date selection error

If time zone was UTC (i.e. offset from utc was 0) the check for
positive? was false, I meant "non-negative" (positive or zero). Invert
the test.
2021-10-29 12:10:53 -05:00
Ridhwana
44cd136ae0
feat: update the admin foreme links (#15230) 2021-10-29 10:18:54 -06:00
Ridhwana
aa6d80bc5d
Only enable user invitations page when SMTP is enabled (#15219)
* first pass of styling of the page

* feat: scroll to the position in the config controller in stimulus

* feat: add the tooltip and a cursor thats not allowed

* feat: add a disabled property for all that needs smtp to be enabled

* feat: update the form styling

* feat: update the form

* specs: update the label name

* fix: syntax error

* chore: update the newline

* spec: test the invitation flow

* fix test

* feat: update the form as per suggestions

* spec: update the tests to match the new workflow

* oops committed debugging code

* chore: add a before to set the smtp_enabled method

* feat: update the boldness and fontsize of the link

* feat: remove size
2021-10-29 17:41:30 +02:00
ludwiczakpawel
f80d0bd69a
Fix path for new video when logged out (#15227)
* url fix for anons

* .

* remove button
2021-10-29 15:22:45 +02:00
Supritha
785a97bd4d
Removed extra space in code of conduct (#15218) 2021-10-29 10:39:35 +07:00
Michael Kohl
0fab8d6634
Theming changes part 1: Rename default and night_theme (#15176) 2021-10-28 07:55:46 -04:00
ludwiczakpawel
ca108aa9c8
Videos UI update (#15177)
* videos ui updates

* move cheese around

* .

* .

* thumbnail yolo

* thumbnail yolo

* object fit

* aspect ratio yolo

* .

* loading videos

* Make Travis and asset pipeline happy with .mp4 extension

* Use Cloudinary video url, testing for Travis

* Try weird things

* Try a real image url

* Use a real image instead of 'video' string

* Update views.scss

Co-authored-by: Andy Z <17884966+Zhao-Andy@users.noreply.github.com>
2021-10-28 09:34:44 +02:00
Daniel Uber
accb3c55ba
Use edited_html to generate timestamps (#15217)
The views.articles.edited template generates a <time> tag

Use edited_html (like published_html) when translating this to ensure
the time tag is rendered as html (and not escaped as text).
2021-10-27 16:37:59 -06:00
Daniel Uber
5483b9ead8
Remove surplus closing parenthesis (#15216)
Set long translation call to multiple lines to clarify body (readability)
2021-10-27 15:13:56 -07:00
yheuhtozr
a93e9f1aa7
I18nize users (non-settings) & logo designer (#15078)
* users (mostly non-settings), logo designer i18n

* remove ja.yml

* Update _profile.html.erb

* Update _metadata.html.erb

* Update _sidebar.html.erb

* Update en.yml

* Update fr.yml

* Apply suggestions from code review

Co-authored-by: Michael Kohl <citizen428@forem.com>

* Update _profile.html.erb

* Update en.yml

* Update fr.yml

* Update _logo_design.html.erb

Co-authored-by: Michael Kohl <citizen428@forem.com>
2021-10-27 17:11:28 -04:00