|
|
|
|
@ -13,7 +13,7 @@ import { |
|
|
|
|
TextAreaInput, |
|
|
|
|
FieldError, |
|
|
|
|
} from '@rocket.chat/fuselage'; |
|
|
|
|
import { useMutableCallback, useUniqueId } from '@rocket.chat/fuselage-hooks'; |
|
|
|
|
import { useEffectEvent, useUniqueId } from '@rocket.chat/fuselage-hooks'; |
|
|
|
|
import { useEndpoint, useRouter, useToastMessageDispatch, useTranslation } from '@rocket.chat/ui-contexts'; |
|
|
|
|
import React from 'react'; |
|
|
|
|
import { useForm, Controller } from 'react-hook-form'; |
|
|
|
|
@ -96,9 +96,10 @@ const EditRoom = ({ room, onChange, onDelete }: EditRoomProps) => { |
|
|
|
|
|
|
|
|
|
const handleArchive = useArchiveRoom(room); |
|
|
|
|
|
|
|
|
|
const handleUpdateRoomData = useMutableCallback(async ({ isDefault, roomName, favorite, ...formData }) => { |
|
|
|
|
const handleUpdateRoomData = useEffectEvent(async ({ isDefault, roomName, favorite, ...formData }) => { |
|
|
|
|
const data = getDirtyFields(formData, dirtyFields); |
|
|
|
|
delete data.archived; |
|
|
|
|
delete data.favorite; |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
await saveAction({ |
|
|
|
|
@ -117,9 +118,9 @@ const EditRoom = ({ room, onChange, onDelete }: EditRoomProps) => { |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const handleSave = useMutableCallback(async (data) => { |
|
|
|
|
await Promise.all([isDirty && handleUpdateRoomData(data), changeArchiving && handleArchive()].filter(Boolean)); |
|
|
|
|
}); |
|
|
|
|
const handleSave = useEffectEvent((data) => |
|
|
|
|
Promise.all([isDirty && handleUpdateRoomData(data), changeArchiving && handleArchive()].filter(Boolean)), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
const formId = useUniqueId(); |
|
|
|
|
const roomNameField = useUniqueId(); |
|
|
|
|
|