@bigbinary/neeto-github-frontend 2.4.0-beta1 → 3.0.1

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/.ready +1 -0
  3. package/dist/NeetoGithubIntegrationsTable.js +3 -3
  4. package/dist/NeetoGithubIntegrationsTable.js.map +1 -1
  5. package/dist/NeetoGithubNanoContainer.js +445 -21
  6. package/dist/NeetoGithubNanoContainer.js.map +1 -1
  7. package/dist/NeetoGithubNanoPane.js +4 -5
  8. package/dist/NeetoGithubNanoPane.js.map +1 -1
  9. package/dist/NeetoGithubRepositoryConnectionCard.js +5 -3
  10. package/dist/NeetoGithubRepositoryConnectionCard.js.map +1 -1
  11. package/dist/cjs/NeetoGithubIntegrationsTable.js +3 -3
  12. package/dist/cjs/NeetoGithubIntegrationsTable.js.map +1 -1
  13. package/dist/cjs/NeetoGithubNanoContainer.js +445 -25
  14. package/dist/cjs/NeetoGithubNanoContainer.js.map +1 -1
  15. package/dist/cjs/NeetoGithubNanoPane.js +5 -6
  16. package/dist/cjs/NeetoGithubNanoPane.js.map +1 -1
  17. package/dist/cjs/NeetoGithubRepositoryConnectionCard.js +5 -3
  18. package/dist/cjs/NeetoGithubRepositoryConnectionCard.js.map +1 -1
  19. package/dist/cjs/hooks.js +1 -1
  20. package/dist/cjs/index.js +5 -3
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/v2/NeetoGithubIntegrationsTable.js +157 -0
  23. package/dist/cjs/v2/NeetoGithubIntegrationsTable.js.map +1 -0
  24. package/dist/{index-D1ob5VXc.js → cjs/v2/NeetoGithubNanoContainer.js} +75 -80
  25. package/dist/cjs/v2/NeetoGithubNanoContainer.js.map +1 -0
  26. package/dist/cjs/v2/NeetoGithubNanoPane.js +126 -0
  27. package/dist/cjs/v2/NeetoGithubNanoPane.js.map +1 -0
  28. package/dist/cjs/v2/NeetoGithubRepositoryConnectionCard.js +178 -0
  29. package/dist/cjs/v2/NeetoGithubRepositoryConnectionCard.js.map +1 -0
  30. package/dist/cjs/v2/hooks.js +18 -0
  31. package/dist/cjs/v2/hooks.js.map +1 -0
  32. package/dist/cjs/v2/index.js +53 -0
  33. package/dist/cjs/v2/index.js.map +1 -0
  34. package/dist/hooks.js +1 -1
  35. package/dist/index.js +4 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/pane-CPRRz6tU.js +5 -0
  38. package/dist/pane-CPRRz6tU.js.map +1 -0
  39. package/dist/pane-DRsC3fwq.js +7 -0
  40. package/dist/pane-DRsC3fwq.js.map +1 -0
  41. package/dist/repository-tile-DxVqVMYY.js +7 -0
  42. package/dist/repository-tile-DxVqVMYY.js.map +1 -0
  43. package/dist/repository-tile-fB8WFACw.js +9 -0
  44. package/dist/repository-tile-fB8WFACw.js.map +1 -0
  45. package/dist/{useGithubAccountsApi-BFnwW6qa.js → useGithubAccountsApi-CBlDaBkA.js} +3 -5
  46. package/dist/useGithubAccountsApi-CBlDaBkA.js.map +1 -0
  47. package/dist/{useGithubAccountsApi-Bs2Imc4V.js → useGithubAccountsApi-Csym3TIW.js} +5 -7
  48. package/dist/useGithubAccountsApi-Csym3TIW.js.map +1 -0
  49. package/dist/v2/NeetoGithubIntegrationsTable.js +155 -0
  50. package/dist/v2/NeetoGithubIntegrationsTable.js.map +1 -0
  51. package/dist/{index-BrvZaXzw.js → v2/NeetoGithubNanoContainer.js} +61 -65
  52. package/dist/v2/NeetoGithubNanoContainer.js.map +1 -0
  53. package/dist/v2/NeetoGithubNanoPane.js +105 -0
  54. package/dist/v2/NeetoGithubNanoPane.js.map +1 -0
  55. package/dist/v2/NeetoGithubRepositoryConnectionCard.js +176 -0
  56. package/dist/v2/NeetoGithubRepositoryConnectionCard.js.map +1 -0
  57. package/dist/v2/hooks.js +10 -0
  58. package/dist/v2/hooks.js.map +1 -0
  59. package/dist/v2/index.js +41 -0
  60. package/dist/v2/index.js.map +1 -0
  61. package/package.json +39 -27
  62. package/dist/index-BrvZaXzw.js.map +0 -1
  63. package/dist/index-D1ob5VXc.js.map +0 -1
  64. package/dist/useGithubAccountsApi-BFnwW6qa.js.map +0 -1
  65. package/dist/useGithubAccountsApi-Bs2Imc4V.js.map +0 -1
