// Module ID: 10513 // Function ID: 10514 // Name: useCreateThread // Dependencies: [5, 19, 5105, 4749, 7407, 9419, 7698, 7918, 9423, 9421, 8081, 5350, 5378, 9424, 2] // Exports: default, useCreateForumPost // Module 10513 (useCreateThread) import useAnalyticsLocationsDefault from "useAnalyticsLocations" /* 7407 */; import MessageActionCreatorsDefault from "MessageActionCreators" /* 7698 */; import MessageParserDefault from "MessageParser" /* 7918 */; import UploadAttachmentActionCreatorsDefault from "UploadAttachmentActionCreators" /* 9421 */; import handleUploadAttachmentErrors from "handleUploadAttachmentErrors" /* 9423 */; import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */; import noop from "module_19" /* 19 */; const require = globalThis.__r; require = fn; const DraftType = fn(5105).DraftType; const MessageSendLocation = fn(4749).MessageSendLocation; const size = fn(2); const result = size.fileFinishedImporting("modules/threads/native/useCreateThread.tsx"); export default function useCreateThread(arg0) { ({ parentChannel, parentMessageId, threadSettings, privateThreadMode, location: _location, onThreadCreated, useDefaultThreadName } = arg0); const analyticsLocations = useAnalyticsLocationsDefault().analyticsLocations; return analyticsLocations(9419).useCreateThreadCommon({ parentChannel, parentMessageId, threadSettings, privateThreadMode, location: _location, onThreadCreated, useDefaultThreadName, uploadHandler(id, attachmentsToUpload, arg2) { const guildId = id; const uploads = attachmentsToUpload; let obj = MessageActionCreatorsDefault; obj.sendMessage(id.id, MessageParserDefault.parse(id, arg2), undefined, { location: constants.THREAD_CREATION, attachmentsToUpload, onAttachmentUploadError(file, code, reason) { const obj = handleUploadAttachmentErrors; if (obj.handleUploadMessageAttachmentsErrors(obj2)) { const obj4 = { channelId: guildId.id, uploads, draftType: DraftType.FirstThreadMessage, resetState: true }; UploadAttachmentActionCreatorsDefault.setUploads(obj4); } } }); } }); }; export const useCreateForumPost = function useCreateForumPost(parentChannel) { parentChannel = parentChannel.parentChannel; const threadSettings = parentChannel.threadSettings; let analyticsLocations; ({ appliedTags, onThreadCreated } = parentChannel); analyticsLocations = analyticsLocations(7407)().analyticsLocations; _require = asyncGeneratorStep(async (arg0) => { const guildId = arg0; c2 = 0; c3 = 0; return (async (arg0) => { analyticsLocations = tmp4; closure_129_0 = guildId; const obj7 = new analyticsLocations(8081)(); closure_129_1 = obj7; const maxFileSizeResult = guildId(5350).maxFileSize(guildId.getGuildId()); closure_129_2 = maxFileSizeResult; const effectiveUploadLimit = guildId(5378).getEffectiveUploadLimit(maxFileSizeResult); obj7.on("progress", (currentSize) => { if (currentSize.currentSize > closure_1_3) { analyticsLocations.cancel(); const obj2 = { channelId: uploads.id, uploads, draftType: FirstThreadMessage.FirstThreadMessage, resetState: true }; analyticsLocations(9421).setUploads(obj2); const obj3 = { file: currentSize, maxSize: tmp, baseMaxSize, guildId: null, analyticsLocations: null }; const obj = analyticsLocations(9421); obj3.guildId = uploads.getGuildId(); obj3.analyticsLocations = analyticsLocations; analyticsLocations(9424)(obj3); const tmp10 = analyticsLocations(9424); } }); closure_129_4 = await obj7.uploadFiles(guildId); return { uploaderFile: closure_129_1._file, files: closure_129_4 }; })(); }); const items = [analyticsLocations, parentChannel]; const callback = noop.useCallback(function() { const self = this; const apply = closure_0.apply; if (typeof apply === "unknown") { let applyArgumentsResult = HermesBuiltin.applyArguments(self); } else { applyArgumentsResult = apply(self, arguments); } return applyArgumentsResult; }, items); let obj2 = { parentChannel, name: null, appliedTags: null, analyticsLocations: null, onThreadCreated: null, upload: null }; let str; if (threadSettings != null) { str = threadSettings.name; } if (str == null) { str = ""; } obj2.name = str; obj2.appliedTags = appliedTags; obj2.analyticsLocations = analyticsLocations; obj2.onThreadCreated = onThreadCreated; obj2.upload = callback; return require("ThreadCreationHooks").useCreateForumPostCommon(obj2); };