@bigbinary/neeto-github-frontend 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/NeetoGithubNanoContainer.js +24 -0
- package/dist/NeetoGithubNanoContainer.js.map +1 -0
- package/dist/NeetoGithubNanoPane.js +2348 -0
- package/dist/NeetoGithubNanoPane.js.map +1 -0
- package/dist/cjs/NeetoGithubNanoContainer.js +30 -0
- package/dist/cjs/NeetoGithubNanoContainer.js.map +1 -0
- package/dist/{index.cjs.js → cjs/NeetoGithubNanoPane.js} +28 -555
- package/dist/cjs/NeetoGithubNanoPane.js.map +1 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/index-0d3578e2.js +561 -0
- package/dist/index-0d3578e2.js.map +1 -0
- package/dist/index-af6329fc.js +541 -0
- package/dist/index-af6329fc.js.map +1 -0
- package/dist/index.js +26 -2859
- package/dist/index.js.map +1 -1
- package/package.json +21 -9
- package/dist/index.cjs.js.map +0 -1
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
import classnames from 'classnames';
|
|
2
|
+
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
3
|
+
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
4
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
5
|
+
import { useQuery } from '@tanstack/react-query';
|
|
6
|
+
import { isNotNil } from 'ramda';
|
|
7
|
+
import axios from 'axios';
|
|
8
|
+
import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
|
|
9
|
+
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
10
|
+
import Github from '@bigbinary/neeto-icons/misc/Github';
|
|
11
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
13
|
+
import Building from '@bigbinary/neeto-icons/Building';
|
|
14
|
+
import Avatar from '@bigbinary/neetoui/Avatar';
|
|
15
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
16
|
+
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
17
|
+
import Settings from '@bigbinary/neeto-icons/Settings';
|
|
18
|
+
import { useState, createElement } from 'react';
|
|
19
|
+
import { isPresent } from '@bigbinary/neeto-cist';
|
|
20
|
+
import Search from '@bigbinary/neeto-molecules/Search';
|
|
21
|
+
import Lock from '@bigbinary/neeto-icons/Lock';
|
|
22
|
+
import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
|
|
23
|
+
|
|
24
|
+
var _globalProps$organiza;
|
|
25
|
+
var GITHUB_INTEGRATIONS_BASE_API_URL = "/github_integrations";
|
|
26
|
+
({
|
|
27
|
+
integrator_id: globalProps === null || globalProps === void 0 || (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
|
|
28
|
+
integrator_type: "Organization"
|
|
29
|
+
});
|
|
30
|
+
var GITHUB_INTEGRATOR_PARAMS = {
|
|
31
|
+
integratorId: globalProps.organization.id,
|
|
32
|
+
integratorType: "Organization"
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var baseUrl = "".concat(GITHUB_INTEGRATIONS_BASE_API_URL, "/app_installations");
|
|
36
|
+
var githubAppUrl = function githubAppUrl(id) {
|
|
37
|
+
return "".concat(baseUrl, "/").concat(id);
|
|
38
|
+
};
|
|
39
|
+
var repositories = function repositories() {
|
|
40
|
+
return axios.get("".concat(githubAppUrl(globalProps.githubAppInstallationId), "/repositories"), {
|
|
41
|
+
params: GITHUB_INTEGRATOR_PARAMS
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var githubAccountsApi = {
|
|
45
|
+
repositories: repositories
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var QUERY_KEYS = {
|
|
49
|
+
GITHUB_REPOSITORIES_LIST: "github-repositories-list"
|
|
50
|
+
};
|
|
51
|
+
var STALE_TIME_CONFIG = {
|
|
52
|
+
staleTime: DEFAULT_STALE_TIME
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var useFetchGithubRepositories = function useFetchGithubRepositories(_ref) {
|
|
56
|
+
var isConnected = _ref.isConnected;
|
|
57
|
+
return useQuery({
|
|
58
|
+
queryKey: [QUERY_KEYS.GITHUB_REPOSITORIES_LIST],
|
|
59
|
+
queryFn: githubAccountsApi.repositories,
|
|
60
|
+
staleTime: STALE_TIME_CONFIG.staleTime,
|
|
61
|
+
enabled: isConnected && isNotNil(globalProps.githubAppInstallationId)
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var Header = withT(function (_ref) {
|
|
66
|
+
var t = _ref.t;
|
|
67
|
+
return /*#__PURE__*/jsxs("div", {
|
|
68
|
+
className: "neeto-ui-text-gray-800 mb-1 flex w-full flex-row items-center space-x-2 font-sans text-lg font-medium leading-6 antialiased",
|
|
69
|
+
children: [/*#__PURE__*/jsx(Github, {
|
|
70
|
+
size: 16
|
|
71
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
72
|
+
style: "h4",
|
|
73
|
+
children: t("neetoGithub.github")
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var Configure = withT(function (_ref) {
|
|
79
|
+
var t = _ref.t,
|
|
80
|
+
isConnected = _ref.isConnected,
|
|
81
|
+
installationUrl = _ref.installationUrl;
|
|
82
|
+
return /*#__PURE__*/jsx("div", {
|
|
83
|
+
className: "neeto-ui-text-gray-900 flex-shrink-0 font-sans text-sm font-normal leading-6 antialiased",
|
|
84
|
+
children: /*#__PURE__*/jsx(Button, {
|
|
85
|
+
href: installationUrl,
|
|
86
|
+
icon: isConnected ? Settings : Plus,
|
|
87
|
+
iconPosition: "left",
|
|
88
|
+
iconSize: 20,
|
|
89
|
+
size: "small",
|
|
90
|
+
style: "link",
|
|
91
|
+
children: isConnected ? t("neetoGithub.configureAccount") : t("neetoGithub.connectAccount")
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
var List$1 = withT(function (_ref) {
|
|
97
|
+
var t = _ref.t,
|
|
98
|
+
accounts = _ref.accounts,
|
|
99
|
+
isConnected = _ref.isConnected,
|
|
100
|
+
installationUrl = _ref.installationUrl,
|
|
101
|
+
isPane = _ref.isPane;
|
|
102
|
+
return /*#__PURE__*/jsxs("div", {
|
|
103
|
+
className: classnames("neeto-ui-border-gray-300 flex justify-between gap-3 border-b pb-4 pt-2", {
|
|
104
|
+
"flex-col md:flex-row": isPane,
|
|
105
|
+
"flex-col": !isPane
|
|
106
|
+
}),
|
|
107
|
+
children: [accounts.map(function (_ref2) {
|
|
108
|
+
var id = _ref2.id,
|
|
109
|
+
name = _ref2.name,
|
|
110
|
+
avatarUrl = _ref2.avatarUrl,
|
|
111
|
+
type = _ref2.type,
|
|
112
|
+
profileUrl = _ref2.profileUrl,
|
|
113
|
+
count = _ref2.count;
|
|
114
|
+
return /*#__PURE__*/jsxs("div", {
|
|
115
|
+
className: "flex w-full items-center space-x-2",
|
|
116
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
117
|
+
className: "flex items-center gap-1",
|
|
118
|
+
children: [type === "Organization" ? /*#__PURE__*/jsx(Building, {
|
|
119
|
+
className: "neeto-ui-text-gray-600",
|
|
120
|
+
size: 24
|
|
121
|
+
}) : /*#__PURE__*/jsx(Avatar, {
|
|
122
|
+
size: "small",
|
|
123
|
+
user: {
|
|
124
|
+
imageUrl: avatarUrl
|
|
125
|
+
}
|
|
126
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
127
|
+
className: "neeto-ui-text-gray-800",
|
|
128
|
+
style: "body2",
|
|
129
|
+
children: /*#__PURE__*/jsx(Button, {
|
|
130
|
+
className: "neeto-ui-text-gray-800",
|
|
131
|
+
label: "@".concat(name),
|
|
132
|
+
style: "link",
|
|
133
|
+
onClick: function onClick() {
|
|
134
|
+
return window.open(profileUrl, "_blank");
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
})]
|
|
138
|
+
}), /*#__PURE__*/jsx("span", {
|
|
139
|
+
className: "neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1"
|
|
140
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
141
|
+
className: "neeto-ui-text-black",
|
|
142
|
+
style: "body2",
|
|
143
|
+
children: t("neetoGithub.countOf.repos", {
|
|
144
|
+
count: count
|
|
145
|
+
})
|
|
146
|
+
})]
|
|
147
|
+
}, id);
|
|
148
|
+
}), /*#__PURE__*/jsx(Configure, {
|
|
149
|
+
installationUrl: installationUrl,
|
|
150
|
+
isConnected: isConnected
|
|
151
|
+
})]
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
var Accounts = function Accounts(_ref) {
|
|
156
|
+
var isPane = _ref.isPane,
|
|
157
|
+
accounts = _ref.accounts,
|
|
158
|
+
isConnected = _ref.isConnected,
|
|
159
|
+
onConnect = _ref.onConnect,
|
|
160
|
+
installationUrl = _ref.installationUrl;
|
|
161
|
+
return /*#__PURE__*/jsx("div", {
|
|
162
|
+
className: classnames("flex w-full flex-col border border-solid border-transparent px-0 py-2", {
|
|
163
|
+
"order-1": isPane,
|
|
164
|
+
"md:order-2 md:max-w-72 lg:max-w-sm lg:px-6": !isPane
|
|
165
|
+
}),
|
|
166
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
167
|
+
className: "mb-2",
|
|
168
|
+
children: [/*#__PURE__*/jsx(Header, {}), /*#__PURE__*/jsx(List$1, {
|
|
169
|
+
accounts: accounts,
|
|
170
|
+
installationUrl: installationUrl,
|
|
171
|
+
isConnected: isConnected,
|
|
172
|
+
isPane: isPane,
|
|
173
|
+
onConnect: onConnect
|
|
174
|
+
})]
|
|
175
|
+
})
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
function _arrayWithHoles(arr) {
|
|
180
|
+
if (Array.isArray(arr)) return arr;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
function _iterableToArrayLimit(r, l) {
|
|
184
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
185
|
+
if (null != t) {
|
|
186
|
+
var e,
|
|
187
|
+
n,
|
|
188
|
+
i,
|
|
189
|
+
u,
|
|
190
|
+
a = [],
|
|
191
|
+
f = !0,
|
|
192
|
+
o = !1;
|
|
193
|
+
try {
|
|
194
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
195
|
+
if (Object(t) !== t) return;
|
|
196
|
+
f = !1;
|
|
197
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
198
|
+
} catch (r) {
|
|
199
|
+
o = !0, n = r;
|
|
200
|
+
} finally {
|
|
201
|
+
try {
|
|
202
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
203
|
+
} finally {
|
|
204
|
+
if (o) throw n;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return a;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function _arrayLikeToArray(arr, len) {
|
|
212
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
213
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
214
|
+
return arr2;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
218
|
+
if (!o) return;
|
|
219
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
220
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
221
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
222
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
223
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function _nonIterableRest() {
|
|
227
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function _slicedToArray(arr, i) {
|
|
231
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
var NoRepositories = withT(function (_ref) {
|
|
235
|
+
var t = _ref.t,
|
|
236
|
+
installationUrl = _ref.installationUrl,
|
|
237
|
+
troubleshootUrl = _ref.troubleshootUrl;
|
|
238
|
+
return /*#__PURE__*/jsx("div", {
|
|
239
|
+
className: "flex items-center justify-center py-6",
|
|
240
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
241
|
+
className: "mx-auto flex w-full max-w-sm flex-col items-center justify-center space-y-4 py-4 text-center",
|
|
242
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
243
|
+
style: "body2",
|
|
244
|
+
children: t("neetoGithub.noReposDescription")
|
|
245
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
246
|
+
href: installationUrl,
|
|
247
|
+
icon: Github,
|
|
248
|
+
iconPosition: "left",
|
|
249
|
+
label: t("neetoGithub.connectRepository"),
|
|
250
|
+
size: "medium",
|
|
251
|
+
style: "primary"
|
|
252
|
+
}), /*#__PURE__*/jsx("div", {
|
|
253
|
+
className: "text-xs",
|
|
254
|
+
children: /*#__PURE__*/jsx(Trans, {
|
|
255
|
+
i18nKey: t("neetoGithub.troubleshoot"),
|
|
256
|
+
components: {
|
|
257
|
+
troubleshootLink: /*#__PURE__*/jsx("a", {
|
|
258
|
+
className: "text-indigo-600 underline",
|
|
259
|
+
href: troubleshootUrl,
|
|
260
|
+
rel: "noopener noreferrer",
|
|
261
|
+
target: "_blank"
|
|
262
|
+
})
|
|
263
|
+
}
|
|
264
|
+
})
|
|
265
|
+
})]
|
|
266
|
+
})
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
271
|
+
|
|
272
|
+
var css = ".width-calc{width:100%}@media (min-width:768px){.width-calc{width:calc(100% - 82px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvcmVwb3NpdG9yeS10aWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFDRSxVQUNGLENBQ0UseUJBSEYsWUFJSSx1QkFFRixDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLndpZHRoLWNhbGMge1xuICB3aWR0aDogMTAwJTtcblxuICBAc2NyZWVuIG1kIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODJweCk7XG4gIH1cbn1cbiJdfQ== */";
|
|
273
|
+
n(css,{});
|
|
274
|
+
|
|
275
|
+
var RepositoryTile = function RepositoryTile(_ref) {
|
|
276
|
+
var isConnecting = _ref.isConnecting,
|
|
277
|
+
onConnect = _ref.onConnect,
|
|
278
|
+
repository = _ref.repository;
|
|
279
|
+
var _useTranslation = useTranslation(),
|
|
280
|
+
t = _useTranslation.t;
|
|
281
|
+
var _useState = useState(false),
|
|
282
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
283
|
+
isLoading = _useState2[0],
|
|
284
|
+
setIsLoading = _useState2[1];
|
|
285
|
+
var id = repository.id,
|
|
286
|
+
fullName = repository.fullName,
|
|
287
|
+
isPrivate = repository.isPrivate,
|
|
288
|
+
updatedAt = repository.updatedAt;
|
|
289
|
+
return /*#__PURE__*/jsxs("div", {
|
|
290
|
+
className: "neeto-ui-border-gray-300 flex flex-col justify-between gap-3 border-b border-solid py-3 pl-3 pr-3 last:border-b-0 md:flex-row md:items-center md:pl-5",
|
|
291
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
292
|
+
className: "width-calc flex items-center space-x-2",
|
|
293
|
+
children: [/*#__PURE__*/jsx(Github, {
|
|
294
|
+
className: "flex-shrink-0",
|
|
295
|
+
size: 16
|
|
296
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
297
|
+
style: "body2",
|
|
298
|
+
children: fullName
|
|
299
|
+
}), isPrivate && /*#__PURE__*/jsx(Lock, {
|
|
300
|
+
className: "flex-shrink-0",
|
|
301
|
+
size: 16
|
|
302
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
303
|
+
className: "hidden lg:inline-block",
|
|
304
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
305
|
+
className: "neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1"
|
|
306
|
+
}), /*#__PURE__*/jsx(DateFormat.FromNow, {
|
|
307
|
+
date: updatedAt
|
|
308
|
+
})]
|
|
309
|
+
})]
|
|
310
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
311
|
+
className: "w-max",
|
|
312
|
+
disabled: isConnecting,
|
|
313
|
+
loading: isLoading,
|
|
314
|
+
style: "primary",
|
|
315
|
+
type: "button",
|
|
316
|
+
onClick: function onClick() {
|
|
317
|
+
return onConnect({
|
|
318
|
+
repoType: "private",
|
|
319
|
+
repository: repository,
|
|
320
|
+
setIsLoading: setIsLoading
|
|
321
|
+
});
|
|
322
|
+
},
|
|
323
|
+
children: t("neetoGithub.connect")
|
|
324
|
+
})]
|
|
325
|
+
}, id);
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
var List = withT(function (_ref) {
|
|
329
|
+
var t = _ref.t,
|
|
330
|
+
filteredRepositories = _ref.filteredRepositories,
|
|
331
|
+
repositories = _ref.repositories,
|
|
332
|
+
isConnecting = _ref.isConnecting,
|
|
333
|
+
onConnect = _ref.onConnect,
|
|
334
|
+
installationUrl = _ref.installationUrl,
|
|
335
|
+
troubleshootUrl = _ref.troubleshootUrl;
|
|
336
|
+
return /*#__PURE__*/jsx("div", {
|
|
337
|
+
className: "h-full overflow-y-scroll px-4 pb-4 md:px-6 md:pb-6",
|
|
338
|
+
children: isPresent(repositories) ? /*#__PURE__*/jsx("div", {
|
|
339
|
+
className: classnames("neeto-ui-border-gray-300 neeto-ui-rounded-md flex flex-col items-center justify-center border", {
|
|
340
|
+
"h-auto": isPresent(filteredRepositories),
|
|
341
|
+
"h-full": !isPresent(filteredRepositories)
|
|
342
|
+
}),
|
|
343
|
+
children: /*#__PURE__*/jsx("div", {
|
|
344
|
+
className: "m-0 h-full w-full p-0",
|
|
345
|
+
children: isPresent(filteredRepositories) ? filteredRepositories.map(function (repository, index) {
|
|
346
|
+
return /*#__PURE__*/createElement(RepositoryTile, {
|
|
347
|
+
isConnecting: isConnecting,
|
|
348
|
+
onConnect: onConnect,
|
|
349
|
+
repository: repository,
|
|
350
|
+
key: index
|
|
351
|
+
});
|
|
352
|
+
}) : /*#__PURE__*/jsx(Typography, {
|
|
353
|
+
className: "flex h-full w-full items-center justify-center",
|
|
354
|
+
style: "body2",
|
|
355
|
+
children: t("neetoGithub.noRepos")
|
|
356
|
+
})
|
|
357
|
+
})
|
|
358
|
+
}) : /*#__PURE__*/jsx(NoRepositories, {
|
|
359
|
+
installationUrl: installationUrl,
|
|
360
|
+
troubleshootUrl: troubleshootUrl
|
|
361
|
+
})
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
|
|
365
|
+
var NotConnected = withT(function (_ref) {
|
|
366
|
+
var t = _ref.t,
|
|
367
|
+
installationUrl = _ref.installationUrl;
|
|
368
|
+
return /*#__PURE__*/jsxs("div", {
|
|
369
|
+
className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center",
|
|
370
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
371
|
+
style: "body2",
|
|
372
|
+
children: t("neetoGithub.notConnectedDescription", {
|
|
373
|
+
appName: globalProps.appName
|
|
374
|
+
})
|
|
375
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
376
|
+
href: installationUrl,
|
|
377
|
+
icon: Github,
|
|
378
|
+
iconPosition: "left",
|
|
379
|
+
label: t("neetoGithub.connectGithub"),
|
|
380
|
+
size: "medium",
|
|
381
|
+
style: "primary"
|
|
382
|
+
})]
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
|
|
386
|
+
var Private = function Private(_ref) {
|
|
387
|
+
var isConnected = _ref.isConnected,
|
|
388
|
+
isConnecting = _ref.isConnecting,
|
|
389
|
+
repositories = _ref.repositories,
|
|
390
|
+
onConnect = _ref.onConnect,
|
|
391
|
+
installationUrl = _ref.installationUrl,
|
|
392
|
+
troubleshootUrl = _ref.troubleshootUrl;
|
|
393
|
+
var _useTranslation = useTranslation(),
|
|
394
|
+
t = _useTranslation.t;
|
|
395
|
+
var _useState = useState(repositories),
|
|
396
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
397
|
+
filteredRepositories = _useState2[0],
|
|
398
|
+
setFilteredRepositories = _useState2[1];
|
|
399
|
+
var onSearch = function onSearch(searchTerm) {
|
|
400
|
+
if (!isPresent(searchTerm)) {
|
|
401
|
+
setFilteredRepositories(repositories);
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
var filteredRepositories = repositories.filter(function (_ref2) {
|
|
405
|
+
var fullName = _ref2.fullName;
|
|
406
|
+
return fullName.toLowerCase().includes(searchTerm.toLowerCase());
|
|
407
|
+
});
|
|
408
|
+
setFilteredRepositories(filteredRepositories);
|
|
409
|
+
};
|
|
410
|
+
return /*#__PURE__*/jsx("div", {
|
|
411
|
+
className: "connect-repo flex h-full flex-col",
|
|
412
|
+
children: isConnected ? /*#__PURE__*/jsxs(Fragment, {
|
|
413
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
414
|
+
className: "space-y-3 p-4 md:p-6",
|
|
415
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
416
|
+
className: "flex-shrink-0 text-lg font-medium",
|
|
417
|
+
style: "h2",
|
|
418
|
+
children: t("neetoGithub.connectARepo")
|
|
419
|
+
}), isPresent(repositories) && /*#__PURE__*/jsx(Search, {
|
|
420
|
+
onSearch: onSearch,
|
|
421
|
+
className: "w-full",
|
|
422
|
+
unlimitedChars: false,
|
|
423
|
+
suffix: /*#__PURE__*/jsx(Typography, {
|
|
424
|
+
style: "body2",
|
|
425
|
+
children: t("neetoGithub.countOf.repos", {
|
|
426
|
+
count: filteredRepositories.length
|
|
427
|
+
})
|
|
428
|
+
})
|
|
429
|
+
})]
|
|
430
|
+
}), /*#__PURE__*/jsx("div", {
|
|
431
|
+
className: "flex min-h-0 w-full flex-grow flex-col space-y-6",
|
|
432
|
+
children: /*#__PURE__*/jsx(List, {
|
|
433
|
+
filteredRepositories: filteredRepositories,
|
|
434
|
+
installationUrl: installationUrl,
|
|
435
|
+
isConnecting: isConnecting,
|
|
436
|
+
onConnect: onConnect,
|
|
437
|
+
repositories: repositories,
|
|
438
|
+
troubleshootUrl: troubleshootUrl
|
|
439
|
+
})
|
|
440
|
+
})]
|
|
441
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
442
|
+
className: "neeto-ui-text-gray-900 flex-grow font-sans text-sm font-normal leading-6 antialiased",
|
|
443
|
+
children: /*#__PURE__*/jsx("div", {
|
|
444
|
+
className: "flex h-full flex-col items-center justify-center p-4",
|
|
445
|
+
children: /*#__PURE__*/jsx(NotConnected, {
|
|
446
|
+
installationUrl: installationUrl
|
|
447
|
+
})
|
|
448
|
+
})
|
|
449
|
+
})
|
|
450
|
+
});
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
var Repositories = function Repositories(_ref) {
|
|
454
|
+
var isConnected = _ref.isConnected,
|
|
455
|
+
isConnecting = _ref.isConnecting,
|
|
456
|
+
repositories = _ref.repositories,
|
|
457
|
+
onConnect = _ref.onConnect,
|
|
458
|
+
installationUrl = _ref.installationUrl,
|
|
459
|
+
troubleshootUrl = _ref.troubleshootUrl,
|
|
460
|
+
isPane = _ref.isPane;
|
|
461
|
+
return /*#__PURE__*/jsx("div", {
|
|
462
|
+
className: classnames("neeto-ui-rounded-md neeto-ui-border-gray-300 h-full w-full space-y-6 border border-solid", {
|
|
463
|
+
"order-2": isPane,
|
|
464
|
+
"order-1": !isPane
|
|
465
|
+
}),
|
|
466
|
+
children: /*#__PURE__*/jsx(Private, {
|
|
467
|
+
installationUrl: installationUrl,
|
|
468
|
+
isConnected: isConnected,
|
|
469
|
+
isConnecting: isConnecting,
|
|
470
|
+
onConnect: onConnect,
|
|
471
|
+
repositories: repositories,
|
|
472
|
+
troubleshootUrl: troubleshootUrl
|
|
473
|
+
})
|
|
474
|
+
});
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
var NeetoGithubNanoContainer = function NeetoGithubNanoContainer(_ref) {
|
|
478
|
+
var _ref$isPaneLoading = _ref.isPaneLoading,
|
|
479
|
+
isPaneLoading = _ref$isPaneLoading === void 0 ? false : _ref$isPaneLoading,
|
|
480
|
+
_ref$shouldFetchRepos = _ref.shouldFetchRepositories,
|
|
481
|
+
shouldFetchRepositories = _ref$shouldFetchRepos === void 0 ? true : _ref$shouldFetchRepos,
|
|
482
|
+
_ref$paneAccounts = _ref.paneAccounts,
|
|
483
|
+
paneAccounts = _ref$paneAccounts === void 0 ? [] : _ref$paneAccounts,
|
|
484
|
+
installationUrl = _ref.installationUrl,
|
|
485
|
+
isConnected = _ref.isConnected,
|
|
486
|
+
_ref$isConnecting = _ref.isConnecting,
|
|
487
|
+
isConnecting = _ref$isConnecting === void 0 ? false : _ref$isConnecting,
|
|
488
|
+
onConnect = _ref.onConnect,
|
|
489
|
+
_ref$paneRepositories = _ref.paneRepositories,
|
|
490
|
+
paneRepositories = _ref$paneRepositories === void 0 ? [] : _ref$paneRepositories,
|
|
491
|
+
troubleshootUrl = _ref.troubleshootUrl,
|
|
492
|
+
_ref$isPane = _ref.isPane,
|
|
493
|
+
isPane = _ref$isPane === void 0 ? false : _ref$isPane;
|
|
494
|
+
var _useTranslation = useTranslation(),
|
|
495
|
+
t = _useTranslation.t;
|
|
496
|
+
var _useFetchGithubReposi = useFetchGithubRepositories({
|
|
497
|
+
isConnected: shouldFetchRepositories && globalProps.isGithubIntegrated
|
|
498
|
+
}),
|
|
499
|
+
_useFetchGithubReposi2 = _useFetchGithubReposi.data,
|
|
500
|
+
_useFetchGithubReposi3 = _useFetchGithubReposi2 === void 0 ? {} : _useFetchGithubReposi2,
|
|
501
|
+
_useFetchGithubReposi4 = _useFetchGithubReposi3.repositories,
|
|
502
|
+
containerRepositories = _useFetchGithubReposi4 === void 0 ? [] : _useFetchGithubReposi4,
|
|
503
|
+
_useFetchGithubReposi5 = _useFetchGithubReposi3.accounts,
|
|
504
|
+
containerAccounts = _useFetchGithubReposi5 === void 0 ? [] : _useFetchGithubReposi5,
|
|
505
|
+
isContainerLoading = _useFetchGithubReposi.isLoading;
|
|
506
|
+
var repositories = shouldFetchRepositories ? containerRepositories : paneRepositories;
|
|
507
|
+
var accounts = shouldFetchRepositories ? containerAccounts : paneAccounts;
|
|
508
|
+
var isLoading = shouldFetchRepositories ? isContainerLoading : isPaneLoading;
|
|
509
|
+
if (isLoading) {
|
|
510
|
+
return /*#__PURE__*/jsx("div", {
|
|
511
|
+
className: "flex h-full w-full flex-col items-center",
|
|
512
|
+
children: /*#__PURE__*/jsx(PageLoader, {
|
|
513
|
+
text: t("neetoGithub.fetchingRepos")
|
|
514
|
+
})
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
return /*#__PURE__*/jsxs("div", {
|
|
518
|
+
className: classnames("flex min-h-0 w-full flex-grow flex-col", {
|
|
519
|
+
"flex-col": isPane,
|
|
520
|
+
"gap-3 md:flex-row md:gap-6": !isPane
|
|
521
|
+
}),
|
|
522
|
+
children: [/*#__PURE__*/jsx(Accounts, {
|
|
523
|
+
accounts: accounts,
|
|
524
|
+
installationUrl: installationUrl,
|
|
525
|
+
isConnected: isConnected,
|
|
526
|
+
isPane: isPane,
|
|
527
|
+
onConnect: onConnect
|
|
528
|
+
}), /*#__PURE__*/jsx(Repositories, {
|
|
529
|
+
installationUrl: installationUrl,
|
|
530
|
+
isConnected: isConnected,
|
|
531
|
+
isConnecting: isConnecting,
|
|
532
|
+
isPane: isPane,
|
|
533
|
+
onConnect: onConnect,
|
|
534
|
+
repositories: repositories,
|
|
535
|
+
troubleshootUrl: troubleshootUrl
|
|
536
|
+
})]
|
|
537
|
+
});
|
|
538
|
+
};
|
|
539
|
+
|
|
540
|
+
export { NeetoGithubNanoContainer as N, n, useFetchGithubRepositories as u };
|
|
541
|
+
//# sourceMappingURL=index-af6329fc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-af6329fc.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/github_accounts.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useGithubAccountsApi.js","../app/javascript/src/components/commons/Accounts/Header.jsx","../app/javascript/src/components/commons/Accounts/Configure.jsx","../app/javascript/src/components/commons/Accounts/List.jsx","../app/javascript/src/components/commons/Accounts/index.jsx","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/components/commons/Repositories/NoRepositories.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/components/commons/Repositories/RepositoryTile.jsx","../app/javascript/src/components/commons/Repositories/List.jsx","../app/javascript/src/components/commons/Repositories/NotConnected.jsx","../app/javascript/src/components/commons/Repositories/Private.jsx","../app/javascript/src/components/commons/Repositories/index.jsx","../app/javascript/src/components/NeetoGithubNanoContainer/index.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\n\nexport const GITHUB_INTEGRATIONS_BASE_API_URL = \"/github_integrations\";\n\nexport const GITHUB_INTEGRATIONS_COMMON_PARAMS = {\n integrator_id: globalProps?.organization?.id,\n integrator_type: \"Organization\",\n};\n\nexport const GITHUB_INTEGRATOR_PARAMS = {\n integratorId: globalProps.organization.id,\n integratorType: \"Organization\",\n};\n\nexport const JOBS_PER_PAGE = 6;\n\nexport const PROJECTS_PER_PAGE = 10;\n","import axios from \"axios\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nimport {\n GITHUB_INTEGRATIONS_BASE_API_URL,\n GITHUB_INTEGRATOR_PARAMS,\n} from \"src/constants\";\n\nconst baseUrl = `${GITHUB_INTEGRATIONS_BASE_API_URL}/app_installations`;\n\nconst githubAppUrl = id => `${baseUrl}/${id}`;\n\nconst repositories = () =>\n axios.get(\n `${githubAppUrl(globalProps.githubAppInstallationId)}/repositories`,\n { params: GITHUB_INTEGRATOR_PARAMS }\n );\n\nconst githubAccountsApi = { repositories };\n\nexport default githubAccountsApi;\n","import { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nexport const QUERY_KEYS = {\n GITHUB_REPOSITORIES_LIST: \"github-repositories-list\",\n};\n\nexport const STALE_TIME_CONFIG = { staleTime: DEFAULT_STALE_TIME };\n","import { useQuery } from \"@tanstack/react-query\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { isNotNil } from \"ramda\";\n\nimport githubAccountsApi from \"apis/github_accounts\";\nimport { QUERY_KEYS, STALE_TIME_CONFIG } from \"src/constants/query\";\n\nexport const useFetchGithubRepositories = ({ isConnected }) =>\n useQuery({\n queryKey: [QUERY_KEYS.GITHUB_REPOSITORIES_LIST],\n queryFn: githubAccountsApi.repositories,\n staleTime: STALE_TIME_CONFIG.staleTime,\n enabled: isConnected && isNotNil(globalProps.githubAppInstallationId),\n });\n","import { withT } from \"neetocommons/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { Typography } from \"neetoui\";\n\nconst Header = withT(({ t }) => (\n <div className=\"neeto-ui-text-gray-800 mb-1 flex w-full flex-row items-center space-x-2 font-sans text-lg font-medium leading-6 antialiased\">\n <Github size={16} />\n <Typography style=\"h4\">{t(\"neetoGithub.github\")}</Typography>\n </div>\n));\n\nexport default Header;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Plus, Settings } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nconst Configure = withT(({ t, isConnected, installationUrl }) => (\n <div className=\"neeto-ui-text-gray-900 flex-shrink-0 font-sans text-sm font-normal leading-6 antialiased\">\n <Button\n href={installationUrl}\n icon={isConnected ? Settings : Plus}\n iconPosition=\"left\"\n iconSize={20}\n size=\"small\"\n style=\"link\"\n >\n {isConnected\n ? t(\"neetoGithub.configureAccount\")\n : t(\"neetoGithub.connectAccount\")}\n </Button>\n </div>\n));\n\nexport default Configure;\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Building } from \"neetoicons\";\nimport { Avatar, Button, Typography } from \"neetoui\";\n\nimport Configure from \"./Configure\";\n\nconst List = withT(({ t, accounts, isConnected, installationUrl, isPane }) => (\n <div\n className={classnames(\n \"neeto-ui-border-gray-300 flex justify-between gap-3 border-b pb-4 pt-2\",\n { \"flex-col md:flex-row\": isPane, \"flex-col\": !isPane }\n )}\n >\n {accounts.map(({ id, name, avatarUrl, type, profileUrl, count }) => (\n <div className=\"flex w-full items-center space-x-2\" key={id}>\n <div className=\"flex items-center gap-1\">\n {type === \"Organization\" ? (\n <Building className=\"neeto-ui-text-gray-600\" size={24} />\n ) : (\n <Avatar size=\"small\" user={{ imageUrl: avatarUrl }} />\n )}\n <Typography className=\"neeto-ui-text-gray-800\" style=\"body2\">\n <Button\n className=\"neeto-ui-text-gray-800\"\n label={`@${name}`}\n style=\"link\"\n onClick={() => window.open(profileUrl, \"_blank\")}\n />\n </Typography>\n </div>\n <span className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1\" />\n <Typography className=\"neeto-ui-text-black\" style=\"body2\">\n {t(\"neetoGithub.countOf.repos\", { count })}\n </Typography>\n </div>\n ))}\n <Configure {...{ installationUrl, isConnected }} />\n </div>\n));\n\nexport default List;\n","import classnames from \"classnames\";\n\nimport Header from \"./Header\";\nimport List from \"./List\";\n\nconst Accounts = ({\n isPane,\n accounts,\n isConnected,\n onConnect,\n installationUrl,\n}) => (\n <div\n className={classnames(\n \"flex w-full flex-col border border-solid border-transparent px-0 py-2\",\n {\n \"order-1\": isPane,\n \"md:order-2 md:max-w-72 lg:max-w-sm lg:px-6\": !isPane,\n }\n )}\n >\n <div className=\"mb-2\">\n <Header />\n <List\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n </div>\n </div>\n);\n\nexport default Accounts;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import { withT } from \"neetocommons/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { Button, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst NoRepositories = withT(({ t, installationUrl, troubleshootUrl }) => (\n <div className=\"flex items-center justify-center py-6\">\n <div className=\"mx-auto flex w-full max-w-sm flex-col items-center justify-center space-y-4 py-4 text-center\">\n <Typography style=\"body2\">\n {t(\"neetoGithub.noReposDescription\")}\n </Typography>\n <Button\n href={installationUrl}\n icon={Github}\n iconPosition=\"left\"\n label={t(\"neetoGithub.connectRepository\")}\n size=\"medium\"\n style=\"primary\"\n />\n <div className=\"text-xs\">\n <Trans\n i18nKey={t(\"neetoGithub.troubleshoot\")}\n components={{\n troubleshootLink: (\n <a\n className=\"text-indigo-600 underline\"\n href={troubleshootUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n </div>\n </div>\n));\n\nexport default NoRepositories;\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { useState } from \"react\";\n\nimport { Lock } from \"neetoicons\";\nimport { Github } from \"neetoicons/misc\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/repository-tile.scss\";\n\nconst RepositoryTile = ({ isConnecting, onConnect, repository }) => {\n const { t } = useTranslation();\n\n const [isLoading, setIsLoading] = useState(false);\n const { id, fullName, isPrivate, updatedAt } = repository;\n\n return (\n <div\n className=\"neeto-ui-border-gray-300 flex flex-col justify-between gap-3 border-b border-solid py-3 pl-3 pr-3 last:border-b-0 md:flex-row md:items-center md:pl-5\"\n key={id}\n >\n <div className=\"width-calc flex items-center space-x-2\">\n <Github className=\"flex-shrink-0\" size={16} />\n <Typography style=\"body2\">{fullName}</Typography>\n {isPrivate && <Lock className=\"flex-shrink-0\" size={16} />}\n <div className=\"hidden lg:inline-block\">\n <span className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1\" />\n <DateFormat.FromNow date={updatedAt} />\n </div>\n </div>\n <Button\n className=\"w-max\"\n disabled={isConnecting}\n loading={isLoading}\n style=\"primary\"\n type=\"button\"\n onClick={() =>\n onConnect({ repoType: \"private\", repository, setIsLoading })\n }\n >\n {t(\"neetoGithub.connect\")}\n </Button>\n </div>\n );\n};\n\nexport default RepositoryTile;\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nimport NoRepositories from \"./NoRepositories\";\nimport RepositoryTile from \"./RepositoryTile\";\n\nconst List = withT(\n ({\n t,\n filteredRepositories,\n repositories,\n isConnecting,\n onConnect,\n installationUrl,\n troubleshootUrl,\n }) => (\n <div className=\"h-full overflow-y-scroll px-4 pb-4 md:px-6 md:pb-6\">\n {isPresent(repositories) ? (\n <div\n className={classNames(\n \"neeto-ui-border-gray-300 neeto-ui-rounded-md flex flex-col items-center justify-center border\",\n {\n \"h-auto\": isPresent(filteredRepositories),\n \"h-full\": !isPresent(filteredRepositories),\n }\n )}\n >\n <div className=\"m-0 h-full w-full p-0\">\n {isPresent(filteredRepositories) ? (\n filteredRepositories.map((repository, index) => (\n <RepositoryTile\n {...{ isConnecting, onConnect, repository }}\n key={index}\n />\n ))\n ) : (\n <Typography\n className=\"flex h-full w-full items-center justify-center\"\n style=\"body2\"\n >\n {t(\"neetoGithub.noRepos\")}\n </Typography>\n )}\n </div>\n </div>\n ) : (\n <NoRepositories {...{ installationUrl, troubleshootUrl }} />\n )}\n </div>\n )\n);\n\nexport default List;\n","import { globalProps } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { Button, Typography } from \"neetoui\";\n\nconst NotConnected = withT(({ t, installationUrl }) => (\n <div className=\"flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center\">\n <Typography style=\"body2\">\n {t(\"neetoGithub.notConnectedDescription\", {\n appName: globalProps.appName,\n })}\n </Typography>\n <Button\n href={installationUrl}\n icon={Github}\n iconPosition=\"left\"\n label={t(\"neetoGithub.connectGithub\")}\n size=\"medium\"\n style=\"primary\"\n />\n </div>\n));\n\nexport default NotConnected;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport List from \"./List\";\nimport NotConnected from \"./NotConnected\";\n\nconst Private = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n}) => {\n const { t } = useTranslation();\n\n const [filteredRepositories, setFilteredRepositories] =\n useState(repositories);\n\n const onSearch = searchTerm => {\n if (!isPresent(searchTerm)) {\n setFilteredRepositories(repositories);\n\n return;\n }\n\n const filteredRepositories = repositories.filter(({ fullName }) =>\n fullName.toLowerCase().includes(searchTerm.toLowerCase())\n );\n setFilteredRepositories(filteredRepositories);\n };\n\n return (\n <div className=\"connect-repo flex h-full flex-col\">\n {isConnected ? (\n <>\n <div className=\"space-y-3 p-4 md:p-6\">\n <Typography\n className=\"flex-shrink-0 text-lg font-medium\"\n style=\"h2\"\n >\n {t(\"neetoGithub.connectARepo\")}\n </Typography>\n {isPresent(repositories) && (\n <Search\n {...{ onSearch }}\n className=\"w-full\"\n unlimitedChars={false}\n suffix={\n <Typography style=\"body2\">\n {t(\"neetoGithub.countOf.repos\", {\n count: filteredRepositories.length,\n })}\n </Typography>\n }\n />\n )}\n </div>\n <div className=\"flex min-h-0 w-full flex-grow flex-col space-y-6\">\n <List\n {...{\n filteredRepositories,\n installationUrl,\n isConnecting,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n </>\n ) : (\n <div className=\"neeto-ui-text-gray-900 flex-grow font-sans text-sm font-normal leading-6 antialiased\">\n <div className=\"flex h-full flex-col items-center justify-center p-4\">\n <NotConnected {...{ installationUrl }} />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Private;\n","import classnames from \"classnames\";\n\nimport Private from \"./Private\";\n\nconst Repositories = ({\n isConnected,\n isConnecting,\n repositories,\n onConnect,\n installationUrl,\n troubleshootUrl,\n isPane,\n}) => (\n <div\n className={classnames(\n \"neeto-ui-rounded-md neeto-ui-border-gray-300 h-full w-full space-y-6 border border-solid\",\n { \"order-2\": isPane, \"order-1\": !isPane }\n )}\n >\n <Private\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n);\n\nexport default Repositories;\n","import classNames from \"classnames\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchGithubRepositories } from \"hooks/reactQuery/useGithubAccountsApi\";\nimport Accounts from \"src/components/commons/Accounts\";\nimport Repositories from \"src/components/commons/Repositories\";\n\nconst NeetoGithubNanoContainer = ({\n isPaneLoading = false,\n shouldFetchRepositories = true,\n paneAccounts = [],\n installationUrl,\n isConnected,\n isConnecting = false,\n onConnect,\n paneRepositories = [],\n troubleshootUrl,\n isPane = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n data: {\n repositories: containerRepositories = [],\n accounts: containerAccounts = [],\n } = {},\n isLoading: isContainerLoading,\n } = useFetchGithubRepositories({\n isConnected: shouldFetchRepositories && globalProps.isGithubIntegrated,\n });\n\n const repositories = shouldFetchRepositories\n ? containerRepositories\n : paneRepositories;\n const accounts = shouldFetchRepositories ? containerAccounts : paneAccounts;\n\n const isLoading = shouldFetchRepositories\n ? isContainerLoading\n : isPaneLoading;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full flex-col items-center\">\n <PageLoader text={t(\"neetoGithub.fetchingRepos\")} />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"flex min-h-0 w-full flex-grow flex-col\", {\n \"flex-col\": isPane,\n \"gap-3 md:flex-row md:gap-6\": !isPane,\n })}\n >\n <Accounts\n {...{ accounts, installationUrl, isConnected, isPane, onConnect }}\n />\n <Repositories\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPane,\n onConnect,\n repositories,\n troubleshootUrl,\n }}\n />\n </div>\n );\n};\n\nexport default NeetoGithubNanoContainer;\n"],"names":["GITHUB_INTEGRATIONS_BASE_API_URL","integrator_id","globalProps","_globalProps$organiza","organization","id","integrator_type","GITHUB_INTEGRATOR_PARAMS","integratorId","integratorType","baseUrl","concat","githubAppUrl","repositories","axios","get","githubAppInstallationId","params","githubAccountsApi","QUERY_KEYS","GITHUB_REPOSITORIES_LIST","STALE_TIME_CONFIG","staleTime","DEFAULT_STALE_TIME","useFetchGithubRepositories","_ref","isConnected","useQuery","queryKey","queryFn","enabled","isNotNil","Header","withT","t","_jsxs","className","children","_jsx","Github","size","Typography","style","Configure","installationUrl","Button","href","icon","Settings","Plus","iconPosition","iconSize","List","accounts","isPane","classnames","map","_ref2","name","avatarUrl","type","profileUrl","count","Building","Avatar","user","imageUrl","label","onClick","window","open","Accounts","onConnect","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","NoRepositories","troubleshootUrl","Trans","i18nKey","components","troubleshootLink","rel","target","RepositoryTile","isConnecting","repository","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","fullName","isPrivate","updatedAt","Lock","DateFormat","FromNow","date","disabled","loading","repoType","filteredRepositories","isPresent","classNames","index","_createElement","key","NotConnected","appName","Private","setFilteredRepositories","onSearch","searchTerm","filter","toLowerCase","includes","_Fragment","Search","unlimitedChars","suffix","length","Repositories","NeetoGithubNanoContainer","_ref$isPaneLoading","isPaneLoading","_ref$shouldFetchRepos","shouldFetchRepositories","_ref$paneAccounts","paneAccounts","_ref$isConnecting","_ref$paneRepositories","paneRepositories","_ref$isPane","_useFetchGithubReposi","isGithubIntegrated","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","containerRepositories","_useFetchGithubReposi5","containerAccounts","isContainerLoading","PageLoader","text"],"mappings":"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"}
|