@cobaltcore-dev/aurora 0.5.0 → 0.7.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 (116) hide show
  1. package/README.md +59 -13
  2. package/dist/client/{ContentHeader-xQVhO2yT.mjs → ContentHeader-kx1Th5Sq.mjs} +18 -18
  3. package/dist/client/{ContentHeader-xQVhO2yT.mjs.map → ContentHeader-kx1Th5Sq.mjs.map} +1 -1
  4. package/dist/client/{DeleteFlavorModal-CHTUZ3YV.mjs → DeleteFlavorModal-C3cb7YiJ.mjs} +155 -155
  5. package/dist/client/{DeleteFlavorModal-CHTUZ3YV.mjs.map → DeleteFlavorModal-C3cb7YiJ.mjs.map} +1 -1
  6. package/dist/client/{EditSecurityGroupModal-CWHHx2Xk.mjs → EditSecurityGroupModal-CpP54WIK.mjs} +18 -18
  7. package/dist/client/{EditSecurityGroupModal-CWHHx2Xk.mjs.map → EditSecurityGroupModal-CpP54WIK.mjs.map} +1 -1
  8. package/dist/client/{FiltersInput-UKJpNFdr.mjs → FiltersInput-DxcyR6Bp.mjs} +18 -18
  9. package/dist/client/{FiltersInput-UKJpNFdr.mjs.map → FiltersInput-DxcyR6Bp.mjs.map} +1 -1
  10. package/dist/client/{FloatingIpActionModals-caXn6bYo.mjs → FloatingIpActionModals-BP8RWHbu.mjs} +55 -55
  11. package/dist/client/{FloatingIpActionModals-caXn6bYo.mjs.map → FloatingIpActionModals-BP8RWHbu.mjs.map} +1 -1
  12. package/dist/client/{ImageToastNotifications-BWimIzu_.mjs → ImageToastNotifications-TZ3EfQg-.mjs} +323 -371
  13. package/dist/client/ImageToastNotifications-TZ3EfQg-.mjs.map +1 -0
  14. package/dist/client/{RouteError-CUj_m3gu.mjs → RouteError-QSV7qOoJ.mjs} +2 -2
  15. package/dist/client/{RouteError-CUj_m3gu.mjs.map → RouteError-QSV7qOoJ.mjs.map} +1 -1
  16. package/dist/client/{SortInput-GQlQBlAj.mjs → SortInput-CYv2_Pur.mjs} +5 -5
  17. package/dist/client/{SortInput-GQlQBlAj.mjs.map → SortInput-CYv2_Pur.mjs.map} +1 -1
  18. package/dist/client/_auth-DXJkv9QO.mjs.map +1 -1
  19. package/dist/client/{_flavorId-sUWG0xuy.mjs → _flavorId-C2x43-6S.mjs} +9 -9
  20. package/dist/client/{_flavorId-sUWG0xuy.mjs.map → _flavorId-C2x43-6S.mjs.map} +1 -1
  21. package/dist/client/{_flavorId-C5dc1N_j.mjs → _flavorId-CR8ZUI-P.mjs} +46 -46
  22. package/dist/client/{_flavorId-C5dc1N_j.mjs.map → _flavorId-CR8ZUI-P.mjs.map} +1 -1
  23. package/dist/client/{_floatingIpId-CT4y-60o.mjs → _floatingIpId-BCk41_Lb.mjs} +2 -2
  24. package/dist/client/{_floatingIpId-CT4y-60o.mjs.map → _floatingIpId-BCk41_Lb.mjs.map} +1 -1
  25. package/dist/client/{_floatingIpId-COK_TBrz2.mjs → _floatingIpId-BGrOAmPT.mjs} +33 -33
  26. package/dist/client/_floatingIpId-BGrOAmPT.mjs.map +1 -0
  27. package/dist/client/_imageId-CvfD832b.mjs +534 -0
  28. package/dist/client/{_imageId-n3RcnhAR.mjs.map → _imageId-CvfD832b.mjs.map} +1 -1
  29. package/dist/client/_pcaId-BxBt5DXi.mjs +459 -0
  30. package/dist/client/_pcaId-BxBt5DXi.mjs.map +1 -0
  31. package/dist/client/{_pcaId-ChnM_t-9.mjs → _pcaId-DOHycvCf.mjs} +2 -2
  32. package/dist/client/{_pcaId-ChnM_t-9.mjs.map → _pcaId-DOHycvCf.mjs.map} +1 -1
  33. package/dist/client/{_projectId-26bw-_rm.mjs → _projectId-BDSWnMGj.mjs} +3 -3
  34. package/dist/client/{_projectId-26bw-_rm.mjs.map → _projectId-BDSWnMGj.mjs.map} +1 -1
  35. package/dist/client/{_projectId-Dhb4AyBD.mjs → _projectId-DOgwFiqD.mjs} +2 -2
  36. package/dist/client/{_projectId-Dhb4AyBD.mjs.map → _projectId-DOgwFiqD.mjs.map} +1 -1
  37. package/dist/client/_projectId-DS4nR59B.mjs +299 -0
  38. package/dist/client/_projectId-DS4nR59B.mjs.map +1 -0
  39. package/dist/client/{_projectId-BK9UqeYw.mjs → _projectId-MxcHrXW4.mjs} +12 -12
  40. package/dist/client/_projectId-MxcHrXW4.mjs.map +1 -0
  41. package/dist/client/{_securityGroupId-CR1mKICQ.mjs → _securityGroupId-CJJanWiY.mjs} +2 -2
  42. package/dist/client/{_securityGroupId-CR1mKICQ.mjs.map → _securityGroupId-CJJanWiY.mjs.map} +1 -1
  43. package/dist/client/{_securityGroupId-DroYG6cA.mjs → _securityGroupId-KKw4RPdH.mjs} +328 -328
  44. package/dist/client/{_securityGroupId-DroYG6cA.mjs.map → _securityGroupId-KKw4RPdH.mjs.map} +1 -1
  45. package/dist/client/{containers-DGY2hoWw.mjs → _storageType-4wSxI__0.mjs} +18 -15
  46. package/dist/client/_storageType-4wSxI__0.mjs.map +1 -0
  47. package/dist/client/{containers-ZMFTRaQL.mjs → _storageType-DYjo-6ej.mjs} +1054 -1088
  48. package/dist/client/_storageType-DYjo-6ej.mjs.map +1 -0
  49. package/dist/client/{containers-xfsYgRyf.mjs → _storageType-zeSZe--V.mjs} +2 -2
  50. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -0
  51. package/dist/client/{about-969pIiZ9.mjs → about-Bo9vxGHy.mjs} +8 -8
  52. package/dist/client/{about-969pIiZ9.mjs.map → about-Bo9vxGHy.mjs.map} +1 -1
  53. package/dist/client/{build-DracvfrJ.mjs → build-DeJcDjPi.mjs} +3798 -3372
  54. package/dist/client/build-DeJcDjPi.mjs.map +1 -0
  55. package/dist/client/constants-BmcGYeR-.mjs +153 -0
  56. package/dist/client/constants-BmcGYeR-.mjs.map +1 -0
  57. package/dist/client/{flavors-C4GtoybP.mjs → flavors-BxFVqgnb.mjs} +2 -2
  58. package/dist/client/{flavors-C4GtoybP.mjs.map → flavors-BxFVqgnb.mjs.map} +1 -1
  59. package/dist/client/{flavors-CpirO_nr.mjs → flavors-CfdgjsZY.mjs} +192 -192
  60. package/dist/client/{flavors-CpirO_nr.mjs.map → flavors-CfdgjsZY.mjs.map} +1 -1
  61. package/dist/client/{floatingips-BUf_oLRl.mjs → floatingips-ByRb82wS.mjs} +123 -123
  62. package/dist/client/{floatingips-BUf_oLRl.mjs.map → floatingips-ByRb82wS.mjs.map} +1 -1
  63. package/dist/client/{images-Da1t5KPh.mjs → images-CKqIXUq52.mjs} +613 -613
  64. package/dist/client/images-CKqIXUq52.mjs.map +1 -0
  65. package/dist/client/{images-CsonlmFx.mjs → images-C_dX7nY6.mjs} +2 -2
  66. package/dist/client/{images-CsonlmFx.mjs.map → images-C_dX7nY6.mjs.map} +1 -1
  67. package/dist/client/{images-QnWf63uj.mjs → images-CenluYV8.mjs} +2 -2
  68. package/dist/client/{images-QnWf63uj.mjs.map → images-CenluYV8.mjs.map} +1 -1
  69. package/dist/client/index.js +391 -431
  70. package/dist/client/index.js.map +1 -1
  71. package/dist/client/{md-sBiSNVSQ.mjs → md-CYTrL5dq.mjs} +52 -16
  72. package/dist/client/{md-sBiSNVSQ.mjs.map → md-CYTrL5dq.mjs.map} +1 -1
  73. package/dist/client/{objects-H0NN_Sja.mjs → objects-BJM6YeuF.mjs} +2131 -1883
  74. package/dist/client/objects-BJM6YeuF.mjs.map +1 -0
  75. package/dist/client/{objects-B89dYCBq.mjs → objects-gxSjvbvF.mjs} +36 -21
  76. package/dist/client/objects-gxSjvbvF.mjs.map +1 -0
  77. package/dist/client/{objects-CuFLUOe1.mjs → objects-o2Cj_ndZ.mjs} +2 -2
  78. package/dist/client/objects-o2Cj_ndZ.mjs.map +1 -0
  79. package/dist/client/{pca-CtU6REww.mjs → pca-Bl8NmoVZ.mjs} +2 -2
  80. package/dist/client/{pca-CtU6REww.mjs.map → pca-Bl8NmoVZ.mjs.map} +1 -1
  81. package/dist/client/pca-RSiWpJs9.mjs +182 -0
  82. package/dist/client/pca-RSiWpJs9.mjs.map +1 -0
  83. package/dist/client/{projects-DNXsDnJM.mjs → projects-CgclWI16.mjs} +33 -27
  84. package/dist/client/{projects-DNXsDnJM.mjs.map → projects-CgclWI16.mjs.map} +1 -1
  85. package/dist/client/{projects-dhnQkuvV.mjs → projects-D2iewAzu.mjs} +2 -2
  86. package/dist/client/{projects-dhnQkuvV.mjs.map → projects-D2iewAzu.mjs.map} +1 -1
  87. package/dist/client/{projects-C-sjd9T5.mjs → projects-pe2_dCnV.mjs} +2 -2
  88. package/dist/client/{projects-C-sjd9T5.mjs.map → projects-pe2_dCnV.mjs.map} +1 -1
  89. package/dist/client/projects-yiK0HGSA.mjs.map +1 -1
  90. package/dist/client/{securitygroups-wHdrxZXd.mjs → securitygroups-DahZkVYQ.mjs} +111 -111
  91. package/dist/client/{securitygroups-wHdrxZXd.mjs.map → securitygroups-DahZkVYQ.mjs.map} +1 -1
  92. package/dist/client/{useListWithFiltering-DrgUwXef.mjs → useListWithFiltering-DaYcu5AB.mjs} +12 -12
  93. package/dist/client/{useListWithFiltering-DrgUwXef.mjs.map → useListWithFiltering-DaYcu5AB.mjs.map} +1 -1
  94. package/dist/server/index.d.ts +571 -2
  95. package/dist/server/index.js +29 -211
  96. package/package.json +4 -5
  97. package/dist/client/ImageToastNotifications-BWimIzu_.mjs.map +0 -1
  98. package/dist/client/_floatingIpId-COK_TBrz2.mjs.map +0 -1
  99. package/dist/client/_imageId-n3RcnhAR.mjs +0 -534
  100. package/dist/client/_pcaId-B-f_6kqs.mjs +0 -466
  101. package/dist/client/_pcaId-B-f_6kqs.mjs.map +0 -1
  102. package/dist/client/_projectId-BK9UqeYw.mjs.map +0 -1
  103. package/dist/client/_projectId-CCtpAQ8m.mjs +0 -299
  104. package/dist/client/_projectId-CCtpAQ8m.mjs.map +0 -1
  105. package/dist/client/build-DracvfrJ.mjs.map +0 -1
  106. package/dist/client/constants-4lVQXort.mjs +0 -128
  107. package/dist/client/constants-4lVQXort.mjs.map +0 -1
  108. package/dist/client/containers-DGY2hoWw.mjs.map +0 -1
  109. package/dist/client/containers-ZMFTRaQL.mjs.map +0 -1
  110. package/dist/client/containers-xfsYgRyf.mjs.map +0 -1
  111. package/dist/client/images-Da1t5KPh.mjs.map +0 -1
  112. package/dist/client/objects-B89dYCBq.mjs.map +0 -1
  113. package/dist/client/objects-CuFLUOe1.mjs.map +0 -1
  114. package/dist/client/objects-H0NN_Sja.mjs.map +0 -1
  115. package/dist/client/pca-C-UFjicP.mjs +0 -167
  116. package/dist/client/pca-C-UFjicP.mjs.map +0 -1
