diff --git a/apps/meteor/client/startup/appRoot.tsx b/apps/meteor/client/startup/appRoot.tsx
index 8feb63f0e806d..301100e9ef316 100644
--- a/apps/meteor/client/startup/appRoot.tsx
+++ b/apps/meteor/client/startup/appRoot.tsx
@@ -1,5 +1,5 @@
import React, { StrictMode } from 'react';
-import { render } from 'react-dom';
+import { createRoot } from 'react-dom/client';
import AppRoot from '../views/root/AppRoot';
@@ -16,10 +16,10 @@ const createContainer = (): Element => {
};
const container = createContainer();
+const root = createRoot(container);
-render(
+root.render(
- ,
- container,
-);
+
+);
\ No newline at end of file
diff --git a/apps/meteor/client/views/omnichannel/businessHours/BusinessHoursRouter.js b/apps/meteor/client/views/omnichannel/businessHours/BusinessHoursRouter.js
index 6ef6cc5af0269..27235e3d65eb4 100644
--- a/apps/meteor/client/views/omnichannel/businessHours/BusinessHoursRouter.js
+++ b/apps/meteor/client/views/omnichannel/businessHours/BusinessHoursRouter.js
@@ -1,6 +1,6 @@
import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
import { useRoute, useRouteParameter } from '@rocket.chat/ui-contexts';
-import React, { useEffect } from 'react';
+import React, { useInsertionEffect } from 'react';
import { businessHourManager } from '../../../../app/livechat/client/views/app/business-hours/BusinessHours';
import { useReactiveValue } from '../../../hooks/useReactiveValue';
@@ -19,7 +19,7 @@ const BusinessHoursRouter = () => {
const router = useRoute('omnichannel-businessHours');
- useEffect(() => {
+ useInsertionEffect(() => {
if (isSingleBH) {
router.push({
context: 'edit',
@@ -39,4 +39,4 @@ const BusinessHoursRouter = () => {
return ;
};
-export default BusinessHoursRouter;
+export default BusinessHoursRouter;
\ No newline at end of file
diff --git a/packages/livechat/src/components/Screen/index.js b/packages/livechat/src/components/Screen/index.js
index 3a11000c43cba..69db5cd362af2 100644
--- a/packages/livechat/src/components/Screen/index.js
+++ b/packages/livechat/src/components/Screen/index.js
@@ -1,4 +1,4 @@
-import { useEffect } from 'preact/hooks';
+import { useInsertionEffect } from 'preact/hooks';
import ChatIcon from '../../icons/chat.svg';
import CloseIcon from '../../icons/close.svg';
@@ -38,7 +38,7 @@ const ChatButton = ({ text, minimized, badge, onClick, triggered = false, agent
);
const CssVar = ({ theme }) => {
- useEffect(() => {
+ useInsertionEffect(() => {
if (window.CSS && CSS.supports('color', 'var(--color)')) {
return;
}
@@ -147,4 +147,4 @@ export const Screen = ({
Screen.Content = ScreenContent;
Screen.Footer = ScreenFooter;
-export default Screen;
+export default Screen;
\ No newline at end of file
diff --git a/packages/livechat/svg-component-loader.js b/packages/livechat/svg-component-loader.js
index 1e2a69da2a00a..121cec0714691 100644
--- a/packages/livechat/svg-component-loader.js
+++ b/packages/livechat/svg-component-loader.js
@@ -8,7 +8,7 @@ var content = module.exports.content;
module.exports = function (props) {
var ref = hooks.useRef();
- hooks.useEffect(function () {
+ hooks.useInsertionEffect(function () {
var div = document.createElement('div');
div.innerHTML = '';
@@ -22,4 +22,4 @@ module.exports = function (props) {
return preact.h('svg', Object.assign({ ref: ref }, attributes, props));
};
-`;
+`;
\ No newline at end of file
diff --git a/packages/uikit-playground/src/main.tsx b/packages/uikit-playground/src/main.tsx
index 9188772b0c50a..755683ee5382c 100644
--- a/packages/uikit-playground/src/main.tsx
+++ b/packages/uikit-playground/src/main.tsx
@@ -1,16 +1,17 @@
import React from 'react';
-import ReactDOM from 'react-dom';
+import { createRoot } from 'react-dom/client';
import '@rocket.chat/icons/dist/rocketchat.css';
import './index.css';
import App from './App';
import { Provider } from './Context';
-ReactDOM.render(
+const container = document.getElementById('root');
+const root = createRoot(container);
+root.render(
- ,
- document.getElementById('root'),
-);
+
+);
\ No newline at end of file