Files
discord-decomp/modules/explicit_media_redaction/hooks/useExplicitMediaActions.tsx
T
2026-11-01 12:12:55 +02:00

81 lines
2.3 KiB
TypeScript

// Metro module 9889 (f9890).
import { useState, useCallback } from "react";
import { APIError } from "../../../errors/index";
export function useExplicitMediaActions({ onError, onSuccess, report }) {
const [state2, setState] = useState(false);
const state = state2;
return {
reportFalsePositive: useCallback(async () => {
let c26559_2;
let c26559_3 = 0;
let c30155_0, c30155_1;
L16: {
L15: {
try {
c30155_0 = void 0;
if (state) {
break L16;
}
setState(true);
c26559_3 = 2;
await report();
if (onSuccess != null) {
onSuccess();
}
c26559_3 = 1;
c26559_3 = 0;
(0, setState)(false);
} catch ($e) {
const r27 = $e;
let r7 = r27;
c26559_2 = r27;
let r28 = c26559_3;
if (r28 !== 0) {
while (true) {
if (r28 === 1) {
try {
const r86 = c26559_2;
c26559_3 = 0;
(0, setState)(false);
throw r86;
} catch (r84) {
r7 = r84;
c26559_2 = r84;
r28 = c26559_3;
if (r28 === 0) {
break;
}
}
} else {
try {
const r65 = c26559_2;
c26559_3 = 1;
c30155_1 = r65;
c30155_0 = new APIError(c30155_1);
if (onError != null) {
onError(c30155_0);
}
c26559_3 = 0;
(0, setState)(false);
break L15;
} catch (r63) {
r7 = r63;
c26559_2 = r63;
r28 = c26559_3;
if (r28 === 0) {
break;
}
}
}
}
}
throw r7;
}
}
return void 0;
}
}, [state, onError, onSuccess, report]),
isReportFalsePositiveLoading: state
};
}