Files
discord-decomp/modules/action_sheet/native/showShareActionSheet.tsx
T
2026-11-01 12:12:55 +02:00

69 lines
2.0 KiB
TypeScript

// Metro module 8196 (f8197).
import { NativeEventEmitter } from "react-native";
import { isAndroid } from "../../../_bundle/Module501";
import Module8197 from "../../../_bundle/Module8197";
import { trackAppClickInNativeShareSheet, getMediaShareParams } from "./ShowShareActionSheetUtils";
import SentryUtils_native from "../../../utils/SentryUtils.native";
if (isAndroid()) {
new NativeEventEmitter(Module8197).addListener("share-broadcast-receiver-app-clicked", (a0) => {
trackAppClickInNativeShareSheet(a0.app, a0.location);
});
}
export function showShareActionSheet(a0, a1) {
let r9 = a1;
const r16 = a0.source != null ? getMediaShareParams(a0.source) : {
mediaFallbackUrl: void 0,
mediaStagingOptions: void 0
};
let mediaFallbackUrl = r16.mediaFallbackUrl;
let mediaStagingOptions = r16.mediaStagingOptions;
if (a0.source == null) {
mediaFallbackUrl = a0.url;
}
let message = a0.message;
if (message == null) {
message = null;
}
if (mediaFallbackUrl == null) {
mediaFallbackUrl = null;
}
let subject = a0.subject;
if (subject == null) {
subject = null;
}
if (a1 == null) {
r9 = null;
}
if (mediaStagingOptions == null) {
mediaStagingOptions = null;
}
Module8197.share(message, mediaFallbackUrl, subject, r9, mediaStagingOptions).then((result) => {
if (result != null) {
const { success, method } = result;
const iOSOnlyShareCallback = a0.iOSOnlyShareCallback;
if (iOSOnlyShareCallback != null) {
let r7 = method;
if (r7 == null) {
r7 = null;
}
iOSOnlyShareCallback.call(a0, success, r7);
}
trackAppClickInNativeShareSheet(method, a1);
}
}).catch((error) => {
let location2 = a1;
if (location2 == null) {
location2 = "";
}
SentryUtils_native.captureException(error, {
tags: {
location: location2
}
});
const iOSOnlyShareCallback = a0.iOSOnlyShareCallback;
if (iOSOnlyShareCallback != null) {
iOSOnlyShareCallback.call(a0, false, null);
}
});
}