@@ -1,34 +1,454 @@
1
1
  'use strict';
2
2
 
3
- require('classnames');
4
- require('@bigbinary/neeto-commons-frontend/initializers');
5
- require('@bigbinary/neetoui/Spinner');
6
- require('../useGithubAccountsApi-BFnwW6qa.js');
7
- var NeetoGithubNanoContainer = require('../index-D1ob5VXc.js');
8
- require('react/jsx-runtime');
3
+ var classnames = require('classnames');
4
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
5
+ var Spinner = require('@bigbinary/neetoui/Spinner');
6
+ var useGithubAccountsApi = require('../useGithubAccountsApi-CBlDaBkA.js');
7
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
8
+ var Github = require('@bigbinary/neeto-icons/misc/Github');
9
+ var Typography = require('@bigbinary/neetoui/Typography');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+ var Building = require('@bigbinary/neeto-icons/Building');
12
+ var Avatar = require('@bigbinary/neetoui/Avatar');
13
+ var Button = require('@bigbinary/neetoui/Button');
14
+ var Plus = require('@bigbinary/neeto-icons/Plus');
15
+ var Settings = require('@bigbinary/neeto-icons/Settings');
16
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
+ var react = require('react');
18
+ var neetoCist = require('@bigbinary/neeto-cist');
19
+ var Search = require('@bigbinary/neeto-molecules/Search');
20
+ var reactI18next = require('react-i18next');
21
+ var Lock = require('@bigbinary/neeto-icons/Lock');
22
+ var DateFormat = require('@bigbinary/neeto-molecules/DateFormat');
23
+ require('../repository-tile-fB8WFACw.js');
9
24
  require('@babel/runtime/helpers/toConsumableArray');
10
25
  require('@babel/runtime/helpers/defineProperty');
11
26
  require('@tanstack/react-query');
12
- require('@bigbinary/neeto-commons-frontend/react-utils');
13
27
  require('ramda');
14
28
  require('axios');
15
29
  require('@bigbinary/neeto-commons-frontend/constants');
