@cobaltcore-dev/aurora 0.11.0 → 0.12.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.
Files changed (92) hide show
  1. package/dist/client/{ContentHeader-DsuZD8fa.mjs → ContentHeader-D2nIdJKJ.mjs} +22 -22
  2. package/dist/client/{ContentHeader-DsuZD8fa.mjs.map → ContentHeader-D2nIdJKJ.mjs.map} +1 -1
  3. package/dist/client/{DeleteFlavorModal-RnbspW_2.mjs → DeleteFlavorModal-Dwm0Hh84.mjs} +174 -174
  4. package/dist/client/{DeleteFlavorModal-RnbspW_2.mjs.map → DeleteFlavorModal-Dwm0Hh84.mjs.map} +1 -1
  5. package/dist/client/{DeleteVersionsModal-CsBJzXoW.mjs → DeleteVersionsModal-DQO8lGmS.mjs} +69 -69
  6. package/dist/client/{DeleteVersionsModal-CsBJzXoW.mjs.map → DeleteVersionsModal-DQO8lGmS.mjs.map} +1 -1
  7. package/dist/client/{EditSecurityGroupModal-BPv3d7am.mjs → EditSecurityGroupModal-BGPXglju.mjs} +17 -17
  8. package/dist/client/{EditSecurityGroupModal-BPv3d7am.mjs.map → EditSecurityGroupModal-BGPXglju.mjs.map} +1 -1
  9. package/dist/client/{FiltersInput-CViamP59.mjs → FiltersInput-cOaaRpcQ.mjs} +20 -20
  10. package/dist/client/{FiltersInput-CViamP59.mjs.map → FiltersInput-cOaaRpcQ.mjs.map} +1 -1
  11. package/dist/client/{FloatingIpActionModals-DTn3HFei.mjs → FloatingIpActionModals-RCvaamOg.mjs} +55 -55
  12. package/dist/client/{FloatingIpActionModals-DTn3HFei.mjs.map → FloatingIpActionModals-RCvaamOg.mjs.map} +1 -1
  13. package/dist/client/{ImageToastNotifications-CFKQZTgf.mjs → ImageToastNotifications-ClO-1yOH.mjs} +310 -310
  14. package/dist/client/{ImageToastNotifications-CFKQZTgf.mjs.map → ImageToastNotifications-ClO-1yOH.mjs.map} +1 -1
  15. package/dist/client/{RouteError-BebIhFpQ.mjs → RouteError-BmZRk_ss.mjs} +2 -2
  16. package/dist/client/{RouteError-BebIhFpQ.mjs.map → RouteError-BmZRk_ss.mjs.map} +1 -1
  17. package/dist/client/{SortInput-D0Vb864D.mjs → SortInput-DjaEHvcO.mjs} +6 -6
  18. package/dist/client/{SortInput-D0Vb864D.mjs.map → SortInput-DjaEHvcO.mjs.map} +1 -1
  19. package/dist/client/{_flavorId-C9SZd1jL.mjs → _flavorId-CtQEd28h.mjs} +8 -8
  20. package/dist/client/{_flavorId-C9SZd1jL.mjs.map → _flavorId-CtQEd28h.mjs.map} +1 -1
  21. package/dist/client/{_flavorId-DINgWoeV.mjs → _flavorId-DVsGdXUf.mjs} +46 -46
  22. package/dist/client/{_flavorId-DINgWoeV.mjs.map → _flavorId-DVsGdXUf.mjs.map} +1 -1
  23. package/dist/client/{_floatingIpId-BACLbMzi2.mjs → _floatingIpId-CKMq7-4p2.mjs} +36 -36
  24. package/dist/client/{_floatingIpId-BACLbMzi2.mjs.map → _floatingIpId-CKMq7-4p2.mjs.map} +1 -1
  25. package/dist/client/{_floatingIpId-BzVMOv97.mjs → _floatingIpId-DvTh6vdB.mjs} +2 -2
  26. package/dist/client/{_floatingIpId-BzVMOv97.mjs.map → _floatingIpId-DvTh6vdB.mjs.map} +1 -1
  27. package/dist/client/_imageId-xG8hC49j.mjs +534 -0
  28. package/dist/client/{_imageId-DCvaU7-S.mjs.map → _imageId-xG8hC49j.mjs.map} +1 -1
  29. package/dist/client/{_pcaId-B3PqECyO.mjs → _pcaId-Db_t0x6O.mjs} +147 -147
  30. package/dist/client/{_pcaId-B3PqECyO.mjs.map → _pcaId-Db_t0x6O.mjs.map} +1 -1
  31. package/dist/client/{_pcaId-DAJEt3ZI.mjs → _pcaId-WCJoukIk.mjs} +2 -2
  32. package/dist/client/{_pcaId-DAJEt3ZI.mjs.map → _pcaId-WCJoukIk.mjs.map} +1 -1
  33. package/dist/client/{_projectId-DU8qRiZk.mjs → _projectId-B2cvskLV.mjs} +2 -2
  34. package/dist/client/{_projectId-DU8qRiZk.mjs.map → _projectId-B2cvskLV.mjs.map} +1 -1
  35. package/dist/client/{_projectId-DRr9rLST.mjs → _projectId-BCMkaH_h.mjs} +35 -35
  36. package/dist/client/_projectId-BCMkaH_h.mjs.map +1 -0
  37. package/dist/client/{_projectId-B2hG5peP.mjs → _projectId-BdqRntcN.mjs} +15 -14
  38. package/dist/client/{_projectId-B2hG5peP.mjs.map → _projectId-BdqRntcN.mjs.map} +1 -1
  39. package/dist/client/{_projectId-BnWXWTBR.mjs → _projectId-C8RGOqZb.mjs} +3 -3
  40. package/dist/client/{_projectId-BnWXWTBR.mjs.map → _projectId-C8RGOqZb.mjs.map} +1 -1
  41. package/dist/client/{_securityGroupId-Cj9IotMJ.mjs → _securityGroupId-CyQ3XmpB.mjs} +2 -2
  42. package/dist/client/{_securityGroupId-Cj9IotMJ.mjs.map → _securityGroupId-CyQ3XmpB.mjs.map} +1 -1
  43. package/dist/client/{_securityGroupId-ClJiFh4R.mjs → _securityGroupId-DMi7YRux.mjs} +397 -397
  44. package/dist/client/{_securityGroupId-ClJiFh4R.mjs.map → _securityGroupId-DMi7YRux.mjs.map} +1 -1
  45. package/dist/client/{_storageType-BrHDa2bD.mjs → _storageType-Bb6YZgXf.mjs} +657 -660
  46. package/dist/client/{_storageType-BrHDa2bD.mjs.map → _storageType-Bb6YZgXf.mjs.map} +1 -1
  47. package/dist/client/{_storageType-CSLH93js.mjs → _storageType-g1zkFFRh.mjs} +2 -2
  48. package/dist/client/{_storageType-CSLH93js.mjs.map → _storageType-g1zkFFRh.mjs.map} +1 -1
  49. package/dist/client/{about-BnU297yB.mjs → about-B4sGnxeW.mjs} +8 -8
  50. package/dist/client/{about-BnU297yB.mjs.map → about-B4sGnxeW.mjs.map} +1 -1
  51. package/dist/client/{build-DF7MTyXG.mjs → build-DgeVmENN.mjs} +2395 -2390
  52. package/dist/client/{build-DF7MTyXG.mjs.map → build-DgeVmENN.mjs.map} +1 -1
  53. package/dist/client/{constants-BskfpGYY.mjs → constants-D6IO9bPs.mjs} +16 -16
  54. package/dist/client/{constants-BskfpGYY.mjs.map → constants-D6IO9bPs.mjs.map} +1 -1
  55. package/dist/client/{flavors-DAbtRoep.mjs → flavors-CO5l_6d0.mjs} +178 -178
  56. package/dist/client/{flavors-DAbtRoep.mjs.map → flavors-CO5l_6d0.mjs.map} +1 -1
  57. package/dist/client/{flavors-DODudzrA.mjs → flavors-D4nGSs0r.mjs} +2 -2
  58. package/dist/client/{flavors-DODudzrA.mjs.map → flavors-D4nGSs0r.mjs.map} +1 -1
  59. package/dist/client/{floatingips-DJW9ftN_.mjs → floatingips-ClkRV7a7.mjs} +108 -108
  60. package/dist/client/{floatingips-DJW9ftN_.mjs.map → floatingips-ClkRV7a7.mjs.map} +1 -1
  61. package/dist/client/{images-C3JyPwer.mjs → images-B5ktfqg6.mjs} +2 -2
  62. package/dist/client/{images-C3JyPwer.mjs.map → images-B5ktfqg6.mjs.map} +1 -1
  63. package/dist/client/{images-Cp6V1nF5.mjs → images-C_OYLPqv.mjs} +440 -440
  64. package/dist/client/{images-Cp6V1nF5.mjs.map → images-C_OYLPqv.mjs.map} +1 -1
  65. package/dist/client/{images-BbLnuYrL.mjs → images-CvPxoPC0.mjs} +2 -2
  66. package/dist/client/{images-BbLnuYrL.mjs.map → images-CvPxoPC0.mjs.map} +1 -1
  67. package/dist/client/index.js +275 -275
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/{objects-DUmK3WgA.mjs → objects-D0grS6pk.mjs} +1361 -1361
  70. package/dist/client/{objects-DUmK3WgA.mjs.map → objects-D0grS6pk.mjs.map} +1 -1
  71. package/dist/client/{objects-Bw96WXOs.mjs → objects-UQyUQxBj.mjs} +2 -2
  72. package/dist/client/{objects-Bw96WXOs.mjs.map → objects-UQyUQxBj.mjs.map} +1 -1
  73. package/dist/client/{pca-Dc_tdh4-.mjs → pca-BJPxOIgq.mjs} +69 -69
  74. package/dist/client/{pca-Dc_tdh4-.mjs.map → pca-BJPxOIgq.mjs.map} +1 -1
  75. package/dist/client/{pca-DKeGzbww.mjs → pca-C9MKOi3Z.mjs} +2 -2
  76. package/dist/client/{pca-DKeGzbww.mjs.map → pca-C9MKOi3Z.mjs.map} +1 -1
  77. package/dist/client/{projects-CRL37ftA.mjs → projects-C3wR-lvM.mjs} +16 -19
  78. package/dist/client/projects-C3wR-lvM.mjs.map +1 -0
  79. package/dist/client/{projects-DUWOgB3m.mjs → projects-CGjBlG2w.mjs} +2 -2
  80. package/dist/client/{projects-DUWOgB3m.mjs.map → projects-CGjBlG2w.mjs.map} +1 -1
  81. package/dist/client/{projects-DpXQYfKc.mjs → projects-DvSiI5Vg.mjs} +2 -2
  82. package/dist/client/{projects-DpXQYfKc.mjs.map → projects-DvSiI5Vg.mjs.map} +1 -1
  83. package/dist/client/{securitygroups-CWWFSjjj.mjs → securitygroups-n8ujBpJP.mjs} +118 -118
  84. package/dist/client/{securitygroups-CWWFSjjj.mjs.map → securitygroups-n8ujBpJP.mjs.map} +1 -1
  85. package/dist/client/{useListWithFiltering-C9k7xWqz.mjs → useListWithFiltering-BuhE81I6.mjs} +10 -10
  86. package/dist/client/{useListWithFiltering-C9k7xWqz.mjs.map → useListWithFiltering-BuhE81I6.mjs.map} +1 -1
  87. package/dist/server/index.d.ts +6 -2
  88. package/dist/server/index.js +4 -17
  89. package/package.json +4 -4
  90. package/dist/client/_imageId-DCvaU7-S.mjs +0 -534
  91. package/dist/client/_projectId-DRr9rLST.mjs.map +0 -1
  92. package/dist/client/projects-CRL37ftA.mjs.map +0 -1
