From 86cd92a878bdea0dee14dafac8962fe039bdde9e Mon Sep 17 00:00:00 2001 From: JimmFly Date: Thu, 29 May 2025 07:02:42 +0000 Subject: [PATCH] fix(core): add loading status to share page button (#12288) close AF-2615 ## Summary by CodeRabbit - **Enhancements** - Improved the share menu's user experience by showing a loading indicator and disabling the public page button during revalidation. This prevents user interaction while the share info is updating. --- .../view/share-menu/general-access/public-page-button.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/frontend/core/src/modules/share-menu/view/share-menu/general-access/public-page-button.tsx b/packages/frontend/core/src/modules/share-menu/view/share-menu/general-access/public-page-button.tsx index ced8ca43e3..df567ef20e 100644 --- a/packages/frontend/core/src/modules/share-menu/view/share-menu/general-access/public-page-button.tsx +++ b/packages/frontend/core/src/modules/share-menu/view/share-menu/general-access/public-page-button.tsx @@ -21,6 +21,9 @@ export const PublicDoc = ({ disabled }: { disabled?: boolean }) => { const t = useI18n(); const shareInfoService = useService(ShareInfoService); const isSharedPage = useLiveData(shareInfoService.shareInfo.isShared$); + const isRevalidating = useLiveData( + shareInfoService.shareInfo.isRevalidating$ + ); useEffect(() => { shareInfoService.shareInfo.revalidate(); @@ -135,6 +138,8 @@ export const PublicDoc = ({ disabled }: { disabled?: boolean }) => { contentStyle={{ width: '100%', }} + loading={isRevalidating} + disabled={isRevalidating} > {isSharedPage ? t['com.affine.share-menu.option.link.readonly']()