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