From 75bc32b47bc96a26802c8226e4c7624e5ddcd9bd Mon Sep 17 00:00:00 2001 From: Gagan Yadav Date: Tue, 8 Apr 2025 19:48:33 +0530 Subject: [PATCH] fix(mobile): hide asset description text field if user is not owner (#17442) * fix(mobile): hide asset description text field if user is not owner * If user is not the owner and asset has no description then hide the text field * Apply suggestions from code review Co-authored-by: Alex --------- Co-authored-by: Alex --- .../widgets/asset_viewer/description_input.dart | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mobile/lib/widgets/asset_viewer/description_input.dart b/mobile/lib/widgets/asset_viewer/description_input.dart index 778212eabec..3ac60fd6135 100644 --- a/mobile/lib/widgets/asset_viewer/description_input.dart +++ b/mobile/lib/widgets/asset_viewer/description_input.dart @@ -34,17 +34,24 @@ class DescriptionInput extends HookConsumerWidget { final owner = ref.watch(currentUserProvider); final hasError = useState(false); final assetWithExif = ref.watch(assetDetailProvider(asset)); + final hasDescription = useState(false); + final isOwner = fastHash(owner?.id ?? '') == asset.ownerId; useEffect( () { - assetService - .getDescription(asset) - .then((value) => controller.text = value); + assetService.getDescription(asset).then((value) { + controller.text = value; + hasDescription.value = value.isNotEmpty; + }); return null; }, [assetWithExif.value], ); + if (!isOwner && !hasDescription.value) { + return const SizedBox.shrink(); + } + submitDescription(String description) async { hasError.value = false; try { @@ -82,7 +89,7 @@ class DescriptionInput extends HookConsumerWidget { } return TextField( - enabled: fastHash(owner?.id ?? '') == asset.ownerId, + enabled: isOwner, focusNode: focusNode, onTap: () => isFocus.value = true, onChanged: (value) {