fix: display skeleton loader (#16114)
* fix: display loader * fix: updated skelton loader
This commit is contained in:
@@ -22,6 +22,18 @@ function SkeletonLoader() {
|
||||
|
||||
export default SkeletonLoader;
|
||||
|
||||
export function InfiniteSkeletonLoader() {
|
||||
return (
|
||||
<SkeletonContainer>
|
||||
<ul className="border-subtle bg-default divide-subtle divide-y rounded-md border sm:mx-0 sm:overflow-hidden">
|
||||
<SkeletonItem />
|
||||
<SkeletonItem />
|
||||
<SkeletonItem />
|
||||
</ul>
|
||||
</SkeletonContainer>
|
||||
);
|
||||
}
|
||||
|
||||
function SkeletonItem() {
|
||||
return (
|
||||
<li className="group flex w-full items-center justify-between px-4 py-4 sm:px-6">
|
||||
|
||||
@@ -64,7 +64,7 @@ import type { AppProps } from "@lib/app-providers";
|
||||
import { useInViewObserver } from "@lib/hooks/useInViewObserver";
|
||||
import useMeQuery from "@lib/hooks/useMeQuery";
|
||||
|
||||
import SkeletonLoader from "@components/eventtype/SkeletonLoader";
|
||||
import SkeletonLoader, { InfiniteSkeletonLoader } from "@components/eventtype/SkeletonLoader";
|
||||
|
||||
type GetUserEventGroupsResponse = RouterOutputs["viewer"]["eventTypes"]["getUserEventGroups"];
|
||||
type GetEventTypesFromGroupsResponse = RouterOutputs["viewer"]["eventTypes"]["getEventTypesFromGroup"];
|
||||
@@ -105,6 +105,7 @@ interface InfiniteEventTypeListProps {
|
||||
bookerUrl: string | null;
|
||||
pages: { nextCursor: number | undefined; eventTypes: InfiniteEventType[] }[] | undefined;
|
||||
lockedByOrg?: boolean;
|
||||
isPending?: boolean;
|
||||
}
|
||||
|
||||
interface EventTypeListProps {
|
||||
@@ -186,6 +187,7 @@ const InfiniteMobileTeamsTab: FC<InfiniteMobileTeamsTabProps> = (props) => {
|
||||
group={activeEventTypeGroup}
|
||||
bookerUrl={activeEventTypeGroup.bookerUrl}
|
||||
readOnly={activeEventTypeGroup.metadata.readOnly}
|
||||
isPending={query.isPending}
|
||||
/>
|
||||
)}
|
||||
<div className="text-default p-4 text-center" ref={buttonInView.ref}>
|
||||
@@ -785,6 +787,7 @@ export const InfiniteEventTypeList = ({
|
||||
pages,
|
||||
bookerUrl,
|
||||
lockedByOrg,
|
||||
isPending,
|
||||
}: InfiniteEventTypeListProps): JSX.Element => {
|
||||
const { t } = useLocale();
|
||||
const router = useRouter();
|
||||
@@ -965,6 +968,8 @@ export const InfiniteEventTypeList = ({
|
||||
}, []);
|
||||
|
||||
if (!pages?.[0]?.eventTypes?.length) {
|
||||
if (isPending) return <InfiniteSkeletonLoader />;
|
||||
|
||||
return group.teamId ? (
|
||||
<EmptyEventTypeList group={group} />
|
||||
) : !group.profile.eventTypesLockedByOrg ? (
|
||||
@@ -1570,7 +1575,7 @@ const InfiniteScrollMain = ({
|
||||
}
|
||||
|
||||
if (!eventTypeGroups || !profiles || status === "pending") {
|
||||
return <SkeletonLoader />;
|
||||
return <InfiniteSkeletonLoader />;
|
||||
}
|
||||
|
||||
const tabs = eventTypeGroups.map((item) => ({
|
||||
|
||||
Reference in New Issue
Block a user