diff --git a/src/widgets/gitlab/component.jsx b/src/widgets/gitlab/component.jsx
index 6c3ac9e0..e5d9bfe4 100644
--- a/src/widgets/gitlab/component.jsx
+++ b/src/widgets/gitlab/component.jsx
@@ -9,12 +9,14 @@ export default function Component({ service }) {
const { widget } = service;
const { data: gitlabEvents, error: gitlabEventsError } = useWidgetAPI(widget, "events");
+ const { data: gitlabIssues, error: gitlabIssuesError } = useWidgetAPI(widget, "issues");
+ const { data: gitlabMerges, error: gitlabMergesError } = useWidgetAPI(widget, "merges");
- if (gitlabEventsError) {
- return ;
+ if (gitlabEventsError || gitlabIssuesError || gitlabMergesError) {
+ return ;
}
- if (!gitlabEvents) {
+ if (!gitlabEvents || !gitlabIssues || !gitlabMerges) {
return (
@@ -24,14 +26,11 @@ export default function Component({ service }) {
);
}
- const openIssues = gitlabEvents.issues.filter((event) => event.action_name.toLowerCase() === "opened").length;
- const openMerges = gitlabEvents.merges.filter((event) => event.action_name.toLowerCase() === "opened").length;
-
return (
-
-
-
+
+
+
);
}
diff --git a/src/widgets/gitlab/widget.js b/src/widgets/gitlab/widget.js
index c308e954..652674ab 100644
--- a/src/widgets/gitlab/widget.js
+++ b/src/widgets/gitlab/widget.js
@@ -8,9 +8,19 @@ const widget = {
events: {
endpoint: "events",
map: (data) => ({
- merges: asJson(data).filter((event) => event.target_type?.toLowerCase() === "merge_request"),
- issues: asJson(data).filter((event) => event.target_type?.toLowerCase() === "issue"),
- events: asJson(data).length,
+ count: asJson(data).length,
+ }),
+ },
+ issues: {
+ endpoint: "issues?state=opened",
+ map: (data) => ({
+ count: asJson(data).length,
+ }),
+ },
+ merges: {
+ endpoint: "merge_requests?state=opened",
+ map: (data) => ({
+ count: asJson(data).length,
}),
},
},