diff options
author | Paul Frazee <pfrazee@gmail.com> | 2024-05-23 16:39:39 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-24 00:39:39 +0100 |
commit | f7ee532a8521b96afd2cb358980d9b25bd59c29a (patch) | |
tree | 99cec275423b493eb7ffd691e0d5013bc37ea80f /src/view/com/post-thread/PostThreadShowHiddenReplies.tsx | |
parent | d2c42cf16905a8904dcfbba4825ca5f8abc3f253 (diff) | |
download | voidsky-f7ee532a8521b96afd2cb358980d9b25bd59c29a.tar.zst |
Improve moderation behaviors: show alert/inform sources and improve UX around threads (#3677)
* Dont show account or profile alerts and informs on posts * Sort threads to put blurred items at bottom * Group blurred replies under a single 'show hidden replies' control * Distinguish between muted and hidden replies in the thread view * Fix types * Modify the label alerts with some minor aesthetic updates and to show the source of a label * Tune when an account-level alert is shown on a post * Revert: show account-level alerts on posts again * Rm unused import * Fix to showing hidden replies when viewing a blurred item * Go ahead and uncover replies when 'show hidden posts' is clicked --------- Co-authored-by: dan <dan.abramov@gmail.com>
Diffstat (limited to 'src/view/com/post-thread/PostThreadShowHiddenReplies.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThreadShowHiddenReplies.tsx | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx b/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx new file mode 100644 index 000000000..998906524 --- /dev/null +++ b/src/view/com/post-thread/PostThreadShowHiddenReplies.tsx @@ -0,0 +1,61 @@ +import * as React from 'react' +import {View} from 'react-native' +import {msg} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {atoms as a, useTheme} from '#/alf' +import {Button} from '#/components/Button' +import {EyeSlash_Stroke2_Corner0_Rounded as EyeSlash} from '#/components/icons/EyeSlash' +import {Text} from '#/components/Typography' + +export function PostThreadShowHiddenReplies({ + type, + onPress, +}: { + type: 'hidden' | 'muted' + onPress: () => void +}) { + const {_} = useLingui() + const t = useTheme() + const label = + type === 'muted' ? _(msg`Show muted replies`) : _(msg`Show hidden replies`) + + return ( + <Button onPress={onPress} label={label}> + {({hovered, pressed}) => ( + <View + style={[ + a.flex_1, + a.flex_row, + a.align_center, + a.gap_sm, + a.py_lg, + a.px_xl, + a.border_t, + t.atoms.border_contrast_low, + hovered || pressed ? t.atoms.bg_contrast_25 : t.atoms.bg, + ]}> + <View + style={[ + t.atoms.bg_contrast_25, + a.align_center, + a.justify_center, + { + width: 26, + height: 26, + borderRadius: 13, + marginRight: 4, + }, + ]}> + <EyeSlash size="sm" fill={t.atoms.text_contrast_medium.color} /> + </View> + <Text + style={[t.atoms.text_contrast_medium, a.flex_1]} + numberOfLines={1}> + {label} + </Text> + </View> + )} + </Button> + ) +} |