// Module ID: 10394 // Function ID: 10395 // Name: useCreateThread // Dependencies: [5, 19, 4979, 4631, 7272, 9448, 7566, 7790, 9452, 9450, 7953, 5265, 5219, 9453, 2] // Exports: default, useCreateForumPost // Module 10394 (useCreateThread) import useAnalyticsLocationsDefault from "useAnalyticsLocations" /* 7272 */; import MessageActionCreatorsDefault from "MessageActionCreators" /* 7566 */; import MessageParserDefault from "MessageParser" /* 7790 */; import UploadAttachmentActionCreatorsDefault from "UploadAttachmentActionCreators" /* 9450 */; import handleUploadAttachmentErrors from "handleUploadAttachmentErrors" /* 9452 */; import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */; import noop from "module_19" /* 19 */; const require = globalThis.__r; require = fn; const DraftType = fn(4979).DraftType; const MessageSendLocation = fn(4631).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(9448).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(7272)().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(7953)(); closure_129_1 = obj7; const kestrelConfig = guildId(5265).getKestrelConfig({ location: "native.useCreateForumPost" }); const maxFileSizeResult = guildId(5219).maxFileSize(guildId.getGuildId()); closure_129_2 = maxFileSizeResult; const effectiveKestrelLimit = guildId(5265).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(9450).setUploads(obj2); const obj3 = { file: currentSize, maxSize: tmp, baseMaxSize, guildId: null, analyticsLocations: null }; const obj = analyticsLocations(9450); obj3.guildId = uploads.getGuildId(); obj3.analyticsLocations = analyticsLocations; analyticsLocations(9453)(obj3); const tmp10 = analyticsLocations(9453); } }); 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); };