@cobaltcore-dev/aurora 0.15.0 → 0.17.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 (73) hide show
  1. package/dist/client/AuthProvider-BQSJk5R4.mjs +63 -0
  2. package/dist/client/AuthProvider-BQSJk5R4.mjs.map +1 -0
  3. package/dist/client/{FloatingIpActionModals-DWS9UO6o.mjs → FloatingIpActionModals-BUc6yaQ8.mjs} +2 -2
  4. package/dist/client/{FloatingIpActionModals-DWS9UO6o.mjs.map → FloatingIpActionModals-BUc6yaQ8.mjs.map} +1 -1
  5. package/dist/client/{ImageToastNotifications-B2BIyk1P.mjs → ImageToastNotifications-Dz-VsSwl.mjs} +2 -2
  6. package/dist/client/{ImageToastNotifications-B2BIyk1P.mjs.map → ImageToastNotifications-Dz-VsSwl.mjs.map} +1 -1
  7. package/dist/client/StatusError-CLB026fg.mjs +39 -0
  8. package/dist/client/StatusError-CLB026fg.mjs.map +1 -0
  9. package/dist/client/{_auth-DnImOqR-.mjs → _auth-6uste_10.mjs} +2 -2
  10. package/dist/client/{_auth-DnImOqR-.mjs.map → _auth-6uste_10.mjs.map} +1 -1
  11. package/dist/client/{_flavorId-DGYrR9ri.mjs → _flavorId-C6RJfhh8.mjs} +5 -4
  12. package/dist/client/{_flavorId-DGYrR9ri.mjs.map → _flavorId-C6RJfhh8.mjs.map} +1 -1
  13. package/dist/client/_flavorId-Cx5tf2KQ.mjs +32 -0
  14. package/dist/client/_flavorId-Cx5tf2KQ.mjs.map +1 -0
  15. package/dist/client/{_floatingIpId-uQHRPZPg.mjs → _floatingIpId-B0l4YNQc.mjs} +2 -2
  16. package/dist/client/{_floatingIpId-uQHRPZPg.mjs.map → _floatingIpId-B0l4YNQc.mjs.map} +1 -1
  17. package/dist/client/{_floatingIpId-DnSQdKNp2.mjs → _floatingIpId-cpueAc2F2.mjs} +4 -4
  18. package/dist/client/{_floatingIpId-DnSQdKNp2.mjs.map → _floatingIpId-cpueAc2F2.mjs.map} +1 -1
  19. package/dist/client/{_imageId-BFqkCs9I.mjs → _imageId-Bv711w1n.mjs} +2 -2
  20. package/dist/client/{_imageId-BFqkCs9I.mjs.map → _imageId-Bv711w1n.mjs.map} +1 -1
  21. package/dist/client/{_pcaId-B1nd5Nm5.mjs → _pcaId-CPLb5J6d.mjs} +4 -4
  22. package/dist/client/{_pcaId-B1nd5Nm5.mjs.map → _pcaId-CPLb5J6d.mjs.map} +1 -1
  23. package/dist/client/{_pcaId-CmcN3vRn.mjs → _pcaId-Hx_72pnp.mjs} +2 -2
  24. package/dist/client/{_pcaId-CmcN3vRn.mjs.map → _pcaId-Hx_72pnp.mjs.map} +1 -1
  25. package/dist/client/_projectId-BOaPmCuz.mjs +46 -0
  26. package/dist/client/_projectId-BOaPmCuz.mjs.map +1 -0
  27. package/dist/client/{_projectId-CX6OtON6.mjs → _projectId-fEA6fnFQ.mjs} +2 -2
  28. package/dist/client/{_projectId-CX6OtON6.mjs.map → _projectId-fEA6fnFQ.mjs.map} +1 -1
  29. package/dist/client/_projectId-qvINx3Dx.mjs +25 -0
  30. package/dist/client/_projectId-qvINx3Dx.mjs.map +1 -0
  31. package/dist/client/{_securityGroupId-Wa7Be5pg.mjs → _securityGroupId-B-RYPDDc.mjs} +2 -2
  32. package/dist/client/{_securityGroupId-Wa7Be5pg.mjs.map → _securityGroupId-B-RYPDDc.mjs.map} +1 -1
  33. package/dist/client/{_securityGroupId-BMzod4iC.mjs → _securityGroupId-BC3KC6h5.mjs} +3 -3
  34. package/dist/client/{_securityGroupId-BMzod4iC.mjs.map → _securityGroupId-BC3KC6h5.mjs.map} +1 -1
  35. package/dist/client/{_storageType-Dh6osG7k.mjs → _storageType-MgntkZb6.mjs} +976 -1025
  36. package/dist/client/_storageType-MgntkZb6.mjs.map +1 -0
  37. package/dist/client/{_storageType-B1iNA96q.mjs → _storageType-ZFnIALny.mjs} +2 -2
  38. package/dist/client/{_storageType-B1iNA96q.mjs.map → _storageType-ZFnIALny.mjs.map} +1 -1
  39. package/dist/client/{aurora-6RsAZtnz.mjs → aurora-AAy9BJE7.mjs} +2 -2
  40. package/dist/client/{aurora-6RsAZtnz.mjs.map → aurora-AAy9BJE7.mjs.map} +1 -1
  41. package/dist/client/{constants-D8Zrv7HP.mjs → constants-BAqOfvr0.mjs} +2 -2
  42. package/dist/client/{constants-D8Zrv7HP.mjs.map → constants-BAqOfvr0.mjs.map} +1 -1
  43. package/dist/client/{floatingips-D7D6iFhe.mjs → floatingips-Bkk5-I_p.mjs} +3 -3
  44. package/dist/client/{floatingips-D7D6iFhe.mjs.map → floatingips-Bkk5-I_p.mjs.map} +1 -1
  45. package/dist/client/{hooks-CMgoYcDG.mjs → hooks-CnX5q5wN.mjs} +1 -1
  46. package/dist/client/{images-N0oXygX-.mjs → images-DBLfzuJA.mjs} +4 -4
  47. package/dist/client/{images-N0oXygX-.mjs.map → images-DBLfzuJA.mjs.map} +1 -1
  48. package/dist/client/{images-DEXWCufm.mjs → images-FE3vJ6pP.mjs} +2 -2
  49. package/dist/client/{images-DEXWCufm.mjs.map → images-FE3vJ6pP.mjs.map} +1 -1
  50. package/dist/client/index.d.ts +1 -1
  51. package/dist/client/index.js +49 -43
  52. package/dist/client/index.js.map +1 -1
  53. package/dist/client/{objects-BdS0ac84.mjs → objects-Deo1Ic1A.mjs} +2053 -2095
  54. package/dist/client/objects-Deo1Ic1A.mjs.map +1 -0
  55. package/dist/client/{objects--igvFrFM.mjs → objects-DpgXMFrG.mjs} +2 -2
  56. package/dist/client/{objects--igvFrFM.mjs.map → objects-DpgXMFrG.mjs.map} +1 -1
  57. package/dist/client/{pca-D0mKfROV.mjs → pca-BkAJ5jvX.mjs} +2 -2
  58. package/dist/client/{pca-D0mKfROV.mjs.map → pca-BkAJ5jvX.mjs.map} +1 -1
  59. package/dist/client/{pca-CXmRq6RN.mjs → pca-P0ud1PA9.mjs} +4 -4
  60. package/dist/client/{pca-CXmRq6RN.mjs.map → pca-P0ud1PA9.mjs.map} +1 -1
  61. package/dist/client/{securitygroups-CEAGUVYa.mjs → securitygroups-D14Jv1GQ.mjs} +2 -2
  62. package/dist/client/{securitygroups-CEAGUVYa.mjs.map → securitygroups-D14Jv1GQ.mjs.map} +1 -1
  63. package/package.json +2 -4
  64. package/dist/client/AuthProvider-DZqOvceF.mjs +0 -64
  65. package/dist/client/AuthProvider-DZqOvceF.mjs.map +0 -1
  66. package/dist/client/_flavorId-CSEkiIo3.mjs +0 -67
  67. package/dist/client/_flavorId-CSEkiIo3.mjs.map +0 -1
  68. package/dist/client/_projectId-B2cvskLV.mjs +0 -8
  69. package/dist/client/_projectId-B2cvskLV.mjs.map +0 -1
  70. package/dist/client/_projectId-Dn_GjZnp.mjs +0 -27
  71. package/dist/client/_projectId-Dn_GjZnp.mjs.map +0 -1
  72. package/dist/client/_storageType-Dh6osG7k.mjs.map +0 -1
  73. package/dist/client/objects-BdS0ac84.mjs.map +0 -1
