@exulu/frontend 1.9.0 → 1.11.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 (185) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +191 -188
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  8. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +7 -7
  9. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  11. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +3 -3
  15. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  17. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  18. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  20. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  21. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  22. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  26. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  27. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  32. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  35. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  38. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/_not-found.html +1 -1
  41. package/dist/.next/server/app/_not-found.rsc +1 -1
  42. package/dist/.next/server/app-paths-manifest.json +7 -7
  43. package/dist/.next/server/chunks/2270.js +154 -130
  44. package/dist/.next/server/chunks/{5084.js → 2587.js} +1 -1
  45. package/dist/.next/server/chunks/3503.js +1 -1
  46. package/dist/.next/server/chunks/5485.js +1 -1
  47. package/dist/.next/server/chunks/5974.js +1 -1
  48. package/dist/.next/server/chunks/7944.js +1 -1
  49. package/dist/.next/server/chunks/8286.js +1 -1
  50. package/dist/.next/server/middleware-manifest.json +5 -5
  51. package/dist/.next/server/pages/404.html +1 -1
  52. package/dist/.next/server/pages/500.html +1 -1
  53. package/dist/.next/server/server-reference-manifest.json +1 -1
  54. package/dist/.next/static/chunks/1707-06e693c4a709c147.js +2 -0
  55. package/dist/.next/static/chunks/1707-06e693c4a709c147.js.map +1 -0
  56. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js → 1957-34f17de1e14e45de.js} +1 -1
  57. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js.map → 1957-34f17de1e14e45de.js.map} +1 -1
  58. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js → 2293-592e22dde70d632b.js} +1 -1
  59. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js.map → 2293-592e22dde70d632b.js.map} +1 -1
  60. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js +2 -0
  61. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js.map +1 -0
  62. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js +2 -0
  63. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js.map +1 -0
  64. package/dist/.next/static/chunks/3246-1812de142455a0ac.js +2 -0
  65. package/dist/.next/static/chunks/3246-1812de142455a0ac.js.map +1 -0
  66. package/dist/.next/static/chunks/3750-d0ae5d73288be8de.js +2 -0
  67. package/dist/.next/static/chunks/3750-d0ae5d73288be8de.js.map +1 -0
  68. package/dist/.next/static/chunks/{3832-417a5eeee712a793.js → 3832-0b8edbcc671f4cc0.js} +2 -2
  69. package/dist/.next/static/chunks/3832-0b8edbcc671f4cc0.js.map +1 -0
  70. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js → 4386-21ac377a719ebdfa.js} +1 -1
  71. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js.map → 4386-21ac377a719ebdfa.js.map} +1 -1
  72. package/dist/.next/static/chunks/4612-da512770f949561a.js +2 -0
  73. package/dist/.next/static/chunks/4612-da512770f949561a.js.map +1 -0
  74. package/dist/.next/static/chunks/{5825-efd4db1da512bd7f.js → 4760-d5ceb992b68e35ca.js} +2 -2
  75. package/dist/.next/static/chunks/4760-d5ceb992b68e35ca.js.map +1 -0
  76. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js → 6367-aa5020cbea5354e2.js} +1 -1
  77. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js.map → 6367-aa5020cbea5354e2.js.map} +1 -1
  78. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js +2 -0
  79. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js.map +1 -0
  80. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js → 8030-5d38a3f1a4ad44cb.js} +1 -1
  81. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js.map → 8030-5d38a3f1a4ad44cb.js.map} +1 -1
  82. package/dist/.next/static/chunks/{8293-0e69d89d2dac7111.js → 8293-ba5cd36594e6fde1.js} +3 -3
  83. package/dist/.next/static/chunks/8293-ba5cd36594e6fde1.js.map +1 -0
  84. package/dist/.next/static/chunks/9105-143f12397a76a332.js +2 -0
  85. package/dist/.next/static/chunks/9105-143f12397a76a332.js.map +1 -0
  86. package/dist/.next/static/chunks/9877-378934ae38c6760c.js +2 -0
  87. package/dist/.next/static/chunks/9877-378934ae38c6760c.js.map +1 -0
  88. package/dist/.next/static/chunks/{9953-95900a236271a222.js → 9953-02d5b52553a5c573.js} +2 -2
  89. package/dist/.next/static/chunks/{9953-95900a236271a222.js.map → 9953-02d5b52553a5c573.js.map} +1 -1
  90. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js → page-37918149a8e909b0.js} +2 -2
  91. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js.map → page-37918149a8e909b0.js.map} +1 -1
  92. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js → page-9cff3b35b042d46a.js} +1 -1
  93. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js.map → page-9cff3b35b042d46a.js.map} +1 -1
  94. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js +2 -0
  95. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js.map +1 -0
  96. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js → layout-ba702af6bb56baa2.js} +1 -1
  97. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js.map → layout-ba702af6bb56baa2.js.map} +1 -1
  98. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js → page-8b00a98d285829b1.js} +1 -1
  99. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js.map → page-8b00a98d285829b1.js.map} +1 -1
  100. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js → page-1e978e117d5086a1.js} +1 -1
  101. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js.map → page-1e978e117d5086a1.js.map} +1 -1
  102. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js → page-c54b4bc8d0ac4ac8.js} +1 -1
  103. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js.map → page-c54b4bc8d0ac4ac8.js.map} +1 -1
  104. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-dfdb5c1cdc7ddefc.js +2 -0
  105. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-dfdb5c1cdc7ddefc.js.map +1 -0
  106. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js +2 -0
  107. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js.map +1 -0
  108. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-a7728cf9b0524489.js → page-c956d9892676aa4f.js} +2 -2
  109. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c956d9892676aa4f.js.map +1 -0
  110. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js +2 -0
  111. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js.map +1 -0
  112. package/dist/.next/static/chunks/app/(application)/evals/{page-8b38d8d29f275704.js → page-944bfc4f0a001e4c.js} +1 -1
  113. package/dist/.next/static/chunks/app/(application)/evals/page-944bfc4f0a001e4c.js.map +1 -0
  114. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js +2 -0
  115. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js.map +1 -0
  116. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js → page-6c0cd9ef20cd1461.js} +2 -2
  117. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js.map → page-6c0cd9ef20cd1461.js.map} +1 -1
  118. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js → page-5e2be54e76b8509c.js} +2 -2
  119. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js.map → page-5e2be54e76b8509c.js.map} +1 -1
  120. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js → layout-f2e0f42a08c96bb8.js} +1 -1
  121. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js.map → layout-f2e0f42a08c96bb8.js.map} +1 -1
  122. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js → page-2c03bbe32800acc3.js} +2 -2
  123. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js.map → page-2c03bbe32800acc3.js.map} +1 -1
  124. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js → page-b977b5c658004717.js} +1 -1
  125. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js.map → page-b977b5c658004717.js.map} +1 -1
  126. package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js → page-08596ece49a811b9.js} +2 -2
  127. package/dist/.next/static/chunks/app/(application)/token/page-08596ece49a811b9.js.map +1 -0
  128. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js → page-49212081be40aeca.js} +2 -2
  129. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js.map → page-49212081be40aeca.js.map} +1 -1
  130. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js → page-9ce762918374f616.js} +1 -1
  131. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js.map → page-9ce762918374f616.js.map} +1 -1
  132. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js → page-0e2b7038546d9f7a.js} +1 -1
  133. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js.map → page-0e2b7038546d9f7a.js.map} +1 -1
  134. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js → page-141d5d3f735454fe.js} +1 -1
  135. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js.map → page-141d5d3f735454fe.js.map} +1 -1
  136. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js → page-fb1bb3ea6f7cae47.js} +1 -1
  137. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js.map → page-fb1bb3ea6f7cae47.js.map} +1 -1
  138. package/dist/.next/static/chunks/app/(application)/workflows/{page-e38f9456120dab69.js → page-2b839fdbc55c297b.js} +2 -2
  139. package/dist/.next/static/chunks/app/(application)/workflows/page-2b839fdbc55c297b.js.map +1 -0
  140. package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js +2 -0
  141. package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js.map +1 -0
  142. package/dist/.next/static/css/0f539b50cca35462.css +4 -0
  143. package/dist/.next/static/css/0f539b50cca35462.css.map +1 -0
  144. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  145. package/dist/package.json +1 -1
  146. package/package.json +1 -1
  147. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js +0 -2
  148. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +0 -1
  149. package/dist/.next/static/chunks/3171-6996819b8863d41f.js +0 -2
  150. package/dist/.next/static/chunks/3171-6996819b8863d41f.js.map +0 -1
  151. package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js +0 -2
  152. package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +0 -1
  153. package/dist/.next/static/chunks/3832-417a5eeee712a793.js.map +0 -1
  154. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js +0 -2
  155. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js.map +0 -1
  156. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js +0 -2
  157. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js.map +0 -1
  158. package/dist/.next/static/chunks/572-2940a399da1e3a3b.js +0 -2
  159. package/dist/.next/static/chunks/572-2940a399da1e3a3b.js.map +0 -1
  160. package/dist/.next/static/chunks/5825-efd4db1da512bd7f.js.map +0 -1
  161. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js +0 -2
  162. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js.map +0 -1
  163. package/dist/.next/static/chunks/8293-0e69d89d2dac7111.js.map +0 -1
  164. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +0 -2
  165. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +0 -1
  166. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js +0 -2
  167. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js.map +0 -1
  168. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js +0 -2
  169. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js.map +0 -1
  170. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js +0 -2
  171. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js.map +0 -1
  172. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +0 -1
  173. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js +0 -2
  174. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js.map +0 -1
  175. package/dist/.next/static/chunks/app/(application)/evals/page-8b38d8d29f275704.js.map +0 -1
  176. package/dist/.next/static/chunks/app/(application)/explorer/page-1d676c9dfe3ed58b.js +0 -2
  177. package/dist/.next/static/chunks/app/(application)/explorer/page-1d676c9dfe3ed58b.js.map +0 -1
  178. package/dist/.next/static/chunks/app/(application)/token/page-3f74f711f3d04fce.js.map +0 -1
  179. package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +0 -1
  180. package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js +0 -2
  181. package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js.map +0 -1
  182. package/dist/.next/static/css/6f8c5212af8ef284.css +0 -4
  183. package/dist/.next/static/css/6f8c5212af8ef284.css.map +0 -1
  184. /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → exslB-IPXi_veOKFA4L1Z}/_buildManifest.js +0 -0
  185. /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → exslB-IPXi_veOKFA4L1Z}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/chunks/app/(application)/variables/create/page-8ebf4e3d4d17443b.js","mappings":"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","sources":["webpack://_N_E/?e660","webpack://_N_E/./app/(application)/variables/create/page.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./components/ui/textarea.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/variables/create/page.tsx\");\n","\"use client\";\n\nimport { useMutation } from \"@apollo/client\";\nimport { ArrowLeft } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport { useState } from \"react\";\nimport { CREATE_VARIABLE, GET_VARIABLES } from \"@/queries/queries\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Loading } from \"@/components/ui/loading\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function CreateVariablePage() {\n const router = useRouter();\n const { toast } = useToast();\n \n const [formData, setFormData] = useState({\n name: \"\",\n value: \"\",\n encrypted: false,\n });\n\n const [createVariable, { loading }] = useMutation(CREATE_VARIABLE, {\n refetchQueries: [\n GET_VARIABLES,\n \"GetVariables\",\n ],\n });\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n \n if (!formData.name.trim() || !formData.value.trim()) {\n toast({\n title: \"Validation Error\",\n description: \"Name and value are required fields.\",\n variant: \"destructive\",\n });\n return;\n }\n\n try {\n await createVariable({\n variables: {\n name: formData.name.trim(),\n value: formData.value,\n encrypted: formData.encrypted,\n },\n });\n\n toast({\n title: \"Variable Created\",\n description: `Variable \"${formData.name}\" has been created successfully.`,\n });\n\n router.push(\"/variables\");\n } catch (error: any) {\n toast({\n title: \"Error\",\n description: error.message || \"Failed to create variable. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleChange = (field: string, value: any) => {\n setFormData(prev => ({\n ...prev,\n [field]: value,\n }));\n };\n\n return (\n <div className=\"max-w-2xl mx-auto space-y-6 p-8\">\n <div className=\"flex items-center space-x-4\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" size=\"sm\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back\n </Button>\n </Link>\n <div>\n <h1 className=\"text-2xl font-bold\">Create Variable</h1>\n <p className=\"text-muted-foreground\">\n Add a new variable to your application\n </p>\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Details</CardTitle>\n <CardDescription>\n Configure your new variable settings\n </CardDescription>\n </CardHeader>\n <CardContent>\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"name\">\n Variable Name <span className=\"text-red-500\">*</span>\n </Label>\n <Input\n id=\"name\"\n type=\"text\"\n placeholder=\"e.g., API_KEY, DATABASE_URL\"\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n A unique identifier for your variable. Use UPPERCASE with underscores for constants.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"value\">\n Variable Value <span className=\"text-red-500\">*</span>\n </Label>\n <Textarea\n id=\"value\"\n placeholder=\"Enter the variable value...\"\n value={formData.value}\n onChange={(e) => handleChange(\"value\", e.target.value)}\n rows={4}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n The actual value of your variable. This will be {formData.encrypted ? \"encrypted\" : \"stored as plain text\"}.\n </p>\n </div>\n\n <div className=\"flex items-center space-x-2\">\n <Switch\n id=\"encrypted\"\n checked={formData.encrypted}\n onCheckedChange={(checked) => handleChange(\"encrypted\", checked)}\n />\n <Label htmlFor=\"encrypted\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Encrypt this variable\n </Label>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n When enabled, the variable value will be encrypted before storing in the database. \n This is recommended for sensitive data like API keys, passwords, and tokens.\n </p>\n\n <div className=\"flex justify-end space-x-4 pt-6\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" type=\"button\">\n Cancel\n </Button>\n </Link>\n <Button type=\"submit\" disabled={loading}>\n {loading ? (\n <>\n <Loading />\n <span className=\"ml-2\">Creating...</span>\n </>\n ) : (\n \"Create Variable\"\n )}\n </Button>\n </div>\n </form>\n </CardContent>\n </Card>\n </div>\n );\n}","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","dynamic","CreateVariablePage","router","useRouter","toast","useToast","formData","setFormData","useState","name","value","encrypted","createVariable","loading","useMutation","CREATE_VARIABLE","refetchQueries","GET_VARIABLES","handleSubmit","e","preventDefault","trim","title","description","variant","variables","concat","push","error","message","handleChange","field","prev","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","className","jsx","Link","href","Button","size","ArrowLeft","h1","p","Card","CardHeader","CardTitle","CardDescription","CardContent","form","onSubmit","Label","htmlFor","span","Input","id","type","placeholder","onChange","target","required","Textarea","rows","Switch","checked","onCheckedChange","disabled","Fragment","Loading","React","param","ref","props","cn","displayName","h3","CardFooter","input","labelVariants","cva","LabelPrimitive","svg","aria-hidden","role","viewBox","fill","xmlns","path","d","SwitchPrimitives","textarea","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","map","t","forEach","undefined","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","setState","index","indexOf","splice"],"sourceRoot":""}
