bluesky-social / social-app

The Bluesky Social application for Web, iOS, and Android
https://bsky.app
MIT License
13.48k stars 1.72k forks source link

Quick button for NSFW filter on/off #1002

Open monicaellerose opened 1 year ago

monicaellerose commented 1 year ago

Having a quick on/off button on the side bar or the top of the feed to quickly and easily enable the nsfw filter on or off.

It feels like their are too many clicks to turn on or off nsfw content filters especially for viewing in public/at work.

image

pfrazee commented 1 year ago

Completely agree, will be working on this tooling this quarter.

jaysoni-ash42 commented 1 year ago

web view

https://github.com/bluesky-social/social-app/assets/68722497/99b8e15c-cb03-4bbb-94c8-cbd697e1e838

mobile view

Screen Shot 2023-07-25 at 14 11 03

web view

Screen Shot 2023-07-25 at 14 05 53

web tablet view

Screen Shot 2023-07-25 at 14 05 43

@pfrazee made some local changes locally looks like this if this resolves can i pull up a pr for it.

pfrazee commented 1 year ago

I appreciate the offer! I want to take a different approach to the UI, but this is something that should get handled pretty soon

goshacmd commented 1 week ago

@pfrazee what are your thoughts on the UI of this?

I've been thinking about a feature like this a few days ago and only stumbled upon this GH issue today, so thought I'd share mine. Anyway, my thinking was that "I'm in public" mode should have a degree of customization (not just be a proxy for settings-moderation-enable adult content), as people could prefer to warn nsfw categories instead of having them hidden completely. So it will be a new preference that is stored and that the app takes into account when deciding what content to show.

One of the ideas I have is a separate set of nsfw category label preferences for "public mode", displayed in the settings UI similar to the adult content section. Stored as a separate set of public_mode_labels: Record<nswf_category, LabelPreference>. This would allow users more fine-grained control and makes operation of this feature very predictable, but potentially clutter the moderation settings screen more.

Another is to instead add a new field, something like "Downgrade nsfw content to at least X when in public" (highest_public_mode_pref: LabelPreference), which downgrade each nsfw label category to cat_pref = min(cat_pref, highest_public_mode_pref) (so if highest_public_mode_pref is set to warn but graphic content is set to hide, it will still be hidden).

Either way, a toggle could still be in the sidebar (unless adult content is disabled or the user is a minor), but it would toggle the new "public mode" preference field, which will force the app to compute LabelPreference for the nsfw categories instead of just reading from ModerationPrefs["labels"] directly