diff --git a/apps/desktop/layer/renderer/src/modules/auth/LoginModalContent.tsx b/apps/desktop/layer/renderer/src/modules/auth/LoginModalContent.tsx index 2b92c1378..e38cdf834 100644 --- a/apps/desktop/layer/renderer/src/modules/auth/LoginModalContent.tsx +++ b/apps/desktop/layer/renderer/src/modules/auth/LoginModalContent.tsx @@ -29,7 +29,7 @@ export const LoginModalContent = (props: LoginModalContentProps) => { const { canClose = true, runtime } = props const { t } = useTranslation() - const { data: authProviders } = useAuthProviders() + const { data: authProviders, isLoading } = useAuthProviders() const isMobile = useMobile() @@ -79,25 +79,35 @@ export const LoginModalContent = (props: LoginModalContentProps) => { ) ) : (
- {providers.map(([key, provider]) => ( - { - if (key === "credential") { - setIsEmail(true) - } else { - loginHandler(key, "app") - } - }} - className="center hover:bg-material-medium relative w-full gap-2 rounded-xl border py-3 pl-5 font-semibold duration-200" - > - - {t("login.continueWith", { provider: provider.name })} - - ))} + {isLoading + ? // Skeleton loaders to prevent CLS + Array.from({ length: 4 }) + .fill(0) + .map((_, index) => ( +
+ )) + : providers.map(([key, provider]) => ( + { + if (key === "credential") { + setIsEmail(true) + } else { + loginHandler(key, "app") + } + }} + className="center hover:bg-material-medium relative w-full gap-2 rounded-xl border py-3 pl-5 font-semibold duration-200" + > + + {t("login.continueWith", { provider: provider.name })} + + ))}
)}