1
+ {"version":3,"file":"static/chunks/app/(application)/variables/create/page-9ce762918374f616.js","mappings":"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","sources":["webpack://_N_E/?e660","webpack://_N_E/./app/(application)/variables/create/page.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./components/ui/textarea.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/variables/create/page.tsx\");\n","\"use client\";\n\nimport { useMutation } from \"@apollo/client\";\nimport { ArrowLeft } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport { useState } from \"react\";\nimport { CREATE_VARIABLE, GET_VARIABLES } from \"@/queries/queries\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Loading } from \"@/components/ui/loading\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function CreateVariablePage() {\n const router = useRouter();\n const { toast } = useToast();\n \n const [formData, setFormData] = useState({\n name: \"\",\n value: \"\",\n encrypted: false,\n });\n\n const [createVariable, { loading }] = useMutation(CREATE_VARIABLE, {\n refetchQueries: [\n GET_VARIABLES,\n \"GetVariables\",\n ],\n });\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n \n if (!formData.name.trim() || !formData.value.trim()) {\n toast({\n title: \"Validation Error\",\n description: \"Name and value are required fields.\",\n variant: \"destructive\",\n });\n return;\n }\n\n try {\n await createVariable({\n variables: {\n name: formData.name.trim(),\n value: formData.value,\n encrypted: formData.encrypted,\n },\n });\n\n toast({\n title: \"Variable Created\",\n description: `Variable \"${formData.name}\" has been created successfully.`,\n });\n\n router.push(\"/variables\");\n } catch (error: any) {\n toast({\n title: \"Error\",\n description: error.message || \"Failed to create variable. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleChange = (field: string, value: any) => {\n setFormData(prev => ({\n ...prev,\n [field]: value,\n }));\n };\n\n return (\n <div className=\"max-w-2xl mx-auto space-y-6 p-8\">\n <div className=\"flex items-center space-x-4\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" size=\"sm\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back\n </Button>\n </Link>\n <div>\n <h1 className=\"text-2xl font-bold\">Create Variable</h1>\n <p className=\"text-muted-foreground\">\n Add a new variable to your application\n </p>\n </div>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Details</CardTitle>\n <CardDescription>\n Configure your new variable settings\n </CardDescription>\n </CardHeader>\n <CardContent>\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"name\">\n Variable Name <span className=\"text-red-500\">*</span>\n </Label>\n <Input\n id=\"name\"\n type=\"text\"\n placeholder=\"e.g., API_KEY, DATABASE_URL\"\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n A unique identifier for your variable. Use UPPERCASE with underscores for constants.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"value\">\n Variable Value <span className=\"text-red-500\">*</span>\n </Label>\n <Textarea\n id=\"value\"\n placeholder=\"Enter the variable value...\"\n value={formData.value}\n onChange={(e) => handleChange(\"value\", e.target.value)}\n rows={4}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n The actual value of your variable. This will be {formData.encrypted ? \"encrypted\" : \"stored as plain text\"}.\n </p>\n </div>\n\n <div className=\"flex items-center space-x-2\">\n <Switch\n id=\"encrypted\"\n checked={formData.encrypted}\n onCheckedChange={(checked) => handleChange(\"encrypted\", checked)}\n />\n <Label htmlFor=\"encrypted\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Encrypt this variable\n </Label>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n When enabled, the variable value will be encrypted before storing in the database. \n This is recommended for sensitive data like API keys, passwords, and tokens.\n </p>\n\n <div className=\"flex justify-end space-x-4 pt-6\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" type=\"button\">\n Cancel\n </Button>\n </Link>\n <Button type=\"submit\" disabled={loading}>\n {loading ? (\n <>\n <Loading />\n <span className=\"ml-2\">Creating...</span>\n </>\n ) : (\n \"Create Variable\"\n )}\n </Button>\n </div>\n </form>\n </CardContent>\n </Card>\n </div>\n );\n}","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","dynamic","CreateVariablePage","router","useRouter","toast","useToast","formData","setFormData","useState","name","value","encrypted","createVariable","loading","useMutation","CREATE_VARIABLE","refetchQueries","GET_VARIABLES","handleSubmit","e","preventDefault","trim","title","description","variant","variables","concat","push","error","message","handleChange","field","prev","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","className","jsx","Link","href","Button","size","ArrowLeft","h1","p","Card","CardHeader","CardTitle","CardDescription","CardContent","form","onSubmit","Label","htmlFor","span","Input","id","type","placeholder","onChange","target","required","Textarea","rows","Switch","checked","onCheckedChange","disabled","Fragment","Loading","React","param","ref","props","cn","displayName","h3","CardFooter","input","labelVariants","cva","LabelPrimitive","svg","aria-hidden","role","viewBox","fill","xmlns","path","d","SwitchPrimitives","textarea","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","map","t","forEach","undefined","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","setState","index","indexOf","splice"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5363],{54758:function(e,t,r){Promise.resolve().then(r.bind(r,55623))},55623:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return N},dynamic:function(){return y}});var a=r(57437),s=r(7211),n=r(12199),i=r(32660),l=r(63639),d=r(27648),c=r(99376),o=r(2265),u=r(27689),f=r(62869),m=r(66070),x=r(95186),p=r(26815),h=r(76818),v=r(1828),b=r(77992),g=r(10492),j=r(65613);let y="force-dynamic";function N(){var e;let t=(0,c.useParams)(),r=(0,c.useRouter)(),{toast:y}=(0,b.pm)(),N=t.variable_id,[w,C]=(0,o.useState)({name:"",value:"",encrypted:!1}),{loading:T,error:k,data:A}=(0,s.aM)(u.Qf,{variables:{id:N},skip:!N}),[S,{loading:_}]=(0,n.D)(u.lU,{refetchQueries:[u.Az,"GetVariables"]}),E=null==A?void 0:A.variableById,R=(null==E?void 0:null===(e=E.used_by)||void 0===e?void 0:e.length)||0;(0,o.useEffect)(()=>{E&&C({name:E.name||"",value:E.value||"",encrypted:E.encrypted||!1})},[E]);let I=async e=>{if(e.preventDefault(),!w.name.trim()||!w.value.trim()){y({title:"Validation Error",description:"Name and value are required fields.",variant:"destructive"});return}try{await S({variables:{id:N,name:w.name.trim(),value:w.value,encrypted:w.encrypted}}),y({title:"Variable Updated",description:'Variable "'.concat(w.name,'" has been updated successfully.')}),r.push("/variables")}catch(e){y({title:"Error",description:e.message||"Failed to update variable. Please try again.",variant:"destructive"})}},O=(e,t)=>{C(r=>({...r,[e]:t}))};return T?(0,a.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,a.jsx)(g.g,{})}):k||!E?(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center space-y-4",children:[(0,a.jsx)("h1",{className:"text-2xl font-bold",children:"Variable not found"}),(0,a.jsx)("p",{className:"text-muted-foreground",children:"The requested variable could not be loaded."}),(0,a.jsx)(d.default,{href:"/variables",children:(0,a.jsxs)(f.z,{children:[(0,a.jsx)(i.Z,{className:"mr-2 h-4 w-4"}),"Back to Variables"]})})]}):(0,a.jsxs)("div",{className:"max-w-2xl mx-auto space-y-6 p-8",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,a.jsx)(d.default,{href:"/variables",children:(0,a.jsxs)(f.z,{variant:"outline",size:"sm",children:[(0,a.jsx)(i.Z,{className:"mr-2 h-4 w-4"}),"Back"]})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold",children:"Edit Variable"}),(0,a.jsxs)("p",{className:"text-muted-foreground",children:['Modify variable "',E.name,'"']})]})]}),R>0&&(0,a.jsxs)(j.bZ,{children:[(0,a.jsx)(l.Z,{className:"h-4 w-4"}),(0,a.jsxs)(j.X,{children:["This variable is currently used by ",R," resource",1!==R?"s":"",". Changes may impact those resources."," ",(0,a.jsx)(d.default,{href:"/variables/usage/".concat(N),className:"underline",children:"View usage details"})]})]}),(0,a.jsxs)(m.Zb,{children:[(0,a.jsxs)(m.Ol,{children:[(0,a.jsx)(m.ll,{children:"Variable Details"}),(0,a.jsx)(m.SZ,{children:"Update your variable settings"})]}),(0,a.jsx)(m.aY,{children:(0,a.jsxs)("form",{onSubmit:I,className:"space-y-6",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(p._,{htmlFor:"name",children:["Variable Name ",(0,a.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,a.jsx)(x.I,{id:"name",type:"text",placeholder:"e.g., API_KEY, DATABASE_URL",value:w.name,onChange:e=>O("name",e.target.value),required:!0}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"A unique identifier for your variable. Use UPPERCASE with underscores for constants."})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)(p._,{htmlFor:"value",children:["Variable Value ",(0,a.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,a.jsx)(h.g,{id:"value",placeholder:"Enter the variable value...",value:w.value,onChange:e=>O("value",e.target.value),rows:4,required:!0}),(0,a.jsxs)("p",{className:"text-sm text-muted-foreground",children:["The actual value of your variable. This will be ",w.encrypted?"encrypted":"stored as plain text","."]})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(v.r,{id:"encrypted",checked:w.encrypted,onCheckedChange:e=>O("encrypted",e)}),(0,a.jsx)(p._,{htmlFor:"encrypted",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Encrypt this variable"})]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"When enabled, the variable value will be encrypted before storing in the database. This is recommended for sensitive data like API keys, passwords, and tokens."}),(0,a.jsxs)("div",{className:"flex justify-end space-x-4 pt-6",children:[(0,a.jsx)(d.default,{href:"/variables",children:(0,a.jsx)(f.z,{variant:"outline",type:"button",children:"Cancel"})}),(0,a.jsx)(f.z,{type:"submit",disabled:_,children:_?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.g,{}),(0,a.jsx)("span",{className:"ml-2",children:"Updating..."})]}):"Update Variable"})]})]})})]}),(0,a.jsxs)(m.Zb,{children:[(0,a.jsx)(m.Ol,{children:(0,a.jsx)(m.ll,{children:"Variable Information"})}),(0,a.jsxs)(m.aY,{className:"space-y-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-medium",children:"Created:"})," ",new Date(E.createdAt).toLocaleString()]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-medium",children:"Last Updated:"})," ",new Date(E.updatedAt).toLocaleString()]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-medium",children:"Used by:"})," ",R," resource",1!==R?"s":""]})]})]})]})}},65613:function(e,t,r){"use strict";r.d(t,{Cd:function(){return c},X:function(){return o},bZ:function(){return d}});var a=r(57437),s=r(90535),n=r(2265),i=r(94508);let l=(0,s.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",info:"border-info/50 text-info dark:border-info [&>svg]:text-info"}},defaultVariants:{variant:"default"}}),d=n.forwardRef((e,t)=>{let{className:r,variant:s,...n}=e;return(0,a.jsx)("div",{ref:t,role:"alert",className:(0,i.cn)(l({variant:s}),r),...n})});d.displayName="Alert";let c=n.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("h5",{ref:t,className:(0,i.cn)("mb-1 font-medium leading-none tracking-tight",r),...s})});c.displayName="AlertTitle";let o=n.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("text-sm [&_p]:leading-relaxed",r),...s})});o.displayName="AlertDescription"},66070:function(e,t,r){"use strict";r.d(t,{Ol:function(){return l},SZ:function(){return c},Zb:function(){return i},aY:function(){return o},eW:function(){return u},ll:function(){return d}});var a=r(57437),s=r(2265),n=r(94508);let i=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...s})});i.displayName="Card";let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",r),...s})});l.displayName="CardHeader";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("h3",{ref:t,className:(0,n.cn)("text-2xl font-semibold leading-none tracking-tight",r),...s})});d.displayName="CardTitle";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("p",{ref:t,className:(0,n.cn)("text-sm text-muted-foreground",r),...s})});c.displayName="CardDescription";let o=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("p-6 pt-0",r),...s})});o.displayName="CardContent";let u=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex items-center p-6 pt-0",r),...s})});u.displayName="CardFooter"},95186:function(e,t,r){"use strict";r.d(t,{I:function(){return i}});var a=r(57437),s=r(2265),n=r(94508);let i=s.forwardRef((e,t)=>{let{className:r,type:s,...i}=e;return(0,a.jsx)("input",{type:s,className:(0,n.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...i})});i.displayName="Input"},26815:function(e,t,r){"use strict";r.d(t,{_:function(){return c}});var a=r(57437),s=r(6394),n=r(90535),i=r(2265),l=r(94508);let d=(0,n.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=i.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.f,{ref:t,className:(0,l.cn)(d(),r),...n})});c.displayName=s.f.displayName},10492:function(e,t,r){"use strict";r.d(t,{g:function(){return n}});var a=r(57437),s=r(94508);let n=e=>{let{className:t}=e;return(0,a.jsxs)("svg",{"aria-hidden":"true",role:"status",className:(0,s.cn)("inline w-4 h-4 text-white animate-spin fill-inherit",t),viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",className:"fill-inherit opacity-20"}),(0,a.jsx)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",className:"fill-inherit"})]})}},1828:function(e,t,r){"use strict";r.d(t,{r:function(){return l}});var a=r(57437),s=r(50721),n=r(2265),i=r(94508);let l=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.fC,{className:(0,i.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",r),...n,ref:t,children:(0,a.jsx)(s.bU,{className:(0,i.cn)("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})})});l.displayName=s.fC.displayName},76818:function(e,t,r){"use strict";r.d(t,{g:function(){return i}});var a=r(57437),s=r(2265),n=r(94508);let i=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("textarea",{className:(0,n.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...s})});i.displayName="Textarea"},77992:function(e,t,r){"use strict";r.d(t,{Am:function(){return u},pm:function(){return f}});var a=r(2265);let s=0,n=new Map,i=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),o({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},l=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?i(r):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},d=[],c={toasts:[]};function o(e){c=l(c,e),d.forEach(e=>{e(c)})}function u(e){let{...t}=e,r=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>o({type:"DISMISS_TOAST",toastId:r});return o({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||a()}}}),{id:r,dismiss:a,update:e=>o({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=a.useState(c);return a.useEffect(()=>(d.push(t),()=>{let e=d.indexOf(t);e>-1&&d.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>o({type:"DISMISS_TOAST",toastId:e})}}}},function(e){e.O(0,[9851,7629,7093,6148,847,1942,7648,8372,6373,2971,2117,1744],function(){return e(e.s=54758)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-006145e82e054e72.js.map
2
+ //# sourceMappingURL=page-0e2b7038546d9f7a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/chunks/app/(application)/variables/edit/[variable_id]/page-006145e82e054e72.js","mappings":"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","sources":["webpack://_N_E/?b03f","webpack://_N_E/./app/(application)/variables/edit/[variable_id]/page.tsx","webpack://_N_E/./components/ui/alert.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./components/ui/textarea.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/variables/edit/[variable_id]/page.tsx\");\n","\"use client\";\n\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ArrowLeft, AlertTriangle } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useParams, useRouter } from \"next/navigation\";\nimport { useState, useEffect } from \"react\";\nimport { GET_VARIABLE_BY_ID, UPDATE_VARIABLE, GET_VARIABLES } from \"@/queries/queries\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { Alert, AlertDescription } from \"@/components/ui/alert\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function EditVariablePage() {\n const params = useParams();\n const router = useRouter();\n const { toast } = useToast();\n const variableId = params.variable_id as string;\n \n const [formData, setFormData] = useState({\n name: \"\",\n value: \"\",\n encrypted: false,\n });\n\n const { loading: queryLoading, error, data } = useQuery(GET_VARIABLE_BY_ID, {\n variables: { id: variableId },\n skip: !variableId,\n });\n\n const [updateVariable, { loading: updateLoading }] = useMutation(UPDATE_VARIABLE, {\n refetchQueries: [\n GET_VARIABLES,\n \"GetVariables\",\n ],\n });\n\n const variable = data?.variableById;\n const usedByCount = variable?.used_by?.length || 0;\n\n useEffect(() => {\n if (variable) {\n setFormData({\n name: variable.name || \"\",\n value: variable.value || \"\",\n encrypted: variable.encrypted || false,\n });\n }\n }, [variable]);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n \n if (!formData.name.trim() || !formData.value.trim()) {\n toast({\n title: \"Validation Error\",\n description: \"Name and value are required fields.\",\n variant: \"destructive\",\n });\n return;\n }\n\n try {\n await updateVariable({\n variables: {\n id: variableId,\n name: formData.name.trim(),\n value: formData.value,\n encrypted: formData.encrypted,\n },\n });\n\n toast({\n title: \"Variable Updated\",\n description: `Variable \"${formData.name}\" has been updated successfully.`,\n });\n\n router.push(\"/variables\");\n } catch (error: any) {\n toast({\n title: \"Error\",\n description: error.message || \"Failed to update variable. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleChange = (field: string, value: any) => {\n setFormData(prev => ({\n ...prev,\n [field]: value,\n }));\n };\n\n if (queryLoading) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <Loading />\n </div>\n );\n }\n\n if (error || !variable) {\n return (\n <div className=\"flex h-full flex-col items-center justify-center space-y-4\">\n <h1 className=\"text-2xl font-bold\">Variable not found</h1>\n <p className=\"text-muted-foreground\">The requested variable could not be loaded.</p>\n <Link href=\"/variables\">\n <Button>\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back to Variables\n </Button>\n </Link>\n </div>\n );\n }\n\n return (\n <div className=\"max-w-2xl mx-auto space-y-6 p-8\">\n <div className=\"flex items-center space-x-4\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" size=\"sm\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back\n </Button>\n </Link>\n <div>\n <h1 className=\"text-2xl font-bold\">Edit Variable</h1>\n <p className=\"text-muted-foreground\">\n Modify variable \"{variable.name}\"\n </p>\n </div>\n </div>\n\n {usedByCount > 0 && (\n <Alert>\n <AlertTriangle className=\"h-4 w-4\" />\n <AlertDescription>\n This variable is currently used by {usedByCount} resource{usedByCount !== 1 ? 's' : ''}. \n Changes may impact those resources.{\" \"}\n <Link href={`/variables/usage/${variableId}`} className=\"underline\">\n View usage details\n </Link>\n </AlertDescription>\n </Alert>\n )}\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Details</CardTitle>\n <CardDescription>\n Update your variable settings\n </CardDescription>\n </CardHeader>\n <CardContent>\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"name\">\n Variable Name <span className=\"text-red-500\">*</span>\n </Label>\n <Input\n id=\"name\"\n type=\"text\"\n placeholder=\"e.g., API_KEY, DATABASE_URL\"\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n A unique identifier for your variable. Use UPPERCASE with underscores for constants.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"value\">\n Variable Value <span className=\"text-red-500\">*</span>\n </Label>\n <Textarea\n id=\"value\"\n placeholder=\"Enter the variable value...\"\n value={formData.value}\n onChange={(e) => handleChange(\"value\", e.target.value)}\n rows={4}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n The actual value of your variable. This will be {formData.encrypted ? \"encrypted\" : \"stored as plain text\"}.\n </p>\n </div>\n\n <div className=\"flex items-center space-x-2\">\n <Switch\n id=\"encrypted\"\n checked={formData.encrypted}\n onCheckedChange={(checked) => handleChange(\"encrypted\", checked)}\n />\n <Label htmlFor=\"encrypted\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Encrypt this variable\n </Label>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n When enabled, the variable value will be encrypted before storing in the database. \n This is recommended for sensitive data like API keys, passwords, and tokens.\n </p>\n\n <div className=\"flex justify-end space-x-4 pt-6\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" type=\"button\">\n Cancel\n </Button>\n </Link>\n <Button type=\"submit\" disabled={updateLoading}>\n {updateLoading ? (\n <>\n <Loading />\n <span className=\"ml-2\">Updating...</span>\n </>\n ) : (\n \"Update Variable\"\n )}\n </Button>\n </div>\n </form>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Information</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <div>\n <span className=\"font-medium\">Created:</span>{\" \"}\n {new Date(variable.createdAt).toLocaleString()}\n </div>\n <div>\n <span className=\"font-medium\">Last Updated:</span>{\" \"}\n {new Date(variable.updatedAt).toLocaleString()}\n </div>\n <div>\n <span className=\"font-medium\">Used by:</span>{\" \"}\n {usedByCount} resource{usedByCount !== 1 ? 's' : ''}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n info: \"border-info/50 text-info dark:border-info [&>svg]:text-info\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","dynamic","EditVariablePage","variable","params","useParams","router","useRouter","toast","useToast","variableId","variable_id","formData","setFormData","useState","name","value","encrypted","loading","queryLoading","error","data","useQuery","GET_VARIABLE_BY_ID","variables","id","skip","updateVariable","updateLoading","useMutation","UPDATE_VARIABLE","refetchQueries","GET_VARIABLES","variableById","usedByCount","used_by","length","useEffect","handleSubmit","e","preventDefault","trim","title","description","variant","concat","push","message","handleChange","field","prev","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","Loading","jsxs","h1","p","Link","href","Button","ArrowLeft","size","Alert","AlertTriangle","AlertDescription","Card","CardHeader","CardTitle","CardDescription","CardContent","form","onSubmit","Label","htmlFor","span","Input","type","placeholder","onChange","target","required","Textarea","rows","Switch","checked","onCheckedChange","disabled","Fragment","Date","createdAt","toLocaleString","updatedAt","alertVariants","cva","variants","default","destructive","info","defaultVariants","React","param","ref","props","role","cn","displayName","AlertTitle","h5","h3","CardFooter","input","labelVariants","LabelPrimitive","svg","aria-hidden","viewBox","fill","xmlns","path","d","SwitchPrimitives","textarea","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","map","t","forEach","undefined","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","setState","index","indexOf","splice"],"sourceRoot":""}
1
+ {"version":3,"file":"static/chunks/app/(application)/variables/edit/[variable_id]/page-0e2b7038546d9f7a.js","mappings":"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","sources":["webpack://_N_E/?b03f","webpack://_N_E/./app/(application)/variables/edit/[variable_id]/page.tsx","webpack://_N_E/./components/ui/alert.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./components/ui/textarea.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/variables/edit/[variable_id]/page.tsx\");\n","\"use client\";\n\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ArrowLeft, AlertTriangle } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useParams, useRouter } from \"next/navigation\";\nimport { useState, useEffect } from \"react\";\nimport { GET_VARIABLE_BY_ID, UPDATE_VARIABLE, GET_VARIABLES } from \"@/queries/queries\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { Alert, AlertDescription } from \"@/components/ui/alert\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function EditVariablePage() {\n const params = useParams();\n const router = useRouter();\n const { toast } = useToast();\n const variableId = params.variable_id as string;\n \n const [formData, setFormData] = useState({\n name: \"\",\n value: \"\",\n encrypted: false,\n });\n\n const { loading: queryLoading, error, data } = useQuery(GET_VARIABLE_BY_ID, {\n variables: { id: variableId },\n skip: !variableId,\n });\n\n const [updateVariable, { loading: updateLoading }] = useMutation(UPDATE_VARIABLE, {\n refetchQueries: [\n GET_VARIABLES,\n \"GetVariables\",\n ],\n });\n\n const variable = data?.variableById;\n const usedByCount = variable?.used_by?.length || 0;\n\n useEffect(() => {\n if (variable) {\n setFormData({\n name: variable.name || \"\",\n value: variable.value || \"\",\n encrypted: variable.encrypted || false,\n });\n }\n }, [variable]);\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n \n if (!formData.name.trim() || !formData.value.trim()) {\n toast({\n title: \"Validation Error\",\n description: \"Name and value are required fields.\",\n variant: \"destructive\",\n });\n return;\n }\n\n try {\n await updateVariable({\n variables: {\n id: variableId,\n name: formData.name.trim(),\n value: formData.value,\n encrypted: formData.encrypted,\n },\n });\n\n toast({\n title: \"Variable Updated\",\n description: `Variable \"${formData.name}\" has been updated successfully.`,\n });\n\n router.push(\"/variables\");\n } catch (error: any) {\n toast({\n title: \"Error\",\n description: error.message || \"Failed to update variable. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleChange = (field: string, value: any) => {\n setFormData(prev => ({\n ...prev,\n [field]: value,\n }));\n };\n\n if (queryLoading) {\n return (\n <div className=\"flex h-full items-center justify-center\">\n <Loading />\n </div>\n );\n }\n\n if (error || !variable) {\n return (\n <div className=\"flex h-full flex-col items-center justify-center space-y-4\">\n <h1 className=\"text-2xl font-bold\">Variable not found</h1>\n <p className=\"text-muted-foreground\">The requested variable could not be loaded.</p>\n <Link href=\"/variables\">\n <Button>\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back to Variables\n </Button>\n </Link>\n </div>\n );\n }\n\n return (\n <div className=\"max-w-2xl mx-auto space-y-6 p-8\">\n <div className=\"flex items-center space-x-4\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" size=\"sm\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back\n </Button>\n </Link>\n <div>\n <h1 className=\"text-2xl font-bold\">Edit Variable</h1>\n <p className=\"text-muted-foreground\">\n Modify variable \"{variable.name}\"\n </p>\n </div>\n </div>\n\n {usedByCount > 0 && (\n <Alert>\n <AlertTriangle className=\"h-4 w-4\" />\n <AlertDescription>\n This variable is currently used by {usedByCount} resource{usedByCount !== 1 ? 's' : ''}. \n Changes may impact those resources.{\" \"}\n <Link href={`/variables/usage/${variableId}`} className=\"underline\">\n View usage details\n </Link>\n </AlertDescription>\n </Alert>\n )}\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Details</CardTitle>\n <CardDescription>\n Update your variable settings\n </CardDescription>\n </CardHeader>\n <CardContent>\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"name\">\n Variable Name <span className=\"text-red-500\">*</span>\n </Label>\n <Input\n id=\"name\"\n type=\"text\"\n placeholder=\"e.g., API_KEY, DATABASE_URL\"\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n A unique identifier for your variable. Use UPPERCASE with underscores for constants.\n </p>\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"value\">\n Variable Value <span className=\"text-red-500\">*</span>\n </Label>\n <Textarea\n id=\"value\"\n placeholder=\"Enter the variable value...\"\n value={formData.value}\n onChange={(e) => handleChange(\"value\", e.target.value)}\n rows={4}\n required\n />\n <p className=\"text-sm text-muted-foreground\">\n The actual value of your variable. This will be {formData.encrypted ? \"encrypted\" : \"stored as plain text\"}.\n </p>\n </div>\n\n <div className=\"flex items-center space-x-2\">\n <Switch\n id=\"encrypted\"\n checked={formData.encrypted}\n onCheckedChange={(checked) => handleChange(\"encrypted\", checked)}\n />\n <Label htmlFor=\"encrypted\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Encrypt this variable\n </Label>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n When enabled, the variable value will be encrypted before storing in the database. \n This is recommended for sensitive data like API keys, passwords, and tokens.\n </p>\n\n <div className=\"flex justify-end space-x-4 pt-6\">\n <Link href=\"/variables\">\n <Button variant=\"outline\" type=\"button\">\n Cancel\n </Button>\n </Link>\n <Button type=\"submit\" disabled={updateLoading}>\n {updateLoading ? (\n <>\n <Loading />\n <span className=\"ml-2\">Updating...</span>\n </>\n ) : (\n \"Update Variable\"\n )}\n </Button>\n </div>\n </form>\n </CardContent>\n </Card>\n\n <Card>\n <CardHeader>\n <CardTitle>Variable Information</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <div>\n <span className=\"font-medium\">Created:</span>{\" \"}\n {new Date(variable.createdAt).toLocaleString()}\n </div>\n <div>\n <span className=\"font-medium\">Last Updated:</span>{\" \"}\n {new Date(variable.updatedAt).toLocaleString()}\n </div>\n <div>\n <span className=\"font-medium\">Used by:</span>{\" \"}\n {usedByCount} resource{usedByCount !== 1 ? 's' : ''}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n info: \"border-info/50 text-info dark:border-info [&>svg]:text-info\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","dynamic","EditVariablePage","variable","params","useParams","router","useRouter","toast","useToast","variableId","variable_id","formData","setFormData","useState","name","value","encrypted","loading","queryLoading","error","data","useQuery","GET_VARIABLE_BY_ID","variables","id","skip","updateVariable","updateLoading","useMutation","UPDATE_VARIABLE","refetchQueries","GET_VARIABLES","variableById","usedByCount","used_by","length","useEffect","handleSubmit","e","preventDefault","trim","title","description","variant","concat","push","message","handleChange","field","prev","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","Loading","jsxs","h1","p","Link","href","Button","ArrowLeft","size","Alert","AlertTriangle","AlertDescription","Card","CardHeader","CardTitle","CardDescription","CardContent","form","onSubmit","Label","htmlFor","span","Input","type","placeholder","onChange","target","required","Textarea","rows","Switch","checked","onCheckedChange","disabled","Fragment","Date","createdAt","toLocaleString","updatedAt","alertVariants","cva","variants","default","destructive","info","defaultVariants","React","param","ref","props","role","cn","displayName","AlertTitle","h5","h3","CardFooter","input","labelVariants","LabelPrimitive","svg","aria-hidden","viewBox","fill","xmlns","path","d","SwitchPrimitives","textarea","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","map","t","forEach","undefined","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","setState","index","indexOf","splice"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3096],{36527:function(e,t,a){Promise.resolve().then(a.bind(a,67559))},67559:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return F},dynamic:function(){return V}});var s=a(57437),l=a(2265),n=a(35974),i=a(19060),r=a(20653),o=a(62869),d=a(84190),c=a(94508);function u(e){let{column:t,title:a,className:l}=e;return t.getCanSort()?(0,s.jsx)("div",{className:(0,c.cn)("flex items-center space-x-2",l),children:(0,s.jsxs)(d.h_,{modal:!1,children:[(0,s.jsx)(d.$F,{asChild:!0,children:(0,s.jsxs)(o.z,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",children:[(0,s.jsx)("span",{children:a}),"desc"===t.getIsSorted()?(0,s.jsx)(r.veu,{className:"ml-2 size-4"}):"asc"===t.getIsSorted()?(0,s.jsx)(r.Hf3,{className:"ml-2 size-4"}):(0,s.jsx)(r.jnn,{className:"ml-2 size-4"})]})}),(0,s.jsxs)(d.AW,{align:"start",children:[(0,s.jsxs)(d.Xi,{onClick:()=>t.toggleSorting(!1),children:[(0,s.jsx)(r.Hf3,{className:"mr-2 size-3.5 text-muted-foreground/70"}),"Asc"]}),(0,s.jsxs)(d.Xi,{onClick:()=>t.toggleSorting(!0),children:[(0,s.jsx)(r.veu,{className:"mr-2 size-3.5 text-muted-foreground/70"}),"Desc"]}),(0,s.jsx)(d.VD,{}),(0,s.jsxs)(d.Xi,{onClick:()=>t.toggleVisibility(!1),children:[(0,s.jsx)(r.L52,{className:"mr-2 size-3.5 text-muted-foreground/70"}),"Hide"]})]})]})}):(0,s.jsx)("div",{className:(0,c.cn)(l),children:a})}var x=a(12199),m=a(27648),f=a(27689),g=a(77992),h=a(37099);function p(e){var t;let{row:a}=e,n=a.original,[i,c]=(0,l.useState)(!1),{toast:u}=(0,g.pm)(),[p,v]=(0,x.D)(f.Mp,{refetchQueries:[f.Az,"GetVariables"]}),j=async()=>{try{await p({variables:{id:n.id}}),u({title:"Variable deleted",description:"The variable has been successfully deleted."})}catch(e){u({title:"Error",description:"Failed to delete the variable. Please try again.",variant:"destructive"})}c(!1)},b=(null===(t=n.used_by)||void 0===t?void 0:t.length)||0;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(d.h_,{modal:!1,children:[(0,s.jsx)(d.$F,{asChild:!0,children:(0,s.jsxs)(o.z,{variant:"ghost",className:"flex size-8 p-0 data-[state=open]:bg-muted",children:[(0,s.jsx)(r.nWS,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,s.jsxs)(d.AW,{align:"end",className:"w-[160px]",children:[(0,s.jsx)(d.Xi,{asChild:!0,children:(0,s.jsx)(m.default,{href:"/variables/edit/".concat(n.id),children:"Edit variable"})}),b>0&&(0,s.jsx)(d.Xi,{asChild:!0,children:(0,s.jsxs)(m.default,{href:"/variables/usage/".concat(n.id),children:["View usage (",b,")"]})}),(0,s.jsx)(d.VD,{}),(0,s.jsx)(d.Xi,{onClick:()=>c(!0),className:"text-red-600",children:"Delete variable"})]})]}),(0,s.jsx)(h.aR,{open:i,onOpenChange:c,children:(0,s.jsxs)(h._T,{children:[(0,s.jsxs)(h.fY,{children:[(0,s.jsx)(h.f$,{children:"Delete Variable"}),(0,s.jsxs)(h.yT,{children:['Are you sure you want to delete the variable "',n.name,'"?',b>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),(0,s.jsx)("strong",{children:"Warning:"})," This variable is currently used by ",b," resource",1!==b?"s":"",". Deleting it may impact those resources."]}),(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),"This action cannot be undone."]})]}),(0,s.jsxs)(h.xo,{children:[(0,s.jsx)(h.le,{children:"Cancel"}),(0,s.jsx)(h.OL,{onClick:j,className:"bg-red-600 hover:bg-red-700",children:"Delete"})]})]})})]})}var v=a(87769),j=a(42208),b=a(66337),N=a(39711);let y=e=>[{id:"select",header:e=>{let{table:t}=e;return(0,s.jsx)(i.X,{checked:t.getIsAllPageRowsSelected()||t.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:e=>t.toggleAllPageRowsSelected(!!e),"aria-label":"Select all",className:"translate-y-[2px]"})},cell:e=>{let{row:t}=e;return(0,s.jsx)(i.X,{checked:t.getIsSelected(),onCheckedChange:e=>t.toggleSelected(!!e),"aria-label":"Select row",className:"translate-y-[2px]"})},enableSorting:!1,enableHiding:!1},{accessorKey:"name",header:e=>{let{column:t}=e;return(0,s.jsx)(u,{column:t,title:"Name"})},cell:e=>{let{row:t}=e;return(0,s.jsx)("div",{className:"flex space-x-2",children:(0,s.jsx)("span",{className:"max-w-[200px] truncate font-medium",children:t.original.name})})}},{accessorKey:"value",header:e=>{let{column:t}=e;return(0,s.jsx)(u,{column:t,title:"Value"})},cell:e=>{let{row:t}=e,[a,n]=l.useState(!1),i=t.original.encrypted,r=t.original.value;return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)("span",{className:"max-w-[200px] truncate font-mono text-sm",children:i&&!a?"••••••••••••••••":a?r:r.substring(0,20)+(r.length>20?"...":"")}),(i||r.length>20)&&(0,s.jsx)("button",{onClick:()=>n(!a),className:"p-1 hover:bg-gray-100 rounded",children:a?(0,s.jsx)(v.Z,{className:"h-4 w-4 text-gray-500"}):(0,s.jsx)(j.Z,{className:"h-4 w-4 text-gray-500"})})]})},enableSorting:!1},{accessorKey:"encrypted",header:e=>{let{column:t}=e;return(0,s.jsx)(u,{column:t,title:"Encryption"})},cell:e=>{let{row:t}=e,a=t.original.encrypted;return(0,s.jsx)("div",{className:"flex items-center space-x-2",children:a?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b.Z,{className:"h-4 w-4 text-green-600"}),(0,s.jsx)(n.C,{variant:"default",className:"bg-green-100 text-green-800 border-green-300",children:"Encrypted"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z,{className:"h-4 w-4 text-gray-500"}),(0,s.jsx)(n.C,{variant:"outline",children:"Plain Text"})]})})},filterFn:(e,t,a)=>a.includes(e.getValue(t))},{accessorKey:"used_by",header:e=>{let{column:t}=e;return(0,s.jsx)(u,{column:t,title:"Used By"})},cell:e=>{let{row:t}=e,a=t.original.used_by||[];return(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)(n.C,{variant:"secondary",children:[a.length," resource",1!==a.length?"s":""]}),a.length>0&&(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.slice(0,2).map(e=>{let[t]=e.split("/");return t}).join(", "),a.length>2&&" +".concat(a.length-2," more")]})]})},enableSorting:!1},{accessorKey:"createdAt",header:e=>{let{column:t}=e;return(0,s.jsx)(u,{column:t,title:"Created"})},cell:e=>{let{row:t}=e;return(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:new Date(t.original.createdAt).toLocaleDateString()})}},{id:"actions",cell:e=>{let{row:t}=e;return(0,s.jsx)(p,{row:t})}}];var C=a(7211),w=a(71594),S=a(24525),R=a(99397),z=a(18930),P=a(99376),k=a(70085);function T(e){let{table:t}=e;return(0,s.jsxs)(d.h_,{modal:!1,children:[(0,s.jsx)(k.$F,{asChild:!0,children:(0,s.jsxs)(o.z,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[(0,s.jsx)(r.hsZ,{className:"mr-2 size-4"}),"View"]})}),(0,s.jsxs)(d.AW,{align:"end",className:"w-[150px]",children:[(0,s.jsx)(d.Ju,{children:"Toggle columns"}),(0,s.jsx)(d.VD,{}),t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(e=>(0,s.jsx)(d.bO,{className:"capitalize",checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))]})]})}var A=a(95186),I=a(10492),D=a(73578);function _(e){var t,a,n,i,d,c,u,m,h,p,v,j,b,N,y,k,_,M,V,F;let E,O,{columns:X}=e,{toast:Z}=(0,g.pm)(),G=(0,P.useRouter)(),[H,$]=l.useState({}),[U,K]=l.useState({}),[L,W]=l.useState([]),[Y,B]=(0,l.useState)([]),[J,Q]=(0,l.useState)(1),[q,ee]=l.useState([]),{loading:et,error:ea,data:es,refetch:el,previousData:en}=(0,C.aM)(f.Az,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:J,limit:10,filters:Y},pollInterval:3e4}),ei=l.useMemo(()=>[],[]),{limit:er,onPaginationChange:eo,skip:ed,pagination:ec}=function(){let[e,t]=(0,l.useState)({pageSize:10,pageIndex:0}),{pageSize:a,pageIndex:s}=e;return{limit:a,onPaginationChange:t,pagination:e,skip:a*s}}(),[eu,ex]=(0,x.D)(f.Mp,{refetchQueries:[f.Az,"GetVariables"]});et&&(null==en?void 0:null===(t=en.variablesPagination)||void 0===t?void 0:t.items)?(E=null==en?void 0:null===(v=en.variablesPagination)||void 0===v?void 0:v.items,O=null==en?void 0:null===(b=en.variablesPagination)||void 0===b?void 0:null===(j=b.pageInfo)||void 0===j?void 0:j.pageCount):(null==es?void 0:null===(a=es.variablesPagination)||void 0===a?void 0:a.items)?(E=null==es?void 0:null===(N=es.variablesPagination)||void 0===N?void 0:N.items,O=null==es?void 0:null===(k=es.variablesPagination)||void 0===k?void 0:null===(y=k.pageInfo)||void 0===y?void 0:y.pageCount):(null==en?void 0:null===(n=en.variablesPagination)||void 0===n?void 0:n.items)&&(E=null==en?void 0:null===(_=en.variablesPagination)||void 0===_?void 0:_.items,O=null==en?void 0:null===(V=en.variablesPagination)||void 0===V?void 0:null===(M=V.pageInfo)||void 0===M?void 0:M.pageCount);let em=(0,w.b7)({data:null!=E?E:ei,pageCount:null!=O?O:-1,columns:X,state:{sorting:q,columnVisibility:U,rowSelection:H,columnFilters:L},enableRowSelection:!0,onRowSelectionChange:$,onSortingChange:ee,onColumnFiltersChange:W,onColumnVisibilityChange:K,getCoreRowModel:(0,S.sC)(),getFilteredRowModel:(0,S.vL)(),getPaginationRowModel:(0,S.G_)(),getSortedRowModel:(0,S.tj)(),getFacetedRowModel:(0,S.o6)(),getFacetedUniqueValues:(0,S.JG)(),manualPagination:!0,onPaginationChange:eo}),ef=e=>{let t=[...Y],a=t.find(e=>e.name);(null==a?void 0:a.name)?a.name.contains=e:t.push({name:{contains:e}}),B(t),el()},eg=Y.length>0;return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex flex-1 items-center space-x-2",children:[(0,s.jsx)(A.I,{placeholder:"Filter variables...",value:null!==(F=null==Y?void 0:null===(d=Y.find(e=>e.name))||void 0===d?void 0:null===(i=d.name)||void 0===i?void 0:i.contains)&&void 0!==F?F:"",onChange:e=>{ef(e.target.value)},className:"w-[150px] lg:w-[250px]"}),(0,s.jsxs)(o.z,{onClick:()=>{G.push("/variables/create")},children:[(0,s.jsx)(R.Z,{className:"mr-2 size-4"}),"Add Variable"]}),em.getIsSomeRowsSelected()||em.getIsAllRowsSelected()?(0,s.jsx)("div",{className:"flex gap-x-2",children:(0,s.jsxs)(o.z,{onClick:()=>{let e=[];em.getSelectedRowModel().rows.forEach(t=>{e.push(eu({variables:{id:t.original.id}}))}),Promise.all(e).then(()=>{em.resetRowSelection(),Z({title:"Variables deleted",description:"Successfully deleted "+e.length+" variable(s)."})}).catch(()=>{Z({title:"Error",description:"Failed to delete some variables. Please try again.",variant:"destructive"})})},variant:"secondary",disabled:ex.loading,children:[ex.loading?(0,s.jsx)(I.g,{}):(0,s.jsx)(z.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"ml-2",children:"Delete selected"})]})}):null,eg&&(0,s.jsxs)(o.z,{variant:"ghost",onClick:()=>{let e=[...Y],t=e.find(e=>e.name);t&&e.splice(e.indexOf(t),1),B(e),el()},children:["Reset",(0,s.jsx)(r.Pxu,{className:"ml-2 size-4"})]})]}),(0,s.jsx)(T,{table:em})]}),(0,s.jsx)("div",{className:"rounded-md border",children:(0,s.jsxs)(D.iA,{children:[(0,s.jsx)(D.xD,{children:em.getHeaderGroups().map(e=>(0,s.jsx)(D.SC,{children:e.headers.map(e=>(0,s.jsx)(D.ss,{colSpan:e.colSpan,children:e.isPlaceholder?null:(0,w.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,s.jsx)(D.RM,{children:(null===(c=em.getRowModel().rows)||void 0===c?void 0:c.length)?em.getRowModel().rows.map(e=>(0,s.jsx)(D.SC,{"data-state":e.getIsSelected()&&"selected",children:e.getVisibleCells().map(e=>(0,s.jsx)(D.pj,{children:(0,w.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,s.jsx)(D.SC,{children:(0,s.jsx)(D.pj,{colSpan:X.length,className:"h-24 text-center",children:"No variables found."})})})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,s.jsxs)("div",{className:"text-muted-foreground flex-1 text-sm",children:[em.getFilteredSelectedRowModel().rows.length," of"," ",em.getFilteredRowModel().rows.length," row(s) selected."]}),(0,s.jsxs)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:[(0,s.jsxs)("div",{className:"flex w-[100px] items-center justify-center text-sm font-medium",children:["Page ",J," of ",em.getPageCount()]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsxs)(o.z,{variant:"outline",className:"hidden size-8 p-0 lg:flex",onClick:()=>{em.setPageIndex(0),Q(1),el()},disabled:!(null==es?void 0:null===(u=es.variablesPagination)||void 0===u?void 0:u.pageInfo.hasPreviousPage),children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,s.jsx)(r.kRt,{className:"size-4"})]}),(0,s.jsxs)(o.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{em.previousPage(),Q(J-1),el()},disabled:!(null==es?void 0:null===(m=es.variablesPagination)||void 0===m?void 0:m.pageInfo.hasPreviousPage),children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,s.jsx)(r.wyc,{className:"size-4"})]}),(0,s.jsxs)(o.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{em.nextPage(),Q(J+1),el()},disabled:!(null==es?void 0:null===(h=es.variablesPagination)||void 0===h?void 0:h.pageInfo.hasNextPage),children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,s.jsx)(r.XCv,{className:"size-4"})]}),(0,s.jsxs)(o.z,{variant:"outline",className:"hidden size-8 p-0 lg:flex",onClick:()=>{em.setPageIndex(em.getPageCount()-1),Q(em.getPageCount()),el()},disabled:!(null==es?void 0:null===(p=es.variablesPagination)||void 0===p?void 0:p.pageInfo.hasNextPage),children:[(0,s.jsx)("span",{className:"sr-only",children:"Go to last page"}),(0,s.jsx)(r.yr4,{className:"size-4"})]})]})]})]})]})}var M=a(13832);let V="force-dynamic";function F(){let{user:e}=(0,l.useContext)(M.S),t=y(e);return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"hidden h-full flex-1 flex-col space-y-8 p-8 md:flex",children:[(0,s.jsx)("div",{className:"flex items-center justify-between space-y-2",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Variables"}),(0,s.jsx)("p",{className:"text-muted-foreground",children:"Manage your application variables and secrets."})]})}),(0,s.jsx)(_,{columns:t})]})})}},37099:function(e,t,a){"use strict";a.d(t,{OL:function(){return h},_T:function(){return u},aR:function(){return o},f$:function(){return f},fY:function(){return x},le:function(){return p},xo:function(){return m},yT:function(){return g}});var s=a(57437),l=a(23619),n=a(2265),i=a(62869),r=a(94508);let o=l.fC;l.xz;let d=l.h_,c=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.aV,{className:(0,r.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...n,ref:t})});c.displayName=l.aV.displayName;let u=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(l.VY,{ref:t,className:(0,r.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...n})]})});u.displayName=l.VY.displayName;let x=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...a})};x.displayName="AlertDialogHeader";let m=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,r.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};m.displayName="AlertDialogFooter";let f=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.Dx,{ref:t,className:(0,r.cn)("text-lg font-semibold",a),...n})});f.displayName=l.Dx.displayName;let g=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.dk,{ref:t,className:(0,r.cn)("text-sm text-muted-foreground",a),...n})});g.displayName=l.dk.displayName;let h=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.aU,{ref:t,className:(0,r.cn)((0,i.d)(),a),...n})});h.displayName=l.aU.displayName;let p=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(l.$j,{ref:t,className:(0,r.cn)((0,i.d)({variant:"outline"}),"mt-2 sm:mt-0",a),...n})});p.displayName=l.$j.displayName},35974:function(e,t,a){"use strict";a.d(t,{C:function(){return r}});var s=a(57437),l=a(90535);a(2265);var n=a(94508);let i=(0,l.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function r(e){let{className:t,variant:a,...l}=e;return(0,s.jsx)("div",{className:(0,n.cn)(i({variant:a}),t),...l})}},19060:function(e,t,a){"use strict";a.d(t,{X:function(){return o}});var s=a(57437),l=a(9270),n=a(30401),i=a(2265),r=a(94508);let o=i.forwardRef((e,t)=>{let{className:a,...i}=e;return(0,s.jsx)(l.fC,{ref:t,className:(0,r.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...i,children:(0,s.jsx)(l.z$,{className:(0,r.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(n.Z,{className:"size-4"})})})});o.displayName=l.fC.displayName},10492:function(e,t,a){"use strict";a.d(t,{g:function(){return n}});var s=a(57437),l=a(94508);let n=e=>{let{className:t}=e;return(0,s.jsxs)("svg",{"aria-hidden":"true",role:"status",className:(0,l.cn)("inline w-4 h-4 text-white animate-spin fill-inherit",t),viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,s.jsx)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",className:"fill-inherit opacity-20"}),(0,s.jsx)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",className:"fill-inherit"})]})}},73578:function(e,t,a){"use strict";a.d(t,{RM:function(){return o},Rn:function(){return x},SC:function(){return d},iA:function(){return i},pj:function(){return u},ss:function(){return c},xD:function(){return r}});var s=a(57437),l=a(2265),n=a(94508);let i=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:t,className:(0,n.cn)("w-full caption-bottom text-sm",a),...l})})});i.displayName="Table";let r=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("thead",{ref:t,className:(0,n.cn)("[&_tr]:border-b",a),...l})});r.displayName="TableHeader";let o=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tbody",{ref:t,className:(0,n.cn)("[&_tr:last-child]:border-0",a),...l})});o.displayName="TableBody",l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tfoot",{ref:t,className:(0,n.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...l})}).displayName="TableFooter";let d=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("tr",{ref:t,className:(0,n.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...l})});d.displayName="TableRow";let c=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("th",{ref:t,className:(0,n.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});c.displayName="TableHead";let u=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("td",{ref:t,className:(0,n.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});u.displayName="TableCell";let x=l.forwardRef((e,t)=>{let{className:a,...l}=e;return(0,s.jsx)("caption",{ref:t,className:(0,n.cn)("mt-4 text-sm text-muted-foreground",a),...l})});x.displayName="TableCaption"},77992:function(e,t,a){"use strict";a.d(t,{Am:function(){return u},pm:function(){return x}});var s=a(2265);let l=0,n=new Map,i=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},r=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?i(a):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],d={toasts:[]};function c(e){d=r(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,a=(l=(l+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:a});return c({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||s()}}}),{id:a,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function x(){let[e,t]=s.useState(d);return s.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,605,4567,1206,5338,1594,3619,5935,6373,3832,2971,2117,1744],function(){return e(e.s=36527)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-51a8aeece444d388.js.map
2
+ //# sourceMappingURL=page-141d5d3f735454fe.js.map