@@ -1,67 +0,0 @@
1
- import { Y as e, Z as t, ut as n, y as r } from "./build-DgeVmENN.mjs";
2
- import { t as i } from "./helpers-1PpYf-fC.mjs";
3
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
- import { createFileRoute as s, lazyRouteComponent as c, redirect as l } from "@tanstack/react-router";
5
- import { Trans as u } from "@lingui/react";
6
- //#region src/client/components/Error/StatusError.tsx
7
- function d({ message: i, statusCode: s, onHomeClick: c, onBackClick: l, title: d, reset: f }) {
8
- return /*#__PURE__*/ o(t, {
9
- className: "mx-auto flex min-h-full max-w-3xl flex-col items-center justify-center px-6 py-12 sm:px-12 md:px-20",
10
- children: [
11
- s && /*#__PURE__*/ a("div", {
12
- className: "text-theme-high text-6xl font-bold",
13
- children: s
14
- }),
15
- /*#__PURE__*/ a(e, { children: d }),
16
- /*#__PURE__*/ a("p", { children: i }),
17
- (l || c || f) && /*#__PURE__*/ o(n, {
18
- className: "mt-6",
19
- children: [
20
- l && /*#__PURE__*/ a(r, {
21
- onClick: l,
22
- variant: "primary",
23
- children: /*#__PURE__*/ a(u, { id: "iH8pgl" })
24
- }),
25
- c && /*#__PURE__*/ a(r, {
26
- onClick: c,
27
- children: /*#__PURE__*/ a(u, { id: "i0qMbr" })
28
- }),
29
- f && /*#__PURE__*/ a(r, {
30
- onClick: f,
31
- children: /*#__PURE__*/ a(u, { id: "qJb6G2" })
32
- })
33
- ]
34
- })
35
- ]
36
- });
37
- }
38
- var f = s("/_auth/projects/$projectId/compute/flavors/$flavorId")({
39
- staticData: {
40
- section: "compute",
41
- service: "flavors",
42
- analytics: { name: "compute.flavors.detail" },
43
- isDetail: !0,
44
- sectionCrumb: { labelKey: "Compute" },
45
- crumb: {
46
- labelKey: "Flavors",
47
- to: "/projects/$projectId/compute/flavors"
48
- }
49
- },
50
- loader: async ({ context: e, params: t }) => ({ flavorName: (await e.trpcClient?.compute.getFlavorById.query({
51
- project_id: t.projectId,
52
- flavorId: t.flavorId
53
- }))?.name ?? null }),
54
- head: ({ loaderData: e }) => ({ meta: [{ title: e?.flavorName ?? "Flavor Details" }] }),
55
- component: c(() => import("./_flavorId-DGYrR9ri.mjs"), "component"),
56
- beforeLoad: async ({ context: e, params: t }) => {
57
- let { trpcClient: n } = e, { projectId: r } = t, a = i(await n?.auth.getAvailableServices.query() || []);
58
- if (!a.flavor && !a.compute) throw l({
59
- to: "/projects/$projectId",
60
- params: { projectId: r }
61
- });
62
- }
63
- });
64
- //#endregion
65
- export { d as n, f as t };
66
-
67
- //# sourceMappingURL=_flavorId-CSEkiIo3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_flavorId-CSEkiIo3.mjs","names":["Button","ButtonRow","Container","ContentHeading","StatusError","message","statusCode","onHomeClick","onBackClick","title","reset","className","div","p","onClick","variant","createFileRoute","redirect","getServiceIndex","Route","staticData","section","service","analytics","name","isDetail","sectionCrumb","labelKey","crumb","to","RouteInfo","loader","context","params","flavor","trpcClient","compute","getFlavorById","query","project_id","projectId","flavorId","flavorName","head","loaderData","meta","title","component","lazyRouteComponent","$$splitComponentImporter","beforeLoad","availableServices","auth","getAvailableServices","serviceIndex"],"sources":["../../src/client/components/Error/StatusError.tsx","../../src/client/routes/_auth/projects/$projectId/compute/flavors/$flavorId.tsx"],"sourcesContent":["import { Button, ButtonRow, Container, ContentHeading } from \"@cloudoperators/juno-ui-components/index\"\nimport { Trans } from \"@lingui/react/macro\"\n\ninterface StatusErrorProps {\n message: string\n statusCode?: number\n onHomeClick?: () => void\n onBackClick?: () => void\n title: string\n showHeader?: boolean\n reset?: () => void\n}\n\nexport function StatusError({ message, statusCode, onHomeClick, onBackClick, title, reset }: StatusErrorProps) {\n return (\n <Container className=\"mx-auto flex min-h-full max-w-3xl flex-col items-center justify-center px-6 py-12 sm:px-12 md:px-20\">\n {statusCode && <div className=\"text-theme-high text-6xl font-bold\">{statusCode}</div>}\n <ContentHeading>{title}</ContentHeading>\n <p>{message}</p>\n {(onBackClick || onHomeClick || reset) && (\n <ButtonRow className=\"mt-6\">\n {onBackClick && (\n <Button onClick={onBackClick} variant=\"primary\">\n <Trans>Back</Trans>\n </Button>\n )}\n {onHomeClick && (\n <Button onClick={onHomeClick}>\n <Trans>Home</Trans>\n </Button>\n )}\n\n {reset && (\n <Button onClick={reset}>\n <Trans>Try Again</Trans>\n </Button>\n )}\n </ButtonRow>\n )}\n </Container>\n )\n}\n","import {\n Button,\n ButtonRow,\n Stack,\n Spinner,\n PopupMenu,\n PopupMenuToggle,\n PopupMenuOptions,\n PopupMenuItem,\n} from \"@cloudoperators/juno-ui-components/index\"\nimport { createFileRoute, redirect, useNavigate, useParams } from \"@tanstack/react-router\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { Trans, useLingui } from \"@lingui/react/macro\"\nimport { getServiceIndex } from \"@/server/Authentication/helpers\"\nimport { trpcReact } from \"@/client/trpcClient\"\nimport { FlavorDetailsView } from \"./-components/FlavorDetailsView\"\nimport { StatusError } from \"@/client/components/Error/StatusError\"\nimport { useErrorTranslation } from \"@/client/utils/useErrorTranslation\"\nimport { EditSpecModal } from \"../-components/Flavors/-components/EditSpecModal\"\nimport { ManageAccessModal } from \"../-components/Flavors/-components/ManageAccessModal\"\nimport { DeleteFlavorModal } from \"../-components/Flavors/-components/DeleteFlavorModal\"\nimport { useModal } from \"@/client/utils/useModal\"\nimport { ContentHeader } from \"@/client/components/ContentHeader/ContentHeader\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/flavors/$flavorId\")({\n staticData: {\n section: \"compute\",\n service: \"flavors\",\n analytics: {\n name: \"compute.flavors.detail\",\n },\n isDetail: true,\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Flavors\", to: \"/projects/$projectId/compute/flavors\" },\n } satisfies RouteInfo,\n loader: async ({ context, params }) => {\n const flavor = await context.trpcClient?.compute.getFlavorById.query({\n project_id: params.projectId,\n flavorId: params.flavorId,\n })\n return { flavorName: flavor?.name ?? null }\n },\n head: ({ loaderData }) => ({\n meta: [{ title: loaderData?.flavorName ?? \"Flavor Details\" }],\n }),\n component: RouteComponent,\n beforeLoad: async ({ context, params }) => {\n const { trpcClient } = context\n const { projectId } = params\n\n const availableServices = (await trpcClient?.auth.getAvailableServices.query()) || []\n\n const serviceIndex = getServiceIndex(availableServices)\n\n if (!serviceIndex[\"flavor\"] && !serviceIndex[\"compute\"]) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n },\n})\n\nfunction RouteComponent() {\n const { projectId, flavorId } = useParams({\n from: \"/_auth/projects/$projectId/compute/flavors/$flavorId\",\n })\n const { trpcClient } = Route.useRouteContext()\n const navigate = useNavigate()\n const { t } = useLingui()\n const { translateError, isRetryableError } = useErrorTranslation()\n\n const {\n data: flavor,\n status,\n error,\n refetch,\n } = trpcReact.compute.getFlavorById.useQuery({\n project_id: projectId,\n flavorId,\n })\n\n const { data: permissionsData } = trpcReact.compute.canUser.useQuery({\n project_id: projectId,\n permission: [\n \"flavors:delete\",\n \"flavors:list_projects\",\n \"flavor_specs:create\",\n \"flavor_specs:delete\",\n \"flavor_specs:list\",\n ],\n })\n\n const canDeleteFlavor = permissionsData?.[0] ?? false\n const canManageAccess = permissionsData?.[1] ?? false\n const canManageSpecs = (permissionsData?.[2] ?? false) || (permissionsData?.[3] ?? false)\n const canListSpecs = permissionsData?.[4] ?? false\n\n const [specModalOpen, toggleSpecModal] = useModal()\n const [accessModalOpen, toggleAccessModal] = useModal()\n const [deleteModalOpen, toggleDeleteModal] = useModal()\n\n const handleBack = () => {\n navigate({\n to: \"/projects/$projectId/compute/flavors\",\n params: { projectId },\n })\n }\n\n const handleHome = () => {\n navigate({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n\n const handleRetry = () => {\n refetch()\n }\n\n if (status === \"pending\") {\n return (\n <Stack className=\"fixed inset-0\" distribution=\"center\" alignment=\"center\" direction=\"vertical\">\n <Spinner variant=\"primary\" size=\"large\" className=\"mb-2\" />\n <Trans>Loading Flavor Details...</Trans>\n </Stack>\n )\n }\n\n if (status === \"error\") {\n const errorCode = error?.message || \"UNKNOWN_ERROR\"\n const translatedError = translateError(errorCode)\n const canRetry = isRetryableError(errorCode)\n\n const getStatusCode = (code: string): number | undefined => {\n if (code.includes(\"UNAUTHORIZED\")) return 401\n if (code.includes(\"FORBIDDEN\")) return 403\n if (code.includes(\"NOT_FOUND\")) return 404\n if (code.includes(\"SERVER_ERROR\")) return 500\n return undefined\n }\n\n return (\n <StatusError\n message={translatedError}\n statusCode={getStatusCode(errorCode)}\n title={t`Error Loading Flavor`}\n onBackClick={handleBack}\n onHomeClick={handleHome}\n reset={canRetry ? handleRetry : undefined}\n />\n )\n }\n\n if (!flavor) {\n return (\n <StatusError\n message={t`The requested flavor could not be found. It may have been deleted or you may not have access to it.`}\n statusCode={404}\n title={t`Flavor Not Found`}\n onBackClick={handleBack}\n onHomeClick={handleHome}\n />\n )\n }\n\n const isPublicFlavor = flavor[\"os-flavor-access:is_public\"] !== false\n const hasMoreActions = canManageAccess || canDeleteFlavor || canManageSpecs || canListSpecs\n\n const headerActions = hasMoreActions ? (\n <ButtonRow>\n <PopupMenu>\n <PopupMenuToggle as=\"div\">\n <Button icon=\"moreVert\">\n <Trans>More Actions</Trans>\n </Button>\n </PopupMenuToggle>\n <PopupMenuOptions>\n {(canManageSpecs || canListSpecs) && (\n <PopupMenuItem label={canManageSpecs ? t`Edit Metadata` : t`Metadata`} onClick={toggleSpecModal} />\n )}\n {canManageAccess && (\n <PopupMenuItem label={t`Manage Access`} onClick={toggleAccessModal} disabled={isPublicFlavor} />\n )}\n {canDeleteFlavor && <PopupMenuItem label={t`Delete Flavor`} onClick={toggleDeleteModal} />}\n </PopupMenuOptions>\n </PopupMenu>\n </ButtonRow>\n ) : undefined\n\n return (\n <>\n <ContentHeader title={flavor.name} projectId={projectId} actions={headerActions} />\n <Stack direction=\"vertical\">\n <FlavorDetailsView flavor={flavor} />\n </Stack>\n\n {trpcClient && (\n <>\n {specModalOpen && (\n <EditSpecModal\n client={trpcClient}\n isOpen={specModalOpen}\n onClose={toggleSpecModal}\n project={projectId}\n flavor={flavor}\n canEdit={canManageSpecs}\n />\n )}\n\n {accessModalOpen && (\n <ManageAccessModal\n client={trpcClient}\n isOpen={accessModalOpen}\n onClose={toggleAccessModal}\n project={projectId}\n flavor={flavor}\n />\n )}\n\n {deleteModalOpen && (\n <DeleteFlavorModal\n client={trpcClient}\n isOpen={deleteModalOpen}\n onClose={toggleDeleteModal}\n project={projectId}\n flavor={flavor}\n onSuccess={handleBack}\n />\n )}\n </>\n )}\n </>\n )\n}\n"],"mappings":";;;;;;AAaA,SAAgBI,EAAY,EAAEC,YAASC,eAAYC,gBAAaC,gBAAaC,UAAOC,YAAyB;CAC3G,OACE,gBAACR,GAAAA;EAAUS,WAAU;;GAClBL,KAAc,gBAACM,OAAAA;IAAID,WAAU;cAAsCL;;GACpE,gBAACH,GAAAA,EAAAA,UAAgBM,EAAAA,CAAAA;GACjB,gBAACI,KAAAA,EAAAA,UAAGR,EAAAA,CAAAA;IACFG,KAAeD,KAAeG,MAC9B,gBAACT,GAAAA;IAAUU,WAAU;;KAClBH,KACC,gBAACR,GAAAA;MAAOc,SAASN;MAAaO,SAAQ;gBACpC,gBAAA,GAAA,EAAA,IAAA,SAAA,CAAA;;KAGHR,KACC,gBAACP,GAAAA;MAAOc,SAASP;gBACf,gBAAA,GAAA,EAAA,IAAA,SAAA,CAAA;;KAIHG,KACC,gBAACV,GAAAA;MAAOc,SAASJ;gBACf,gBAAA,GAAA,EAAA,IAAA,SAAA,CAAA;;;;;;AAOd;ACjBA,IAAaS,IAAQH,EAAgB,sDAAA,EAAwD;CAC3FI,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,WAAW,EACTC,MAAM,yBACR;EACAC,UAAU;EACVC,cAAc,EAAEC,UAAU,UAAU;EACpCC,OAAO;GAAED,UAAU;GAAWE,IAAI;EAAuC;CAC3E;CACAE,QAAQ,OAAO,EAAEC,YAASC,iBAKjB,EAAES,aAAYR,MAJAF,EAAQG,YAAYC,QAAQC,cAAcC,MAAM;EACnEC,YAAYN,EAAOO;EACnBC,UAAUR,EAAOQ;CACnB,CAAA,IAC6BjB,QAAQ,KAAK;CAE5CmB,OAAO,EAAEC,qBAAkB,EACzBC,MAAM,CAAC,EAAEC,OAAOF,GAAYF,cAAc,iBAAiB,CAAA,EAC7D;CACAK,WAASC,4CAAA,WAAA;CACTE,YAAY,OAAO,EAAElB,YAASC,gBAAQ;EACpC,IAAM,EAAEE,kBAAeH,GACjB,EAAEQ,iBAAcP,GAIhBqB,IAAepC,EAFK,MAAOiB,GAAYiB,KAAKC,qBAAqBf,MAAAA,KAAY,CAAA,CAE9Ca;EAErC,IAAI,CAACG,EAAa,UAAa,CAACA,EAAa,SAC3C,MAAMrC,EAAS;GACbY,IAAI;GACJI,QAAQ,EAAEO,aAAU;EACtB,CAAA;CAEJ;AACF,CAAA"}
@@ -1,8 +0,0 @@
1
- import { t as e } from "./RouteError-BmZRk_ss.mjs";
2
- import { jsx as t } from "react/jsx-runtime";
3
- //#region src/client/routes/_auth/projects/$projectId.tsx?tsr-split=errorComponent
4
- var n = ({ error: n }) => /*#__PURE__*/ t(e, { error: n });
5
- //#endregion
6
- export { n as errorComponent };
7
-
8
- //# sourceMappingURL=_projectId-B2cvskLV.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_projectId-B2cvskLV.mjs","names":["RouteError","Route","SplitErrorComponent","error","errorComponent"],"sources":["../../src/client/routes/_auth/projects/$projectId.tsx?tsr-split=errorComponent"],"sourcesContent":["import { createFileRoute, Outlet, useLoaderData, useRouteContext } from \"@tanstack/react-router\"\nimport { AppShell, Container, Stack } from \"@cloudoperators/juno-ui-components\"\nimport { SideNavBar } from \"@/client/routes/_auth/projects/-components/SideNavBar\"\nimport { buildNavSections } from \"@/client/routes/_auth/projects/-components/buildNavSections\"\nimport { ProjectInfoBox } from \"@/client/components/ProjectView/ProjectInfoBox\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\nimport { useMemo } from \"react\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId\")({\n component: RouteComponent,\n errorComponent: ({ error }) => {\n return <RouteError error={error} />\n },\n loader: async (options) => {\n const { context, params } = options\n const data = await context.trpcClient?.auth.setCurrentScope.mutate({\n type: \"project\",\n projectId: params.projectId || \"\",\n })\n\n const [availableServices, projects] = await Promise.all([\n context.trpcClient?.auth.getAvailableServices.query(),\n context.trpcClient?.project.getAuthProjects.query().catch(() => null),\n ])\n\n const accountId = data?.domain?.id || \"\"\n const description = projects?.find((p) => p.id === params.projectId)?.description ?? null\n\n return {\n trpcClient: context.trpcClient,\n crumbDomain: { path: `/projects`, name: data?.domain?.name },\n crumbProject: data?.project,\n availableServices,\n accountId,\n projectId: params.projectId,\n description,\n }\n },\n})\n\nfunction RouteComponent() {\n const { availableServices, projectId, crumbProject, crumbDomain } = useLoaderData({ from: Route.id })\n const { enabledServices } = useRouteContext({ strict: false })\n\n const sections = useMemo(\n () => buildNavSections(projectId, availableServices!, enabledServices),\n [projectId, availableServices, enabledServices]\n )\n\n return (\n <AppShell\n embedded\n sideNavigation={\n <SideNavBar\n sections={sections}\n projectId={projectId}\n projectName={crumbProject?.name || projectId}\n domainName={crumbDomain?.name}\n />\n }\n className=\"h-min-screen\"\n >\n <Container>\n <Stack direction=\"vertical\" distribution=\"start\" alignment=\"stretch\" className=\"xl:flex-row\" gap=\"6\">\n {/* Main content area */}\n <div className=\"min-w-0 flex-1\">\n <ProjectInfoBox\n projectInfo={{\n id: projectId,\n name: crumbProject?.name || projectId,\n domain: crumbProject?.domain,\n }}\n />\n <Outlet />\n </div>\n </Stack>\n </Container>\n </AppShell>\n )\n}\n"],"mappings":";;;AAKiE,IAAAE,KAK9C,EAAEC,eACV,gBAAC,GAAA,EAAkBA,SAAAA,CAAAA"}
@@ -1,27 +0,0 @@
1
- import { createFileRoute as e, lazyRouteComponent as t } from "@tanstack/react-router";
2
- var n = e("/_auth/projects/$projectId")({
3
- component: t(() => import("./_projectId-CX6OtON6.mjs"), "component"),
4
- errorComponent: t(() => import("./_projectId-B2cvskLV.mjs"), "errorComponent"),
5
- loader: async (e) => {
6
- let { context: t, params: n } = e, r = await t.trpcClient?.auth.setCurrentScope.mutate({
7
- type: "project",
8
- projectId: n.projectId || ""
9
- }), [i, a] = await Promise.all([t.trpcClient?.auth.getAvailableServices.query(), t.trpcClient?.project.getAuthProjects.query().catch(() => null)]), o = r?.domain?.id || "", s = a?.find((e) => e.id === n.projectId)?.description ?? null;
10
- return {
11
- trpcClient: t.trpcClient,
12
- crumbDomain: {
13
- path: "/projects",
14
- name: r?.domain?.name
15
- },
16
- crumbProject: r?.project,
17
- availableServices: i,
18
- accountId: o,
19
- projectId: n.projectId,
20
- description: s
21
- };
22
- }
23
- });
24
- //#endregion
25
- export { n as t };
26
-
27
- //# sourceMappingURL=_projectId-Dn_GjZnp.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_projectId-Dn_GjZnp.mjs","names":["createFileRoute","Route","component","lazyRouteComponent","$$splitComponentImporter","errorComponent","$$splitErrorComponentImporter","loader","options","context","params","data","trpcClient","auth","setCurrentScope","mutate","type","projectId","availableServices","projects","Promise","all","getAvailableServices","query","project","getAuthProjects","catch","accountId","domain","id","description","find","p","crumbDomain","path","name","crumbProject"],"sources":["../../src/client/routes/_auth/projects/$projectId.tsx"],"sourcesContent":["import { createFileRoute, Outlet, useLoaderData, useRouteContext } from \"@tanstack/react-router\"\nimport { AppShell, Container, Stack } from \"@cloudoperators/juno-ui-components\"\nimport { SideNavBar } from \"@/client/routes/_auth/projects/-components/SideNavBar\"\nimport { buildNavSections } from \"@/client/routes/_auth/projects/-components/buildNavSections\"\nimport { ProjectInfoBox } from \"@/client/components/ProjectView/ProjectInfoBox\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\nimport { useMemo } from \"react\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId\")({\n component: RouteComponent,\n errorComponent: ({ error }) => {\n return <RouteError error={error} />\n },\n loader: async (options) => {\n const { context, params } = options\n const data = await context.trpcClient?.auth.setCurrentScope.mutate({\n type: \"project\",\n projectId: params.projectId || \"\",\n })\n\n const [availableServices, projects] = await Promise.all([\n context.trpcClient?.auth.getAvailableServices.query(),\n context.trpcClient?.project.getAuthProjects.query().catch(() => null),\n ])\n\n const accountId = data?.domain?.id || \"\"\n const description = projects?.find((p) => p.id === params.projectId)?.description ?? null\n\n return {\n trpcClient: context.trpcClient,\n crumbDomain: { path: `/projects`, name: data?.domain?.name },\n crumbProject: data?.project,\n availableServices,\n accountId,\n projectId: params.projectId,\n description,\n }\n },\n})\n\nfunction RouteComponent() {\n const { availableServices, projectId, crumbProject, crumbDomain } = useLoaderData({ from: Route.id })\n const { enabledServices } = useRouteContext({ strict: false })\n\n const sections = useMemo(\n () => buildNavSections(projectId, availableServices!, enabledServices),\n [projectId, availableServices, enabledServices]\n )\n\n return (\n <AppShell\n embedded\n sideNavigation={\n <SideNavBar\n sections={sections}\n projectId={projectId}\n projectName={crumbProject?.name || projectId}\n domainName={crumbDomain?.name}\n />\n }\n className=\"h-min-screen\"\n >\n <Container>\n <Stack direction=\"vertical\" distribution=\"start\" alignment=\"stretch\" className=\"xl:flex-row\" gap=\"6\">\n {/* Main content area */}\n <div className=\"min-w-0 flex-1\">\n <ProjectInfoBox\n projectInfo={{\n id: projectId,\n name: crumbProject?.name || projectId,\n domain: crumbProject?.domain,\n }}\n />\n <Outlet />\n </div>\n </Stack>\n </Container>\n </AppShell>\n )\n}\n"],"mappings":";AAQA,IAAaC,IAAQD,EAAgB,4BAAA,EAA8B;CACjEE,WAASC,6CAAA,WAAA;CACTE,gBAAcF,6CAAA,gBAAA;CAGdI,QAAQ,OAAOC,MAAAA;EACb,IAAM,EAAEC,YAASC,cAAWF,GACtBG,IAAO,MAAMF,EAAQG,YAAYC,KAAKC,gBAAgBC,OAAO;GACjEC,MAAM;GACNC,WAAWP,EAAOO,aAAa;EACjC,CAAA,GAEM,CAACC,GAAmBC,KAAY,MAAMC,QAAQC,IAAI,CACtDZ,EAAQG,YAAYC,KAAKS,qBAAqBC,MAAAA,GAC9Cd,EAAQG,YAAYY,QAAQC,gBAAgBF,MAAAA,EAAQG,YAAY,IAAA,CAAA,CACjE,GAEKC,IAAYhB,GAAMiB,QAAQC,MAAM,IAChCC,IAAcX,GAAUY,MAAMC,MAAMA,EAAEH,OAAOnB,EAAOO,SAAS,GAAGa,eAAe;EAErF,OAAO;GACLlB,YAAYH,EAAQG;GACpBqB,aAAa;IAAEC,MAAM;IAAaC,MAAMxB,GAAMiB,QAAQO;GAAK;GAC3DC,cAAczB,GAAMa;GACpBN;GACAS;GACAV,WAAWP,EAAOO;GAClBa;EACF;CACF;AACF,CAAA"}