2026-10-06 22:12:49 +00:00
// Module ID: 17166
// Function ID: 17167
2026-09-18 20:18:48 +00:00
// Name: useFileUploadComponentState
2026-10-06 22:12:49 +00:00
// Dependencies: [19, 5201, 5200, 7573, 38, 1985, 2]
2026-09-18 20:18:48 +00:00
// Exports: useFileUploadComponentState
2026-10-06 22:12:49 +00:00
// Module 17166 (useFileUploadComponentState)
import Server from "Server" /* 1985 */ ;
import DraftStore from "DraftStore" /* 5201 */ ;
import react from "react" /* 19 */ ;
import UploadAttachmentStore from "UploadAttachmentStore" /* 5200 */ ;
import size from "module_2" /* 2 */ ;
2026-09-18 20:18:48 +00:00
2026-10-06 22:12:49 +00:00
const DraftType = DraftStore . DraftType ;
2026-09-18 20:18:48 +00:00
const result = size . fileFinishedImporting ( "modules/interaction_components/useFileUploadComponentState.tsx" ) ;
export const useFileUploadComponentState = function useFileUploadComponentState ( maxValues ) {
2026-10-06 22:12:49 +00:00
let currentUploads ;
let executeStateUpdate ;
let setUploadIds ;
let state ;
let uploadIds ;
let uploads ;
let obj = state ( uploadIds [ 3 ] ) ;
const componentStateContext = obj . useComponentStateContext ( ) ;
const tmp = executeStateUpdate ( uploadIds [ 4 ] ) ( null != componentStateContext , "useFileUploadComponentState must be used within a ComponentStateContextProvider" ) ;
2026-09-18 20:18:48 +00:00
const channelId = componentStateContext . channelId ;
executeStateUpdate ( uploadIds [ 4 ] ) ( null != channelId , "useFileUploadComponentState must be used inside a channel" ) ;
2026-10-06 22:12:49 +00:00
const componentState = componentStateContext . useComponentState ( maxValues ) ;
state = componentState . state ;
executeStateUpdate = componentState . executeStateUpdate ;
2026-09-18 20:18:48 +00:00
const items = [ state ] ;
2026-10-06 22:12:49 +00:00
const error = componentState . error ;
2026-09-18 20:18:48 +00:00
uploadIds = uploads . useMemo ( ( ) = > {
let type ;
if ( state != null ) {
type = tmp . type ;
}
return type === Server . ComponentType . FILE_UPLOAD ? state . uploadIds : [ ] ;
} , items ) ;
uploads = setUploadIds . getUploads ( channelId , currentUploads . InteractionModal ) ;
const items1 = [ uploadIds , uploads ] ;
currentUploads = uploads . useMemo ( ( ) = > {
const mapped = uploadIds . map ( ( item ) = > {
2026-10-06 22:12:49 +00:00
let closure_0 = item ;
2026-09-18 20:18:48 +00:00
return uploads . find ( ( id ) = > id . id === closure_0 ) ;
} ) ;
return mapped . filter ( ( item ) = > null != item ) ;
} , items1 ) ;
const items2 = [ executeStateUpdate ] ;
2026-10-06 22:12:49 +00:00
setUploadIds = uploads . useCallback ( ( uploadIds ) = > {
const obj = { type : Server . ComponentType . FILE_UPLOAD , uploadIds } ;
return executeStateUpdate ( obj ) ;
} , items2 ) ;
2026-09-18 20:18:48 +00:00
const items3 = [ uploadIds , currentUploads , setUploadIds ] ;
const effect = uploads . useEffect ( ( ) = > {
2026-10-06 22:12:49 +00:00
const arr = uploadIds ;
2026-09-18 20:18:48 +00:00
if ( uploadIds . length > currentUploads . length ) {
2026-10-06 22:12:49 +00:00
setUploadIds ( arr . filter ( ( item ) = > {
let closure_0 = item ;
2026-09-18 20:18:48 +00:00
return currentUploads . some ( ( id ) = > id . id === closure_0 ) ;
} ) ) ;
}
} , items3 ) ;
2026-10-06 22:12:49 +00:00
return { uploadIds , setUploadIds , currentUploads , error } ;
2026-09-18 20:18:48 +00:00
} ;