Skip to content

Commit 7e3253d

Browse files
cmcWebCode40claude
andcommitted
fix: close modal before showing share sheet
The share sheet was being blocked by the fullscreen modal. Now the modal closes first with a small delay to allow the share sheet to appear properly on top. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent b0ce919 commit 7e3253d

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

src/NetworkLogItem.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ interface NetworkLogItemProps {
3333
useCopyToClipboard?: boolean;
3434
theme?: ThemeMode;
3535
onDelete?: (logId: number) => void;
36+
onCloseModal?: () => void;
3637
}
3738

3839
const NetworkLogItem: React.FC<NetworkLogItemProps> = ({
@@ -42,6 +43,7 @@ const NetworkLogItem: React.FC<NetworkLogItemProps> = ({
4243
showRequestHeader = false,
4344
theme = 'light',
4445
onDelete,
46+
onCloseModal,
4547
}) => {
4648
const [expanded, setExpanded] = useState<boolean>(false);
4749
const [isReplaying, setIsReplaying] = useState<boolean>(false);
@@ -104,14 +106,17 @@ const NetworkLogItem: React.FC<NetworkLogItemProps> = ({
104106
const handleShare = useCallback(async () => {
105107
try {
106108
const content = exportSingleRequestAsJSON(log);
107-
await Share.share({
108-
message: content,
109-
title: `${log.method} ${log.url}`,
110-
});
109+
onCloseModal?.();
110+
setTimeout(async () => {
111+
await Share.share({
112+
message: content,
113+
title: `${log.method} ${log.url}`,
114+
});
115+
}, 300);
111116
} catch (error) {
112117
// User cancelled or error
113118
}
114-
}, [log]);
119+
}, [log, onCloseModal]);
115120

116121
const handleDelete = useCallback(() => {
117122
onDelete?.(log.id);
@@ -413,12 +418,14 @@ const staticStyles = {
413418
gap: 8,
414419
} as ViewStyle,
415420
deleteButton: {
416-
width: 24,
417-
height: 24,
421+
width: 20,
422+
height: 20,
418423
borderRadius: 12,
419424
backgroundColor: colors.error,
420425
justifyContent: 'center',
421426
alignItems: 'center',
427+
borderWidth: 1,
428+
borderColor: '#f6f6f6',
422429
} as ViewStyle,
423430
deleteButtonText: {
424431
color: '#fff',

src/NetworkLoggerOverlay.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ export const NetworkLoggerOverlay: React.FC<NetworkLoggerOverlayProps> = ({
208208
showRequestHeader={showRequestHeader}
209209
theme={theme}
210210
onDelete={handleDeleteLog}
211+
onCloseModal={handleModalClose}
211212
/>
212213
);
213214

0 commit comments

Comments
 (0)