@@ -16,10 +16,14 @@ import {
16
16
import {
17
17
configureErrors ,
18
18
createMessageOrFile ,
19
- useMessagesAndFiles ,
19
+ requestActionsBg ,
20
+ requestStatsHeaderBg ,
21
+ STATUS_ARRAY ,
22
+ statusBarBg ,
23
+ useMessages ,
24
+ useFiles ,
20
25
useAllSOWs ,
21
26
useOneRequest ,
22
- STATUS_ARRAY ,
23
27
} from '../../utils'
24
28
25
29
const Request = ( ) => {
@@ -29,18 +33,12 @@ const Request = () => {
29
33
const { id } = router . query
30
34
const { request, isLoadingRequest, isRequestError } = useOneRequest ( id , session ?. accessToken )
31
35
const { allSOWs, isLoadingSOWs, isSOWError } = useAllSOWs ( id , request ?. identifier , session ?. accessToken )
32
- const {
33
- messages,
34
- files,
35
- isLoadingMessagesAndFiles,
36
- isMessagesAndFilesError,
37
- mutate,
38
- data,
39
- } = useMessagesAndFiles ( id , session ?. accessToken )
36
+ const { messages, isLoadingMessages, isMessagesError, mutate, data } = useMessages ( request ?. uuid , session ?. accessToken )
37
+ const { files, isLoadingFiles, isFilesError } = useFiles ( id , session ?. accessToken )
40
38
const documents = ( allSOWs ) ? [ ...allSOWs ] : [ ]
41
39
42
- const isLoading = isLoadingRequest || isLoadingSOWs || isLoadingMessagesAndFiles
43
- const isError = isRequestError || isSOWError || isMessagesAndFilesError
40
+ const isLoading = isLoadingRequest || isLoadingSOWs || isLoadingFiles || isLoadingMessages
41
+ const isError = isRequestError || isSOWError || isFilesError || isMessagesError
44
42
45
43
if ( isLoading ) return < Loading wrapperClass = 'item-page mt-5' />
46
44
@@ -60,7 +58,7 @@ const Request = () => {
60
58
if ( isError ) {
61
59
return (
62
60
< Notice
63
- alert = { configureErrors ( [ isRequestError , isSOWError , isMessagesAndFilesError ] ) }
61
+ alert = { configureErrors ( [ isRequestError , isSOWError , isMessagesError , isFilesError ] ) }
64
62
dismissible = { false }
65
63
withBackButton = { true }
66
64
buttonProps = { {
@@ -71,35 +69,35 @@ const Request = () => {
71
69
)
72
70
}
73
71
74
- // TODO(summer-cook) need to use the quoted ware id here instead of the quote group id.
75
- // can be found at https://{{base_path}}/quote_groups/{{quote_group_id}}/quoted_wares.json
76
- // const handleSendingMessagesOrFiles = ({ message, files }) => {
77
- // createMessageOrFile({
78
- // id,
79
- // message,
80
- // files,
81
- // accessToken: session?.accessToken,
82
- // })
83
- // mutate({ ...data, ...messages })
84
- // }
72
+ const handleSendingMessagesOrFiles = ( { message, files } ) => {
73
+ createMessageOrFile ( {
74
+ id,
75
+ message,
76
+ files,
77
+ accessToken : session ?. accessToken ,
78
+ quotedWareID : request . quotedWareID ,
79
+ } )
80
+ mutate ( { ...data , ...messages } )
81
+ }
85
82
86
83
return (
87
84
< div className = 'container' >
88
85
< StatusBar
89
86
addClass = 'mt-4'
90
87
apiRequestStatus = { request . status . text }
91
- backgroundColor = 'light'
88
+ backgroundColor = { statusBarBg }
92
89
statusArray = { STATUS_ARRAY }
93
90
/>
94
91
< div className = 'row mb-4' >
95
92
< div className = 'col-sm-4 col-md-3 mt-2 mt-sm-4 order-1 order-sm-0' >
96
- { /* TODO(@summercook):
97
- - add back in the handleSendingMessagesOrFiles={handleSendingMessagesOrFiles} prop
98
- to ActionsGroup once posting messages/attachments has been refactored. */ }
99
- < ActionsGroup initialFiles = { files } />
93
+ < ActionsGroup
94
+ backgroundColor = { requestActionsBg }
95
+ initialFiles = { files }
96
+ handleSendingMessagesOrFiles = { handleSendingMessagesOrFiles }
97
+ />
100
98
< div className = 'mt-3' >
101
99
< RequestStats
102
- addClass = 'bg-secondary-8'
100
+ addClass = { requestStatsHeaderBg }
103
101
billingInfo = { { ...request . billingAddress } }
104
102
createdAt = { request . createdAt }
105
103
deadline = { request . proposedDeadline }
0 commit comments