16
- require('@bigbinary/neeto-icons/misc/Github');
17
- require('@bigbinary/neetoui/Typography');
18
- require('@bigbinary/neeto-icons/Building');
19
- require('@bigbinary/neetoui/Avatar');
20
- require('@bigbinary/neetoui/Button');
21
- require('@bigbinary/neeto-icons/Plus');
22
- require('@bigbinary/neeto-icons/Settings');
23
- require('@babel/runtime/helpers/slicedToArray');
24
- require('react');
25
- require('@bigbinary/neeto-cist');
26
- require('@bigbinary/neeto-molecules/Search');
27
- require('react-i18next');
28
- require('@bigbinary/neeto-icons/Lock');
29
- require('@bigbinary/neeto-molecules/DateFormat');
30
-
31
-
32
-
33
- module.exports = NeetoGithubNanoContainer.NeetoGithubNanoContainer;
30
+
31
+ var Header = reactUtils.withT(function (_ref) {
32
+ var t = _ref.t;
33
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
34
+ 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",
35
+ children: [/*#__PURE__*/jsxRuntime.jsx(Github, {
36
+ className: "github-icon",
37
+ size: 20
38
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
39
+ style: "h4",
40
+ children: t("neetoGithub.github")
41
+ })]
42
+ });
43
+ });
44
+
45
+ var Configure = reactUtils.withT(function (_ref) {
46
+ var t = _ref.t,
47
+ isConnected = _ref.isConnected,
48
+ installationUrl = _ref.installationUrl;
49
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
50
+ className: "neeto-ui-text-gray-900 shrink-0 font-sans text-sm font-normal leading-6 antialiased",
51
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
52
+ href: installationUrl,
53
+ icon: isConnected ? Settings : Plus,
54
+ iconPosition: "left",
55
+ iconSize: 20,
56
+ size: "small",
57
+ style: "link",
58
+ children: isConnected ? t("neetoGithub.configureAccount") : t("neetoGithub.connectAccount")
59
+ })
60
+ });
61
+ });
62
+
63
+ var List$1 = reactUtils.withT(function (_ref) {
64
+ var t = _ref.t,
65
+ accounts = _ref.accounts,
66
+ isConnected = _ref.isConnected,
67
+ installationUrl = _ref.installationUrl,
68
+ isPane = _ref.isPane;
69
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
70
+ className: classnames("neeto-ui-border-gray-300 flex justify-between gap-3 border-b pb-4 pt-2", {
71
+ "flex-col md:flex-row": isPane,
72
+ "flex-col": !isPane
73
+ }),
74
+ children: [accounts.map(function (_ref2) {
75
+ var id = _ref2.id,
76
+ name = _ref2.name,
77
+ avatarUrl = _ref2.avatarUrl,
78
+ type = _ref2.type,
79
+ profileUrl = _ref2.profileUrl,
80
+ count = _ref2.count;
81
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
82
+ className: "flex w-full items-center space-x-2",
83
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
84
+ className: "flex items-center gap-1",
85
+ children: [type === "Organization" ? /*#__PURE__*/jsxRuntime.jsx(Building, {
86
+ className: "neeto-ui-text-gray-600",
87
+ size: 24
88
+ }) : /*#__PURE__*/jsxRuntime.jsx(Avatar, {
89
+ size: "small",
90
+ user: {
91
+ imageUrl: avatarUrl
92
+ }
93
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
94
+ className: "neeto-ui-text-gray-800",
95
+ style: "body2",
96
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
97
+ className: "neeto-ui-text-gray-800",
98
+ label: "@".concat(name),
99
+ style: "link",
100
+ onClick: function onClick() {
101
+ return window.open(profileUrl, "_blank");
102
+ }
103
+ })
104
+ })]
105
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
106
+ className: "neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1"
107
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
108
+ className: "neeto-ui-text-black",
109
+ style: "body2",
110
+ children: t("neetoGithub.countOf.repos", {
111
+ count: count
112
+ })
113
+ })]
114
+ }, id);
115
+ }), /*#__PURE__*/jsxRuntime.jsx(Configure, {
116
+ installationUrl: installationUrl,
117
+ isConnected: isConnected
118
+ })]
119
+ });
120
+ });
121
+
122
+ var Accounts = function Accounts(_ref) {
123
+ var isPane = _ref.isPane,
124
+ accounts = _ref.accounts,
125
+ isConnected = _ref.isConnected,
126
+ onConnect = _ref.onConnect,
127
+ installationUrl = _ref.installationUrl;
128
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
129
+ className: classnames("flex w-full flex-col border border-solid border-transparent px-0 py-2", {
130
+ "order-1": isPane,
131
+ "md:order-2 md:max-w-72 lg:max-w-sm lg:px-6": !isPane
132
+ }),
133
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
134
+ className: "mb-2",
135
+ children: [/*#__PURE__*/jsxRuntime.jsx(Header, {}), /*#__PURE__*/jsxRuntime.jsx(List$1, {
136
+ accounts: accounts,
137
+ installationUrl: installationUrl,
138
+ isConnected: isConnected,
139
+ isPane: isPane,
140
+ onConnect: onConnect
141
+ })]
142
+ })
143
+ });
144
+ };
145
+
146
+ var NoRepositories = reactUtils.withT(function (_ref) {
147
+ var t = _ref.t,
148
+ installationUrl = _ref.installationUrl,
149
+ troubleshootUrl = _ref.troubleshootUrl;
150
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
151
+ className: "flex items-center justify-center py-6",
152
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
153
+ className: "mx-auto flex w-full max-w-sm flex-col items-center justify-center space-y-4 py-4 text-center",
154
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
155
+ style: "body2",
156
+ children: t("neetoGithub.noReposDescription")
157
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
158
+ href: installationUrl,
159
+ icon: Github,
160
+ iconPosition: "left",
161
+ label: t("neetoGithub.connectRepository"),
162
+ size: "medium",
163
+ style: "primary"
164
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
165
+ className: "text-xs",
166
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
167
+ i18nKey: t("neetoGithub.troubleshoot"),
168
+ components: {
169
+ troubleshootLink: /*#__PURE__*/jsxRuntime.jsx("a", {
170
+ className: "text-indigo-600 underline",
171
+ href: troubleshootUrl,
172
+ rel: "noopener noreferrer",
173
+ target: "_blank"
174
+ })
175
+ }
176
+ })
177
+ })]
178
+ })
179
+ });
180
+ });
181
+
182
+ var RepositoryTile = function RepositoryTile(_ref) {
183
+ var isConnecting = _ref.isConnecting,
184
+ onConnect = _ref.onConnect,
185
+ repository = _ref.repository;
186
+ var _useTranslation = reactI18next.useTranslation(),
187
+ t = _useTranslation.t;
188
+ var _useState = react.useState(false),
189
+ _useState2 = _slicedToArray(_useState, 2),
190
+ isLoading = _useState2[0],
191
+ setIsLoading = _useState2[1];
192
+ var id = repository.id,
193
+ fullName = repository.fullName,
194
+ isPrivate = repository.isPrivate,
195
+ updatedAt = repository.updatedAt;
196
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
197
+ className: "connect-repo__row neeto-ui-border-gray-300 flex flex-col justify-between gap-3 border-b border-solid py-3 ps-3 pe-3 last:border-b-0 md:flex-row md:items-center md:ps-5",
198
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
199
+ className: "connect-repo__info flex items-center space-x-2",
200
+ children: [/*#__PURE__*/jsxRuntime.jsx(Github, {
201
+ className: "github-icon",
202
+ size: 20
203
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
204
+ style: "body2",
205
+ children: fullName
206
+ }), isPrivate && /*#__PURE__*/jsxRuntime.jsx(Lock, {
207
+ className: "shrink-0",
208
+ size: 16
209
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
210
+ className: "hidden lg:inline-block",
211
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
212
+ className: "neeto-ui-bg-gray-800 neeto-ui-rounded-full h-1 w-1"
213
+ }), /*#__PURE__*/jsxRuntime.jsx(DateFormat.FromNow, {
214
+ date: updatedAt
215
+ })]
216
+ })]
217
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
218
+ className: "w-max",
219
+ disabled: isConnecting,
220
+ loading: isLoading,
221
+ style: "primary",
222
+ type: "button",
223
+ onClick: function onClick() {
224
+ return onConnect({
225
+ repoType: "private",
226
+ repository: repository,
227
+ setIsLoading: setIsLoading
228
+ });
229
+ },
230
+ children: t("neetoGithub.connect")
231
+ })]
232
+ }, id);
233
+ };
234
+
235
+ var List = reactUtils.withT(function (_ref) {
236
+ var t = _ref.t,
237
+ filteredRepositories = _ref.filteredRepositories,
238
+ repositories = _ref.repositories,
239
+ isConnecting = _ref.isConnecting,
240
+ onConnect = _ref.onConnect,
241
+ installationUrl = _ref.installationUrl,
242
+ troubleshootUrl = _ref.troubleshootUrl;
243
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
244
+ className: "h-full overflow-y-scroll px-4 pb-4 md:px-6 md:pb-6",
245
+ children: neetoCist.isPresent(repositories) ? /*#__PURE__*/jsxRuntime.jsx("div", {
246
+ className: classnames("neeto-ui-border-gray-300 neeto-ui-rounded-md flex flex-col items-center justify-center border", {
247
+ "h-auto": neetoCist.isPresent(filteredRepositories),
248
+ "h-full": !neetoCist.isPresent(filteredRepositories)
249
+ }),
250
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
251
+ className: "m-0 h-full w-full p-0",
252
+ children: neetoCist.isPresent(filteredRepositories) ? filteredRepositories.map(function (repository, index) {
253
+ return /*#__PURE__*/react.createElement(RepositoryTile, {
254
+ isConnecting: isConnecting,
255
+ onConnect: onConnect,
256
+ repository: repository,
257
+ key: index
258
+ });
259
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
260
+ className: "flex h-full w-full items-center justify-center",
261
+ style: "body2",
262
+ children: t("neetoGithub.noRepos")
263
+ })
264
+ })
265
+ }) : /*#__PURE__*/jsxRuntime.jsx(NoRepositories, {
266
+ installationUrl: installationUrl,
267
+ troubleshootUrl: troubleshootUrl
268
+ })
269
+ });
270
+ });
271
+
272
+ var NotConnected = function NotConnected(_ref) {
273
+ var installationUrl = _ref.installationUrl;
274
+ var _useState = react.useState(false),
275
+ _useState2 = _slicedToArray(_useState, 2),
276
+ isLoading = _useState2[0],
277
+ setIsLoading = _useState2[1];
278
+ var _useTranslation = reactI18next.useTranslation(),
279
+ t = _useTranslation.t;
280
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
281
+ className: "flex w-full max-w-sm flex-col items-center justify-center space-y-4 text-center",
282
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
283
+ style: "body2",
284
+ children: t("neetoGithub.notConnectedDescription", {
285
+ appName: initializers.globalProps.appName
286
+ })
287
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
288
+ icon: Github,
289
+ iconPosition: "left",
290
+ label: t("neetoGithub.connectGithub"),
291
+ loading: isLoading,
292
+ size: "medium",
293
+ style: "primary",
294
+ onClick: function onClick(event) {
295
+ setIsLoading(true);
296
+ var target = reactUtils.isMetaKeyPressed(event) ? "_blank" : "_self";
297
+ window.open(installationUrl, target);
298
+ }
299
+ })]
300
+ });
301
+ };
302
+
303
+ var Private = function Private(_ref) {
304
+ var isConnected = _ref.isConnected,
305
+ isConnecting = _ref.isConnecting,
306
+ repositories = _ref.repositories,
307
+ onConnect = _ref.onConnect,
308
+ installationUrl = _ref.installationUrl,
309
+ troubleshootUrl = _ref.troubleshootUrl;
310
+ var _useTranslation = reactI18next.useTranslation(),
311
+ t = _useTranslation.t;
312
+ var _useState = react.useState(repositories),
313
+ _useState2 = _slicedToArray(_useState, 2),
314
+ filteredRepositories = _useState2[0],
315
+ setFilteredRepositories = _useState2[1];
316
+ var onSearch = function onSearch(searchTerm) {
317
+ if (!neetoCist.isPresent(searchTerm)) {
318
+ setFilteredRepositories(repositories);
319
+ return;
320
+ }
321
+ var filteredRepositories = repositories.filter(function (_ref2) {
322
+ var fullName = _ref2.fullName;
323
+ return fullName.toLowerCase().includes(searchTerm.toLowerCase());
324
+ });
325
+ setFilteredRepositories(filteredRepositories);
326
+ };
327
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
328
+ className: "connect-repo flex h-full flex-col",
329
+ children: isConnected ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
330
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
331
+ className: "space-y-3 p-4 md:p-6",
332
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
333
+ className: "shrink-0 text-lg font-medium",
334
+ style: "h2",
335
+ children: t("neetoGithub.connectARepo")
336
+ }), neetoCist.isPresent(repositories) && /*#__PURE__*/jsxRuntime.jsx(Search, {
337
+ onSearch: onSearch,
338
+ className: "w-full",
339
+ unlimitedChars: false,
340
+ suffix: /*#__PURE__*/jsxRuntime.jsx(Typography, {
341
+ style: "body2",
342
+ children: t("neetoGithub.countOf.repos", {
343
+ count: filteredRepositories.length
344
+ })
345
+ })
346
+ })]
347
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
348
+ className: "flex min-h-0 w-full grow flex-col space-y-6",
349
+ children: /*#__PURE__*/jsxRuntime.jsx(List, {
350
+ filteredRepositories: filteredRepositories,
351
+ installationUrl: installationUrl,
352
+ isConnecting: isConnecting,
353
+ onConnect: onConnect,
354
+ repositories: repositories,
355
+ troubleshootUrl: troubleshootUrl
356
+ })
357
+ })]
358
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
359
+ className: "neeto-ui-text-gray-900 grow font-sans text-sm font-normal leading-6 antialiased",
360
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
361
+ className: "flex h-full flex-col items-center justify-center p-4",
362
+ children: /*#__PURE__*/jsxRuntime.jsx(NotConnected, {
363
+ installationUrl: installationUrl
364
+ })
365
+ })
366
+ })
367
+ });
368
+ };
369
+
370
+ var Repositories = function Repositories(_ref) {
371
+ var isConnected = _ref.isConnected,
372
+ isConnecting = _ref.isConnecting,
373
+ repositories = _ref.repositories,
374
+ onConnect = _ref.onConnect,
375
+ installationUrl = _ref.installationUrl,
376
+ troubleshootUrl = _ref.troubleshootUrl,
377
+ isPane = _ref.isPane;
378
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
379
+ className: classnames("neeto-ui-rounded-md neeto-ui-border-gray-300 h-full w-full space-y-6 border border-solid", {
380
+ "order-2": isPane,
381
+ "order-1": !isPane
382
+ }),
383
+ children: /*#__PURE__*/jsxRuntime.jsx(Private, {
384
+ installationUrl: installationUrl,
385
+ isConnected: isConnected,
386
+ isConnecting: isConnecting,
387
+ onConnect: onConnect,
388
+ repositories: repositories,
389
+ troubleshootUrl: troubleshootUrl
390
+ })
391
+ });
392
+ };
393
+
394
+ var NeetoGithubNanoContainer = function NeetoGithubNanoContainer(_ref) {
395
+ var _ref$isPaneLoading = _ref.isPaneLoading,
396
+ isPaneLoading = _ref$isPaneLoading === void 0 ? false : _ref$isPaneLoading,
397
+ _ref$shouldFetchRepos = _ref.shouldFetchRepositories,
398
+ shouldFetchRepositories = _ref$shouldFetchRepos === void 0 ? true : _ref$shouldFetchRepos,
399
+ _ref$paneAccounts = _ref.paneAccounts,
400
+ paneAccounts = _ref$paneAccounts === void 0 ? [] : _ref$paneAccounts,
401
+ installationUrl = _ref.installationUrl,
402
+ isConnected = _ref.isConnected,
403
+ _ref$isConnecting = _ref.isConnecting,
404
+ isConnecting = _ref$isConnecting === void 0 ? false : _ref$isConnecting,
405
+ onConnect = _ref.onConnect,
406
+ _ref$paneRepositories = _ref.paneRepositories,
407
+ paneRepositories = _ref$paneRepositories === void 0 ? [] : _ref$paneRepositories,
408
+ troubleshootUrl = _ref.troubleshootUrl,
409
+ _ref$isPane = _ref.isPane,
410
+ isPane = _ref$isPane === void 0 ? false : _ref$isPane;
411
+ var _useFetchGithubReposi = useGithubAccountsApi.useFetchGithubRepositories({
412
+ isConnected: shouldFetchRepositories && initializers.globalProps.isGithubIntegrated
413
+ }),
414
+ _useFetchGithubReposi2 = _useFetchGithubReposi.data,
415
+ _useFetchGithubReposi3 = _useFetchGithubReposi2 === void 0 ? {} : _useFetchGithubReposi2,
416
+ _useFetchGithubReposi4 = _useFetchGithubReposi3.repositories,
417
+ containerRepositories = _useFetchGithubReposi4 === void 0 ? [] : _useFetchGithubReposi4,
418
+ _useFetchGithubReposi5 = _useFetchGithubReposi3.accounts,
419
+ containerAccounts = _useFetchGithubReposi5 === void 0 ? [] : _useFetchGithubReposi5,
420
+ isContainerLoading = _useFetchGithubReposi.isLoading;
421
+ var repositories = shouldFetchRepositories ? containerRepositories : paneRepositories;
422
+ var accounts = shouldFetchRepositories ? containerAccounts : paneAccounts;
423
+ var isLoading = shouldFetchRepositories ? isContainerLoading : isPaneLoading;
424
+ if (isLoading) {
425
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
426
+ className: "flex h-full w-full items-center justify-center",
427
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
428
+ });
429
+ }
430
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
431
+ className: classnames("flex min-h-0 w-full grow flex-col", {
432
+ "flex-col": isPane,
433
+ "gap-3 md:flex-row md:gap-6": !isPane
434
+ }),
435
+ children: [/*#__PURE__*/jsxRuntime.jsx(Accounts, {
436
+ accounts: accounts,
437
+ installationUrl: installationUrl,
438
+ isConnected: isConnected,
439
+ isPane: isPane,
440
+ onConnect: onConnect
441
+ }), /*#__PURE__*/jsxRuntime.jsx(Repositories, {
442
+ installationUrl: installationUrl,
443
+ isConnected: isConnected,
444
+ isConnecting: isConnecting,
445
+ isPane: isPane,
446
+ onConnect: onConnect,
447
+ repositories: repositories,
448
+ troubleshootUrl: troubleshootUrl
449
+ })]
450
+ });
451
+ };
452
+
453
+ module.exports = NeetoGithubNanoContainer;
34
454
  //# sourceMappingURL=NeetoGithubNanoContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoGithubNanoContainer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"NeetoGithubNanoContainer.js","sources":["../../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","../../app/javascript/src/components/commons/Repositories/NoRepositories.jsx","../../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 { 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 className=\"github-icon\" size={20} />\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 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","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","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.css\";\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=\"connect-repo__row neeto-ui-border-gray-300 flex flex-col justify-between gap-3 border-b border-solid py-3 ps-3 pe-3 last:border-b-0 md:flex-row md:items-center md:ps-5\"\n key={id}\n >\n <div className=\"connect-repo__info flex items-center space-x-2\">\n <Github className=\"github-icon\" size={20} />\n <Typography style=\"body2\">{fullName}</Typography>\n {isPrivate && <Lock className=\"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 { useState } from \"react\";\n\nimport { globalProps } from \"neetocommons/initializers\";\nimport { isMetaKeyPressed } from \"neetocommons/react-utils\";\nimport { Github } from \"neetoicons/misc\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst NotConnected = ({ installationUrl }) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const { t } = useTranslation();\n\n return (\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 icon={Github}\n iconPosition=\"left\"\n label={t(\"neetoGithub.connectGithub\")}\n loading={isLoading}\n size=\"medium\"\n style=\"primary\"\n onClick={event => {\n setIsLoading(true);\n const target = isMetaKeyPressed(event) ? \"_blank\" : \"_self\";\n window.open(installationUrl, target);\n }}\n />\n </div>\n );\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 className=\"shrink-0 text-lg font-medium\" style=\"h2\">\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 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 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 { Spinner } from \"neetoui\";\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 {\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 items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"flex min-h-0 w-full 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":["Header","withT","_ref","t","_jsxs","className","children","_jsx","Github","size","Typography","style","Configure","isConnected","installationUrl","Button","href","icon","Settings","Plus","iconPosition","iconSize","List","accounts","isPane","classnames","map","_ref2","id","name","avatarUrl","type","profileUrl","count","Building","Avatar","user","imageUrl","label","concat","onClick","window","open","Accounts","onConnect","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","repositories","isPresent","classNames","index","_createElement","key","NotConnected","appName","globalProps","event","isMetaKeyPressed","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","useFetchGithubRepositories","isGithubIntegrated","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","containerRepositories","_useFetchGithubReposi5","containerAccounts","isContainerLoading","Spinner"],"mappings":"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"}
