454 lines
16 KiB
TypeScript
454 lines
16 KiB
TypeScript
// Module ID: 10741
|
|
// Function ID: 10742
|
|
// Name: PlaintextFilePreviewModal
|
|
// Dependencies: [109, 32, 19, 17, 1096, 21, 5092, 587, 5934, 10740, 8265, 10742, 4806, 558, 576, 10744, 5088, 1126, 6154, 6823, 6201, 9363, 7089, 9242, 10603, 2]
|
|
|
|
// Module 10741 (PlaintextFilePreviewModal)
|
|
import Fragment from "Fragment" /* 21 */;
|
|
import react2 from "react" /* 576 */;
|
|
import nativeDefault from "native" /* 587 */;
|
|
import Constants from "Constants" /* 1096 */;
|
|
import intl3 from "intl" /* 1126 */;
|
|
import LinkingDefault from "Linking" /* 4806 */;
|
|
import Text_Text from "Text/Text" /* 5088 */;
|
|
import ModalActionCreatorsDefault from "ModalActionCreators" /* 5934 */;
|
|
import ActivityIndicator_ActivityIndicator from "ActivityIndicator/ActivityIndicator" /* 6154 */;
|
|
import NavigatorHeader from "NavigatorHeader" /* 6201 */;
|
|
import SuspiciousDownloadUtils from "SuspiciousDownloadUtils" /* 8265 */;
|
|
import ContextMenu from "ContextMenu" /* 9363 */;
|
|
import openPlaintextFilePreview from "openPlaintextFilePreview" /* 10740 */;
|
|
import SuspiciousDownloadModalActionCreatorsDefault from "SuspiciousDownloadModalActionCreators" /* 10742 */;
|
|
import useDownloadedFile from "useDownloadedFile" /* 10744 */;
|
|
import _objectWithoutProperties from "_objectWithoutProperties" /* 109 */;
|
|
import _slicedToArray from "_slicedToArray" /* 32 */;
|
|
import react from "react" /* 19 */;
|
|
import react_native from "react-native" /* 17 */;
|
|
import createStyles_mod from "createStyles" /* 5092 */;
|
|
import ReactCompilerGating_mod from "ReactCompilerGating" /* 558 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
let dependencyMap, importDefault, items;
|
|
|
|
let metroImportAll;
|
|
let metroImportDefault;
|
|
let obj2;
|
|
let obj3;
|
|
let obj4;
|
|
function closeModal() {
|
|
const obj = ModalActionCreatorsDefault;
|
|
obj.popWithKey(openPlaintextFilePreview.PLAINTEXT_FILE_PREVIEW_MODAL_KEY);
|
|
}
|
|
let closure_3 = ["ref"];
|
|
({ ScrollView: metroImportDefault, View: metroImportAll } = react_native);
|
|
const Fonts = Constants.Fonts;
|
|
const jsx = Fragment.jsx;
|
|
const constants = { PREVIEW: "PREVIEW" };
|
|
let createStyles = createStyles_mod;
|
|
let obj = { container: obj2, loadingContainer: { flex: 1, alignItems: "center", justifyContent: "center" }, scroller: { flex: 1 }, scrollerContent: obj3, code: { fontFamily: Fonts.CODE_NORMAL }, errorContainer: obj4 };
|
|
obj2 = { flex: 1, backgroundColor: nativeDefault.colors.BACKGROUND_BASE_LOW };
|
|
createStyles = createStyles.createStyles;
|
|
obj3 = { padding: nativeDefault.space.PX_16 };
|
|
obj4 = { flex: 1, alignItems: "center", justifyContent: "center", padding: nativeDefault.space.PX_16 };
|
|
let closure_11 = createStyles(obj);
|
|
let ReactCompilerGating = ReactCompilerGating_mod;
|
|
let closure_13 = ReactCompilerGating.isReactCompilerEnabled() ? (function PlaintextFilePreviewContent(arg0) {
|
|
let bytesLeft;
|
|
let fileContents;
|
|
let url;
|
|
let wordWrap;
|
|
const obj = react2;
|
|
const cResult = obj.c(21);
|
|
({ url, wordWrap } = arg0);
|
|
const tmp4 = closure_11();
|
|
const obj2 = useDownloadedFile;
|
|
const downloadedFile = obj2.useDownloadedFile(url, undefined);
|
|
({ fileContents, bytesLeft } = downloadedFile);
|
|
if (downloadedFile.hadError) {
|
|
let first;
|
|
let tmp38;
|
|
const _Symbol2 = Symbol;
|
|
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
const Text = tmp(5088).Text;
|
|
const intl = tmp(1126).intl;
|
|
const tmp37 = <Text variant="text-md/normal" color="text-muted">{intl.string(intl3.t.fEptJP)}</Text>;
|
|
cResult[0] = tmp37;
|
|
first = tmp37;
|
|
} else {
|
|
first = cResult[0];
|
|
}
|
|
if (cResult[1] !== tmp4.errorContainer) {
|
|
const tmp41 = <metroImportAll style={tmp4.errorContainer}>{first}</metroImportAll>;
|
|
cResult[1] = tmp4.errorContainer;
|
|
cResult[2] = tmp41;
|
|
tmp38 = tmp41;
|
|
} else {
|
|
tmp38 = cResult[2];
|
|
}
|
|
return tmp38;
|
|
} else if (null == fileContents) {
|
|
let tmp27;
|
|
let tmp30;
|
|
const _Symbol = Symbol;
|
|
if (cResult[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
const tmp29 = jsx(ActivityIndicator_ActivityIndicator.ActivityIndicator, {});
|
|
cResult[3] = tmp29;
|
|
tmp27 = tmp29;
|
|
} else {
|
|
tmp27 = cResult[3];
|
|
}
|
|
if (cResult[4] !== tmp4.loadingContainer) {
|
|
const tmp33 = <metroImportAll style={tmp4.loadingContainer}>{tmp27}</metroImportAll>;
|
|
cResult[4] = tmp4.loadingContainer;
|
|
cResult[5] = tmp33;
|
|
tmp30 = tmp33;
|
|
} else {
|
|
tmp30 = cResult[5];
|
|
}
|
|
return tmp30;
|
|
} else {
|
|
let tmp7;
|
|
if (cResult[6] !== bytesLeft) {
|
|
const tmpResult = useDownloadedFile;
|
|
const bytesLeftNotice = tmpResult.getBytesLeftNotice(bytesLeft);
|
|
cResult[6] = bytesLeft;
|
|
cResult[7] = bytesLeftNotice;
|
|
tmp7 = bytesLeftNotice;
|
|
} else {
|
|
tmp7 = cResult[7];
|
|
}
|
|
let combined = fileContents;
|
|
if ("" !== tmp7) {
|
|
const _HermesInternal = HermesInternal;
|
|
combined = "" + fileContents + "\n" + tmp7;
|
|
}
|
|
if (cResult[8] === tmp4.code) {
|
|
let tmp11;
|
|
let tmp18;
|
|
if (cResult[9] === combined) {
|
|
tmp11 = cResult[10];
|
|
}
|
|
if (wordWrap) {
|
|
if (cResult[11] === tmp11) {
|
|
if (cResult[12] === tmp4.scroller) {
|
|
let tmp22;
|
|
if (cResult[13] === tmp4.scrollerContent) {
|
|
tmp22 = cResult[14];
|
|
}
|
|
tmp18 = tmp22;
|
|
}
|
|
}
|
|
({ scroller: obj7.style, scrollerContent: obj7.contentContainerStyle } = tmp4);
|
|
const tmp25 = <metroImportDefault style={null} contentContainerStyle={null}>{tmp11}</metroImportDefault>;
|
|
cResult[11] = tmp11;
|
|
cResult[12] = tmp4.scroller;
|
|
cResult[13] = tmp4.scrollerContent;
|
|
cResult[14] = tmp25;
|
|
tmp22 = tmp25;
|
|
} else {
|
|
if (cResult[15] === tmp11) {
|
|
let tmp14;
|
|
if (cResult[16] === tmp4.scrollerContent) {
|
|
tmp14 = cResult[17];
|
|
}
|
|
if (cResult[18] === tmp4.scroller) {
|
|
if (cResult[19] === tmp14) {
|
|
tmp18 = cResult[20];
|
|
}
|
|
}
|
|
const tmp21 = <metroImportDefault style={tmp4.scroller}>{tmp14}</metroImportDefault>;
|
|
cResult[18] = tmp4.scroller;
|
|
cResult[19] = tmp14;
|
|
cResult[20] = tmp21;
|
|
tmp18 = tmp21;
|
|
}
|
|
const tmp17 = <metroImportDefault horizontal contentContainerStyle={tmp4.scrollerContent}>{tmp11}</metroImportDefault>;
|
|
cResult[15] = tmp11;
|
|
cResult[16] = tmp4.scrollerContent;
|
|
cResult[17] = tmp17;
|
|
tmp14 = tmp17;
|
|
}
|
|
return tmp18;
|
|
}
|
|
const tmp13 = jsx(Text_Text.Text, { variant: "text-sm/normal", color: "text-default", style: tmp4.code, selectable: true, children: combined });
|
|
cResult[8] = tmp4.code;
|
|
cResult[9] = combined;
|
|
cResult[10] = tmp13;
|
|
tmp11 = tmp13;
|
|
}
|
|
}) : (function PlaintextFilePreviewContent(arg0) {
|
|
let intl;
|
|
let url;
|
|
let wordWrap;
|
|
({ url, wordWrap } = arg0);
|
|
const tmp = closure_11();
|
|
const obj = useDownloadedFile;
|
|
const downloadedFile = obj.useDownloadedFile(url, undefined);
|
|
const fileContents = downloadedFile.fileContents;
|
|
if (downloadedFile.hadError) {
|
|
({ variant: "text-md/normal", color: "text-muted", children: intl.string(intl3.t.fEptJP) });
|
|
const Text = tmp2(5088).Text;
|
|
intl = tmp2(1126).intl;
|
|
return <metroImportAll style={tmp.errorContainer}>{null}</metroImportAll>;
|
|
} else if (null == fileContents) {
|
|
return <metroImportAll style={tmp.loadingContainer}>{jsx(ActivityIndicator_ActivityIndicator.ActivityIndicator, {})}</metroImportAll>;
|
|
} else {
|
|
let obj8;
|
|
const tmp2Result = useDownloadedFile;
|
|
const bytesLeftNotice = tmp2Result.getBytesLeftNotice(tmp5);
|
|
let combined = fileContents;
|
|
if ("" !== bytesLeftNotice) {
|
|
const _HermesInternal = HermesInternal;
|
|
combined = "" + fileContents + "\n" + bytesLeftNotice;
|
|
}
|
|
const tmp10 = jsx(Text_Text.Text, { variant: "text-sm/normal", color: "text-default", style: tmp.code, selectable: true, children: combined });
|
|
if (wordWrap) {
|
|
const obj7 = { style: null, contentContainerStyle: null, children: tmp10 };
|
|
({ scroller: obj5.style, scrollerContent: obj5.contentContainerStyle } = tmp);
|
|
obj8 = obj7;
|
|
} else {
|
|
obj8 = { style: tmp.scroller, children: null };
|
|
}
|
|
return <metroImportDefault {...obj8} />;
|
|
}
|
|
});
|
|
ReactCompilerGating = ReactCompilerGating_mod;
|
|
let tmp4 = ReactCompilerGating.isReactCompilerEnabled() ? (function PlaintextFilePreviewModal(url) {
|
|
let container;
|
|
let first1;
|
|
let tmp10;
|
|
let tmp11;
|
|
let tmp12;
|
|
let tmp14;
|
|
let wordWrap;
|
|
let tmp = url;
|
|
let obj = url(wordWrap[14]);
|
|
const cResult = obj.c(23);
|
|
url = url.url;
|
|
const tmp4 = closure_11();
|
|
importDefault = tmp4;
|
|
[wordWrap, closure_3] = react.useState(true);
|
|
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
let intl = tmp(tmp2[17]).intl;
|
|
const stringResult = intl.string(tmp(wordWrap[17]).t.AMKNT1);
|
|
cResult[0] = stringResult;
|
|
first1 = stringResult;
|
|
} else {
|
|
first1 = cResult[0];
|
|
}
|
|
let CheckmarkSmallIcon;
|
|
if (wordWrap) {
|
|
CheckmarkSmallIcon = tmp(tmp2[19]).CheckmarkSmallIcon;
|
|
}
|
|
if (cResult[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
const fn = function p() {
|
|
return closure_3((arg0) => !arg0);
|
|
};
|
|
cResult[1] = fn;
|
|
tmp10 = fn;
|
|
} else {
|
|
tmp10 = cResult[1];
|
|
}
|
|
if (cResult[2] !== CheckmarkSmallIcon) {
|
|
let obj2 = { label: first1, trailingIndicator: CheckmarkSmallIcon, action: tmp10 };
|
|
cResult[2] = CheckmarkSmallIcon;
|
|
cResult[3] = obj2;
|
|
tmp11 = obj2;
|
|
} else {
|
|
tmp11 = cResult[3];
|
|
}
|
|
if (cResult[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
const intl2 = tmp(tmp2[17]).intl;
|
|
const stringResult1 = intl2.string(tmp(wordWrap[17]).t["1WjMbC"]);
|
|
cResult[4] = stringResult1;
|
|
tmp12 = stringResult1;
|
|
} else {
|
|
tmp12 = cResult[4];
|
|
}
|
|
if (cResult[5] !== url) {
|
|
let obj3 = {
|
|
label: tmp12,
|
|
action() {
|
|
const obj = SuspiciousDownloadUtils;
|
|
if (null == obj.isSuspiciousDownload(url)) {
|
|
const obj3 = LinkingDefault;
|
|
obj3.openURL(url);
|
|
} else {
|
|
const obj2 = SuspiciousDownloadModalActionCreatorsDefault;
|
|
obj2.show(url);
|
|
}
|
|
}
|
|
};
|
|
cResult[5] = url;
|
|
cResult[6] = obj3;
|
|
tmp14 = obj3;
|
|
} else {
|
|
tmp14 = cResult[6];
|
|
}
|
|
if (cResult[7] === tmp11) {
|
|
let tmp15;
|
|
if (cResult[8] === tmp14) {
|
|
tmp15 = cResult[9];
|
|
}
|
|
items = tmp15;
|
|
const _Symbol = Symbol;
|
|
if (cResult[10] === Symbol.for("react.memo_cache_sentinel")) {
|
|
const tmpResult = tmp(wordWrap[20]);
|
|
const headerCloseButton = tmpResult.getHeaderCloseButton(closeModal);
|
|
cResult[10] = headerCloseButton;
|
|
}
|
|
if (cResult[11] !== tmp15) {
|
|
class A {
|
|
constructor() {
|
|
return jsx(ContextMenu.ContextMenu, {
|
|
items,
|
|
children(ref) {
|
|
let intl;
|
|
ref = ref.ref;
|
|
const obj = { IconComponent: url(wordWrap[23]).MoreHorizontalIcon, accessibilityLabel: intl.string(url(wordWrap[17]).t.PdRCRg), ref };
|
|
const tmp = items(ref, closure_1_3);
|
|
const HeaderActionButton = url(wordWrap[22]).HeaderActionButton;
|
|
intl = url(wordWrap[17]).intl;
|
|
const merged = Object.assign(tmp);
|
|
return closure_1_9(HeaderActionButton, obj);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
cResult[11] = tmp15;
|
|
cResult[12] = A;
|
|
} else {
|
|
class A {
|
|
constructor() {
|
|
return jsx(ContextMenu.ContextMenu, {
|
|
items,
|
|
children(ref) {
|
|
let intl;
|
|
ref = ref.ref;
|
|
const obj = { IconComponent: url(wordWrap[23]).MoreHorizontalIcon, accessibilityLabel: intl.string(url(wordWrap[17]).t.PdRCRg), ref };
|
|
const tmp = items(ref, closure_1_3);
|
|
const HeaderActionButton = url(wordWrap[22]).HeaderActionButton;
|
|
intl = url(wordWrap[17]).intl;
|
|
const merged = Object.assign(tmp);
|
|
return closure_1_9(HeaderActionButton, obj);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
if (cResult[13] === tmp4.container) {
|
|
class A {
|
|
constructor() {
|
|
return jsx(ContextMenu.ContextMenu, {
|
|
items,
|
|
children(ref) {
|
|
let intl;
|
|
ref = ref.ref;
|
|
const obj = { IconComponent: url(wordWrap[23]).MoreHorizontalIcon, accessibilityLabel: intl.string(url(wordWrap[17]).t.PdRCRg), ref };
|
|
const tmp = items(ref, closure_1_3);
|
|
const HeaderActionButton = url(wordWrap[22]).HeaderActionButton;
|
|
intl = url(wordWrap[17]).intl;
|
|
const merged = Object.assign(tmp);
|
|
return closure_1_9(HeaderActionButton, obj);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
class N {
|
|
constructor() {
|
|
return <metroImportAll style={container.container}>{null}</metroImportAll>;
|
|
}
|
|
}
|
|
cResult[13] = tmp4.container;
|
|
cResult[14] = url;
|
|
cResult[15] = wordWrap;
|
|
cResult[16] = N;
|
|
}
|
|
items = [tmp11, tmp14];
|
|
cResult[7] = tmp11;
|
|
cResult[8] = tmp14;
|
|
cResult[9] = items;
|
|
tmp15 = items;
|
|
}) : (function PlaintextFilePreviewModal(url) {
|
|
let closure_2;
|
|
url = url.url;
|
|
const fileName = url.fileName;
|
|
let memo;
|
|
const tmp = closure_11();
|
|
dependencyMap = tmp;
|
|
const tmp2 = memo(react.useState(true), 2);
|
|
const first = tmp2[0];
|
|
let closure_4 = tmp2[1];
|
|
items = [url, first];
|
|
memo = react.useMemo(() => {
|
|
let CheckmarkSmallIcon;
|
|
let intl;
|
|
let intl2;
|
|
let obj = {
|
|
label: intl.string(intl3.t.AMKNT1),
|
|
trailingIndicator: CheckmarkSmallIcon,
|
|
action() {
|
|
return closure_1_4((arg0) => !arg0);
|
|
}
|
|
};
|
|
intl = intl3.intl;
|
|
CheckmarkSmallIcon = undefined;
|
|
if (first) {
|
|
CheckmarkSmallIcon = tmp(6823).CheckmarkSmallIcon;
|
|
}
|
|
items = [obj, ];
|
|
let obj2 = {
|
|
label: intl2.string(tmp(1126).t["1WjMbC"]),
|
|
action() {
|
|
const obj = url(closure_2[10]);
|
|
if (null == obj.isSuspiciousDownload(closure_1_0)) {
|
|
const obj3 = fileName(closure_2[12]);
|
|
obj3.openURL(closure_1_0);
|
|
} else {
|
|
const obj2 = fileName(closure_2[11]);
|
|
obj2.show(closure_1_0);
|
|
}
|
|
}
|
|
};
|
|
intl2 = tmp(1126).intl;
|
|
items[1] = obj2;
|
|
return items;
|
|
}, items);
|
|
const items1 = [fileName, memo, tmp.container, url, first];
|
|
const memo1 = react.useMemo(() => {
|
|
let container;
|
|
let obj3;
|
|
let wordWrap;
|
|
let obj = {};
|
|
const obj2 = {
|
|
title: fileName,
|
|
headerLeft: obj3.getHeaderCloseButton(closeModal),
|
|
headerRight() {
|
|
return jsx(url(container[21]).ContextMenu, {
|
|
items,
|
|
children(ref) {
|
|
let intl;
|
|
ref = ref.ref;
|
|
const merged = Object.assign(ref, Object.assign({ ref: 0 }));
|
|
const obj = { IconComponent: url(container[23]).MoreHorizontalIcon, accessibilityLabel: intl.string(url(container[17]).t.PdRCRg), ref };
|
|
const HeaderActionButton = url(container[22]).HeaderActionButton;
|
|
intl = url(container[17]).intl;
|
|
const merged1 = Object.assign(merged);
|
|
return closure_1_9(HeaderActionButton, obj);
|
|
}
|
|
});
|
|
},
|
|
render() {
|
|
return <closure_2_8 style={container.container}>{null}</closure_2_8>;
|
|
}
|
|
};
|
|
const PREVIEW = constants.PREVIEW;
|
|
obj[PREVIEW] = obj2;
|
|
obj3 = NavigatorHeader;
|
|
return obj;
|
|
}, items1);
|
|
return jsx(url(10603).Modal, { screens: memo1, initialRouteName: constants.PREVIEW });
|
|
});
|
|
const result = size.fileFinishedImporting("modules/media/native/PlaintextFilePreviewModal.tsx");
|
|
|
|
export default tmp4;
|