From 90e81fa8799b1b2357636d8b0048d37f78aa94d3 Mon Sep 17 00:00:00 2001 From: Douglas Fabris Date: Tue, 19 Dec 2023 11:41:39 -0300 Subject: [PATCH] regression: `PageHeader` back button must be an `IconButton` (#31266) --- .../client/components/Page/PageHeader.tsx | 8 ++----- .../views/admin/emailInbox/EmailInboxPage.tsx | 14 +++++------- .../views/admin/import/NewImportPage.tsx | 9 +------- .../views/admin/import/PrepareImportPage.tsx | 9 +------- .../incoming/EditIncomingWebhook.tsx | 5 +---- .../outgoing/EditOutgoingWebhook.tsx | 5 +---- .../history/OutgoingWebhookHistoryPage.tsx | 8 +++---- .../views/admin/oauthApps/OAuthAppsPage.tsx | 22 ++++++++----------- .../departments/EditDepartment.tsx | 15 ++++--------- .../cannedResponses/CannedResponseEdit.tsx | 16 +++++++------- 10 files changed, 36 insertions(+), 75 deletions(-) diff --git a/apps/meteor/client/components/Page/PageHeader.tsx b/apps/meteor/client/components/Page/PageHeader.tsx index e955ac20a52..25d20381e52 100644 --- a/apps/meteor/client/components/Page/PageHeader.tsx +++ b/apps/meteor/client/components/Page/PageHeader.tsx @@ -1,4 +1,4 @@ -import { Box, Button } from '@rocket.chat/fuselage'; +import { Box, IconButton } from '@rocket.chat/fuselage'; import { HeaderToolbox, useDocumentTitle } from '@rocket.chat/ui-client'; import { useLayout, useTranslation } from '@rocket.chat/ui-contexts'; import type { FC, ComponentProps, ReactNode } from 'react'; @@ -35,14 +35,10 @@ const PageHeader: FC = ({ children = undefined, title, onClickB )} + {onClickBack && } {title} - {onClickBack && ( - - )} {children} diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx index 97078208b09..12eb42cf789 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx @@ -1,5 +1,5 @@ import { Button } from '@rocket.chat/fuselage'; -import { useRoute, useRouteParameter, useTranslation } from '@rocket.chat/ui-contexts'; +import { useRouteParameter, useRouter, useTranslation } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import React from 'react'; @@ -10,21 +10,17 @@ import EmailInboxTable from './EmailInboxTable'; const EmailInboxPage = (): ReactElement => { const t = useTranslation(); + const router = useRouter(); + const id = useRouteParameter('_id'); const context = useRouteParameter('context'); - const emailInboxRoute = useRoute('admin-email-inboxes'); return ( - - {context && ( - - )} + router.navigate('/admin/email-inboxes') : undefined}> {!context && ( - )} diff --git a/apps/meteor/client/views/admin/import/NewImportPage.tsx b/apps/meteor/client/views/admin/import/NewImportPage.tsx index 44771e44f65..82422c1f27c 100644 --- a/apps/meteor/client/views/admin/import/NewImportPage.tsx +++ b/apps/meteor/client/views/admin/import/NewImportPage.tsx @@ -44,10 +44,6 @@ function NewImportPage() { const formatMemorySize = useFormatMemorySize(); - const handleBackToImportsButtonClick = () => { - router.navigate('/admin/import'); - }; - const handleImporterKeyChange = (importerKey: Key) => { if (typeof importerKey !== 'string') { return; @@ -189,11 +185,8 @@ function NewImportPage() { return ( - + router.navigate('/admin/import')}> - {importer && ( diff --git a/apps/meteor/client/views/admin/integrations/incoming/EditIncomingWebhook.tsx b/apps/meteor/client/views/admin/integrations/incoming/EditIncomingWebhook.tsx index d76f4fb65da..87a29dcce5c 100644 --- a/apps/meteor/client/views/admin/integrations/incoming/EditIncomingWebhook.tsx +++ b/apps/meteor/client/views/admin/integrations/incoming/EditIncomingWebhook.tsx @@ -77,11 +77,8 @@ const EditIncomingWebhook = ({ webhookData }: { webhookData?: Serialized - + router.navigate('/admin/integrations/webhook-incoming')}> - {webhookData?._id && ( {webhookData?._id && ( )} diff --git a/apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx b/apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx index cacc5757819..8b7b96d711f 100644 --- a/apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx +++ b/apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx @@ -106,11 +106,11 @@ const OutgoingWebhookHistoryPage = (props: ComponentProps) => { return ( - + router.navigate(`/admin/integrations/edit/outgoing/${id}`)} + > - diff --git a/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx b/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx index c5cd7f5fc96..cc9e174948e 100644 --- a/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx +++ b/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx @@ -1,5 +1,5 @@ -import { Button } from '@rocket.chat/fuselage'; -import { useRouteParameter, useRoute, useTranslation } from '@rocket.chat/ui-contexts'; +import { Button, ButtonGroup } from '@rocket.chat/fuselage'; +import { useRouteParameter, useTranslation, useRouter } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; import React from 'react'; @@ -10,8 +10,7 @@ import OAuthAppsTable from './OAuthAppsTable'; const OAuthAppsPage = (): ReactElement => { const t = useTranslation(); - - const router = useRoute('admin-oauth-apps'); + const router = useRouter(); const context = useRouteParameter('context'); const id = useRouteParameter('id'); @@ -19,16 +18,13 @@ const OAuthAppsPage = (): ReactElement => { return ( - - {context && ( - - )} + router.navigate('/admin/third-party-login') : undefined}> {!context && ( - + + + )} diff --git a/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx b/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx index 8b5c2cc80a6..0f64e41d242 100644 --- a/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx +++ b/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx @@ -17,7 +17,7 @@ import { FieldHint, } from '@rocket.chat/fuselage'; import { useDebouncedValue, useMutableCallback, useUniqueId } from '@rocket.chat/fuselage-hooks'; -import { useToastMessageDispatch, useRoute, useMethod, useEndpoint, useTranslation } from '@rocket.chat/ui-contexts'; +import { useToastMessageDispatch, useMethod, useEndpoint, useTranslation, useRouter } from '@rocket.chat/ui-contexts'; import { useQueryClient } from '@tanstack/react-query'; import React, { useMemo, useState } from 'react'; import { Controller, useForm } from 'react-hook-form'; @@ -100,7 +100,7 @@ const getInitialValues = ({ department, agents, allowedToForwardData }: InitialV function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmentProps) { const t = useTranslation(); - const departmentsRoute = useRoute('omnichannel-departments'); + const router = useRouter(); const queryClient = useQueryClient(); const { department, agents = [] } = data || {}; @@ -195,16 +195,12 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen } queryClient.invalidateQueries(['/v1/livechat/department/:_id', id]); dispatchToastMessage({ type: 'success', message: t('Saved') }); - departmentsRoute.push({}); + router.navigate('/omnichannel/departments'); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); } }); - const handleReturn = useMutableCallback(() => { - departmentsRoute.push({}); - }); - const isFormValid = isValid && isDirty; const formId = useUniqueId(); @@ -222,11 +218,8 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen return ( - + router.navigate('/omnichannel/departments')}> - diff --git a/apps/meteor/ee/client/omnichannel/cannedResponses/CannedResponseEdit.tsx b/apps/meteor/ee/client/omnichannel/cannedResponses/CannedResponseEdit.tsx index 0cdbcae396f..3c903d57151 100644 --- a/apps/meteor/ee/client/omnichannel/cannedResponses/CannedResponseEdit.tsx +++ b/apps/meteor/ee/client/omnichannel/cannedResponses/CannedResponseEdit.tsx @@ -66,17 +66,17 @@ const CannedResponseEdit = ({ cannedResponseData }: CannedResponseEditProps) => return ( - - - - {cannedResponseData?._id && ( + router.navigate('/omnichannel/canned-responses')} + > + {cannedResponseData?._id && ( + - )} - + + )}