@@ -0,0 +1,534 @@
1
+ import { A as e, B as t, D as n, F as r, K as i, X as a, Y as o, Z as s, at as c, q as l, rt as u, st as d, tt as f, ut as p, v as m, y as h } from "./build-DgeVmENN.mjs";
2
+ import { r as g } from "./trpcClient-BzPUgiM2.mjs";
3
+ import { n as _, t as ee } from "./ContentHeader-D2nIdJKJ.mjs";
4
+ import { A as v, D as te, E as ne, F as y, I as b, N as re, O as ie, P as x, T as ae, d as oe, k as se, u as ce } from "./ImageToastNotifications-ClO-1yOH.mjs";
5
+ import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
6
+ import T, { useState as E } from "react";
7
+ import { useNavigate as le, useParams as ue, useSearch as de } from "@tanstack/react-router";
8
+ import { Trans as D, useLingui as O } from "@lingui/react";
9
+ //#region src/client/routes/_auth/projects/$projectId/compute/-components/Images/-components/ImageDetailsView.tsx
10
+ var k = ({ image: e, myMemberData: t, canUpdateMember: n, onStatusChange: r, isLoading: i }) => {
11
+ let { i18n: a, _: o } = O(), s = t.status === y.PENDING, c = t.status === y.REJECTED, l = t.created_at ? new Date(t.created_at).toLocaleString() : a._({ id: "fj5byd" }), u = t.updated_at ? new Date(t.updated_at).toLocaleString() : a._({ id: "fj5byd" }), d = e.owner ?? "";
12
+ return /*#__PURE__*/ w(m, { children: [
13
+ s && /*#__PURE__*/ C("p", {
14
+ className: "text-theme-highest font-semibold",
15
+ children: /*#__PURE__*/ C(D, { id: "/EcdUM" })
16
+ }),
17
+ /*#__PURE__*/ C("p", { children: /*#__PURE__*/ C(D, {
18
+ id: "Uwo8Xw",
19
+ values: {
20
+ ownerProject: d,
21
+ sharedAt: l
22
+ },
23
+ components: { 0: /*#__PURE__*/ C("span", { className: "font-semibold" }) }
24
+ }) }),
25
+ /*#__PURE__*/ w("ul", { children: [
26
+ /*#__PURE__*/ w("li", { children: [
27
+ /*#__PURE__*/ C("span", {
28
+ className: "font-semibold",
29
+ children: /*#__PURE__*/ C(D, { id: "azXlY+" })
30
+ }),
31
+ " ",
32
+ t.status
33
+ ] }),
34
+ /*#__PURE__*/ w("li", { children: [
35
+ /*#__PURE__*/ C("span", {
36
+ className: "font-semibold",
37
+ children: /*#__PURE__*/ C(D, { id: "G6AP+o" })
38
+ }),
39
+ " ",
40
+ l
41
+ ] }),
42
+ /*#__PURE__*/ w("li", { children: [
43
+ /*#__PURE__*/ C("span", {
44
+ className: "font-semibold",
45
+ children: /*#__PURE__*/ C(D, { id: "pFg+7w" })
46
+ }),
47
+ " ",
48
+ u
49
+ ] })
50
+ ] }),
51
+ n && (s || c) && /*#__PURE__*/ w(p, { children: [/*#__PURE__*/ C(h, {
52
+ onClick: () => r(y.ACCEPTED),
53
+ disabled: i,
54
+ children: /*#__PURE__*/ C(D, { id: "g3UF2V" })
55
+ }), s && /*#__PURE__*/ C(h, {
56
+ onClick: () => r(y.REJECTED),
57
+ disabled: i,
58
+ children: /*#__PURE__*/ C(D, { id: "1t/NnN" })
59
+ })] })
60
+ ] });
61
+ }, A = ({ image: e }) => {
62
+ let { i18n: t, _: i } = O();
63
+ return /*#__PURE__*/ w(s, {
64
+ px: !1,
65
+ py: !0,
66
+ children: [/*#__PURE__*/ C(o, { children: t._({ id: "nW/hX9" }) }), /*#__PURE__*/ w(r, {
67
+ alignTerms: "right",
68
+ children: [
69
+ /*#__PURE__*/ C(l, { children: t._({ id: "S0kLOH" }) }),
70
+ /*#__PURE__*/ C(n, { children: /*#__PURE__*/ C(_, { text: e.id }) }),
71
+ /*#__PURE__*/ C(l, { children: t._({ id: "6YtxFj" }) }),
72
+ /*#__PURE__*/ C(n, { children: e.name }),
73
+ /*#__PURE__*/ C(l, { children: t._({ id: "uAQUqI" }) }),
74
+ /*#__PURE__*/ C(n, { children: e.status }),
75
+ /*#__PURE__*/ C(l, { children: t._({ id: "Cj2Gtd" }) }),
76
+ /*#__PURE__*/ C(n, { children: /*#__PURE__*/ C(b, { size: e.size }) }),
77
+ /*#__PURE__*/ C(l, { children: t._({ id: "Cxgv2U" }) }),
78
+ /*#__PURE__*/ w(n, { children: [e.min_disk, " GB"] }),
79
+ /*#__PURE__*/ C(l, { children: t._({ id: "B2Czeb" }) }),
80
+ /*#__PURE__*/ w(n, { children: [e.min_ram, " MB"] }),
81
+ /*#__PURE__*/ C(l, { children: t._({ id: "NopYGU" }) }),
82
+ /*#__PURE__*/ C(n, { children: /*#__PURE__*/ C("span", {
83
+ className: "uppercase",
84
+ children: e.disk_format
85
+ }) }),
86
+ /*#__PURE__*/ C(l, { children: t._({ id: "6/xipy" }) }),
87
+ /*#__PURE__*/ C(n, { children: /*#__PURE__*/ C("span", {
88
+ className: "uppercase",
89
+ children: e.container_format
90
+ }) }),
91
+ /*#__PURE__*/ C(l, { children: t._({ id: "88kg0+" }) }),
92
+ /*#__PURE__*/ C(n, { children: e.created_at ? new Date(e.created_at).toLocaleDateString() : t._({ id: "fj5byd" }) }),
93
+ /*#__PURE__*/ C(l, { children: t._({ id: "Llcakz" }) }),
94
+ /*#__PURE__*/ C(n, { children: e.updated_at ? new Date(e.updated_at).toLocaleDateString() : t._({ id: "fj5byd" }) })
95
+ ]
96
+ })]
97
+ });
98
+ }, j = ({ image: e, currentProjectId: t }) => {
99
+ let { i18n: i, _: a } = O(), c = e.visibility === "shared" && e.owner !== void 0 && e.owner !== t;
100
+ return /*#__PURE__*/ w(s, {
101
+ px: !1,
102
+ py: !0,
103
+ children: [/*#__PURE__*/ C(o, { children: i._({ id: "a3LDKx" }) }), /*#__PURE__*/ w(r, {
104
+ alignTerms: "right",
105
+ children: [
106
+ /*#__PURE__*/ C(l, { children: c ? i._({ id: "20axE5" }) : i._({ id: "YsrbQh" }) }),
107
+ /*#__PURE__*/ C(n, { children: e.owner ? /*#__PURE__*/ C(_, { text: e.owner }) : "" }),
108
+ /*#__PURE__*/ C(l, { children: i._({ id: "2q/Q7x" }) }),
109
+ /*#__PURE__*/ C(n, { children: e.visibility }),
110
+ /*#__PURE__*/ C(l, { children: i._({ id: "644xgx" }) }),
111
+ /*#__PURE__*/ C(n, { children: e.protected ? i._({ id: "l75CjT" }) : i._({ id: "1UzENP" }) }),
112
+ /*#__PURE__*/ C(l, { children: i._({ id: "PzgYM9" }) }),
113
+ /*#__PURE__*/ C(n, { children: e?.checksum ? e.checksum : "" })
114
+ ]
115
+ })]
116
+ });
117
+ }, M = ({ image: e }) => {
118
+ let { i18n: t, _: i } = O(), a = new Set([
119
+ "id",
120
+ "name",
121
+ "status",
122
+ "visibility",
123
+ "size",
124
+ "disk_format",
125
+ "container_format",
126
+ "min_disk",
127
+ "min_ram",
128
+ "owner",
129
+ "protected",
130
+ "created_at",
131
+ "updated_at",
132
+ "checksum"
133
+ ]), c = Object.entries(e).filter(([e]) => !a.has(e)).sort(([e], [t]) => e.localeCompare(t)), u = c.length > 0;
134
+ return /*#__PURE__*/ w(s, {
135
+ px: !1,
136
+ py: !0,
137
+ children: [/*#__PURE__*/ C(o, { children: t._({ id: "bc67JN" }) }), u ? /*#__PURE__*/ C(r, {
138
+ alignTerms: "right",
139
+ className: "grid-cols-4",
140
+ children: c.map(([e, r]) => /*#__PURE__*/ w(T.Fragment, { children: [/*#__PURE__*/ C(l, {
141
+ className: "col-span-1",
142
+ children: e
143
+ }), /*#__PURE__*/ C(n, {
144
+ className: "col-span-1",
145
+ children: r == null ? /*#__PURE__*/ C("span", { children: "null" }) : typeof r == "object" ? /*#__PURE__*/ C("span", {
146
+ className: "break-all",
147
+ children: JSON.stringify(r)
148
+ }) : typeof r == "boolean" ? r ? t._({ id: "c+xCSz" }) : t._({ id: "ocUvR+" }) : /*#__PURE__*/ C("span", {
149
+ className: "break-all",
150
+ children: String(r)
151
+ })
152
+ })] }, e))
153
+ }) : /*#__PURE__*/ C("p", {
154
+ className: "text-theme-light",
155
+ children: t._({ id: "9v5VLp" })
156
+ })]
157
+ });
158
+ }, N = (e) => {
159
+ let t = "px-6 py-3 font-semibold border-b-2 transition-colors";
160
+ return e ? `${t} border-theme-accent text-theme-highest` : `${t} border-transparent text-theme-secondary hover:text-theme-high`;
161
+ }, P = ({ image: e, permissions: n, currentProjectId: r }) => {
162
+ let [i, a] = E(!1), [o, c] = E(null), { data: l, isLoading: u } = g.compute.listImageMembers.useQuery({
163
+ project_id: r,
164
+ imageId: e.id
165
+ }, { enabled: !!e.id && !!r });
166
+ return /*#__PURE__*/ w(s, {
167
+ px: !1,
168
+ py: !0,
169
+ children: [o && /*#__PURE__*/ C(t, {
170
+ text: o.text,
171
+ variant: o.type,
172
+ onDismiss: () => c(null),
173
+ className: "mb-4"
174
+ }), /*#__PURE__*/ C(v, {
175
+ image: e,
176
+ imageMembers: l,
177
+ isMembersLoading: u,
178
+ canAdd: n?.canCreateMember ?? !1,
179
+ canRemove: n?.canDeleteMember ?? !1,
180
+ isAddingMember: i,
181
+ setIsAddingMember: a,
182
+ setMessage: c,
183
+ projectId: r
184
+ })]
185
+ });
186
+ }, fe = ({ image: e, currentProjectId: t, activeTab: n = "details", onTabChange: r, permissions: i, myMemberData: a, onMemberStatusChange: o, isMemberStatusChanging: s, actions: c }) => {
187
+ let { i18n: l, _: u } = O(), d = e.visibility === "shared" && e.owner !== void 0 && e.owner !== t, p = e.owner === t && e.visibility === "shared";
188
+ return /*#__PURE__*/ w(f, {
189
+ direction: "vertical",
190
+ gap: "6",
191
+ children: [
192
+ d && a && o && /*#__PURE__*/ C(k, {
193
+ image: e,
194
+ myMemberData: a,
195
+ canUpdateMember: i?.canUpdateMember ?? !1,
196
+ onStatusChange: o,
197
+ isLoading: s ?? !1
198
+ }),
199
+ p && /*#__PURE__*/ C("div", {
200
+ className: "border-theme-background-lvl-3 border-b",
201
+ children: /*#__PURE__*/ w(f, {
202
+ direction: "horizontal",
203
+ gap: "0",
204
+ children: [/*#__PURE__*/ C("button", {
205
+ className: N(n === "details"),
206
+ onClick: () => r?.("details"),
207
+ children: l._({ id: "URmyfc" })
208
+ }), /*#__PURE__*/ C("button", {
209
+ className: N(n === "sharing"),
210
+ onClick: () => r?.("sharing"),
211
+ children: l._({ id: "aG9OiI" })
212
+ })]
213
+ })
214
+ }),
215
+ (n === "details" || !p) && /*#__PURE__*/ w(S, { children: [
216
+ c,
217
+ /*#__PURE__*/ C(A, { image: e }),
218
+ /*#__PURE__*/ C(j, {
219
+ image: e,
220
+ currentProjectId: t
221
+ }),
222
+ /*#__PURE__*/ C(M, { image: e })
223
+ ] }),
224
+ n === "sharing" && p && /*#__PURE__*/ C(P, {
225
+ image: e,
226
+ permissions: i
227
+ })
228
+ ]
229
+ });
230
+ };
231
+ //#endregion
232
+ //#region src/client/routes/_auth/projects/$projectId/compute/images/$imageId.tsx?tsr-split=component
233
+ function F() {
234
+ let { projectId: t, imageId: n } = ue({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), { tab: r } = de({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), o = le(), { i18n: s, _: l } = O(), { data: m, status: _, error: v } = g.compute.getImageById.useQuery({
235
+ project_id: t,
236
+ imageId: n
237
+ }), { data: y } = g.compute.canUser.useQuery({
238
+ project_id: t,
239
+ permission: [
240
+ "images:delete",
241
+ "images:update",
242
+ "images:create_member",
243
+ "images:delete_member",
244
+ "images:update_member"
245
+ ]
246
+ }), b = {
247
+ canDelete: y?.[0] ?? !1,
248
+ canUpdate: y?.[1] ?? !1,
249
+ canCreateMember: y?.[2] ?? !1,
250
+ canDeleteMember: y?.[3] ?? !1,
251
+ canUpdateMember: y?.[4] ?? !1
252
+ }, T = g.useUtils(), [k, A] = E(!1), [j, M] = E(!1), [N, P] = E(!1), [F, I] = E(!1), [L, R] = E(!1), [z, B] = E(null), V = g.compute.updateImage.useMutation({ onSuccess: (e) => {
253
+ T.compute.getImageById.setData({
254
+ project_id: t,
255
+ imageId: n
256
+ }, e), T.compute.listImagesWithPagination.invalidate();
257
+ } }), H = g.compute.deleteImage.useMutation({ onSuccess: () => {
258
+ T.compute.listImagesWithPagination.invalidate();
259
+ } }), U = g.compute.deactivateImage.useMutation({ onSuccess: () => {
260
+ T.compute.getImageById.invalidate({
261
+ project_id: t,
262
+ imageId: n
263
+ });
264
+ } }), W = g.compute.reactivateImage.useMutation({ onSuccess: () => {
265
+ T.compute.getImageById.invalidate({
266
+ project_id: t,
267
+ imageId: n
268
+ });
269
+ } }), G = g.compute.updateImageVisibility.useMutation({ onSuccess: (e) => {
270
+ T.compute.getImageById.setData({
271
+ project_id: t,
272
+ imageId: n
273
+ }, e);
274
+ } }), K = m?.visibility === x.SHARED && m?.owner !== void 0 && m?.owner !== t, { data: q } = g.compute.getImageMember.useQuery({
275
+ project_id: t,
276
+ imageId: n,
277
+ memberId: t
278
+ }, { enabled: K && !!n && !!t }), J = g.compute.updateImageMember.useMutation({ onSuccess: () => {
279
+ T.compute.getImageMember.invalidate({
280
+ project_id: t,
281
+ imageId: n,
282
+ memberId: t
283
+ }), T.compute.listImageMembers.invalidate({
284
+ project_id: t,
285
+ imageId: n
286
+ }), T.compute.listImagesWithPagination.invalidate(), T.compute.listSharedImagesByMemberStatus.invalidate();
287
+ } }), Y = async (e) => {
288
+ try {
289
+ await J.mutateAsync({
290
+ project_id: t,
291
+ imageId: n,
292
+ memberId: t,
293
+ status: e
294
+ }), B(oe(e, { onDismiss: () => B(null) }));
295
+ } catch (e) {
296
+ let t = e?.message;
297
+ B(ce(t, { onDismiss: () => B(null) }));
298
+ }
299
+ }, X = () => {
300
+ o({
301
+ to: "/projects/$projectId/compute/images",
302
+ params: { projectId: t }
303
+ });
304
+ }, Z = V.isPending || H.isPending || U.isPending || W.isPending || G.isPending, pe = (e, t) => {
305
+ let n = [];
306
+ return Object.entries(e).forEach(([e, r]) => {
307
+ let i = `/${e}`;
308
+ if (r == null) e in t && n.push({
309
+ op: "remove",
310
+ path: i
311
+ });
312
+ else {
313
+ let a = e in t;
314
+ n.push({
315
+ op: a ? "replace" : "add",
316
+ path: i,
317
+ value: r
318
+ });
319
+ }
320
+ }), n;
321
+ }, Q = async (e) => {
322
+ if (!m) return !1;
323
+ let r = pe(e, m);
324
+ try {
325
+ return await V.mutateAsync({
326
+ project_id: t,
327
+ imageId: n,
328
+ operations: r
329
+ }), A(!1), !0;
330
+ } catch {
331
+ return !1;
332
+ }
333
+ }, me = async (e) => {
334
+ try {
335
+ await H.mutateAsync({
336
+ project_id: t,
337
+ imageId: e.id
338
+ }), P(!1), X();
339
+ } catch {
340
+ P(!1);
341
+ }
342
+ }, he = async (e) => {
343
+ try {
344
+ await W.mutateAsync({
345
+ project_id: t,
346
+ imageId: e.id
347
+ }), I(!1);
348
+ } catch {
349
+ I(!1);
350
+ }
351
+ }, ge = async (e) => {
352
+ try {
353
+ await U.mutateAsync({
354
+ project_id: t,
355
+ imageId: e.id
356
+ }), R(!1);
357
+ } catch {
358
+ R(!1);
359
+ }
360
+ }, _e = async (e) => {
361
+ if (m) try {
362
+ await G.mutateAsync({
363
+ project_id: t,
364
+ imageId: m.id,
365
+ visibility: e
366
+ });
367
+ } catch {}
368
+ };
369
+ if (_ === "pending") return /*#__PURE__*/ w(f, {
370
+ className: "fixed inset-0",
371
+ distribution: "center",
372
+ alignment: "center",
373
+ direction: "vertical",
374
+ children: [/*#__PURE__*/ C(i, {
375
+ variant: "primary",
376
+ size: "large",
377
+ className: "mb-2"
378
+ }), /*#__PURE__*/ C(D, { id: "hH3kDo" })]
379
+ });
380
+ if (_ === "error") {
381
+ let e = v?.message || "Unknown error";
382
+ return /*#__PURE__*/ w(f, {
383
+ className: "fixed inset-0",
384
+ distribution: "center",
385
+ alignment: "center",
386
+ direction: "vertical",
387
+ gap: "5",
388
+ children: [
389
+ /*#__PURE__*/ C("p", {
390
+ className: "text-theme-error font-semibold",
391
+ children: /*#__PURE__*/ C(D, { id: "Jh4rAZ" })
392
+ }),
393
+ /*#__PURE__*/ C("p", {
394
+ className: "text-theme-highest",
395
+ children: e
396
+ }),
397
+ /*#__PURE__*/ C(h, {
398
+ onClick: X,
399
+ variant: "primary",
400
+ children: /*#__PURE__*/ C(D, { id: "bnql/K" })
401
+ })
402
+ ]
403
+ });
404
+ }
405
+ if (!m) return /*#__PURE__*/ w(f, {
406
+ className: "fixed inset-0",
407
+ distribution: "center",
408
+ alignment: "center",
409
+ direction: "vertical",
410
+ gap: "5",
411
+ children: [/*#__PURE__*/ C("p", {
412
+ className: "text-theme-highest",
413
+ children: /*#__PURE__*/ C(D, { id: "1pdLQw" })
414
+ }), /*#__PURE__*/ C(h, {
415
+ onClick: X,
416
+ variant: "primary",
417
+ children: /*#__PURE__*/ C(D, { id: "bnql/K" })
418
+ })]
419
+ });
420
+ let ve = m.status === re.DEACTIVATED, ye = m.visibility === x.PRIVATE, be = q?.status === "accepted", xe = m.owner === t, Se = K && be && b.canUpdateMember, Ce = !K && b.canUpdate, we = !K && b.canDelete && !m.protected, Te = !K && xe && m.visibility === x.SHARED && (b.canCreateMember || b.canDeleteMember), $ = Se || Ce || we || Te, Ee = $ || !K && b.canUpdate ? /*#__PURE__*/ w(p, { children: [
421
+ $ && /*#__PURE__*/ w(u, { children: [/*#__PURE__*/ C(d, {
422
+ as: "div",
423
+ children: /*#__PURE__*/ C(h, {
424
+ icon: "moreVert",
425
+ disabled: Z,
426
+ children: /*#__PURE__*/ C(D, { id: "PgNNGl" })
427
+ })
428
+ }), /*#__PURE__*/ w(e, { children: [
429
+ Se && /*#__PURE__*/ C(c, {
430
+ label: s._({ id: "1t/NnN" }),
431
+ onClick: () => Y("rejected")
432
+ }),
433
+ !K && b.canUpdate && /*#__PURE__*/ C(c, {
434
+ label: ve ? s._({ id: "FQBaXG" }) : s._({ id: "5y3O+A" }),
435
+ onClick: () => ve ? I(!0) : R(!0)
436
+ }),
437
+ !K && b.canUpdate && ye && /*#__PURE__*/ C(c, {
438
+ label: s._({ id: "gMYsdZ" }),
439
+ onClick: () => _e("shared")
440
+ }),
441
+ !K && xe && m.visibility === x.SHARED && (b.canCreateMember || b.canDeleteMember) && /*#__PURE__*/ C(c, {
442
+ label: s._({ id: "cWbW6w" }),
443
+ onClick: () => o({
444
+ to: "/projects/$projectId/compute/images/$imageId",
445
+ params: {
446
+ projectId: t,
447
+ imageId: m.id
448
+ },
449
+ search: { tab: "sharing" }
450
+ })
451
+ }),
452
+ !K && b.canDelete && !m.protected && /*#__PURE__*/ C(c, {
453
+ label: s._({ id: "cnGeoo" }),
454
+ onClick: () => P(!0)
455
+ })
456
+ ] })] }),
457
+ !K && b.canUpdate && /*#__PURE__*/ C(h, {
458
+ onClick: () => M(!0),
459
+ disabled: Z,
460
+ children: /*#__PURE__*/ C(D, { id: "SIfYq6" })
461
+ }),
462
+ !K && b.canUpdate && /*#__PURE__*/ C(h, {
463
+ onClick: () => A(!0),
464
+ variant: "primary",
465
+ disabled: Z,
466
+ children: /*#__PURE__*/ C(D, { id: "Y1YKad" })
467
+ })
468
+ ] }) : void 0;
469
+ return /*#__PURE__*/ w(S, { children: [
470
+ /*#__PURE__*/ C(ee, {
471
+ title: String(m.name ?? m.id),
472
+ projectId: t,
473
+ actions: Ee
474
+ }),
475
+ /*#__PURE__*/ C("div", {
476
+ className: "mt-3",
477
+ children: /*#__PURE__*/ C(fe, {
478
+ image: m,
479
+ currentProjectId: t,
480
+ activeTab: r ?? "details",
481
+ onTabChange: (e) => o({ search: { tab: e === "details" ? void 0 : e } }),
482
+ permissions: {
483
+ canCreateMember: b.canCreateMember,
484
+ canDeleteMember: b.canDeleteMember,
485
+ canUpdateMember: b.canUpdateMember
486
+ },
487
+ myMemberData: q,
488
+ onMemberStatusChange: Y,
489
+ isMemberStatusChanging: J.isPending
490
+ }, m.id)
491
+ }),
492
+ z && /*#__PURE__*/ C(a, { ...z }),
493
+ k && /*#__PURE__*/ C(se, {
494
+ image: m,
495
+ isOpen: k,
496
+ isLoading: V.isPending,
497
+ onClose: () => A(!1),
498
+ onSave: Q
499
+ }),
500
+ j && /*#__PURE__*/ C(ie, {
501
+ image: m,
502
+ isOpen: j,
503
+ isLoading: V.isPending,
504
+ onClose: () => M(!1),
505
+ onSave: Q
506
+ }),
507
+ N && /*#__PURE__*/ C(te, {
508
+ image: m,
509
+ isOpen: N,
510
+ isLoading: H.isPending,
511
+ isDisabled: !!m.protected,
512
+ onClose: () => P(!1),
513
+ onDelete: me
514
+ }),
515
+ F && /*#__PURE__*/ C(ne, {
516
+ image: m,
517
+ isOpen: F,
518
+ isLoading: W.isPending,
519
+ onClose: () => I(!1),
520
+ onActivate: he
521
+ }),
522
+ L && /*#__PURE__*/ C(ae, {
523
+ image: m,
524
+ isOpen: L,
525
+ isLoading: U.isPending,
526
+ onClose: () => R(!1),
527
+ onDeactivate: ge
528
+ })
529
+ ] });
530
+ }
531
+ //#endregion
532
+ export { F as component };
533
+
534
+ //# sourceMappingURL=_imageId-xG8hC49j.mjs.map