-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathUserIssueView.ts
More file actions
84 lines (70 loc) · 2.91 KB
/
UserIssueView.ts
File metadata and controls
84 lines (70 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { IModify } from "@rocket.chat/apps-engine/definition/accessors";
import { IUIKitContextualBarViewParam } from "@rocket.chat/apps-engine/definition/uikit/UIKitInteractionResponder";
import { TextObjectType } from "@rocket.chat/ui-kit";
import { IGithubActivity } from "../definitions/IGithubActivity";
import { ModalsEnum } from "../enum/Modals";
import { OcticonIcons } from "../enum/OcticonIcons";
import { CreateIssueStatsBar } from "../lib/CreateIssueStatsBar";
import { CreateReactionsBar } from "../lib/CreateReactionsBar";
import { BodyMarkdownRenderer } from "../processors/bodyMarkdowmRenderer";
export function UserIssueView(modify: IModify,activity: IGithubActivity): IUIKitContextualBarViewParam{
const block = modify.getCreator().getBlockBuilder();
if (activity.type == "IssuesEvent" && activity.payload.issue){
const issueInfo = activity.payload.issue
console.log(issueInfo)
const lastUpdated = new Date(issueInfo.last_updated_at ?? "");
block.addContextBlock({
elements : [
block.newImageElement({
imageUrl: OcticonIcons.PENCIL,
altText: "Last Update At",
}),
block.newPlainTextObject(
`Last Updated at ${ lastUpdated.toISOString() }`
),
]
})
CreateIssueStatsBar(issueInfo, block);
// block.addSectionBlock({
// text : {
// text : `*${issueInfo.title}*` ?? "",
// type: TextObjectType.PLAIN_TEXT
// }
// })
block.addDividerBlock();
// issueInfo.reactions && CreateReactionsBar(issueInfo.reactions, block);
issueInfo.body && BodyMarkdownRenderer({body : issueInfo.body, block : block})
// block.addActionsBlock({
// elements : [
// block.newButtonElement({
// actionId : ModalsEnum.SHARE_ISSUE_ACTION,
// value : `${repoName}, ${issueNumber}`,
// text : {
// text : "Share Issue",
// type : TextObjectType.PLAINTEXT
// },
// }),
// block.newButtonElement({
// actionId : ModalsEnum.ADD_GITHUB_ISSUE_ASSIGNEE,
// value : `${repoName}, ${issueNumber}`,
// text : {
// text : "Assign Issue",
// type : TextObjectType.PLAINTEXT
// },
// })
// ]
// })
return {
// [6]
id: "userIssuesView",
title: block.newPlainTextObject("User Issue View"),
blocks: block.getBlocks(),
};
}
return {
// [6]
id: "error",
title: block.newPlainTextObject("Error View"),
blocks: block.getBlocks(),
};
}