Skip to content

Commit

Permalink
Merge branch 'develop' into fix/lst-files-error
Browse files Browse the repository at this point in the history
  • Loading branch information
matheusbsilva137 committed Mar 20, 2024
2 parents 436e0a3 + 6e68f5a commit 0fec62f
Show file tree
Hide file tree
Showing 34 changed files with 392 additions and 245 deletions.
6 changes: 6 additions & 0 deletions .changeset/polite-cars-love.md
@@ -0,0 +1,6 @@
---
"@rocket.chat/meteor": patch
"@rocket.chat/livechat": patch
---

Fixes issue where the livechat offline form would render even when disabled
Expand Up @@ -9,6 +9,10 @@ import { useRoomToolbox } from '../../views/room/contexts/RoomToolboxContext';

type ContextualbarDialogProps = AriaDialogProps & ComponentProps<typeof Contextualbar>;

/**
* TODO: inside administration it should have a mechanism to display the contextualbar programmatically
* @prop closeTab only work inside a room
* */
const ContextualbarDialog = (props: ContextualbarDialogProps) => {
const ref = useRef(null);
const { dialogProps } = useDialog({ 'aria-labelledby': 'contextualbarTitle', ...props }, ref);
Expand Down
2 changes: 1 addition & 1 deletion apps/meteor/client/hooks/useRoomInfoEndpoint.ts
Expand Up @@ -8,7 +8,7 @@ import type { Meteor } from 'meteor/meteor';

export const useRoomInfoEndpoint = (rid: IRoom['_id']): UseQueryResult<OperationResult<'GET', '/v1/rooms.info'>> => {
const getRoomInfo = useEndpoint('GET', '/v1/rooms.info');
return useQuery(['rooms/info', rid], () => getRoomInfo({ roomId: rid }), {
return useQuery(['/v1/rooms.info', rid], () => getRoomInfo({ roomId: rid }), {
cacheTime: minutesToMilliseconds(15),
staleTime: minutesToMilliseconds(5),
retry: (count, error: Meteor.Error) => {
Expand Down
30 changes: 20 additions & 10 deletions apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx
Expand Up @@ -3,7 +3,13 @@ import { useRoute, useRouteParameter, usePermission, useTranslation } from '@roc
import type { ReactElement } from 'react';
import React, { useCallback, useRef } from 'react';

import { Contextualbar, ContextualbarHeader, ContextualbarClose } from '../../../components/Contextualbar';
import {
Contextualbar,
ContextualbarHeader,
ContextualbarClose,
ContextualbarDialog,
ContextualbarTitle,
} from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage';
import AddCustomEmoji from './AddCustomEmoji';
Expand Down Expand Up @@ -55,15 +61,19 @@ const CustomEmojiRoute = (): ReactElement => {
</PageContent>
</Page>
{context && (
<Contextualbar flexShrink={0}>
<ContextualbarHeader>
{context === 'edit' && t('Custom_Emoji_Info')}
{context === 'new' && t('Custom_Emoji_Add')}
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'edit' && id && <EditCustomEmojiWithData _id={id} close={handleClose} onChange={handleChange} />}
{context === 'new' && <AddCustomEmoji close={handleClose} onChange={handleChange} />}
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>
{context === 'edit' && t('Custom_Emoji_Info')}
{context === 'new' && t('Custom_Emoji_Add')}
</ContextualbarTitle>
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'edit' && id && <EditCustomEmojiWithData _id={id} close={handleClose} onChange={handleChange} />}
{context === 'new' && <AddCustomEmoji close={handleClose} onChange={handleChange} />}
</Contextualbar>
</ContextualbarDialog>
)}
</Page>
);
Expand Down
32 changes: 20 additions & 12 deletions apps/meteor/client/views/admin/customSounds/CustomSoundsPage.tsx
Expand Up @@ -2,7 +2,13 @@ import { Button } from '@rocket.chat/fuselage';
import { useRoute, useRouteParameter, useTranslation } from '@rocket.chat/ui-contexts';
import React, { useCallback, useRef } from 'react';

import { ContextualbarTitle, Contextualbar, ContextualbarClose, ContextualbarHeader } from '../../../components/Contextualbar';
import {
ContextualbarTitle,
Contextualbar,
ContextualbarClose,
ContextualbarHeader,
ContextualbarDialog,
} from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import AddCustomSound from './AddCustomSound';
import CustomSoundsTable from './CustomSoundsTable';
Expand Down Expand Up @@ -51,17 +57,19 @@ const CustomSoundsPage = () => {
</PageContent>
</Page>
{context && (
<Contextualbar flexShrink={0}>
<ContextualbarHeader>
<ContextualbarTitle>
{context === 'edit' && t('Custom_Sound_Edit')}
{context === 'new' && t('Custom_Sound_Add')}
</ContextualbarTitle>
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'edit' && <EditCustomSound _id={id} close={handleClose} onChange={handleReload} />}
{context === 'new' && <AddCustomSound goToNew={handleItemClick} close={handleClose} onChange={handleReload} />}
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>
{context === 'edit' && t('Custom_Sound_Edit')}
{context === 'new' && t('Custom_Sound_Add')}
</ContextualbarTitle>
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'edit' && <EditCustomSound _id={id} close={handleClose} onChange={handleReload} />}
{context === 'new' && <AddCustomSound goToNew={handleItemClick} close={handleClose} onChange={handleReload} />}
</Contextualbar>
</ContextualbarDialog>
)}
</Page>
);
Expand Down
Expand Up @@ -3,7 +3,13 @@ import { useRoute, useRouteParameter, usePermission, useTranslation, useSetting
import type { ReactElement } from 'react';
import React, { useCallback, useRef, useEffect } from 'react';

import { Contextualbar, ContextualbarHeader, ContextualbarClose, ContextualbarTitle } from '../../../components/Contextualbar';
import {
Contextualbar,
ContextualbarHeader,
ContextualbarClose,
ContextualbarTitle,
ContextualbarDialog,
} from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import { useIsEnterprise } from '../../../hooks/useIsEnterprise';
import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage';
Expand Down Expand Up @@ -69,20 +75,22 @@ const CustomUserStatusRoute = (): ReactElement => {
</PageContent>
</Page>
{context && (
<Contextualbar bg='light' flexShrink={0}>
<ContextualbarHeader>
<ContextualbarTitle>
{context === 'edit' && t('Custom_User_Status_Edit')}
{context === 'new' && t('Custom_User_Status_Add')}
{context === 'presence-service' && t('Presence_service_cap')}
</ContextualbarTitle>
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'presence-service' && <CustomUserStatusService />}
{(context === 'new' || context === 'edit') && (
<CustomUserStatusFormWithData _id={id} onClose={handleClose} onReload={handleReload} />
)}
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>
{context === 'edit' && t('Custom_User_Status_Edit')}
{context === 'new' && t('Custom_User_Status_Add')}
{context === 'presence-service' && t('Presence_service_cap')}
</ContextualbarTitle>
<ContextualbarClose onClick={handleClose} />
</ContextualbarHeader>
{context === 'presence-service' && <CustomUserStatusService />}
{(context === 'new' || context === 'edit') && (
<CustomUserStatusFormWithData _id={id} onClose={handleClose} onReload={handleReload} />
)}
</Contextualbar>
</ContextualbarDialog>
)}
</Page>
);
Expand Down
Expand Up @@ -3,7 +3,7 @@ import { Tabs, TabsItem, ContextualbarHeader, ContextualbarTitle } from '@rocket
import { useTranslation, useRouter, useRouteParameter } from '@rocket.chat/ui-contexts';
import React, { useState } from 'react';

import { Contextualbar, ContextualbarClose } from '../../../components/Contextualbar';
import { Contextualbar, ContextualbarClose, ContextualbarDialog } from '../../../components/Contextualbar';
import UserMessages from './UserMessages';
import UserReportInfo from './UserReports/UserReportInfo';

Expand All @@ -21,22 +21,24 @@ const ModConsoleReportDetails = ({ userId, default: defaultTab, onRedirect }: Mo
const activeTab = useRouteParameter('tab');

return (
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>{t('Reports')}</ContextualbarTitle>
<ContextualbarClose onClick={() => moderationRoute.navigate(`/admin/moderation/${activeTab}`, { replace: true })} />
</ContextualbarHeader>
<Tabs paddingBlockStart={8}>
<TabsItem selected={tab === 'messages'} onClick={() => setTab('messages')}>
{t('Messages')}
</TabsItem>
<TabsItem selected={tab === 'users'} onClick={() => setTab('users')}>
{t('User')}
</TabsItem>
</Tabs>
{tab === 'messages' && <UserMessages userId={userId} onRedirect={onRedirect} />}
{tab === 'users' && <UserReportInfo userId={userId} />}
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>{t('Reports')}</ContextualbarTitle>
<ContextualbarClose onClick={() => moderationRoute.navigate(`/admin/moderation/${activeTab}`, { replace: true })} />
</ContextualbarHeader>
<Tabs paddingBlockStart={8}>
<TabsItem selected={tab === 'messages'} onClick={() => setTab('messages')}>
{t('Messages')}
</TabsItem>
<TabsItem selected={tab === 'users'} onClick={() => setTab('users')}>
{t('User')}
</TabsItem>
</Tabs>
{tab === 'messages' && <UserMessages userId={userId} onRedirect={onRedirect} />}
{tab === 'users' && <UserReportInfo userId={userId} />}
</Contextualbar>
</ContextualbarDialog>
);
};

Expand Down
Expand Up @@ -42,7 +42,6 @@ const ModerationConsolePage = ({ tab = 'messages', onSelectTab }: ModerationCons
<Page flexDirection='row'>
<Page>
<PageHeader title={t('Moderation')} />

<Tabs>
<TabsItem selected={tab === 'messages'} onClick={handleTabClick('messages')}>
{t('Reported_Messages')}
Expand Down
Expand Up @@ -4,7 +4,13 @@ import type { ReactElement } from 'react';
import React, { useEffect } from 'react';

import { useHasLicenseModule } from '../../../../ee/client/hooks/useHasLicenseModule';
import { Contextualbar, ContextualbarHeader, ContextualbarTitle, ContextualbarClose } from '../../../components/Contextualbar';
import {
Contextualbar,
ContextualbarHeader,
ContextualbarTitle,
ContextualbarClose,
ContextualbarDialog,
} from '../../../components/Contextualbar';
import CustomRoleUpsellModal from './CustomRoleUpsellModal';
import EditRolePageWithData from './EditRolePageWithData';

Expand All @@ -31,13 +37,15 @@ const PermissionsContextBar = (): ReactElement | null => {

return (
(context && (
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>{context === 'edit' ? t('Role_Editing') : t('New_role')}</ContextualbarTitle>
<ContextualbarClose onClick={handleCloseContextualbar} />
</ContextualbarHeader>
<EditRolePageWithData roleId={_id} />
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
<ContextualbarTitle>{context === 'edit' ? t('Role_Editing') : t('New_role')}</ContextualbarTitle>
<ContextualbarClose onClick={handleCloseContextualbar} />
</ContextualbarHeader>
<EditRolePageWithData roleId={_id} />
</Contextualbar>
</ContextualbarDialog>
)) ||
null
);
Expand Down
7 changes: 6 additions & 1 deletion apps/meteor/client/views/admin/rooms/RoomsPage.tsx
Expand Up @@ -2,6 +2,7 @@ import { useRouteParameter, useTranslation } from '@rocket.chat/ui-contexts';
import type { ReactElement } from 'react';
import React, { useRef } from 'react';

import { ContextualbarDialog } from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import EditRoomWithData from './EditRoomWithData';
import RoomsTable from './RoomsTable';
Expand All @@ -22,7 +23,11 @@ const RoomsPage = (): ReactElement => {
<RoomsTable reload={reloadRef} />
</PageContent>
</Page>
{context && <EditRoomWithData rid={id} onReload={reloadRef.current} />}
{context && (
<ContextualbarDialog>
<EditRoomWithData rid={id} onReload={reloadRef.current} />
</ContextualbarDialog>
)}
</Page>
);
};
Expand Down
44 changes: 26 additions & 18 deletions apps/meteor/client/views/admin/users/AdminUsersPage.tsx
Expand Up @@ -5,7 +5,13 @@ import React, { useRef } from 'react';

import UserPageHeaderContentWithSeatsCap from '../../../../ee/client/views/admin/users/UserPageHeaderContentWithSeatsCap';
import { useSeatsCap } from '../../../../ee/client/views/admin/users/useSeatsCap';
import { Contextualbar, ContextualbarHeader, ContextualbarTitle, ContextualbarClose } from '../../../components/Contextualbar';
import {
Contextualbar,
ContextualbarHeader,
ContextualbarTitle,
ContextualbarClose,
ContextualbarDialog,
} from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import { useShouldPreventAction } from '../../../hooks/useShouldPreventAction';
import AdminInviteUsers from './AdminInviteUsers';
Expand Down Expand Up @@ -63,23 +69,25 @@ const UsersPage = (): ReactElement => {
</PageContent>
</Page>
{context && (
<Contextualbar>
<ContextualbarHeader>
{context === 'upgrade' && <ContextualbarIcon name='user-plus' />}
<ContextualbarTitle>
{context === 'info' && t('User_Info')}
{context === 'edit' && t('Edit_User')}
{context === 'new' && t('Add_User')}
{context === 'invite' && t('Invite_Users')}
</ContextualbarTitle>
<ContextualbarClose onClick={() => router.navigate('/admin/users')} />
</ContextualbarHeader>
{context === 'info' && id && <AdminUserInfoWithData uid={id} onReload={handleReload} />}
{context === 'edit' && id && <AdminUserFormWithData uid={id} onReload={handleReload} />}
{!isRoutePrevented && context === 'new' && <AdminUserForm onReload={handleReload} />}
{!isRoutePrevented && context === 'invite' && <AdminInviteUsers />}
{isRoutePrevented && <AdminUserUpgrade />}
</Contextualbar>
<ContextualbarDialog>
<Contextualbar>
<ContextualbarHeader>
{context === 'upgrade' && <ContextualbarIcon name='user-plus' />}
<ContextualbarTitle>
{context === 'info' && t('User_Info')}
{context === 'edit' && t('Edit_User')}
{context === 'new' && t('Add_User')}
{context === 'invite' && t('Invite_Users')}
</ContextualbarTitle>
<ContextualbarClose onClick={() => router.navigate('/admin/users')} />
</ContextualbarHeader>
{context === 'info' && id && <AdminUserInfoWithData uid={id} onReload={handleReload} />}
{context === 'edit' && id && <AdminUserFormWithData uid={id} onReload={handleReload} />}
{!isRoutePrevented && context === 'new' && <AdminUserForm onReload={handleReload} />}
{!isRoutePrevented && context === 'invite' && <AdminInviteUsers />}
{isRoutePrevented && <AdminUserUpgrade />}
</Contextualbar>
</ContextualbarDialog>
)}
</Page>
);
Expand Down
9 changes: 7 additions & 2 deletions apps/meteor/client/views/omnichannel/agents/AgentsPage.tsx
Expand Up @@ -2,6 +2,7 @@ import { usePermission, useRouteParameter, useTranslation } from '@rocket.chat/u
import type { ReactElement } from 'react';
import React from 'react';

import { ContextualbarDialog } from '../../../components/Contextualbar';
import { Page, PageHeader, PageContent } from '../../../components/Page';
import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage';
import AgentEditWithData from './AgentEditWithData';
Expand All @@ -27,8 +28,12 @@ const AgentsPage = (): ReactElement => {
<AgentsTable />
</PageContent>
</Page>
{id && context === 'edit' && <AgentEditWithData uid={id} />}
{id && context === 'info' && <AgentInfo uid={id} />}
{context && (
<ContextualbarDialog>
{id && context === 'edit' && <AgentEditWithData uid={id} />}
{id && context === 'info' && <AgentInfo uid={id} />}
</ContextualbarDialog>
)}
</Page>
);
};
Expand Down

0 comments on commit 0fec62f

Please sign in to comment.