| 23 | page string |
| 24 | } |
| 25 | |
| 26 | // boxOutput is HEY's box payload with the listing's postings over the top of it, so the |
| 27 | // thread ID arrives next to the box item ID without anything the box already answered |
| 28 | // going missing. |
| 29 | type boxOutput struct { |
| 30 | generated.BoxShowResponse |
| 31 | Postings []sourcePostingOutput `json:"postings"` |
| 32 | NextPage string `json:"next_page,omitempty"` |
| 33 | } |
| 34 | |
| 35 | var boxListing = postingsListing{ |
| 36 | heading: "Box", |
| 37 | summary: boxSummary, |
| 38 | cursorNotice: func(shown, total int) string { |
| 39 | return fmt.Sprintf("Showing %d remaining results from this cursor (%d threads read).", shown, total) |
| 40 | }, |
| 41 | breadcrumbs: []output.Breadcrumb{ |
| 42 | {Action: "read", Command: "hey thread read <thread-id>", Description: "Read an email thread"}, |
| 43 | {Action: "bundle", Command: "hey bundle view <box-item-id>", Description: "List the unseen threads a bundle row groups"}, |
| 44 | {Action: "move", Command: "hey move <box-item-id> --to <box>", Description: "Move an email thread to another box"}, |
| 45 | {Action: "compose", Command: "hey compose --to <email> --subject <subject>", Description: "Compose a new message"}, |
| 46 | }, |
| 47 | } |
| 48 | |