@@ -5,8 +5,9 @@ var neetoCist = require('@bigbinary/neeto-cist');
5
5
  var Pane = require('@bigbinary/neetoui/Pane');
6
6
  var Typography = require('@bigbinary/neetoui/Typography');
7
7
  var reactI18next = require('react-i18next');
8
- var useGithubAccountsApi = require('../useGithubAccountsApi-BFnwW6qa.js');
9
- var NeetoGithubNanoContainer = require('../index-D1ob5VXc.js');
8
+ var useGithubAccountsApi = require('../useGithubAccountsApi-CBlDaBkA.js');
9
+ var NeetoGithubNanoContainer = require('./NeetoGithubNanoContainer.js');
10
+ require('../pane-DRsC3fwq.js');
10
11
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
11
12
  var qs = require('qs');
12
13
  var jsxRuntime = require('react/jsx-runtime');
@@ -29,6 +30,7 @@ require('@babel/runtime/helpers/slicedToArray');
29
30
  require('@bigbinary/neeto-molecules/Search');
30
31
  require('@bigbinary/neeto-icons/Lock');
31
32
  require('@bigbinary/neeto-molecules/DateFormat');
33
+ require('../repository-tile-fB8WFACw.js');
32
34
 
33
35
  function _interopNamespaceDefault(e) {
34
36
  var n = Object.create(null);
@@ -49,9 +51,6 @@ function _interopNamespaceDefault(e) {
49
51
 
50
52
  var qs__namespace = /*#__PURE__*/_interopNamespaceDefault(qs);
51
53
 
52
- var css = ".neeto-github-modal-pane-wrapper{width:min(100%,1280px)}@media (min-width:768px){.neeto-github-modal-pane-wrapper{width:min(90%,1280px)}}@media (min-width:1024px){.neeto-github-modal-pane-wrapper{width:min(60%,1280px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvcGFuZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQ0Usc0JBQ0YsQ0FFQSx5QkFDRSxpQ0FDRSxxQkFDRixDQUNGLENBRUEsMEJBQ0UsaUNBQ0UscUJBQ0YsQ0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi5uZWV0by1naXRodWItbW9kYWwtcGFuZS13cmFwcGVyIHtcbiAgd2lkdGg6IG1pbigxMDAlLCAxMjgwcHgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5lZXRvLWdpdGh1Yi1tb2RhbC1wYW5lLXdyYXBwZXIge1xuICAgIHdpZHRoOiBtaW4oOTAlLCAxMjgwcHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5lZXRvLWdpdGh1Yi1tb2RhbC1wYW5lLXdyYXBwZXIge1xuICAgIHdpZHRoOiBtaW4oNjAlLCAxMjgwcHgpO1xuICB9XG59XG4iXX0= */";
53
- NeetoGithubNanoContainer.n(css,{});
54
-
55
54
  var _globalProps$organiza;
56
55
  var newInstallationParams = qs__namespace.stringify({
57
56
  integrator_id: initializers.globalProps === null || initializers.globalProps === void 0 || (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.id,
@@ -109,7 +108,7 @@ var NeetoGithubNanoPane = function NeetoGithubNanoPane(_ref) {
109
108
  children: neetoCist.isPresent(title) ? title : t("neetoGithub.modal.title")
110
109
  })
111
110
  }), /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
112
- children: /*#__PURE__*/jsxRuntime.jsx(NeetoGithubNanoContainer.NeetoGithubNanoContainer, {
111
+ children: /*#__PURE__*/jsxRuntime.jsx(NeetoGithubNanoContainer, {
113
112
  installationUrl: installationUrl,
114
113
  isConnected: isConnected,
115
114
  isConnecting: isConnecting,
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoGithubNanoPane.js","sources":["../../app/javascript/src/components/NeetoGithubNanoPane/constants.js","../../app/javascript/src/components/NeetoGithubNanoPane/index.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\nimport * as qs from \"qs\";\n\nimport { NEETO_GITHUB_ENGINE_BASE_URL } from \"src/constants\";\n\nconst newInstallationParams = qs.stringify({\n integrator_id: globalProps?.organization?.id,\n integrator_type: \"Organization\",\n redirect_path: \"/projects/new\",\n});\n\nexport const NEW_INSTALLATION_URL = `${NEETO_GITHUB_ENGINE_BASE_URL}/app_installations/new?${newInstallationParams}`;\nexport const TROUBLESHOOT_URL =\n \"https://render.com/docs/github#troubleshooting\";\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchGithubRepositories } from \"hooks/reactQuery/useGithubAccountsApi\";\nimport NeetoGithubNanoContainer from \"src/components/NeetoGithubNanoContainer\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/pane.css\";\n\nimport { NEW_INSTALLATION_URL, TROUBLESHOOT_URL } from \"./constants\";\n\nconst NeetoGithubNanoPane = ({\n isOpen,\n onClose,\n isConnecting = false,\n isConnected = false,\n installationUrl = NEW_INSTALLATION_URL,\n troubleshootUrl = TROUBLESHOOT_URL,\n onConnect = noop,\n projects = [],\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const initialFocusRef = useRef(null);\n\n const {\n data: { repositories = [], accounts = [] } = {},\n isLoading: isPaneLoading,\n } = useFetchGithubRepositories({ isConnected: isOpen && isConnected });\n\n const paneRepositories = (repositories ?? []).filter(\n repository => !findBy({ repository: repository.fullName }, projects)\n );\n\n const paneAccounts = isConnected ? accounts : [];\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n className=\"neeto-github-modal-pane-wrapper\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {isPresent(title) ? title : t(\"neetoGithub.modal.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <NeetoGithubNanoContainer\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPaneLoading,\n onConnect,\n paneAccounts,\n paneRepositories,\n troubleshootUrl,\n }}\n isPane\n shouldFetchRepositories={false}\n />\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default NeetoGithubNanoPane;\n"],"names":["newInstallationParams","qs","stringify","integrator_id","globalProps","_globalProps$organiza","organization","id","integrator_type","redirect_path","NEW_INSTALLATION_URL","concat","NEETO_GITHUB_ENGINE_BASE_URL","TROUBLESHOOT_URL","NeetoGithubNanoPane","_ref","isOpen","onClose","_ref$isConnecting","isConnecting","_ref$isConnected","isConnected","_ref$installationUrl","installationUrl","_ref$troubleshootUrl","troubleshootUrl","_ref$onConnect","onConnect","noop","_ref$projects","projects","_ref$title","title","_useTranslation","useTranslation","t","initialFocusRef","useRef","_useFetchGithubReposi","useFetchGithubRepositories","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","repositories","_useFetchGithubReposi5","accounts","isPaneLoading","isLoading","paneRepositories","filter","repository","findBy","fullName","paneAccounts","_jsxs","Pane","className","size","children","_jsx","Header","Typography","style","isPresent","Body","NeetoGithubNanoContainer","isPane","shouldFetchRepositories"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoGithubNanoPane.js","sources":["../../app/javascript/src/components/NeetoGithubNanoPane/constants.js","../../app/javascript/src/components/NeetoGithubNanoPane/index.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\nimport * as qs from \"qs\";\n\nimport { NEETO_GITHUB_ENGINE_BASE_URL } from \"src/constants\";\n\nconst newInstallationParams = qs.stringify({\n integrator_id: globalProps?.organization?.id,\n integrator_type: \"Organization\",\n redirect_path: \"/projects/new\",\n});\n\nexport const NEW_INSTALLATION_URL = `${NEETO_GITHUB_ENGINE_BASE_URL}/app_installations/new?${newInstallationParams}`;\nexport const TROUBLESHOOT_URL =\n \"https://render.com/docs/github#troubleshooting\";\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, noop } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchGithubRepositories } from \"hooks/reactQuery/useGithubAccountsApi\";\nimport NeetoGithubNanoContainer from \"src/components/NeetoGithubNanoContainer\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/pane.css\";\n\nimport { NEW_INSTALLATION_URL, TROUBLESHOOT_URL } from \"./constants\";\n\nconst NeetoGithubNanoPane = ({\n isOpen,\n onClose,\n isConnecting = false,\n isConnected = false,\n installationUrl = NEW_INSTALLATION_URL,\n troubleshootUrl = TROUBLESHOOT_URL,\n onConnect = noop,\n projects = [],\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const initialFocusRef = useRef(null);\n\n const {\n data: { repositories = [], accounts = [] } = {},\n isLoading: isPaneLoading,\n } = useFetchGithubRepositories({ isConnected: isOpen && isConnected });\n\n const paneRepositories = (repositories ?? []).filter(\n repository => !findBy({ repository: repository.fullName }, projects)\n );\n\n const paneAccounts = isConnected ? accounts : [];\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n className=\"neeto-github-modal-pane-wrapper\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {isPresent(title) ? title : t(\"neetoGithub.modal.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <NeetoGithubNanoContainer\n {...{\n installationUrl,\n isConnected,\n isConnecting,\n isPaneLoading,\n onConnect,\n paneAccounts,\n paneRepositories,\n troubleshootUrl,\n }}\n isPane\n shouldFetchRepositories={false}\n />\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default NeetoGithubNanoPane;\n"],"names":["newInstallationParams","qs","stringify","integrator_id","globalProps","_globalProps$organiza","organization","id","integrator_type","redirect_path","NEW_INSTALLATION_URL","concat","NEETO_GITHUB_ENGINE_BASE_URL","TROUBLESHOOT_URL","NeetoGithubNanoPane","_ref","isOpen","onClose","_ref$isConnecting","isConnecting","_ref$isConnected","isConnected","_ref$installationUrl","installationUrl","_ref$troubleshootUrl","troubleshootUrl","_ref$onConnect","onConnect","noop","_ref$projects","projects","_ref$title","title","_useTranslation","useTranslation","t","initialFocusRef","useRef","_useFetchGithubReposi","useFetchGithubRepositories","_useFetchGithubReposi2","data","_useFetchGithubReposi3","_useFetchGithubReposi4","repositories","_useFetchGithubReposi5","accounts","isPaneLoading","isLoading","paneRepositories","filter","repository","findBy","fullName","paneAccounts","_jsxs","Pane","className","size","children","_jsx","Header","Typography","style","isPresent","Body","NeetoGithubNanoContainer","isPane","shouldFetchRepositories"],"mappings":"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"}