hide menu on web for unauth

This commit is contained in:
zeppi 2021-07-14 11:53:43 -04:00 committed by jessopb
parent aced8fb593
commit 7581d914fe
2 changed files with 153 additions and 146 deletions

View file

@ -28,6 +28,7 @@ import { doToast } from 'redux/actions/notifications';
import { makeSelectSigningIsMine } from 'redux/selectors/content'; import { makeSelectSigningIsMine } from 'redux/selectors/content';
import { doChannelSubscribe, doChannelUnsubscribe } from 'redux/actions/subscriptions'; import { doChannelSubscribe, doChannelUnsubscribe } from 'redux/actions/subscriptions';
import { makeSelectIsSubscribed } from 'redux/selectors/subscriptions'; import { makeSelectIsSubscribed } from 'redux/selectors/subscriptions';
import { selectUserVerifiedEmail } from 'redux/selectors/user';
import ClaimPreview from './view'; import ClaimPreview from './view';
import fs from 'fs'; import fs from 'fs';
@ -49,6 +50,7 @@ const select = (state, props) => {
collectionName: makeSelectNameForCollectionId(props.collectionId)(state), collectionName: makeSelectNameForCollectionId(props.collectionId)(state),
isMyCollection: makeSelectCollectionIsMine(props.collectionId)(state), isMyCollection: makeSelectCollectionIsMine(props.collectionId)(state),
editedCollection: makeSelectEditedCollectionForId(props.collectionId)(state), editedCollection: makeSelectEditedCollectionForId(props.collectionId)(state),
isAuthenticated: Boolean(selectUserVerifiedEmail(state)),
}; };
}; };

View file