@@ -0,0 +1,534 @@
1
+ import { A as e, B as t, C as n, J as r, K as i, P as a, Q as o, R as s, T as c, Y as l, ct as u, i as d, it as f, m as p, q as m, tt as ee } from "./build-DeJcDjPi.mjs";
2
+ import { r as h } from "./trpcClient-BzPUgiM2.mjs";
3
+ import { n as g, t as te } from "./ContentHeader-kx1Th5Sq.mjs";
4
+ import { A as _, D as ne, E as re, F as v, I as y, N as ie, O as ae, P as b, T as oe, d as se, k as ce, u as le } from "./ImageToastNotifications-TZ3EfQg-.mjs";
5
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
6
+ import w, { useState as T } from "react";
7
+ import { useNavigate as ue, useParams as de, useSearch as fe } from "@tanstack/react-router";
8
+ import { Trans as E, useLingui as D } from "@lingui/react";
9
+ //#region src/client/routes/_auth/projects/$projectId/compute/-components/Images/-components/ImageDetailsView.tsx
10
+ var O = ({ image: e, myMemberData: t, canUpdateMember: n, onStatusChange: r, isLoading: i }) => {
11
+ let { i18n: a, _: o } = D(), s = t.status === v.PENDING, c = t.status === v.REJECTED, l = t.created_at ? new Date(t.created_at).toLocaleString() : a._({ id: "fj5byd" }), f = t.updated_at ? new Date(t.updated_at).toLocaleString() : a._({ id: "fj5byd" }), m = e.owner ?? "";
12
+ return /*#__PURE__*/ C(p, { children: [
13
+ s && /*#__PURE__*/ S("p", {
14
+ className: "text-theme-highest font-semibold",
15
+ children: /*#__PURE__*/ S(E, { id: "/EcdUM" })
16
+ }),
17
+ /*#__PURE__*/ S("p", { children: /*#__PURE__*/ S(E, {
18
+ id: "Uwo8Xw",
19
+ values: {
20
+ ownerProject: m,
21
+ sharedAt: l
22
+ },
23
+ components: { 0: /*#__PURE__*/ S("span", { className: "font-semibold" }) }
24
+ }) }),
25
+ /*#__PURE__*/ C("ul", { children: [
26
+ /*#__PURE__*/ C("li", { children: [
27
+ /*#__PURE__*/ S("span", {
28
+ className: "font-semibold",
29
+ children: /*#__PURE__*/ S(E, { id: "azXlY+" })
30
+ }),
31
+ " ",
32
+ t.status
33
+ ] }),
34
+ /*#__PURE__*/ C("li", { children: [
35
+ /*#__PURE__*/ S("span", {
36
+ className: "font-semibold",
37
+ children: /*#__PURE__*/ S(E, { id: "G6AP+o" })
38
+ }),
39
+ " ",
40
+ l
41
+ ] }),
42
+ /*#__PURE__*/ C("li", { children: [
43
+ /*#__PURE__*/ S("span", {
44
+ className: "font-semibold",
45
+ children: /*#__PURE__*/ S(E, { id: "pFg+7w" })
46
+ }),
47
+ " ",
48
+ f
49
+ ] })
50
+ ] }),
51
+ n && (s || c) && /*#__PURE__*/ C(d, { children: [/*#__PURE__*/ S(u, {
52
+ onClick: () => r(v.ACCEPTED),
53
+ disabled: i,
54
+ children: /*#__PURE__*/ S(E, { id: "g3UF2V" })
55
+ }), s && /*#__PURE__*/ S(u, {
56
+ onClick: () => r(v.REJECTED),
57
+ disabled: i,
58
+ children: /*#__PURE__*/ S(E, { id: "1t/NnN" })
59
+ })] })
60
+ ] });
61
+ }, k = ({ image: t }) => {
62
+ let { i18n: n, _: r } = D();
63
+ return /*#__PURE__*/ C(l, {
64
+ px: !1,
65
+ py: !0,
66
+ children: [/*#__PURE__*/ S(m, { children: n._({ id: "nW/hX9" }) }), /*#__PURE__*/ C(e, {
67
+ alignTerms: "right",
68
+ children: [
69
+ /*#__PURE__*/ S(i, { children: n._({ id: "S0kLOH" }) }),
70
+ /*#__PURE__*/ S(c, { children: /*#__PURE__*/ S(g, { text: t.id }) }),
71
+ /*#__PURE__*/ S(i, { children: n._({ id: "6YtxFj" }) }),
72
+ /*#__PURE__*/ S(c, { children: t.name }),
73
+ /*#__PURE__*/ S(i, { children: n._({ id: "uAQUqI" }) }),
74
+ /*#__PURE__*/ S(c, { children: t.status }),
75
+ /*#__PURE__*/ S(i, { children: n._({ id: "Cj2Gtd" }) }),
76
+ /*#__PURE__*/ S(c, { children: /*#__PURE__*/ S(y, { size: t.size }) }),
77
+ /*#__PURE__*/ S(i, { children: n._({ id: "Cxgv2U" }) }),
78
+ /*#__PURE__*/ C(c, { children: [t.min_disk, " GB"] }),
79
+ /*#__PURE__*/ S(i, { children: n._({ id: "B2Czeb" }) }),
80
+ /*#__PURE__*/ C(c, { children: [t.min_ram, " MB"] }),
81
+ /*#__PURE__*/ S(i, { children: n._({ id: "NopYGU" }) }),
82
+ /*#__PURE__*/ S(c, { children: /*#__PURE__*/ S("span", {
83
+ className: "uppercase",
84
+ children: t.disk_format
85
+ }) }),
86
+ /*#__PURE__*/ S(i, { children: n._({ id: "6/xipy" }) }),
87
+ /*#__PURE__*/ S(c, { children: /*#__PURE__*/ S("span", {
88
+ className: "uppercase",
89
+ children: t.container_format
90
+ }) }),
91
+ /*#__PURE__*/ S(i, { children: n._({ id: "88kg0+" }) }),
92
+ /*#__PURE__*/ S(c, { children: t.created_at ? new Date(t.created_at).toLocaleDateString() : n._({ id: "fj5byd" }) }),
93
+ /*#__PURE__*/ S(i, { children: n._({ id: "Llcakz" }) }),
94
+ /*#__PURE__*/ S(c, { children: t.updated_at ? new Date(t.updated_at).toLocaleDateString() : n._({ id: "fj5byd" }) })
95
+ ]
96
+ })]
97
+ });
98
+ }, A = ({ image: t, currentProjectId: n }) => {
99
+ let { i18n: r, _: a } = D(), o = t.visibility === "shared" && t.owner !== void 0 && t.owner !== n;
100
+ return /*#__PURE__*/ C(l, {
101
+ px: !1,
102
+ py: !0,
103
+ children: [/*#__PURE__*/ S(m, { children: r._({ id: "a3LDKx" }) }), /*#__PURE__*/ C(e, {
104
+ alignTerms: "right",
105
+ children: [
106
+ /*#__PURE__*/ S(i, { children: o ? r._({ id: "20axE5" }) : r._({ id: "YsrbQh" }) }),
107
+ /*#__PURE__*/ S(c, { children: t.owner ? /*#__PURE__*/ S(g, { text: t.owner }) : "" }),
108
+ /*#__PURE__*/ S(i, { children: r._({ id: "2q/Q7x" }) }),
109
+ /*#__PURE__*/ S(c, { children: t.visibility }),
110
+ /*#__PURE__*/ S(i, { children: r._({ id: "644xgx" }) }),
111
+ /*#__PURE__*/ S(c, { children: t.protected ? r._({ id: "l75CjT" }) : r._({ id: "1UzENP" }) }),
112
+ /*#__PURE__*/ S(i, { children: r._({ id: "PzgYM9" }) }),
113
+ /*#__PURE__*/ S(c, { children: t?.checksum ? t.checksum : "" })
114
+ ]
115
+ })]
116
+ });
117
+ }, j = ({ image: t }) => {
118
+ let { i18n: n, _: r } = D(), 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
+ ]), o = Object.entries(t).filter(([e]) => !a.has(e)).sort(([e], [t]) => e.localeCompare(t)), s = o.length > 0;
134
+ return /*#__PURE__*/ C(l, {
135
+ px: !1,
136
+ py: !0,
137
+ children: [/*#__PURE__*/ S(m, { children: n._({ id: "bc67JN" }) }), s ? /*#__PURE__*/ S(e, {
138
+ alignTerms: "right",
139
+ className: "grid-cols-4",
140
+ children: o.map(([e, t]) => /*#__PURE__*/ C(w.Fragment, { children: [/*#__PURE__*/ S(i, {
141
+ className: "col-span-1",
142
+ children: e
143
+ }), /*#__PURE__*/ S(c, {
144
+ className: "col-span-1",
145
+ children: t == null ? /*#__PURE__*/ S("span", { children: "null" }) : typeof t == "object" ? /*#__PURE__*/ S("span", {
146
+ className: "break-all",
147
+ children: JSON.stringify(t)
148
+ }) : typeof t == "boolean" ? t ? n._({ id: "c+xCSz" }) : n._({ id: "ocUvR+" }) : /*#__PURE__*/ S("span", {
149
+ className: "break-all",
150
+ children: String(t)
151
+ })
152
+ })] }, e))
153
+ }) : /*#__PURE__*/ S("p", {
154
+ className: "text-theme-light",
155
+ children: n._({ id: "9v5VLp" })
156
+ })]
157
+ });
158
+ }, M = (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
+ }, N = ({ image: e, permissions: n, currentProjectId: r }) => {
162
+ let [i, a] = T(!1), [o, s] = T(null), { data: c, isLoading: u } = h.compute.listImageMembers.useQuery({
163
+ project_id: r,
164
+ imageId: e.id
165
+ }, { enabled: !!e.id && !!r });
166
+ return /*#__PURE__*/ C(l, {
167
+ px: !1,
168
+ py: !0,
169
+ children: [o && /*#__PURE__*/ S(t, {
170
+ text: o.text,
171
+ variant: o.type,
172
+ onDismiss: () => s(null),
173
+ className: "mb-4"
174
+ }), /*#__PURE__*/ S(_, {
175
+ image: e,
176
+ imageMembers: c,
177
+ isMembersLoading: u,
178
+ canAdd: n?.canCreateMember ?? !1,
179
+ canRemove: n?.canDeleteMember ?? !1,
180
+ isAddingMember: i,
181
+ setIsAddingMember: a,
182
+ setMessage: s,
183
+ projectId: r
184
+ })]
185
+ });
186
+ }, pe = ({ image: e, currentProjectId: t, activeTab: n = "details", onTabChange: r, permissions: i, myMemberData: a, onMemberStatusChange: s, isMemberStatusChanging: c, actions: l }) => {
187
+ let { i18n: u, _: d } = D(), f = e.visibility === "shared" && e.owner !== void 0 && e.owner !== t, p = e.owner === t && e.visibility === "shared";
188
+ return /*#__PURE__*/ C(o, {
189
+ direction: "vertical",
190
+ gap: "6",
191
+ children: [
192
+ f && a && s && /*#__PURE__*/ S(O, {
193
+ image: e,
194
+ myMemberData: a,
195
+ canUpdateMember: i?.canUpdateMember ?? !1,
196
+ onStatusChange: s,
197
+ isLoading: c ?? !1
198
+ }),
199
+ p && /*#__PURE__*/ S("div", {
200
+ className: "border-theme-background-lvl-3 border-b",
201
+ children: /*#__PURE__*/ C(o, {
202
+ direction: "horizontal",
203
+ gap: "0",
204
+ children: [/*#__PURE__*/ S("button", {
205
+ className: M(n === "details"),
206
+ onClick: () => r?.("details"),
207
+ children: u._({ id: "URmyfc" })
208
+ }), /*#__PURE__*/ S("button", {
209
+ className: M(n === "sharing"),
210
+ onClick: () => r?.("sharing"),
211
+ children: u._({ id: "aG9OiI" })
212
+ })]
213
+ })
214
+ }),
215
+ (n === "details" || !p) && /*#__PURE__*/ C(x, { children: [
216
+ l,
217
+ /*#__PURE__*/ S(k, { image: e }),
218
+ /*#__PURE__*/ S(A, {
219
+ image: e,
220
+ currentProjectId: t
221
+ }),
222
+ /*#__PURE__*/ S(j, { image: e })
223
+ ] }),
224
+ n === "sharing" && p && /*#__PURE__*/ S(N, {
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 P() {
234
+ let { projectId: e, imageId: t } = de({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), { tab: i } = fe({ from: "/_auth/projects/$projectId/compute/images/$imageId" }), c = ue(), { i18n: l, _: p } = D(), { data: m, status: g, error: _ } = h.compute.getImageById.useQuery({
235
+ project_id: e,
236
+ imageId: t
237
+ }), { data: v } = h.compute.canUser.useQuery({
238
+ project_id: e,
239
+ permission: [
240
+ "images:delete",
241
+ "images:update",
242
+ "images:create_member",
243
+ "images:delete_member",
244
+ "images:update_member"
245
+ ]
246
+ }), y = {
247
+ canDelete: v?.[0] ?? !1,
248
+ canUpdate: v?.[1] ?? !1,
249
+ canCreateMember: v?.[2] ?? !1,
250
+ canDeleteMember: v?.[3] ?? !1,
251
+ canUpdateMember: v?.[4] ?? !1
252
+ }, w = h.useUtils(), [O, k] = T(!1), [A, j] = T(!1), [M, N] = T(!1), [P, F] = T(!1), [I, L] = T(!1), [R, z] = T(null), B = h.compute.updateImage.useMutation({ onSuccess: (n) => {
253
+ w.compute.getImageById.setData({
254
+ project_id: e,
255
+ imageId: t
256
+ }, n), w.compute.listImagesWithPagination.invalidate();
257
+ } }), V = h.compute.deleteImage.useMutation({ onSuccess: () => {
258
+ w.compute.listImagesWithPagination.invalidate();
259
+ } }), H = h.compute.deactivateImage.useMutation({ onSuccess: () => {
260
+ w.compute.getImageById.invalidate({
261
+ project_id: e,
262
+ imageId: t
263
+ });
264
+ } }), U = h.compute.reactivateImage.useMutation({ onSuccess: () => {
265
+ w.compute.getImageById.invalidate({
266
+ project_id: e,
267
+ imageId: t
268
+ });
269
+ } }), W = h.compute.updateImageVisibility.useMutation({ onSuccess: (n) => {
270
+ w.compute.getImageById.setData({
271
+ project_id: e,
272
+ imageId: t
273
+ }, n);
274
+ } }), G = m?.visibility === b.SHARED && m?.owner !== void 0 && m?.owner !== e, { data: K } = h.compute.getImageMember.useQuery({
275
+ project_id: e,
276
+ imageId: t,
277
+ memberId: e
278
+ }, { enabled: G && !!t && !!e }), q = h.compute.updateImageMember.useMutation({ onSuccess: () => {
279
+ w.compute.getImageMember.invalidate({
280
+ project_id: e,
281
+ imageId: t,
282
+ memberId: e
283
+ }), w.compute.listImageMembers.invalidate({
284
+ project_id: e,
285
+ imageId: t
286
+ }), w.compute.listImagesWithPagination.invalidate(), w.compute.listSharedImagesByMemberStatus.invalidate();
287
+ } }), J = async (n) => {
288
+ try {
289
+ await q.mutateAsync({
290
+ project_id: e,
291
+ imageId: t,
292
+ memberId: e,
293
+ status: n
294
+ }), z(se(n, { onDismiss: () => z(null) }));
295
+ } catch (e) {
296
+ let t = e?.message;
297
+ z(le(t, { onDismiss: () => z(null) }));
298
+ }
299
+ }, Y = () => {
300
+ c({
301
+ to: "/projects/$projectId/compute/images",
302
+ params: { projectId: e }
303
+ });
304
+ }, X = B.isPending || V.isPending || H.isPending || U.isPending || W.isPending, me = (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
+ }, Z = async (n) => {
322
+ if (!m) return !1;
323
+ let r = me(n, m);
324
+ try {
325
+ return await B.mutateAsync({
326
+ project_id: e,
327
+ imageId: t,
328
+ operations: r
329
+ }), k(!1), !0;
330
+ } catch {
331
+ return !1;
332
+ }
333
+ }, he = async (t) => {
334
+ try {
335
+ await V.mutateAsync({
336
+ project_id: e,
337
+ imageId: t.id
338
+ }), N(!1), Y();
339
+ } catch {
340
+ N(!1);
341
+ }
342
+ }, ge = async (t) => {
343
+ try {
344
+ await U.mutateAsync({
345
+ project_id: e,
346
+ imageId: t.id
347
+ }), F(!1);
348
+ } catch {
349
+ F(!1);
350
+ }
351
+ }, _e = async (t) => {
352
+ try {
353
+ await H.mutateAsync({
354
+ project_id: e,
355
+ imageId: t.id
356
+ }), L(!1);
357
+ } catch {
358
+ L(!1);
359
+ }
360
+ }, ve = async (t) => {
361
+ if (m) try {
362
+ await W.mutateAsync({
363
+ project_id: e,
364
+ imageId: m.id,
365
+ visibility: t
366
+ });
367
+ } catch {}
368
+ };
369
+ if (g === "pending") return /*#__PURE__*/ C(o, {
370
+ className: "fixed inset-0",
371
+ distribution: "center",
372
+ alignment: "center",
373
+ direction: "vertical",
374
+ children: [/*#__PURE__*/ S(s, {
375
+ variant: "primary",
376
+ size: "large",
377
+ className: "mb-2"
378
+ }), /*#__PURE__*/ S(E, { id: "hH3kDo" })]
379
+ });
380
+ if (g === "error") {
381
+ let e = _?.message || "Unknown error";
382
+ return /*#__PURE__*/ C(o, {
383
+ className: "fixed inset-0",
384
+ distribution: "center",
385
+ alignment: "center",
386
+ direction: "vertical",
387
+ gap: "5",
388
+ children: [
389
+ /*#__PURE__*/ S("p", {
390
+ className: "text-theme-error font-semibold",
391
+ children: /*#__PURE__*/ S(E, { id: "Jh4rAZ" })
392
+ }),
393
+ /*#__PURE__*/ S("p", {
394
+ className: "text-theme-highest",
395
+ children: e
396
+ }),
397
+ /*#__PURE__*/ S(u, {
398
+ onClick: Y,
399
+ variant: "primary",
400
+ children: /*#__PURE__*/ S(E, { id: "bnql/K" })
401
+ })
402
+ ]
403
+ });
404
+ }
405
+ if (!m) return /*#__PURE__*/ C(o, {
406
+ className: "fixed inset-0",
407
+ distribution: "center",
408
+ alignment: "center",
409
+ direction: "vertical",
410
+ gap: "5",
411
+ children: [/*#__PURE__*/ S("p", {
412
+ className: "text-theme-highest",
413
+ children: /*#__PURE__*/ S(E, { id: "1pdLQw" })
414
+ }), /*#__PURE__*/ S(u, {
415
+ onClick: Y,
416
+ variant: "primary",
417
+ children: /*#__PURE__*/ S(E, { id: "bnql/K" })
418
+ })]
419
+ });
420
+ let Q = m.status === ie.DEACTIVATED, ye = m.visibility === b.PRIVATE, be = K?.status === "accepted", $ = m.owner === e, xe = G && be && y.canUpdateMember, Se = !G && y.canUpdate, Ce = !G && y.canDelete && !m.protected, we = !G && $ && m.visibility === b.SHARED && (y.canCreateMember || y.canDeleteMember), Te = xe || Se || Ce || we, Ee = Te || !G && y.canUpdate ? /*#__PURE__*/ C(d, { children: [
421
+ Te && /*#__PURE__*/ C(a, { children: [/*#__PURE__*/ S(n, {
422
+ as: "div",
423
+ children: /*#__PURE__*/ S(u, {
424
+ icon: "moreVert",
425
+ disabled: X,
426
+ children: /*#__PURE__*/ S(E, { id: "PgNNGl" })
427
+ })
428
+ }), /*#__PURE__*/ C(ee, { children: [
429
+ xe && /*#__PURE__*/ S(f, {
430
+ label: l._({ id: "1t/NnN" }),
431
+ onClick: () => J("rejected")
432
+ }),
433
+ !G && y.canUpdate && /*#__PURE__*/ S(f, {
434
+ label: Q ? l._({ id: "FQBaXG" }) : l._({ id: "5y3O+A" }),
435
+ onClick: () => Q ? F(!0) : L(!0)
436
+ }),
437
+ !G && y.canUpdate && ye && /*#__PURE__*/ S(f, {
438
+ label: l._({ id: "gMYsdZ" }),
439
+ onClick: () => ve("shared")
440
+ }),
441
+ !G && $ && m.visibility === b.SHARED && (y.canCreateMember || y.canDeleteMember) && /*#__PURE__*/ S(f, {
442
+ label: l._({ id: "cWbW6w" }),
443
+ onClick: () => c({
444
+ to: "/projects/$projectId/compute/images/$imageId",
445
+ params: {
446
+ projectId: e,
447
+ imageId: m.id
448
+ },
449
+ search: { tab: "sharing" }
450
+ })
451
+ }),
452
+ !G && y.canDelete && !m.protected && /*#__PURE__*/ S(f, {
453
+ label: l._({ id: "cnGeoo" }),
454
+ onClick: () => N(!0)
455
+ })
456
+ ] })] }),
457
+ !G && y.canUpdate && /*#__PURE__*/ S(u, {
458
+ onClick: () => j(!0),
459
+ disabled: X,
460
+ children: /*#__PURE__*/ S(E, { id: "SIfYq6" })
461
+ }),
462
+ !G && y.canUpdate && /*#__PURE__*/ S(u, {
463
+ onClick: () => k(!0),
464
+ variant: "primary",
465
+ disabled: X,
466
+ children: /*#__PURE__*/ S(E, { id: "Y1YKad" })
467
+ })
468
+ ] }) : void 0;
469
+ return /*#__PURE__*/ C(x, { children: [
470
+ /*#__PURE__*/ S(te, {
471
+ title: String(m.name ?? m.id),
472
+ projectId: e,
473
+ actions: Ee
474
+ }),
475
+ /*#__PURE__*/ S("div", {
476
+ className: "mt-3",
477
+ children: /*#__PURE__*/ S(pe, {
478
+ image: m,
479
+ currentProjectId: e,
480
+ activeTab: i ?? "details",
481
+ onTabChange: (e) => c({ search: { tab: e === "details" ? void 0 : e } }),
482
+ permissions: {
483
+ canCreateMember: y.canCreateMember,
484
+ canDeleteMember: y.canDeleteMember,
485
+ canUpdateMember: y.canUpdateMember
486
+ },
487
+ myMemberData: K,
488
+ onMemberStatusChange: J,
489
+ isMemberStatusChanging: q.isPending
490
+ }, m.id)
491
+ }),
492
+ R && /*#__PURE__*/ S(r, { ...R }),
493
+ O && /*#__PURE__*/ S(ce, {
494
+ image: m,
495
+ isOpen: O,
496
+ isLoading: B.isPending,
497
+ onClose: () => k(!1),
498
+ onSave: Z
499
+ }),
500
+ A && /*#__PURE__*/ S(ae, {
501
+ image: m,
502
+ isOpen: A,
503
+ isLoading: B.isPending,
504
+ onClose: () => j(!1),
505
+ onSave: Z
506
+ }),
507
+ M && /*#__PURE__*/ S(ne, {
508
+ image: m,
509
+ isOpen: M,
510
+ isLoading: V.isPending,
511
+ isDisabled: !!m.protected,
512
+ onClose: () => N(!1),
513
+ onDelete: he
514
+ }),
515
+ P && /*#__PURE__*/ S(re, {
516
+ image: m,
517
+ isOpen: P,
518
+ isLoading: U.isPending,
519
+ onClose: () => F(!1),
520
+ onActivate: ge
521
+ }),
522
+ I && /*#__PURE__*/ S(oe, {
523
+ image: m,
524
+ isOpen: I,
525
+ isLoading: H.isPending,
526
+ onClose: () => L(!1),
527
+ onDeactivate: _e
528
+ })
529
+ ] });
530
+ }
531
+ //#endregion
532
+ export { P as component };
533
+
534
+ //# sourceMappingURL=_imageId-CvfD832b.mjs.map