DocSpace-buildtools/packages/common/components/Loaders/EmptyContainerLoader/EmptyContainerLoader.js

51 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-01-10 19:25:22 +00:00
import React, { useEffect, useState } from "react";
import Loaders from "../../Loaders";
import { isMobileOnly, isTablet } from "react-device-detect";
import { size } from "@docspace/components/utils/device";
const EmptyContainerLoader = ({ viewAs }) => {
const [viewMobile, setViewMobile] = useState(false);
const [viewTablet, setViewTablet] = useState(false);
useEffect(() => {
onCheckView();
window.addEventListener("resize", onCheckView);
return () => window.removeEventListener("resize", onCheckView);
}, []);
const onCheckView = () => {
if (isMobileOnly || window.innerWidth < size.smallTablet) {
setViewMobile(true);
} else {
setViewMobile(false);
}
if (
isTablet ||
(window.innerWidth >= size.smallTablet &&
window.innerWidth <= size.tablet)
) {
setViewTablet(true);
} else {
setViewTablet(false);
}
};
return (
<>
{viewAs === "tile" ? (
!viewMobile && !viewTablet ? (
<Loaders.Tiles filesCount={7} />
) : (
<Loaders.Tiles />
)
) : (
<Loaders.Rows count={(viewMobile && 8) || (viewTablet && 12) || 9} />
)}
</>
);
};
export default EmptyContainerLoader;