@ -54,6 +54,7 @@ type Props = {
doChannelUnsubscribe: (SubscriptionArgs) => void, doChannelUnsubscribe: (SubscriptionArgs) => void,
isChannelPage: boolean, isChannelPage: boolean,
editedCollection: Collection, editedCollection: Collection,
isAuthenticated: boolean,
}; };
function ClaimMenuList(props: Props) { function ClaimMenuList(props: Props) {
@ -89,6 +90,7 @@ function ClaimMenuList(props: Props) {
doChannelUnsubscribe, doChannelUnsubscribe,
isChannelPage = false, isChannelPage = false,
editedCollection, editedCollection,
isAuthenticated,
} = props; } = props;
const repostedContent = claim && claim.reposted_claim; const repostedContent = claim && claim.reposted_claim;
const contentClaim = repostedContent || claim; const contentClaim = repostedContent || claim;
@ -223,176 +225,179 @@ function ClaimMenuList(props: Props) {
</MenuButton> </MenuButton>
<MenuList className="menu__list"> <MenuList className="menu__list">
{/* WATCH LATER */} {/* WATCH LATER */}
<> {(!IS_WEB || (IS_WEB && isAuthenticated)) && (
{isPlayable && !collectionId && ( <>
<MenuItem
className="comment__menu-option"
onSelect={() => {
doToast({
message: __('Item %action% Watch Later', {
action: hasClaimInWatchLater
? __('removed from --[substring for "Item %action% Watch Later"]--')
: __('added to --[substring for "Item %action% Watch Later"]--'),
}),
});
doCollectionEdit(COLLECTIONS_CONSTS.WATCH_LATER_ID, {
claims: [contentClaim],
remove: hasClaimInWatchLater,
type: 'playlist',
});
}}
>
<div className="menu__link">
<Icon aria-hidden icon={hasClaimInWatchLater ? ICONS.DELETE : ICONS.TIME} />
{hasClaimInWatchLater ? __('In Watch Later') : __('Watch Later')}
</div>
</MenuItem>
)}
{/* CUSTOM LIST */}
{isPlayable && !collectionId && (
<MenuItem
className="comment__menu-option"
onSelect={() => {
doToast({
message: __(`Item %action% ${lastCollectionName}`, {
action: hasClaimInCustom ? __('removed from') : __('added to'),
}),
});
doCollectionEdit(COLLECTIONS_CONSTS.FAVORITES_ID, {
claims: [contentClaim],
remove: hasClaimInCustom,
type: 'playlist',
});
}}
>
<div className="menu__link">
<Icon aria-hidden icon={hasClaimInCustom ? ICONS.DELETE : ICONS.STAR} />
{hasClaimInCustom ? __(`In ${lastCollectionName}`) : __(`${lastCollectionName}`)}
</div>
</MenuItem>
)}
{/* COLLECTION OPERATIONS */}
{collectionId && collectionName && isCollectionClaim && (
<> <>
{Boolean(editedCollection) && ( {isPlayable && !collectionId && (
<MenuItem <MenuItem
className="comment__menu-option" className="comment__menu-option"
onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}?view=edit`)} onSelect={() => {
doToast({
message: __('Item %action% Watch Later', {
action: hasClaimInWatchLater
? __('removed from --[substring for "Item %action% Watch Later"]--')
: __('added to --[substring for "Item %action% Watch Later"]--'),
}),
});
doCollectionEdit(COLLECTIONS_CONSTS.WATCH_LATER_ID, {
claims: [contentClaim],
remove: hasClaimInWatchLater,
type: 'playlist',
});
}}
> >
<div className="menu__link"> <div className="menu__link">
<Icon aria-hidden iconColor={'red'} icon={ICONS.PUBLISH} /> <Icon aria-hidden icon={hasClaimInWatchLater ? ICONS.DELETE : ICONS.TIME} />
{__('Publish')} {hasClaimInWatchLater ? __('In Watch Later') : __('Watch Later')}
</div> </div>
</MenuItem> </MenuItem>
)} )}
<MenuItem className="comment__menu-option" onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}`)}> {/* CUSTOM LIST */}
<div className="menu__link"> {isPlayable && !collectionId && (
<Icon aria-hidden icon={ICONS.VIEW} /> <MenuItem
{__('View List')} className="comment__menu-option"
</div> onSelect={() => {
</MenuItem> doToast({
<MenuItem message: __(`Item %action% ${lastCollectionName}`, {
className="comment__menu-option" action: hasClaimInCustom ? __('removed from') : __('added to'),
onSelect={() => openModal(MODALS.COLLECTION_DELETE, { collectionId })} }),
> });
<div className="menu__link"> doCollectionEdit(COLLECTIONS_CONSTS.FAVORITES_ID, {
<Icon aria-hidden icon={ICONS.DELETE} /> claims: [contentClaim],
{__('Delete List')} remove: hasClaimInCustom,
</div> type: 'playlist',
</MenuItem> });
</> }}
)} >
{/* CURRENTLY ONLY SUPPORT PLAYLISTS FOR PLAYABLE; LATER DIFFERENT TYPES */} <div className="menu__link">
{isPlayable && ( <Icon aria-hidden icon={hasClaimInCustom ? ICONS.DELETE : ICONS.STAR} />
<MenuItem {hasClaimInCustom ? __(`In ${lastCollectionName}`) : __(`${lastCollectionName}`)}
className="comment__menu-option" </div>
onSelect={() => openModal(MODALS.COLLECTION_ADD, { uri, type: 'playlist' })} </MenuItem>
> )}
<div className="menu__link"> {/* COLLECTION OPERATIONS */}
<Icon aria-hidden icon={ICONS.STACK} /> {collectionId && collectionName && isCollectionClaim && (
{__('Add to Lists')}
</div>
</MenuItem>
)}
</>
{!isChannelPage && (
<>
<hr className="menu__separator" />
<MenuItem className="comment__menu-option" onSelect={handleSupport}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.LBC} />
{__('Support --[button to support a claim]--')}
</div>
</MenuItem>
</>
)}
{!incognitoClaim && !isRepost && !claimIsMine && !isChannelPage && (
<>
<hr className="menu__separator" />
<MenuItem className="comment__menu-option" onSelect={handleFollow}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.SUBSCRIBE} />
{subscriptionLabel}
</div>
</MenuItem>
</>
)}
{!isMyCollection && (
<>
{(!claimIsMine || channelIsBlocked) && channelUri ? (
!incognitoClaim &&
!isRepost && (
<> <>
<hr className="menu__separator" /> {Boolean(editedCollection) && (
<MenuItem className="comment__menu-option" onSelect={handleToggleBlock}> <MenuItem
<div className="menu__link"> className="comment__menu-option"
<Icon aria-hidden icon={ICONS.BLOCK} /> onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}?view=edit`)}
{channelIsBlocked ? __('Unblock Channel') : __('Block Channel')} >
</div>
</MenuItem>
{isAdmin && (
<MenuItem className="comment__menu-option" onSelect={handleToggleAdminBlock}>
<div className="menu__link"> <div className="menu__link">
<Icon aria-hidden icon={ICONS.GLOBE} /> <Icon aria-hidden iconColor={'red'} icon={ICONS.PUBLISH} />
{channelIsAdminBlocked ? __('Global Unblock Channel') : __('Global Block Channel')} {__('Publish')}
</div> </div>
</MenuItem> </MenuItem>
)} )}
<MenuItem className="comment__menu-option" onSelect={() => push(`/$/${PAGES.LIST}/${collectionId}`)}>
<MenuItem className="comment__menu-option" onSelect={handleToggleMute}>
<div className="menu__link"> <div className="menu__link">
<Icon aria-hidden icon={ICONS.MUTE} /> <Icon aria-hidden icon={ICONS.VIEW} />
{channelIsMuted ? __('Unmute Channel') : __('Mute Channel')} {__('View List')}
</div>
</MenuItem>
<MenuItem
className="comment__menu-option"
onSelect={() => openModal(MODALS.COLLECTION_DELETE, { collectionId })}
>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.DELETE} />
{__('Delete List')}
</div> </div>
</MenuItem> </MenuItem>
</> </>
) )}
) : ( {/* CURRENTLY ONLY SUPPORT PLAYLISTS FOR PLAYABLE; LATER DIFFERENT TYPES */}
{isPlayable && (
<MenuItem
className="comment__menu-option"
onSelect={() => openModal(MODALS.COLLECTION_ADD, { uri, type: 'playlist' })}
>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.STACK} />
{__('Add to Lists')}
</div>
</MenuItem>
)}
</>
{!isChannelPage && (
<> <>
{!isChannelPage && !isRepost && ( <hr className="menu__separator" />
<MenuItem className="comment__menu-option" onSelect={handleEdit}> <MenuItem className="comment__menu-option" onSelect={handleSupport}>
<div className="menu__link"> <div className="menu__link">
<Icon aria-hidden icon={ICONS.EDIT} /> <Icon aria-hidden icon={ICONS.LBC} />
{__('Edit')} {__('Support --[button to support a claim]--')}
</div> </div>
</MenuItem> </MenuItem>
)} </>
)}
{showDelete && ( {!incognitoClaim && !isRepost && !claimIsMine && !isChannelPage && (
<MenuItem className="comment__menu-option" onSelect={handleDelete}> <>
<div className="menu__link"> <hr className="menu__separator" />
<Icon aria-hidden icon={ICONS.DELETE} /> <MenuItem className="comment__menu-option" onSelect={handleFollow}>
{__('Delete')} <div className="menu__link">
</div> <Icon aria-hidden icon={ICONS.SUBSCRIBE} />
</MenuItem> {subscriptionLabel}
</div>
</MenuItem>
</>
)}
{!isMyCollection && (
<>
{(!claimIsMine || channelIsBlocked) && channelUri ? (
!incognitoClaim &&
!isRepost && (
<>
<hr className="menu__separator" />
<MenuItem className="comment__menu-option" onSelect={handleToggleBlock}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.BLOCK} />
{channelIsBlocked ? __('Unblock Channel') : __('Block Channel')}
</div>
</MenuItem>
{isAdmin && (
<MenuItem className="comment__menu-option" onSelect={handleToggleAdminBlock}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.GLOBE} />
{channelIsAdminBlocked ? __('Global Unblock Channel') : __('Global Block Channel')}
</div>
</MenuItem>
)}
<MenuItem className="comment__menu-option" onSelect={handleToggleMute}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.MUTE} />
{channelIsMuted ? __('Unmute Channel') : __('Mute Channel')}
</div>
</MenuItem>
</>
)
) : (
<>
{!isChannelPage && !isRepost && (
<MenuItem className="comment__menu-option" onSelect={handleEdit}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.EDIT} />
{__('Edit')}
</div>
</MenuItem>
)}
{showDelete && (
<MenuItem className="comment__menu-option" onSelect={handleDelete}>
<div className="menu__link">
<Icon aria-hidden icon={ICONS.DELETE} />
{__('Delete')}
</div>
</MenuItem>
)}
</>
)} )}
</> </>
)} )}
</> </>
)} )}
<hr className="menu__separator" /> <hr className="menu__separator" />
{isChannelPage && IS_WEB && rssUrl && ( {isChannelPage && IS_WEB && rssUrl && (