// Module ID: 10287 // Function ID: 10288 // Name: useCreateThread // Dependencies: [5, 19, 4915, 4567, 7176, 9337, 7470, 7696, 9341, 9339, 7853, 5193, 5148, 9342, 2] // Exports: default, useCreateForumPost // Module 10287 (useCreateThread) import useAnalyticsLocationsDefault from "useAnalyticsLocations" /* 7176 */; import MessageActionCreatorsDefault from "MessageActionCreators" /* 7470 */; import MessageParserDefault from "MessageParser" /* 7696 */; import UploadAttachmentActionCreatorsDefault from "UploadAttachmentActionCreators" /* 9339 */; import handleUploadAttachmentErrors from "handleUploadAttachmentErrors" /* 9341 */; import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */; import noop from "module_19" /* 19 */; const require = globalThis.__r; require = fn; const DraftType = fn(4915).DraftType; const MessageSendLocation = fn(4567).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(9337).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(7176)().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(7853)(); closure_129_1 = obj7; const kestrelConfig = guildId(5193).getKestrelConfig({ location: "native.useCreateForumPost" }); const maxFileSizeResult = guildId(5148).maxFileSize(guildId.getGuildId()); closure_129_2 = maxFileSizeResult; const effectiveKestrelLimit = guildId(5193).getEffectiveKestrelLimit(kestrelConfig, 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(9339).setUploads(obj2); const obj3 = { file: currentSize, maxSize: tmp, baseMaxSize, guildId: null, analyticsLocations: null }; const obj = analyticsLocations(9339); obj3.guildId = uploads.getGuildId(); obj3.analyticsLocations = analyticsLocations; analyticsLocations(9342)(obj3); const tmp10 = analyticsLocations(9342); } }); 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); };