update menus for channel bookmarks (#30801)
Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
d443db2c21
Коммит
077f8e5061
@@ -23,6 +23,7 @@ import {
|
||||
|
||||
import {getChannelHeaderMenuPluginComponents} from 'selectors/plugins';
|
||||
|
||||
import {getIsChannelBookmarksEnabled} from 'components/channel_bookmarks/utils';
|
||||
import * as Menu from 'components/menu';
|
||||
|
||||
import {Constants} from 'utils/constants';
|
||||
@@ -53,6 +54,7 @@ export default function ChannelHeaderMenu({dmUser, gmMembers, isMobile, archived
|
||||
const isMuted = useSelector(isCurrentChannelMuted);
|
||||
const isLicensedForLDAPGroups = useSelector(getLicense).LDAPGroups === 'true';
|
||||
const pluginMenuItems = useSelector(getChannelHeaderMenuPluginComponents);
|
||||
const isChannelBookmarksEnabled = useSelector(getIsChannelBookmarksEnabled);
|
||||
|
||||
const isReadonly = false;
|
||||
|
||||
@@ -144,6 +146,7 @@ export default function ChannelHeaderMenu({dmUser, gmMembers, isMobile, archived
|
||||
pluginItems={pluginItems}
|
||||
isFavorite={isFavorite}
|
||||
isMobile={isMobile || false}
|
||||
isChannelBookmarksEnabled={isChannelBookmarksEnabled}
|
||||
/>
|
||||
)}
|
||||
{isGroup && (
|
||||
@@ -154,6 +157,7 @@ export default function ChannelHeaderMenu({dmUser, gmMembers, isMobile, archived
|
||||
pluginItems={pluginItems}
|
||||
isFavorite={isFavorite}
|
||||
isMobile={isMobile || false}
|
||||
isChannelBookmarksEnabled={isChannelBookmarksEnabled}
|
||||
/>
|
||||
)}
|
||||
{(!isDirect && !isGroup) && (
|
||||
@@ -167,6 +171,7 @@ export default function ChannelHeaderMenu({dmUser, gmMembers, isMobile, archived
|
||||
isDefault={isDefault}
|
||||
isReadonly={isReadonly}
|
||||
isLicensedForLDAPGroups={isLicensedForLDAPGroups}
|
||||
isChannelBookmarksEnabled={isChannelBookmarksEnabled}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
@@ -8,9 +8,12 @@ import {CogOutlineIcon} from '@mattermost/compass-icons/components';
|
||||
import type {Channel} from '@mattermost/types/channels';
|
||||
import type {UserProfile} from '@mattermost/types/users';
|
||||
|
||||
import {isGuest} from 'mattermost-redux/utils/user_utils';
|
||||
|
||||
import ChannelMoveToSubMenu from 'components/channel_move_to_sub_menu';
|
||||
import * as Menu from 'components/menu';
|
||||
|
||||
import MenuItemChannelBookmarks from '../menu_items/channel_bookmarks_submenu';
|
||||
import CloseMessage from '../menu_items/close_message';
|
||||
import EditConversationHeader from '../menu_items/edit_conversation_header';
|
||||
import MenuItemPluginItems from '../menu_items/plugins_submenu';
|
||||
@@ -26,9 +29,10 @@ interface Props extends Menu.FirstMenuItemProps {
|
||||
isMobile: boolean;
|
||||
isFavorite: boolean;
|
||||
pluginItems: ReactNode[];
|
||||
isChannelBookmarksEnabled: boolean;
|
||||
}
|
||||
|
||||
const ChannelHeaderDirectMenu = ({channel, user, isMuted, isMobile, isFavorite, pluginItems, ...rest}: Props) => {
|
||||
const ChannelHeaderDirectMenu = ({channel, user, isMuted, isMobile, isFavorite, pluginItems, isChannelBookmarksEnabled, ...rest}: Props) => {
|
||||
return (
|
||||
<>
|
||||
<MenuItemToggleInfo
|
||||
@@ -56,6 +60,11 @@ const ChannelHeaderDirectMenu = ({channel, user, isMuted, isMobile, isFavorite,
|
||||
channel={channel}
|
||||
/>
|
||||
<Menu.Separator/>
|
||||
{!isGuest(user.roles) && isChannelBookmarksEnabled && (
|
||||
<MenuItemChannelBookmarks
|
||||
channel={channel}
|
||||
/>
|
||||
)}
|
||||
<ChannelMoveToSubMenu
|
||||
channel={channel}
|
||||
/>
|
||||
|
||||
@@ -19,6 +19,7 @@ import ChannelMoveToSubMenu from 'components/channel_move_to_sub_menu';
|
||||
import * as Menu from 'components/menu';
|
||||
import ChannelPermissionGate from 'components/permissions_gates/channel_permission_gate';
|
||||
|
||||
import MenuItemChannelBookmarks from '../menu_items/channel_bookmarks_submenu';
|
||||
import CloseMessage from '../menu_items/close_message';
|
||||
import MenuItemConvertToPrivate from '../menu_items/convert_gm_to_private';
|
||||
import EditConversationHeader from '../menu_items/edit_conversation_header';
|
||||
@@ -37,9 +38,10 @@ interface Props extends Menu.FirstMenuItemProps {
|
||||
isMobile: boolean;
|
||||
isFavorite: boolean;
|
||||
pluginItems: ReactNode[];
|
||||
isChannelBookmarksEnabled: boolean;
|
||||
}
|
||||
|
||||
const ChannelHeaderGroupMenu = ({channel, user, isMuted, isMobile, isFavorite, pluginItems, ...rest}: Props) => {
|
||||
const ChannelHeaderGroupMenu = ({channel, user, isMuted, isMobile, isFavorite, pluginItems, isChannelBookmarksEnabled, ...rest}: Props) => {
|
||||
const isGroupConstrained = channel?.group_constrained === true;
|
||||
const isArchived = channel.delete_at !== 0;
|
||||
const {formatMessage} = useIntl();
|
||||
@@ -72,7 +74,7 @@ const ChannelHeaderGroupMenu = ({channel, user, isMuted, isMobile, isFavorite, p
|
||||
channel={channel}
|
||||
/>
|
||||
)}
|
||||
{(isArchived && isGroupConstrained && isGuest(user.roles)) && (
|
||||
{(!isArchived && isGuest(user.roles)) && (
|
||||
<EditConversationHeader
|
||||
leadingElement={<CogOutlineIcon size='18px'/>}
|
||||
channel={channel}
|
||||
@@ -100,6 +102,11 @@ const ChannelHeaderGroupMenu = ({channel, user, isMuted, isMobile, isFavorite, p
|
||||
/>
|
||||
</Menu.SubMenu>
|
||||
)}
|
||||
{!isArchived && !isGuest(user.roles) && isChannelBookmarksEnabled && (
|
||||
<MenuItemChannelBookmarks
|
||||
channel={channel}
|
||||
/>
|
||||
)}
|
||||
<Menu.Separator/>
|
||||
{(!isArchived && !isGroupConstrained) && (
|
||||
<ChannelPermissionGate
|
||||
|
||||
@@ -42,9 +42,10 @@ interface Props extends Menu.FirstMenuItemProps {
|
||||
isFavorite: boolean;
|
||||
isLicensedForLDAPGroups: boolean;
|
||||
pluginItems: ReactNode[];
|
||||
isChannelBookmarksEnabled: boolean;
|
||||
}
|
||||
|
||||
const ChannelHeaderPublicMenu = ({channel, user, isMuted, isDefault, isMobile, isFavorite, isLicensedForLDAPGroups, pluginItems, ...rest}: Props) => {
|
||||
const ChannelHeaderPublicMenu = ({channel, user, isMuted, isDefault, isMobile, isFavorite, isLicensedForLDAPGroups, pluginItems, isChannelBookmarksEnabled, ...rest}: Props) => {
|
||||
const isGroupConstrained = channel?.group_constrained === true;
|
||||
const isArchived = channel.delete_at !== 0;
|
||||
const isPrivate = channel?.type === Constants.PRIVATE_CHANNEL;
|
||||
@@ -73,9 +74,11 @@ const ChannelHeaderPublicMenu = ({channel, user, isMuted, isDefault, isMobile, i
|
||||
<MenuItemChannelSettings
|
||||
channel={channel}
|
||||
/>
|
||||
<MenuItemChannelBookmarks
|
||||
channel={channel}
|
||||
/>
|
||||
{isChannelBookmarksEnabled && (
|
||||
<MenuItemChannelBookmarks
|
||||
channel={channel}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
<Menu.Separator/>
|
||||
|
||||
Ссылка в новой задаче
Block a user