@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.
@@ -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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"}