@@ -24,14 +24,14 @@ import {
2424 slackDumpSavedModalView ,
2525 slackFieldNoteEditModalView ,
2626 slackFieldNoteDraftingModalView ,
27- slackFieldNoteDraftReadyModalView ,
2827 slackFieldNoteDraftErrorModalView ,
2928 slackFieldNotePublishedModalView ,
3029 slackFieldNoteSavedModalView ,
3130 slackFieldNoteReviewPickerView ,
3231 slackSavedDumpPayload ,
3332 slackLoadingModalView ,
3433 slackPinnedSpacesView ,
34+ slackPublishedReadsView ,
3535 slackPublishOptionsView ,
3636 slackPublishPreviewView ,
3737 slackRoomModalView ,
@@ -57,7 +57,7 @@ export async function POST(request) {
5757 try {
5858 if ( actionId === "start_room_modal" ) {
5959 const teamId = slackTeamId ( payload ) ;
60- const viewId = cleanString ( payload . view ?. id , 120 ) ;
60+ const viewId = slackModalViewId ( payload ) ;
6161 if ( viewId ) {
6262 await updateSlackView ( {
6363 teamId,
@@ -73,7 +73,7 @@ export async function POST(request) {
7373 }
7474 if ( actionId === "new_private_dump" ) {
7575 const teamId = slackTeamId ( payload ) ;
76- const viewId = cleanString ( payload . view ?. id , 120 ) ;
76+ const viewId = slackModalViewId ( payload ) ;
7777 if ( viewId ) {
7878 await updateSlackView ( { teamId, viewId, view : slackDumpModalView ( ) } ) ;
7979 } else {
@@ -108,7 +108,7 @@ export async function POST(request) {
108108 if ( actionId === "review_field_note_drafts" ) {
109109 const teamId = slackTeamId ( payload ) ;
110110 const slackUserId = cleanString ( payload . user ?. id , 80 ) ;
111- const viewId = cleanString ( payload . view ?. id , 120 ) ;
111+ const viewId = slackModalViewId ( payload ) ;
112112 if ( viewId ) {
113113 await updateSlackView ( {
114114 teamId,
@@ -146,10 +146,51 @@ export async function POST(request) {
146146 } ) ;
147147 }
148148 }
149+ if ( actionId === "review_published_reads" ) {
150+ const teamId = slackTeamId ( payload ) ;
151+ const slackUserId = cleanString ( payload . user ?. id , 80 ) ;
152+ const viewId = slackModalViewId ( payload ) ;
153+ if ( viewId ) {
154+ await updateSlackView ( {
155+ teamId,
156+ viewId,
157+ view : slackLoadingModalView ( { title : "published reads" , message : "loading your published reads..." } ) ,
158+ } ) ;
159+ after ( async ( ) => {
160+ try {
161+ await updateSlackView ( {
162+ teamId,
163+ viewId,
164+ view : await slackPublishedReadsView ( { teamId, slackUserId } ) ,
165+ } ) ;
166+ } catch ( error ) {
167+ console . error ( "Slack published reads update failed" , { message : error . message , slackError : error . slack ?. error } ) ;
168+ }
169+ } ) ;
170+ } else {
171+ const result = await openSlackLoadingModal ( {
172+ teamId,
173+ triggerId : cleanString ( payload . trigger_id , 200 ) ,
174+ title : "published reads" ,
175+ message : "loading your published reads..." ,
176+ } ) ;
177+ after ( async ( ) => {
178+ try {
179+ await updateSlackView ( {
180+ teamId,
181+ viewId : cleanString ( result . view ?. id , 120 ) ,
182+ view : await slackPublishedReadsView ( { teamId, slackUserId } ) ,
183+ } ) ;
184+ } catch ( error ) {
185+ console . error ( "Slack published reads update failed" , { message : error . message , slackError : error . slack ?. error } ) ;
186+ }
187+ } ) ;
188+ }
189+ }
149190 if ( actionId === "manage_pinned_spaces" ) {
150191 const teamId = slackTeamId ( payload ) ;
151192 const slackUserId = cleanString ( payload . user ?. id , 80 ) ;
152- const viewId = cleanString ( payload . view ?. id , 120 ) ;
193+ const viewId = slackModalViewId ( payload ) ;
153194 if ( viewId ) {
154195 await updateSlackView ( {
155196 teamId,
@@ -190,7 +231,7 @@ export async function POST(request) {
190231 if ( actionId === "unpin_pinned_space_start" ) {
191232 const teamId = slackTeamId ( payload ) ;
192233 const slackUserId = cleanString ( payload . user ?. id , 80 ) ;
193- const viewId = cleanString ( payload . view ?. id , 120 ) ;
234+ const viewId = slackModalViewId ( payload ) ;
194235 if ( viewId ) {
195236 await updateSlackView ( {
196237 teamId,
@@ -207,7 +248,7 @@ export async function POST(request) {
207248 const teamId = slackTeamId ( payload ) ;
208249 const slackUserId = cleanString ( payload . user ?. id , 80 ) ;
209250 const fieldNoteId = cleanString ( payload . actions ?. [ 0 ] ?. value , 64 ) ;
210- const viewId = cleanString ( payload . view ?. id , 120 ) ;
251+ const viewId = slackModalViewId ( payload ) ;
211252 if ( viewId ) {
212253 await updateSlackView ( {
213254 teamId,
@@ -298,7 +339,7 @@ export async function POST(request) {
298339 await updateSlackView ( {
299340 teamId,
300341 viewId : cleanString ( payload . view ?. id , 120 ) ,
301- view : slackFieldNoteDraftReadyModalView ( result ) ,
342+ view : slackFieldNoteEditModalView ( result . fieldNote ) ,
302343 } ) ;
303344 } catch ( error ) {
304345 await updateSlackView ( {
@@ -499,6 +540,10 @@ function slackTeamId(payload) {
499540 return cleanString ( payload . team ?. id || payload . user ?. team_id , 80 ) ;
500541}
501542
543+ function slackModalViewId ( payload ) {
544+ return payload . view ?. type === "modal" ? cleanString ( payload . view ?. id , 120 ) : "" ;
545+ }
546+
502547function selectedSlackOptionValues ( options ) {
503548 return Array . isArray ( options ) ? options . map ( ( option ) => cleanString ( option ?. value , 64 ) ) . filter ( Boolean ) : [ ] ;
504549}
0 commit comments