mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-28 12:36:35 +00:00
18 lines
484 B
TypeScript
18 lines
484 B
TypeScript
import React from "react";
|
|
import ReactDOM from "react-dom";
|
|
|
|
const Desktop = React.memo(({ children }) => {
|
|
const [desktopNode] = React.useState(() => document.createElement("div"));
|
|
|
|
React.useEffect(() => {
|
|
desktopNode.classList.add("webamp-desktop");
|
|
document.body.appendChild(desktopNode);
|
|
return () => {
|
|
document.body.removeChild(desktopNode);
|
|
};
|
|
}, [desktopNode]);
|
|
|
|
return ReactDOM.createPortal(children, desktopNode);
|
|
});
|
|
|
|
export default Desktop;
|