@acutis/cli 0.1.2 → 0.2.0-dev.23
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/AC3CibKK.js +1 -0
- package/.output/public/_nuxt/BGc2VNce.js +1 -0
- package/.output/public/_nuxt/BN4XOpVt.js +1 -0
- package/.output/public/_nuxt/BNJ2GN0A.js +1 -0
- package/.output/public/_nuxt/BP52ABGx.js +1 -0
- package/.output/public/_nuxt/BWcsrofD.js +1 -0
- package/.output/public/_nuxt/{b5tj-z25.js → Bqp63OdK.js} +1 -1
- package/.output/public/_nuxt/CF8y5KTS.js +3 -0
- package/.output/public/_nuxt/CUTaKHid.js +1 -0
- package/.output/public/_nuxt/CZEhodn6.js +1 -0
- package/.output/public/_nuxt/Cym5RBDq.js +1 -0
- package/.output/public/_nuxt/D1ge6Bwo.js +1 -0
- package/.output/public/_nuxt/D2UpbqeN.js +28 -0
- package/.output/public/_nuxt/DDKd6Dxq.js +1 -0
- package/.output/public/_nuxt/D_FJunXs.js +64 -0
- package/.output/public/_nuxt/Dc2A-6xl.js +6 -0
- package/.output/public/_nuxt/DoQkJV4U.js +1 -0
- package/.output/public/_nuxt/JwPm-b3T.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/bcd56d50-e1a9-4021-b9df-ab200a81246a.json +1 -0
- package/.output/public/_nuxt/cnFSOQCu.js +1 -0
- package/.output/public/_nuxt/entry.BmTN_nlL.css +2 -0
- package/.output/public/_nuxt/error-404.CkhL7nxg.css +1 -0
- package/.output/public/_nuxt/error-500.DNftkU4A.css +1 -0
- package/.output/public/_nuxt/tags.C6gBUbEB.css +1 -0
- package/.output/server/chunks/_/auth2.mjs +3 -3
- package/.output/server/chunks/_/environment.mjs +3 -3
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/generation.mjs +3 -3
- package/.output/server/chunks/_/project.mjs +2 -2
- package/.output/server/chunks/_/project.service.mjs +3 -31
- package/.output/server/chunks/_/project.service.mjs.map +1 -1
- package/.output/server/chunks/_/recording.mjs +5 -2
- package/.output/server/chunks/_/recording.mjs.map +1 -1
- package/.output/server/chunks/_/scenario.mjs +4 -2
- package/.output/server/chunks/_/scenario.mjs.map +1 -1
- package/.output/server/chunks/_/scenario2.mjs +22 -5
- package/.output/server/chunks/_/scenario2.mjs.map +1 -1
- package/.output/server/chunks/_/spec-rules.mjs +29 -232
- package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
- package/.output/server/chunks/build/{Alert-Q5hBYuxt.mjs → Alert-WVcujYrW.mjs} +14 -14
- package/.output/server/chunks/build/Alert-WVcujYrW.mjs.map +1 -0
- package/.output/server/chunks/build/{Container-HW0bT_Wn.mjs → Container-C0k092cW.mjs} +4 -4
- package/.output/server/chunks/build/Container-C0k092cW.mjs.map +1 -0
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs → Pagination-BXryRfUN.mjs} +4 -4
- package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs.map → Pagination-BXryRfUN.mjs.map} +1 -1
- package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-qp56INdQ.mjs} +687 -149
- package/.output/server/chunks/build/_...scenario_-qp56INdQ.mjs.map +1 -0
- package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-dNDiCabc.mjs} +788 -433
- package/.output/server/chunks/build/_slug_-dNDiCabc.mjs.map +1 -0
- package/.output/server/chunks/build/{error-404-Dzfp7Wik.mjs → error-404-B5fzVPdQ.mjs} +5 -5
- package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs +9 -0
- package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs.map +1 -0
- package/.output/server/chunks/build/{error-500-Df60mzLr.mjs → error-500-Be62wrWs.mjs} +5 -5
- package/.output/server/chunks/build/error-500-Be62wrWs.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs +9 -0
- package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs.map +1 -0
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs → origin-DFFT7pGA.mjs} +546 -21
- package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs.map → origin-DFFT7pGA.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-BuW8VoW3.mjs → pages-NkoKH95O.mjs} +35 -37
- package/.output/server/chunks/build/pages-NkoKH95O.mjs.map +1 -0
- package/.output/server/chunks/build/tags-DXumXgr9.mjs +1653 -0
- package/.output/server/chunks/build/tags-DXumXgr9.mjs.map +1 -0
- package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs +131 -0
- package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs.map +1 -0
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
- package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +608 -367
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/raw/driver-entry.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
- package/.output/server/chunks/routes/api/telemetry/report.post.mjs +133 -0
- package/.output/server/chunks/routes/api/telemetry/report.post.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
- package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs +49 -0
- package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs.map +1 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
- package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
- package/.output/server/chunks/routes/ws.mjs +19 -2
- package/.output/server/chunks/routes/ws.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +11755 -11725
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +4 -3
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/bin/splash.mjs +2 -2
- package/dist-ui/driver-entry.js +3 -3
- package/package.json +5 -1
- package/reporters/stream-reporter.cjs +3 -3
- package/.output/public/_nuxt/5GgR1mbX.js +0 -1
- package/.output/public/_nuxt/ANcp5QFz.js +0 -1
- package/.output/public/_nuxt/BEFJRHhA2.js +0 -1
- package/.output/public/_nuxt/BEQgcp5R.js +0 -1
- package/.output/public/_nuxt/BEk00u4_.js +0 -1
- package/.output/public/_nuxt/BGdmRvCK2.js +0 -8
- package/.output/public/_nuxt/BMLYuU_e.js +0 -1
- package/.output/public/_nuxt/BWJpSLJL.js +0 -1
- package/.output/public/_nuxt/BXpPYfMx.js +0 -1
- package/.output/public/_nuxt/BbjTtCyI.js +0 -3
- package/.output/public/_nuxt/Bp3A7I5W2.js +0 -1
- package/.output/public/_nuxt/BuOb9NX0.js +0 -1
- package/.output/public/_nuxt/C1tNhfTr.js +0 -1
- package/.output/public/_nuxt/C2KIeuhG.js +0 -1
- package/.output/public/_nuxt/C5uJN_MU.js +0 -1
- package/.output/public/_nuxt/CBVnImq2.js +0 -1
- package/.output/public/_nuxt/CC0OsuIz.js +0 -28
- package/.output/public/_nuxt/CIFC2HNk.js +0 -1
- package/.output/public/_nuxt/CKps1Vc12.js +0 -3
- package/.output/public/_nuxt/CRH0iqnQ.js +0 -1
- package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
- package/.output/public/_nuxt/CTqLwyQP.js +0 -1
- package/.output/public/_nuxt/CU7sPrmY.js +0 -3
- package/.output/public/_nuxt/CfOqJVtU.js +0 -1
- package/.output/public/_nuxt/Ch1EeKHP.js +0 -1
- package/.output/public/_nuxt/Clv7nJ_T2.js +0 -1
- package/.output/public/_nuxt/D-7v7DZs.js +0 -1
- package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
- package/.output/public/_nuxt/D5HF1Z0f2.js +0 -1
- package/.output/public/_nuxt/DDHUGtv32.js +0 -4
- package/.output/public/_nuxt/DEJ3sRrh2.js +0 -1
- package/.output/public/_nuxt/DPM_BYFz2.js +0 -1
- package/.output/public/_nuxt/DXLPf3t6.js +0 -1
- package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
- package/.output/public/_nuxt/DtuQPKVG.js +0 -1
- package/.output/public/_nuxt/FvWrDx_z.js +0 -1
- package/.output/public/_nuxt/Gcazu-lR.js +0 -1
- package/.output/public/_nuxt/QcKfgokC.js +0 -1
- package/.output/public/_nuxt/XDsaI4JL.js +0 -1
- package/.output/public/_nuxt/builds/meta/bf2cb2c6-2ddb-4f64-9777-e314571fd19d.json +0 -1
- package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
- package/.output/public/_nuxt/error-404.DopINOT1.css +0 -1
- package/.output/public/_nuxt/error-500.D7goJC9g.css +0 -1
- package/.output/public/_nuxt/f0o80Gcm.js +0 -1
- package/.output/public/_nuxt/k5q7GKnv.js +0 -1
- package/.output/public/_nuxt/modal.3A_G7d4A.css +0 -1
- package/.output/public/_nuxt/tLr-SJaf.js +0 -1
- package/.output/public/dev/sample-run.webm +0 -0
- package/.output/server/chunks/build/Alert-Q5hBYuxt.mjs.map +0 -1
- package/.output/server/chunks/build/Badge-BgyIJKeU.mjs +0 -394
- package/.output/server/chunks/build/Badge-BgyIJKeU.mjs.map +0 -1
- package/.output/server/chunks/build/Card-DLzZ816u.mjs +0 -144
- package/.output/server/chunks/build/Card-DLzZ816u.mjs.map +0 -1
- package/.output/server/chunks/build/Container-HW0bT_Wn.mjs.map +0 -1
- package/.output/server/chunks/build/_...scenario_-DNqQ06NM.mjs.map +0 -1
- package/.output/server/chunks/build/_slug_-BlLRYU9d.mjs.map +0 -1
- package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs +0 -128
- package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs.map +0 -1
- package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs +0 -53
- package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs.map +0 -1
- package/.output/server/chunks/build/empty-xO5aD2Ip.mjs +0 -44
- package/.output/server/chunks/build/empty-xO5aD2Ip.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-Dzfp7Wik.mjs.map +0 -1
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs +0 -9
- package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-Df60mzLr.mjs.map +0 -1
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs +0 -9
- package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs.map +0 -1
- package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs +0 -123
- package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs.map +0 -1
- package/.output/server/chunks/build/history-D-mei_D6.mjs +0 -163
- package/.output/server/chunks/build/history-D-mei_D6.mjs.map +0 -1
- package/.output/server/chunks/build/modal-81h_kbj9.mjs +0 -321
- package/.output/server/chunks/build/modal-81h_kbj9.mjs.map +0 -1
- package/.output/server/chunks/build/modal-Cpj-bQgu.mjs +0 -342
- package/.output/server/chunks/build/modal-Cpj-bQgu.mjs.map +0 -1
- package/.output/server/chunks/build/modal-DV_DQ0hO.mjs +0 -659
- package/.output/server/chunks/build/modal-DV_DQ0hO.mjs.map +0 -1
- package/.output/server/chunks/build/pages-BuW8VoW3.mjs.map +0 -1
- package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs +0 -38
- package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs.map +0 -1
- package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs +0 -455
- package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs.map +0 -1
- package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs +0 -157
- package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs +0 -135
- package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs +0 -210
- package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs.map +0 -1
- package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs +0 -505
- package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs.map +0 -1
- package/.output/server/chunks/build/steps-CcAjZqHX.mjs +0 -54
- package/.output/server/chunks/build/steps-CcAjZqHX.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DrKY6Ah4.mjs +0 -594
- package/.output/server/chunks/build/tags-DrKY6Ah4.mjs.map +0 -1
- package/.output/server/chunks/build/warnings-D8SWbHw0.mjs +0 -76
- package/.output/server/chunks/build/warnings-D8SWbHw0.mjs.map +0 -1
- package/.output/server/chunks/raw/sample-run.mjs +0 -7
- package/.output/server/chunks/raw/sample-run.mjs.map +0 -1
- package/dist-ui/dev/sample-run.webm +0 -0
- /package/.output/public/_nuxt/{BDNMzG2s2.js → BDNMzG2s.js} +0 -0
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { _ as _sfc_main$
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { w as warnings_default } from './warnings-D8SWbHw0.mjs';
|
|
8
|
-
import { p as phrases_default } from './phrases-CSDEYSbZ.mjs';
|
|
9
|
-
import { u as useRunStream, r as reportUrlFor } from './run-stream-CNVDpZ_S.mjs';
|
|
10
|
-
import { e as empty_default$1 } from './empty-xO5aD2Ip.mjs';
|
|
11
|
-
import { _ as _sfc_main$7 } from './Card-DLzZ816u.mjs';
|
|
12
|
-
import { m as modal_default$4 } from './modal-Cpj-bQgu.mjs';
|
|
13
|
-
import { u as useWebdriver, s as setup_default, t as tagColor, c as confirm_default, b as contexts_default, a as timeline_default } from './tags-DrKY6Ah4.mjs';
|
|
14
|
-
import { defineComponent, computed, ref, withAsyncContext, watch, mergeProps, unref, withCtx, createVNode, isRef, toDisplayString, openBlock, createBlock, Fragment, renderList, createTextVNode, createCommentVNode, useSlots, useModel, toRef, renderSlot, createSlots, mergeModels, resolveDynamicComponent, withModifiers, withKeys, provide, useId, useSSRContext } from 'vue';
|
|
1
|
+
import { f as useRoute, g as useFetch, h as createError$1, k as icon_default, _ as _sfc_main$6, m as _sfc_main$7, n as navigateTo, $ as $fetch$1, a as useComponentProps, b as useAppConfig, v as useForwardProps, w as reactivePick, t as tv, O as DropdownMenuRoot_default, Q as DropdownMenuTrigger_default, S as DropdownMenuArrow_default, T as refreshNuxtData, u as useNotify, l as _sfc_main$7$1, U as _sfc_main$5$1, c as useLocale, V as useFilter, W as usePortal, X as useForwardPropsEmits, Y as reactiveOmit, Z as createReusableTemplate, a0 as isArrayOfArray, e as _sfc_main$5$2, d as _sfc_main$3$1, x as get, a1 as _sfc_main$8$1, a2 as DropdownMenu, a3 as FieldGroupReset, a4 as _sfc_main$1$1, a5 as pickLinkProps, a6 as _sfc_main$2$2, a7 as omit, p as modal_default$4, q as _sfc_main$1$2, a8 as fieldGroupInjectionKey, P as Primitive, B as useVModel, z as useForwardExpose, C as useId$1, a9 as useEventListener, E as Presence_default, F as createContext } from '../virtual/entry.mjs';
|
|
2
|
+
import { p as projectOrigin, _ as _sfc_main$2$1, b as _sfc_main$8 } from './origin-DFFT7pGA.mjs';
|
|
3
|
+
import { _ as _sfc_main$4 } from './Container-C0k092cW.mjs';
|
|
4
|
+
import { _ as _sfc_main$5 } from './Alert-WVcujYrW.mjs';
|
|
5
|
+
import { u as useRunStream, a as useWebdriver, r as reportUrlFor, s as setup_default, m as modal_default$1$1, t as tagColor, f as modal_default$3, d as confirm_default, e as empty_default$1, p as phrases_default, j as steps_default } from './tags-DXumXgr9.mjs';
|
|
6
|
+
import { defineComponent, computed, ref, withAsyncContext, watch, mergeProps, unref, withCtx, createVNode, isRef, toDisplayString, openBlock, createBlock, Fragment, renderList, createTextVNode, createCommentVNode, useSlots, useModel, toRef, renderSlot, createSlots, mergeModels, resolveDynamicComponent, withModifiers, withKeys, provide, useId, toRefs, nextTick, useSSRContext } from 'vue';
|
|
15
7
|
import { n as defu } from '../nitro/nitro.mjs';
|
|
16
8
|
import { ssrRenderComponent, ssrRenderAttr, ssrInterpolate, ssrRenderList, ssrRenderSlot, ssrRenderAttrs, ssrRenderClass, ssrRenderVNode } from 'vue/server-renderer';
|
|
17
9
|
import 'unhead/plugins';
|
|
@@ -25,7 +17,6 @@ import 'devalue';
|
|
|
25
17
|
import 'fnv1a-64';
|
|
26
18
|
import 'object-identity';
|
|
27
19
|
import 'tailwindcss/colors';
|
|
28
|
-
import './steps-CcAjZqHX.mjs';
|
|
29
20
|
import './_plugin-vue_export-helper-BOaGB7Aw.mjs';
|
|
30
21
|
import 'prismjs';
|
|
31
22
|
import 'node:http';
|
|
@@ -60,6 +51,218 @@ import 'langchain';
|
|
|
60
51
|
import '@iconify/utils';
|
|
61
52
|
import 'consola';
|
|
62
53
|
|
|
54
|
+
//#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Collapsible/CollapsibleRoot.js
|
|
55
|
+
var [injectCollapsibleRootContext, provideCollapsibleRootContext] = /*#__PURE__*/ createContext("CollapsibleRoot");
|
|
56
|
+
var CollapsibleRoot_default = /* @__PURE__ */ defineComponent({
|
|
57
|
+
__name: "CollapsibleRoot",
|
|
58
|
+
props: {
|
|
59
|
+
defaultOpen: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
required: false,
|
|
62
|
+
default: false
|
|
63
|
+
},
|
|
64
|
+
open: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
required: false,
|
|
67
|
+
default: void 0
|
|
68
|
+
},
|
|
69
|
+
disabled: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
required: false
|
|
72
|
+
},
|
|
73
|
+
unmountOnHide: {
|
|
74
|
+
type: Boolean,
|
|
75
|
+
required: false,
|
|
76
|
+
default: true
|
|
77
|
+
},
|
|
78
|
+
asChild: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
required: false
|
|
81
|
+
},
|
|
82
|
+
as: {
|
|
83
|
+
type: null,
|
|
84
|
+
required: false
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
emits: ["update:open"],
|
|
88
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
89
|
+
const props = __props;
|
|
90
|
+
const open = useVModel(props, "open", __emit, {
|
|
91
|
+
defaultValue: props.defaultOpen,
|
|
92
|
+
passive: props.open === void 0
|
|
93
|
+
});
|
|
94
|
+
const { disabled, unmountOnHide } = toRefs(props);
|
|
95
|
+
provideCollapsibleRootContext({
|
|
96
|
+
contentId: "",
|
|
97
|
+
disabled,
|
|
98
|
+
open,
|
|
99
|
+
unmountOnHide,
|
|
100
|
+
onOpenToggle: () => {
|
|
101
|
+
if (disabled.value) return;
|
|
102
|
+
open.value = !open.value;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
__expose({ open });
|
|
106
|
+
useForwardExpose();
|
|
107
|
+
return (_ctx, _cache) => {
|
|
108
|
+
return openBlock(), createBlock(unref(Primitive), {
|
|
109
|
+
as: _ctx.as,
|
|
110
|
+
"as-child": props.asChild,
|
|
111
|
+
"data-state": unref(open) ? "open" : "closed",
|
|
112
|
+
"data-disabled": unref(disabled) ? "" : void 0
|
|
113
|
+
}, {
|
|
114
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { open: unref(open) })]),
|
|
115
|
+
_: 3
|
|
116
|
+
}, 8, [
|
|
117
|
+
"as",
|
|
118
|
+
"as-child",
|
|
119
|
+
"data-state",
|
|
120
|
+
"data-disabled"
|
|
121
|
+
]);
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Collapsible/CollapsibleContent.js
|
|
127
|
+
var CollapsibleContent_default = /* @__PURE__ */ defineComponent({
|
|
128
|
+
inheritAttrs: false,
|
|
129
|
+
__name: "CollapsibleContent",
|
|
130
|
+
props: {
|
|
131
|
+
forceMount: {
|
|
132
|
+
type: Boolean,
|
|
133
|
+
required: false
|
|
134
|
+
},
|
|
135
|
+
asChild: {
|
|
136
|
+
type: Boolean,
|
|
137
|
+
required: false
|
|
138
|
+
},
|
|
139
|
+
as: {
|
|
140
|
+
type: null,
|
|
141
|
+
required: false
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
emits: ["contentFound"],
|
|
145
|
+
setup(__props, { emit: __emit }) {
|
|
146
|
+
const props = __props;
|
|
147
|
+
const emits = __emit;
|
|
148
|
+
const rootContext = injectCollapsibleRootContext();
|
|
149
|
+
rootContext.contentId ||= useId$1(void 0, "reka-collapsible-content");
|
|
150
|
+
const presentRef = ref();
|
|
151
|
+
const { forwardRef, currentElement } = useForwardExpose();
|
|
152
|
+
const width = ref(0);
|
|
153
|
+
const height = ref(0);
|
|
154
|
+
const isOpen = computed(() => rootContext.open.value);
|
|
155
|
+
const isMountAnimationPrevented = ref(isOpen.value);
|
|
156
|
+
const currentStyle = ref();
|
|
157
|
+
watch(() => [isOpen.value, presentRef.value?.present], async () => {
|
|
158
|
+
await nextTick();
|
|
159
|
+
const node = currentElement.value;
|
|
160
|
+
if (!node) return;
|
|
161
|
+
currentStyle.value = currentStyle.value || {
|
|
162
|
+
transitionDuration: node.style.transitionDuration,
|
|
163
|
+
animationName: node.style.animationName
|
|
164
|
+
};
|
|
165
|
+
node.style.transitionDuration = "0s";
|
|
166
|
+
node.style.animationName = "none";
|
|
167
|
+
const rect = node.getBoundingClientRect();
|
|
168
|
+
height.value = rect.height;
|
|
169
|
+
width.value = rect.width;
|
|
170
|
+
if (!isMountAnimationPrevented.value) {
|
|
171
|
+
node.style.transitionDuration = currentStyle.value.transitionDuration;
|
|
172
|
+
node.style.animationName = currentStyle.value.animationName;
|
|
173
|
+
}
|
|
174
|
+
}, { immediate: true });
|
|
175
|
+
const skipAnimation = computed(() => isMountAnimationPrevented.value && rootContext.open.value);
|
|
176
|
+
useEventListener(currentElement, "beforematch", (ev) => {
|
|
177
|
+
requestAnimationFrame(() => {
|
|
178
|
+
rootContext.onOpenToggle();
|
|
179
|
+
emits("contentFound");
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
return (_ctx, _cache) => {
|
|
183
|
+
return openBlock(), createBlock(unref(Presence_default), {
|
|
184
|
+
ref_key: "presentRef",
|
|
185
|
+
ref: presentRef,
|
|
186
|
+
present: _ctx.forceMount || unref(rootContext).open.value,
|
|
187
|
+
"force-mount": true
|
|
188
|
+
}, {
|
|
189
|
+
default: withCtx(({ present }) => [createVNode(unref(Primitive), mergeProps(_ctx.$attrs, {
|
|
190
|
+
id: unref(rootContext).contentId,
|
|
191
|
+
ref: unref(forwardRef),
|
|
192
|
+
"as-child": props.asChild,
|
|
193
|
+
as: _ctx.as,
|
|
194
|
+
hidden: !present ? unref(rootContext).unmountOnHide.value ? "" : "until-found" : void 0,
|
|
195
|
+
"data-state": skipAnimation.value ? void 0 : unref(rootContext).open.value ? "open" : "closed",
|
|
196
|
+
"data-disabled": unref(rootContext).disabled?.value ? "" : void 0,
|
|
197
|
+
style: {
|
|
198
|
+
[`--reka-collapsible-content-height`]: `${height.value}px`,
|
|
199
|
+
[`--reka-collapsible-content-width`]: `${width.value}px`
|
|
200
|
+
}
|
|
201
|
+
}), {
|
|
202
|
+
default: withCtx(() => [(unref(rootContext).unmountOnHide.value ? present : true) ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("v-if", true)]),
|
|
203
|
+
_: 2
|
|
204
|
+
}, 1040, [
|
|
205
|
+
"id",
|
|
206
|
+
"as-child",
|
|
207
|
+
"as",
|
|
208
|
+
"hidden",
|
|
209
|
+
"data-state",
|
|
210
|
+
"data-disabled",
|
|
211
|
+
"style"
|
|
212
|
+
])]),
|
|
213
|
+
_: 3
|
|
214
|
+
}, 8, ["present"]);
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Collapsible/CollapsibleTrigger.js
|
|
220
|
+
var CollapsibleTrigger_default = /* @__PURE__ */ defineComponent({
|
|
221
|
+
__name: "CollapsibleTrigger",
|
|
222
|
+
props: {
|
|
223
|
+
asChild: {
|
|
224
|
+
type: Boolean,
|
|
225
|
+
required: false
|
|
226
|
+
},
|
|
227
|
+
as: {
|
|
228
|
+
type: null,
|
|
229
|
+
required: false,
|
|
230
|
+
default: "button"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
setup(__props) {
|
|
234
|
+
const props = __props;
|
|
235
|
+
useForwardExpose();
|
|
236
|
+
const rootContext = injectCollapsibleRootContext();
|
|
237
|
+
return (_ctx, _cache) => {
|
|
238
|
+
return openBlock(), createBlock(unref(Primitive), {
|
|
239
|
+
type: _ctx.as === "button" ? "button" : void 0,
|
|
240
|
+
as: _ctx.as,
|
|
241
|
+
"as-child": props.asChild,
|
|
242
|
+
"aria-controls": unref(rootContext).contentId,
|
|
243
|
+
"aria-expanded": unref(rootContext).open.value,
|
|
244
|
+
"data-state": unref(rootContext).open.value ? "open" : "closed",
|
|
245
|
+
"data-disabled": unref(rootContext).disabled?.value ? "" : void 0,
|
|
246
|
+
disabled: unref(rootContext).disabled?.value,
|
|
247
|
+
onClick: unref(rootContext).onOpenToggle
|
|
248
|
+
}, {
|
|
249
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
250
|
+
_: 3
|
|
251
|
+
}, 8, [
|
|
252
|
+
"type",
|
|
253
|
+
"as",
|
|
254
|
+
"as-child",
|
|
255
|
+
"aria-controls",
|
|
256
|
+
"aria-expanded",
|
|
257
|
+
"data-state",
|
|
258
|
+
"data-disabled",
|
|
259
|
+
"disabled",
|
|
260
|
+
"onClick"
|
|
261
|
+
]);
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
//#endregion
|
|
63
266
|
//#region app/components/project/rename/inline.vue?vue&type=script&setup=true&lang.ts
|
|
64
267
|
var inline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
65
268
|
__name: "inline",
|
|
@@ -87,7 +290,7 @@ var inline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
87
290
|
if (wanted === "" || wanted === __props.name) return cancel();
|
|
88
291
|
saving.value = true;
|
|
89
292
|
try {
|
|
90
|
-
const updated = await $fetch$
|
|
293
|
+
const updated = await $fetch$1(`/api/projects/${__props.slug}`, {
|
|
91
294
|
method: "PUT",
|
|
92
295
|
body: { name: wanted }
|
|
93
296
|
});
|
|
@@ -100,9 +303,9 @@ var inline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
100
303
|
}
|
|
101
304
|
}
|
|
102
305
|
return (_ctx, _push, _parent, _attrs) => {
|
|
103
|
-
const _component_UInput = _sfc_main$
|
|
306
|
+
const _component_UInput = _sfc_main$7;
|
|
104
307
|
const _component_BaseButtonIcon = icon_default;
|
|
105
|
-
const _component_UTooltip = _sfc_main$
|
|
308
|
+
const _component_UTooltip = _sfc_main$7$1;
|
|
106
309
|
if (unref(editing)) {
|
|
107
310
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex items-center gap-2" }, _attrs))}>`);
|
|
108
311
|
_push(ssrRenderComponent(_component_UInput, {
|
|
@@ -178,8 +381,8 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Ffield_group_default
|
|
|
178
381
|
}
|
|
179
382
|
};
|
|
180
383
|
//#endregion
|
|
181
|
-
//#region node_modules/.pnpm/@nuxt+ui@4.10.
|
|
182
|
-
var _sfc_main$
|
|
384
|
+
//#region node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/FieldGroup.vue
|
|
385
|
+
var _sfc_main$3 = {
|
|
183
386
|
__name: "UFieldGroup",
|
|
184
387
|
__ssrInlineRender: true,
|
|
185
388
|
props: {
|
|
@@ -234,10 +437,10 @@ var _sfc_main$2 = {
|
|
|
234
437
|
};
|
|
235
438
|
}
|
|
236
439
|
};
|
|
237
|
-
var _sfc_setup$10 = _sfc_main$
|
|
238
|
-
_sfc_main$
|
|
440
|
+
var _sfc_setup$10 = _sfc_main$3.setup;
|
|
441
|
+
_sfc_main$3.setup = (props, ctx) => {
|
|
239
442
|
const ssrContext = useSSRContext();
|
|
240
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.
|
|
443
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/FieldGroup.vue");
|
|
241
444
|
return _sfc_setup$10 ? _sfc_setup$10(props, ctx) : void 0;
|
|
242
445
|
};
|
|
243
446
|
//#endregion
|
|
@@ -264,7 +467,7 @@ var select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
264
467
|
if (!environment || environment === data.value?.active) return;
|
|
265
468
|
switching.value = true;
|
|
266
469
|
try {
|
|
267
|
-
await $fetch$
|
|
470
|
+
await $fetch$1(`/api/projects/${__props.slug}/environments/${environment}/activate`, { method: "POST" });
|
|
268
471
|
await refresh();
|
|
269
472
|
emit("activated");
|
|
270
473
|
} finally {
|
|
@@ -272,9 +475,9 @@ var select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
272
475
|
}
|
|
273
476
|
}
|
|
274
477
|
return (_ctx, _push, _parent, _attrs) => {
|
|
275
|
-
const _component_UTooltip = _sfc_main$
|
|
478
|
+
const _component_UTooltip = _sfc_main$7$1;
|
|
276
479
|
const _component_UButton = _sfc_main$6;
|
|
277
|
-
const _component_UFieldGroup = _sfc_main$
|
|
480
|
+
const _component_UFieldGroup = _sfc_main$3;
|
|
278
481
|
const _component_USelectMenu = _sfc_main$5$1;
|
|
279
482
|
const _component_BaseButtonIcon = icon_default;
|
|
280
483
|
if (unref(items).length < 2) _push(ssrRenderComponent(_component_UTooltip, mergeProps({ text: "Editar as variáveis deste ambiente" }, _attrs), {
|
|
@@ -368,8 +571,8 @@ select_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
368
571
|
};
|
|
369
572
|
var select_default = Object.assign(select_vue_vue_type_script_setup_true_lang_default, { __name: "ProjectEnvironmentsSelect" });
|
|
370
573
|
//#endregion
|
|
371
|
-
//#region node_modules/.pnpm/@nuxt+ui@4.10.
|
|
372
|
-
var _sfc_main$
|
|
574
|
+
//#region node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/DropdownMenuContent.vue
|
|
575
|
+
var _sfc_main$2 = {
|
|
373
576
|
__name: "UDropdownMenuContent",
|
|
374
577
|
__ssrInlineRender: true,
|
|
375
578
|
props: {
|
|
@@ -581,7 +784,7 @@ var _sfc_main$1 = {
|
|
|
581
784
|
index,
|
|
582
785
|
ui: __props.ui
|
|
583
786
|
}, () => {
|
|
584
|
-
if (item.loading) _push(ssrRenderComponent(_sfc_main$2
|
|
787
|
+
if (item.loading) _push(ssrRenderComponent(_sfc_main$5$2, {
|
|
585
788
|
name: __props.loadingIcon || unref(appConfig).ui.icons.loading,
|
|
586
789
|
"data-slot": "itemLeadingIcon",
|
|
587
790
|
class: __props.ui.itemLeadingIcon({
|
|
@@ -590,7 +793,7 @@ var _sfc_main$1 = {
|
|
|
590
793
|
loading: true
|
|
591
794
|
})
|
|
592
795
|
}, null, _parent, _scopeId));
|
|
593
|
-
else if (item.icon) _push(ssrRenderComponent(_sfc_main$2
|
|
796
|
+
else if (item.icon) _push(ssrRenderComponent(_sfc_main$5$2, {
|
|
594
797
|
name: item.icon,
|
|
595
798
|
"data-slot": "itemLeadingIcon",
|
|
596
799
|
class: __props.ui.itemLeadingIcon({
|
|
@@ -599,7 +802,7 @@ var _sfc_main$1 = {
|
|
|
599
802
|
active
|
|
600
803
|
})
|
|
601
804
|
}, null, _parent, _scopeId));
|
|
602
|
-
else if (item.avatar) _push(ssrRenderComponent(_sfc_main$
|
|
805
|
+
else if (item.avatar) _push(ssrRenderComponent(_sfc_main$3$1, mergeProps({ size: item.ui?.itemLeadingAvatarSize || __props.uiOverride?.itemLeadingAvatarSize || __props.ui.itemLeadingAvatarSize() }, item.avatar, {
|
|
603
806
|
"data-slot": "itemLeadingAvatar",
|
|
604
807
|
class: __props.ui.itemLeadingAvatar({
|
|
605
808
|
class: [__props.uiOverride?.itemLeadingAvatar, item.ui?.itemLeadingAvatar],
|
|
@@ -620,7 +823,7 @@ var _sfc_main$1 = {
|
|
|
620
823
|
}, () => {
|
|
621
824
|
_push(`${ssrInterpolate(unref(get)(item, props.labelKey))}`);
|
|
622
825
|
}, _push, _parent, _scopeId);
|
|
623
|
-
if (item.target === "_blank" && __props.externalIcon !== false) _push(ssrRenderComponent(_sfc_main$2
|
|
826
|
+
if (item.target === "_blank" && __props.externalIcon !== false) _push(ssrRenderComponent(_sfc_main$5$2, {
|
|
624
827
|
name: typeof __props.externalIcon === "string" ? __props.externalIcon : unref(appConfig).ui.icons.external,
|
|
625
828
|
"data-slot": "itemLabelExternalIcon",
|
|
626
829
|
class: __props.ui.itemLabelExternalIcon({
|
|
@@ -651,7 +854,7 @@ var _sfc_main$1 = {
|
|
|
651
854
|
index,
|
|
652
855
|
ui: __props.ui
|
|
653
856
|
}, () => {
|
|
654
|
-
if (item.children?.length) _push(ssrRenderComponent(_sfc_main$2
|
|
857
|
+
if (item.children?.length) _push(ssrRenderComponent(_sfc_main$5$2, {
|
|
655
858
|
name: childrenIcon.value,
|
|
656
859
|
"data-slot": "itemTrailingIcon",
|
|
657
860
|
class: __props.ui.itemTrailingIcon({
|
|
@@ -663,7 +866,7 @@ var _sfc_main$1 = {
|
|
|
663
866
|
else if (item.kbds?.length) {
|
|
664
867
|
_push(`<span data-slot="itemTrailingKbds" class="${ssrRenderClass(__props.ui.itemTrailingKbds({ class: [__props.uiOverride?.itemTrailingKbds, item.ui?.itemTrailingKbds] }))}"${_scopeId}><!--[-->`);
|
|
665
868
|
ssrRenderList(item.kbds, (kbd, kbdIndex) => {
|
|
666
|
-
_push(ssrRenderComponent(_sfc_main$
|
|
869
|
+
_push(ssrRenderComponent(_sfc_main$8$1, mergeProps({
|
|
667
870
|
key: kbdIndex,
|
|
668
871
|
size: item.ui?.itemTrailingKbdsSize || __props.uiOverride?.itemTrailingKbdsSize || __props.ui.itemTrailingKbdsSize()
|
|
669
872
|
}, { ref_for: true }, typeof kbd === "string" ? { value: kbd } : kbd), null, _parent, _scopeId));
|
|
@@ -673,7 +876,7 @@ var _sfc_main$1 = {
|
|
|
673
876
|
}, _push, _parent, _scopeId);
|
|
674
877
|
_push(ssrRenderComponent(unref(DropdownMenu).ItemIndicator, { "as-child": "" }, {
|
|
675
878
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
676
|
-
if (_push) _push(ssrRenderComponent(_sfc_main$2
|
|
879
|
+
if (_push) _push(ssrRenderComponent(_sfc_main$5$2, {
|
|
677
880
|
name: __props.checkedIcon || unref(appConfig).ui.icons.check,
|
|
678
881
|
"data-slot": "itemTrailingIcon",
|
|
679
882
|
class: __props.ui.itemTrailingIcon({
|
|
@@ -681,7 +884,7 @@ var _sfc_main$1 = {
|
|
|
681
884
|
color: item?.color
|
|
682
885
|
})
|
|
683
886
|
}, null, _parent, _scopeId));
|
|
684
|
-
else return [createVNode(_sfc_main$2
|
|
887
|
+
else return [createVNode(_sfc_main$5$2, {
|
|
685
888
|
name: __props.checkedIcon || unref(appConfig).ui.icons.check,
|
|
686
889
|
"data-slot": "itemTrailingIcon",
|
|
687
890
|
class: __props.ui.itemTrailingIcon({
|
|
@@ -704,7 +907,7 @@ var _sfc_main$1 = {
|
|
|
704
907
|
active,
|
|
705
908
|
index,
|
|
706
909
|
ui: __props.ui
|
|
707
|
-
}, () => [item.loading ? (openBlock(), createBlock(_sfc_main$2
|
|
910
|
+
}, () => [item.loading ? (openBlock(), createBlock(_sfc_main$5$2, {
|
|
708
911
|
key: 0,
|
|
709
912
|
name: __props.loadingIcon || unref(appConfig).ui.icons.loading,
|
|
710
913
|
"data-slot": "itemLeadingIcon",
|
|
@@ -713,7 +916,7 @@ var _sfc_main$1 = {
|
|
|
713
916
|
color: item?.color,
|
|
714
917
|
loading: true
|
|
715
918
|
})
|
|
716
|
-
}, null, 8, ["name", "class"])) : item.icon ? (openBlock(), createBlock(_sfc_main$2
|
|
919
|
+
}, null, 8, ["name", "class"])) : item.icon ? (openBlock(), createBlock(_sfc_main$5$2, {
|
|
717
920
|
key: 1,
|
|
718
921
|
name: item.icon,
|
|
719
922
|
"data-slot": "itemLeadingIcon",
|
|
@@ -722,7 +925,7 @@ var _sfc_main$1 = {
|
|
|
722
925
|
color: item?.color,
|
|
723
926
|
active
|
|
724
927
|
})
|
|
725
|
-
}, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$
|
|
928
|
+
}, null, 8, ["name", "class"])) : item.avatar ? (openBlock(), createBlock(_sfc_main$3$1, mergeProps({
|
|
726
929
|
key: 2,
|
|
727
930
|
size: item.ui?.itemLeadingAvatarSize || __props.uiOverride?.itemLeadingAvatarSize || __props.ui.itemLeadingAvatarSize()
|
|
728
931
|
}, item.avatar, {
|
|
@@ -746,7 +949,7 @@ var _sfc_main$1 = {
|
|
|
746
949
|
item,
|
|
747
950
|
active,
|
|
748
951
|
index
|
|
749
|
-
}, () => [createTextVNode(toDisplayString(unref(get)(item, props.labelKey)), 1)]), item.target === "_blank" && __props.externalIcon !== false ? (openBlock(), createBlock(_sfc_main$2
|
|
952
|
+
}, () => [createTextVNode(toDisplayString(unref(get)(item, props.labelKey)), 1)]), item.target === "_blank" && __props.externalIcon !== false ? (openBlock(), createBlock(_sfc_main$5$2, {
|
|
750
953
|
key: 0,
|
|
751
954
|
name: typeof __props.externalIcon === "string" ? __props.externalIcon : unref(appConfig).ui.icons.external,
|
|
752
955
|
"data-slot": "itemLabelExternalIcon",
|
|
@@ -772,7 +975,7 @@ var _sfc_main$1 = {
|
|
|
772
975
|
active,
|
|
773
976
|
index,
|
|
774
977
|
ui: __props.ui
|
|
775
|
-
}, () => [item.children?.length ? (openBlock(), createBlock(_sfc_main$2
|
|
978
|
+
}, () => [item.children?.length ? (openBlock(), createBlock(_sfc_main$5$2, {
|
|
776
979
|
key: 0,
|
|
777
980
|
name: childrenIcon.value,
|
|
778
981
|
"data-slot": "itemTrailingIcon",
|
|
@@ -786,12 +989,12 @@ var _sfc_main$1 = {
|
|
|
786
989
|
"data-slot": "itemTrailingKbds",
|
|
787
990
|
class: __props.ui.itemTrailingKbds({ class: [__props.uiOverride?.itemTrailingKbds, item.ui?.itemTrailingKbds] })
|
|
788
991
|
}, [(openBlock(true), createBlock(Fragment, null, renderList(item.kbds, (kbd, kbdIndex) => {
|
|
789
|
-
return openBlock(), createBlock(_sfc_main$
|
|
992
|
+
return openBlock(), createBlock(_sfc_main$8$1, mergeProps({
|
|
790
993
|
key: kbdIndex,
|
|
791
994
|
size: item.ui?.itemTrailingKbdsSize || __props.uiOverride?.itemTrailingKbdsSize || __props.ui.itemTrailingKbdsSize()
|
|
792
995
|
}, { ref_for: true }, typeof kbd === "string" ? { value: kbd } : kbd), null, 16, ["size"]);
|
|
793
996
|
}), 128))], 2)) : createCommentVNode("", true)]), createVNode(unref(DropdownMenu).ItemIndicator, { "as-child": "" }, {
|
|
794
|
-
default: withCtx(() => [createVNode(_sfc_main$2
|
|
997
|
+
default: withCtx(() => [createVNode(_sfc_main$5$2, {
|
|
795
998
|
name: __props.checkedIcon || unref(appConfig).ui.icons.check,
|
|
796
999
|
"data-slot": "itemTrailingIcon",
|
|
797
1000
|
class: __props.ui.itemTrailingIcon({
|
|
@@ -821,7 +1024,7 @@ var _sfc_main$1 = {
|
|
|
821
1024
|
"as-child": ""
|
|
822
1025
|
}, {
|
|
823
1026
|
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
824
|
-
if (_push) _push(ssrRenderComponent(_sfc_main$
|
|
1027
|
+
if (_push) _push(ssrRenderComponent(_sfc_main$7, mergeProps({
|
|
825
1028
|
autofocus: "",
|
|
826
1029
|
autocomplete: "off",
|
|
827
1030
|
size: __props.size
|
|
@@ -830,7 +1033,7 @@ var _sfc_main$1 = {
|
|
|
830
1033
|
class: __props.ui.input({ class: __props.uiOverride?.input }),
|
|
831
1034
|
onChange: () => {}
|
|
832
1035
|
}), null, _parent, _scopeId));
|
|
833
|
-
else return [createVNode(_sfc_main$
|
|
1036
|
+
else return [createVNode(_sfc_main$7, mergeProps({
|
|
834
1037
|
autofocus: "",
|
|
835
1038
|
autocomplete: "off",
|
|
836
1039
|
size: __props.size
|
|
@@ -922,7 +1125,7 @@ var _sfc_main$1 = {
|
|
|
922
1125
|
}),
|
|
923
1126
|
_: 2
|
|
924
1127
|
}, _parent, _scopeId));
|
|
925
|
-
_push(ssrRenderComponent(_sfc_main$
|
|
1128
|
+
_push(ssrRenderComponent(_sfc_main$2, mergeProps({
|
|
926
1129
|
sub: "",
|
|
927
1130
|
class: item.ui?.content,
|
|
928
1131
|
ui: __props.ui,
|
|
@@ -974,7 +1177,7 @@ var _sfc_main$1 = {
|
|
|
974
1177
|
"disabled",
|
|
975
1178
|
"text-value",
|
|
976
1179
|
"class"
|
|
977
|
-
]), createVNode(_sfc_main$
|
|
1180
|
+
]), createVNode(_sfc_main$2, mergeProps({
|
|
978
1181
|
sub: "",
|
|
979
1182
|
class: item.ui?.content,
|
|
980
1183
|
ui: __props.ui,
|
|
@@ -1045,7 +1248,7 @@ var _sfc_main$1 = {
|
|
|
1045
1248
|
}),
|
|
1046
1249
|
_: 2
|
|
1047
1250
|
}, _parent, _scopeId));
|
|
1048
|
-
else _push(ssrRenderComponent(_sfc_main$1$
|
|
1251
|
+
else _push(ssrRenderComponent(_sfc_main$1$1, mergeProps({ ref_for: true }, unref(pickLinkProps)(item), { custom: "" }), {
|
|
1049
1252
|
default: withCtx(({ active, ...slotProps }, _push, _parent, _scopeId) => {
|
|
1050
1253
|
if (_push) _push(ssrRenderComponent(unref(DropdownMenu).Item, {
|
|
1051
1254
|
"as-child": "",
|
|
@@ -1203,7 +1406,7 @@ var _sfc_main$1 = {
|
|
|
1203
1406
|
"disabled",
|
|
1204
1407
|
"text-value",
|
|
1205
1408
|
"class"
|
|
1206
|
-
]), createVNode(_sfc_main$
|
|
1409
|
+
]), createVNode(_sfc_main$2, mergeProps({
|
|
1207
1410
|
sub: "",
|
|
1208
1411
|
class: item.ui?.content,
|
|
1209
1412
|
ui: __props.ui,
|
|
@@ -1273,7 +1476,7 @@ var _sfc_main$1 = {
|
|
|
1273
1476
|
"class",
|
|
1274
1477
|
"onUpdate:modelValue",
|
|
1275
1478
|
"onSelect"
|
|
1276
|
-
])) : (openBlock(), createBlock(_sfc_main$1$
|
|
1479
|
+
])) : (openBlock(), createBlock(_sfc_main$1$1, mergeProps({
|
|
1277
1480
|
key: 4,
|
|
1278
1481
|
ref_for: true
|
|
1279
1482
|
}, unref(pickLinkProps)(item), { custom: "" }), {
|
|
@@ -1337,7 +1540,7 @@ var _sfc_main$1 = {
|
|
|
1337
1540
|
"onUpdate:modelValue": ($event) => searchTerm.value = $event,
|
|
1338
1541
|
"as-child": ""
|
|
1339
1542
|
}, {
|
|
1340
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
1543
|
+
default: withCtx(() => [createVNode(_sfc_main$7, mergeProps({
|
|
1341
1544
|
autofocus: "",
|
|
1342
1545
|
autocomplete: "off",
|
|
1343
1546
|
size: __props.size
|
|
@@ -1416,7 +1619,7 @@ var _sfc_main$1 = {
|
|
|
1416
1619
|
"disabled",
|
|
1417
1620
|
"text-value",
|
|
1418
1621
|
"class"
|
|
1419
|
-
]), createVNode(_sfc_main$
|
|
1622
|
+
]), createVNode(_sfc_main$2, mergeProps({
|
|
1420
1623
|
sub: "",
|
|
1421
1624
|
class: item.ui?.content,
|
|
1422
1625
|
ui: __props.ui,
|
|
@@ -1486,7 +1689,7 @@ var _sfc_main$1 = {
|
|
|
1486
1689
|
"class",
|
|
1487
1690
|
"onUpdate:modelValue",
|
|
1488
1691
|
"onSelect"
|
|
1489
|
-
])) : (openBlock(), createBlock(_sfc_main$1$
|
|
1692
|
+
])) : (openBlock(), createBlock(_sfc_main$1$1, mergeProps({
|
|
1490
1693
|
key: 4,
|
|
1491
1694
|
ref_for: true
|
|
1492
1695
|
}, unref(pickLinkProps)(item), { custom: "" }), {
|
|
@@ -1553,7 +1756,7 @@ var _sfc_main$1 = {
|
|
|
1553
1756
|
"onUpdate:modelValue": ($event) => searchTerm.value = $event,
|
|
1554
1757
|
"as-child": ""
|
|
1555
1758
|
}, {
|
|
1556
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
1759
|
+
default: withCtx(() => [createVNode(_sfc_main$7, mergeProps({
|
|
1557
1760
|
autofocus: "",
|
|
1558
1761
|
autocomplete: "off",
|
|
1559
1762
|
size: __props.size
|
|
@@ -1632,7 +1835,7 @@ var _sfc_main$1 = {
|
|
|
1632
1835
|
"disabled",
|
|
1633
1836
|
"text-value",
|
|
1634
1837
|
"class"
|
|
1635
|
-
]), createVNode(_sfc_main$
|
|
1838
|
+
]), createVNode(_sfc_main$2, mergeProps({
|
|
1636
1839
|
sub: "",
|
|
1637
1840
|
class: item.ui?.content,
|
|
1638
1841
|
ui: __props.ui,
|
|
@@ -1702,7 +1905,7 @@ var _sfc_main$1 = {
|
|
|
1702
1905
|
"class",
|
|
1703
1906
|
"onUpdate:modelValue",
|
|
1704
1907
|
"onSelect"
|
|
1705
|
-
])) : (openBlock(), createBlock(_sfc_main$1$
|
|
1908
|
+
])) : (openBlock(), createBlock(_sfc_main$1$1, mergeProps({
|
|
1706
1909
|
key: 4,
|
|
1707
1910
|
ref_for: true
|
|
1708
1911
|
}, unref(pickLinkProps)(item), { custom: "" }), {
|
|
@@ -1772,7 +1975,7 @@ var _sfc_main$1 = {
|
|
|
1772
1975
|
"onUpdate:modelValue": ($event) => searchTerm.value = $event,
|
|
1773
1976
|
"as-child": ""
|
|
1774
1977
|
}, {
|
|
1775
|
-
default: withCtx(() => [createVNode(_sfc_main$
|
|
1978
|
+
default: withCtx(() => [createVNode(_sfc_main$7, mergeProps({
|
|
1776
1979
|
autofocus: "",
|
|
1777
1980
|
autocomplete: "off",
|
|
1778
1981
|
size: __props.size
|
|
@@ -1851,7 +2054,7 @@ var _sfc_main$1 = {
|
|
|
1851
2054
|
"disabled",
|
|
1852
2055
|
"text-value",
|
|
1853
2056
|
"class"
|
|
1854
|
-
]), createVNode(_sfc_main$
|
|
2057
|
+
]), createVNode(_sfc_main$2, mergeProps({
|
|
1855
2058
|
sub: "",
|
|
1856
2059
|
class: item.ui?.content,
|
|
1857
2060
|
ui: __props.ui,
|
|
@@ -1921,7 +2124,7 @@ var _sfc_main$1 = {
|
|
|
1921
2124
|
"class",
|
|
1922
2125
|
"onUpdate:modelValue",
|
|
1923
2126
|
"onSelect"
|
|
1924
|
-
])) : (openBlock(), createBlock(_sfc_main$1$
|
|
2127
|
+
])) : (openBlock(), createBlock(_sfc_main$1$1, mergeProps({
|
|
1925
2128
|
key: 4,
|
|
1926
2129
|
ref_for: true
|
|
1927
2130
|
}, unref(pickLinkProps)(item), { custom: "" }), {
|
|
@@ -1985,10 +2188,10 @@ var _sfc_main$1 = {
|
|
|
1985
2188
|
};
|
|
1986
2189
|
}
|
|
1987
2190
|
};
|
|
1988
|
-
var _sfc_setup$8 = _sfc_main$
|
|
1989
|
-
_sfc_main$
|
|
2191
|
+
var _sfc_setup$8 = _sfc_main$2.setup;
|
|
2192
|
+
_sfc_main$2.setup = (props, ctx) => {
|
|
1990
2193
|
const ssrContext = useSSRContext();
|
|
1991
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.
|
|
2194
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/DropdownMenuContent.vue");
|
|
1992
2195
|
return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
|
|
1993
2196
|
};
|
|
1994
2197
|
//#endregion
|
|
@@ -2191,8 +2394,8 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fdropdown_menu_defau
|
|
|
2191
2394
|
"defaultVariants": { "size": "md" }
|
|
2192
2395
|
};
|
|
2193
2396
|
//#endregion
|
|
2194
|
-
//#region node_modules/.pnpm/@nuxt+ui@4.10.
|
|
2195
|
-
var _sfc_main = {
|
|
2397
|
+
//#region node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/DropdownMenu.vue
|
|
2398
|
+
var _sfc_main$1 = {
|
|
2196
2399
|
__name: "UDropdownMenu",
|
|
2197
2400
|
__ssrInlineRender: true,
|
|
2198
2401
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -2327,7 +2530,7 @@ var _sfc_main = {
|
|
|
2327
2530
|
_: 2
|
|
2328
2531
|
}, _parent, _scopeId));
|
|
2329
2532
|
else _push(`<!---->`);
|
|
2330
|
-
_push(ssrRenderComponent(_sfc_main$
|
|
2533
|
+
_push(ssrRenderComponent(_sfc_main$2, mergeProps({
|
|
2331
2534
|
"search-term": searchTerm.value,
|
|
2332
2535
|
"onUpdate:searchTerm": ($event) => searchTerm.value = $event,
|
|
2333
2536
|
class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] }),
|
|
@@ -2376,7 +2579,7 @@ var _sfc_main = {
|
|
|
2376
2579
|
}, {
|
|
2377
2580
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { open })]),
|
|
2378
2581
|
_: 2
|
|
2379
|
-
}, 1032, ["class", "disabled"])) : createCommentVNode("", true), createVNode(_sfc_main$
|
|
2582
|
+
}, 1032, ["class", "disabled"])) : createCommentVNode("", true), createVNode(_sfc_main$2, mergeProps({
|
|
2380
2583
|
"search-term": searchTerm.value,
|
|
2381
2584
|
"onUpdate:searchTerm": ($event) => searchTerm.value = $event,
|
|
2382
2585
|
class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] }),
|
|
@@ -2429,317 +2632,13 @@ var _sfc_main = {
|
|
|
2429
2632
|
};
|
|
2430
2633
|
}
|
|
2431
2634
|
};
|
|
2432
|
-
var _sfc_setup$7 = _sfc_main.setup;
|
|
2433
|
-
_sfc_main.setup = (props, ctx) => {
|
|
2635
|
+
var _sfc_setup$7 = _sfc_main$1.setup;
|
|
2636
|
+
_sfc_main$1.setup = (props, ctx) => {
|
|
2434
2637
|
const ssrContext = useSSRContext();
|
|
2435
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.
|
|
2638
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/DropdownMenu.vue");
|
|
2436
2639
|
return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
|
|
2437
2640
|
};
|
|
2438
2641
|
//#endregion
|
|
2439
|
-
//#region app/components/scenario/review/loading.vue?vue&type=script&setup=true&lang.ts
|
|
2440
|
-
var loading_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
2441
|
-
__name: "loading",
|
|
2442
|
-
__ssrInlineRender: true,
|
|
2443
|
-
setup(__props) {
|
|
2444
|
-
const phrases = [
|
|
2445
|
-
"Analisando os elementos da tela",
|
|
2446
|
-
"Identificando os fluxos de navegação",
|
|
2447
|
-
"Interpretando suas interações",
|
|
2448
|
-
"Gerando os contextos do cenário",
|
|
2449
|
-
"Escrevendo os passos em Gherkin",
|
|
2450
|
-
"Traduzindo para o teste Playwright",
|
|
2451
|
-
"Dando os retoques finais"
|
|
2452
|
-
];
|
|
2453
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
2454
|
-
_push(ssrRenderComponent(phrases_default, mergeProps({
|
|
2455
|
-
phrases,
|
|
2456
|
-
"data-testid": "contexto-carregando"
|
|
2457
|
-
}, _attrs), null, _parent));
|
|
2458
|
-
};
|
|
2459
|
-
}
|
|
2460
|
-
});
|
|
2461
|
-
//#endregion
|
|
2462
|
-
//#region app/components/scenario/review/loading.vue
|
|
2463
|
-
var _sfc_setup$6 = loading_vue_vue_type_script_setup_true_lang_default.setup;
|
|
2464
|
-
loading_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
2465
|
-
const ssrContext = useSSRContext();
|
|
2466
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/scenario/review/loading.vue");
|
|
2467
|
-
return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
|
|
2468
|
-
};
|
|
2469
|
-
var loading_default = Object.assign(loading_vue_vue_type_script_setup_true_lang_default, { __name: "ScenarioReviewLoading" });
|
|
2470
|
-
//#endregion
|
|
2471
|
-
//#region app/components/scenario/review/modal.vue?vue&type=script&setup=true&lang.ts
|
|
2472
|
-
var modal_vue_vue_type_script_setup_true_lang_default$2 = /*@__PURE__*/ defineComponent({
|
|
2473
|
-
__name: "modal",
|
|
2474
|
-
__ssrInlineRender: true,
|
|
2475
|
-
props: /*@__PURE__*/ mergeModels({
|
|
2476
|
-
slug: {},
|
|
2477
|
-
isPublic: {
|
|
2478
|
-
type: Boolean,
|
|
2479
|
-
default: false
|
|
2480
|
-
}
|
|
2481
|
-
}, {
|
|
2482
|
-
"open": {
|
|
2483
|
-
type: Boolean,
|
|
2484
|
-
default: false
|
|
2485
|
-
},
|
|
2486
|
-
"openModifiers": {}
|
|
2487
|
-
}),
|
|
2488
|
-
emits: /*@__PURE__*/ mergeModels(["generated", "rerecord"], ["update:open"]),
|
|
2489
|
-
setup(__props, { emit: __emit }) {
|
|
2490
|
-
const open = useModel(__props, "open");
|
|
2491
|
-
const emit = __emit;
|
|
2492
|
-
const { state, url } = useWebdriver();
|
|
2493
|
-
function emptyDraft() {
|
|
2494
|
-
return {
|
|
2495
|
-
title: "",
|
|
2496
|
-
tags: [],
|
|
2497
|
-
domain: "",
|
|
2498
|
-
path: "",
|
|
2499
|
-
gherkin: "",
|
|
2500
|
-
playwright: ""
|
|
2501
|
-
};
|
|
2502
|
-
}
|
|
2503
|
-
const step = ref("review");
|
|
2504
|
-
const draft = ref(emptyDraft());
|
|
2505
|
-
const error = ref(null);
|
|
2506
|
-
watch(open, (isOpen) => {
|
|
2507
|
-
if (isOpen) {
|
|
2508
|
-
step.value = "review";
|
|
2509
|
-
draft.value = emptyDraft();
|
|
2510
|
-
error.value = null;
|
|
2511
|
-
}
|
|
2512
|
-
});
|
|
2513
|
-
const modalTitle = computed(() => step.value === "edit" ? "Revise os contextos" : "Revise seus eventos");
|
|
2514
|
-
const timeline = computed(() => state.value.events.filter((event) => event.type && event.timestamp).sort((a, b) => a.timestamp - b.timestamp));
|
|
2515
|
-
const submitting = ref(false);
|
|
2516
|
-
const baseUrl = computed(() => {
|
|
2517
|
-
const first = timeline.value.find((event) => event.url);
|
|
2518
|
-
if (!first?.url) return null;
|
|
2519
|
-
try {
|
|
2520
|
-
return new URL(first.url).origin;
|
|
2521
|
-
} catch {
|
|
2522
|
-
return null;
|
|
2523
|
-
}
|
|
2524
|
-
});
|
|
2525
|
-
const mappedEvents = computed(() => timeline.value.map((event) => ({
|
|
2526
|
-
type: event.type,
|
|
2527
|
-
timestamp: event.timestamp,
|
|
2528
|
-
url: event.url ?? null,
|
|
2529
|
-
selectors: event.selectors ?? null,
|
|
2530
|
-
label: event.label ?? null,
|
|
2531
|
-
value: event.value ?? null,
|
|
2532
|
-
sensitive: event.sensitive ?? false,
|
|
2533
|
-
html: event.html ?? null
|
|
2534
|
-
})));
|
|
2535
|
-
async function generate() {
|
|
2536
|
-
if (!baseUrl.value) {
|
|
2537
|
-
error.value = "Nenhuma navegação registrada na gravação.";
|
|
2538
|
-
return;
|
|
2539
|
-
}
|
|
2540
|
-
error.value = null;
|
|
2541
|
-
step.value = "loading";
|
|
2542
|
-
try {
|
|
2543
|
-
draft.value = await $fetch$2(`/api/projects/${__props.slug}/tests/draft`, {
|
|
2544
|
-
method: "POST",
|
|
2545
|
-
body: {
|
|
2546
|
-
baseUrl: baseUrl.value,
|
|
2547
|
-
events: mappedEvents.value,
|
|
2548
|
-
isPublic: __props.isPublic
|
|
2549
|
-
}
|
|
2550
|
-
});
|
|
2551
|
-
step.value = "edit";
|
|
2552
|
-
} catch (err) {
|
|
2553
|
-
error.value = extractServerError(err, "Não foi possível gerar o cenário. Tente novamente.");
|
|
2554
|
-
step.value = "review";
|
|
2555
|
-
}
|
|
2556
|
-
}
|
|
2557
|
-
async function commit() {
|
|
2558
|
-
if (!draft.value) return;
|
|
2559
|
-
submitting.value = true;
|
|
2560
|
-
error.value = null;
|
|
2561
|
-
try {
|
|
2562
|
-
await $fetch$2(`/api/projects/${__props.slug}/tests`, {
|
|
2563
|
-
method: "POST",
|
|
2564
|
-
body: {
|
|
2565
|
-
...draft.value,
|
|
2566
|
-
events: mappedEvents.value
|
|
2567
|
-
}
|
|
2568
|
-
});
|
|
2569
|
-
open.value = false;
|
|
2570
|
-
emit("generated");
|
|
2571
|
-
} catch (err) {
|
|
2572
|
-
error.value = extractServerError(err, "Não foi possível salvar o cenário. Tente novamente.");
|
|
2573
|
-
} finally {
|
|
2574
|
-
submitting.value = false;
|
|
2575
|
-
}
|
|
2576
|
-
}
|
|
2577
|
-
function rerecord() {
|
|
2578
|
-
open.value = false;
|
|
2579
|
-
emit("rerecord");
|
|
2580
|
-
}
|
|
2581
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
2582
|
-
const _component_BaseModal = modal_default$1$1;
|
|
2583
|
-
const _component_ScenarioReviewLoading = loading_default;
|
|
2584
|
-
const _component_ScenarioWarnings = warnings_default;
|
|
2585
|
-
const _component_ScenarioReviewContexts = contexts_default;
|
|
2586
|
-
const _component_ScenarioReviewTimeline = timeline_default;
|
|
2587
|
-
const _component_UAlert = _sfc_main$5;
|
|
2588
|
-
const _component_UButton = _sfc_main$6;
|
|
2589
|
-
_push(ssrRenderComponent(_component_BaseModal, mergeProps({
|
|
2590
|
-
open: open.value,
|
|
2591
|
-
"onUpdate:open": ($event) => open.value = $event,
|
|
2592
|
-
title: unref(modalTitle),
|
|
2593
|
-
dismissable: false,
|
|
2594
|
-
loading: unref(step) === "loading",
|
|
2595
|
-
wide: ""
|
|
2596
|
-
}, _attrs), {
|
|
2597
|
-
body: withCtx((_, _push, _parent, _scopeId) => {
|
|
2598
|
-
if (_push) {
|
|
2599
|
-
if (unref(step) === "loading") _push(ssrRenderComponent(_component_ScenarioReviewLoading, null, null, _parent, _scopeId));
|
|
2600
|
-
else if (unref(step) === "edit") {
|
|
2601
|
-
_push(`<!--[-->`);
|
|
2602
|
-
_push(ssrRenderComponent(_component_ScenarioWarnings, {
|
|
2603
|
-
warnings: unref(draft).warnings,
|
|
2604
|
-
slug: __props.slug,
|
|
2605
|
-
class: "mb-4"
|
|
2606
|
-
}, null, _parent, _scopeId));
|
|
2607
|
-
_push(ssrRenderComponent(_component_ScenarioReviewContexts, {
|
|
2608
|
-
draft: unref(draft),
|
|
2609
|
-
"onUpdate:draft": ($event) => isRef(draft) ? draft.value = $event : null,
|
|
2610
|
-
novo: ""
|
|
2611
|
-
}, null, _parent, _scopeId));
|
|
2612
|
-
_push(`<!--]-->`);
|
|
2613
|
-
} else _push(ssrRenderComponent(_component_ScenarioReviewTimeline, {
|
|
2614
|
-
events: unref(timeline),
|
|
2615
|
-
"video-src": unref(state).videoSessionId ? `${unref(url)}/recording/${unref(state).videoSessionId}` : null,
|
|
2616
|
-
"recording-started-at": unref(state).recordingStartedAt
|
|
2617
|
-
}, null, _parent, _scopeId));
|
|
2618
|
-
if (unref(error)) _push(ssrRenderComponent(_component_UAlert, {
|
|
2619
|
-
color: "error",
|
|
2620
|
-
variant: "soft",
|
|
2621
|
-
description: unref(error),
|
|
2622
|
-
class: "mt-4",
|
|
2623
|
-
"data-testid": "revisao-erro"
|
|
2624
|
-
}, null, _parent, _scopeId));
|
|
2625
|
-
else _push(`<!---->`);
|
|
2626
|
-
} else return [unref(step) === "loading" ? (openBlock(), createBlock(_component_ScenarioReviewLoading, { key: 0 })) : unref(step) === "edit" ? (openBlock(), createBlock(Fragment, { key: 1 }, [createVNode(_component_ScenarioWarnings, {
|
|
2627
|
-
warnings: unref(draft).warnings,
|
|
2628
|
-
slug: __props.slug,
|
|
2629
|
-
class: "mb-4"
|
|
2630
|
-
}, null, 8, ["warnings", "slug"]), createVNode(_component_ScenarioReviewContexts, {
|
|
2631
|
-
draft: unref(draft),
|
|
2632
|
-
"onUpdate:draft": ($event) => isRef(draft) ? draft.value = $event : null,
|
|
2633
|
-
novo: ""
|
|
2634
|
-
}, null, 8, ["draft", "onUpdate:draft"])], 64)) : (openBlock(), createBlock(_component_ScenarioReviewTimeline, {
|
|
2635
|
-
key: 2,
|
|
2636
|
-
events: unref(timeline),
|
|
2637
|
-
"video-src": unref(state).videoSessionId ? `${unref(url)}/recording/${unref(state).videoSessionId}` : null,
|
|
2638
|
-
"recording-started-at": unref(state).recordingStartedAt
|
|
2639
|
-
}, null, 8, [
|
|
2640
|
-
"events",
|
|
2641
|
-
"video-src",
|
|
2642
|
-
"recording-started-at"
|
|
2643
|
-
])), unref(error) ? (openBlock(), createBlock(_component_UAlert, {
|
|
2644
|
-
key: 3,
|
|
2645
|
-
color: "error",
|
|
2646
|
-
variant: "soft",
|
|
2647
|
-
description: unref(error),
|
|
2648
|
-
class: "mt-4",
|
|
2649
|
-
"data-testid": "revisao-erro"
|
|
2650
|
-
}, null, 8, ["description"])) : createCommentVNode("", true)];
|
|
2651
|
-
}),
|
|
2652
|
-
footer: withCtx((_, _push, _parent, _scopeId) => {
|
|
2653
|
-
if (_push) {
|
|
2654
|
-
if (unref(step) === "edit") {
|
|
2655
|
-
_push(`<!--[-->`);
|
|
2656
|
-
_push(ssrRenderComponent(_component_UButton, {
|
|
2657
|
-
label: "Cancelar",
|
|
2658
|
-
color: "neutral",
|
|
2659
|
-
variant: "ghost",
|
|
2660
|
-
"data-testid": "contexto-cancelar",
|
|
2661
|
-
onClick: ($event) => open.value = false
|
|
2662
|
-
}, null, _parent, _scopeId));
|
|
2663
|
-
_push(ssrRenderComponent(_component_UButton, {
|
|
2664
|
-
label: "Enviar",
|
|
2665
|
-
loading: unref(submitting),
|
|
2666
|
-
"data-testid": "contexto-enviar",
|
|
2667
|
-
onClick: commit
|
|
2668
|
-
}, null, _parent, _scopeId));
|
|
2669
|
-
_push(`<!--]-->`);
|
|
2670
|
-
} else {
|
|
2671
|
-
_push(`<!--[-->`);
|
|
2672
|
-
_push(ssrRenderComponent(_component_UButton, {
|
|
2673
|
-
label: "Gravar novamente",
|
|
2674
|
-
color: "neutral",
|
|
2675
|
-
variant: "soft",
|
|
2676
|
-
class: "mr-auto",
|
|
2677
|
-
"data-testid": "revisao-regravar",
|
|
2678
|
-
onClick: rerecord
|
|
2679
|
-
}, null, _parent, _scopeId));
|
|
2680
|
-
_push(ssrRenderComponent(_component_UButton, {
|
|
2681
|
-
label: "Cancelar",
|
|
2682
|
-
color: "neutral",
|
|
2683
|
-
variant: "ghost",
|
|
2684
|
-
"data-testid": "revisao-cancelar",
|
|
2685
|
-
onClick: ($event) => open.value = false
|
|
2686
|
-
}, null, _parent, _scopeId));
|
|
2687
|
-
_push(ssrRenderComponent(_component_UButton, {
|
|
2688
|
-
label: "Gerar cenário",
|
|
2689
|
-
"data-testid": "revisao-gerar",
|
|
2690
|
-
onClick: generate
|
|
2691
|
-
}, null, _parent, _scopeId));
|
|
2692
|
-
_push(`<!--]-->`);
|
|
2693
|
-
}
|
|
2694
|
-
} else return [unref(step) === "edit" ? (openBlock(), createBlock(Fragment, { key: 0 }, [createVNode(_component_UButton, {
|
|
2695
|
-
label: "Cancelar",
|
|
2696
|
-
color: "neutral",
|
|
2697
|
-
variant: "ghost",
|
|
2698
|
-
"data-testid": "contexto-cancelar",
|
|
2699
|
-
onClick: ($event) => open.value = false
|
|
2700
|
-
}, null, 8, ["onClick"]), createVNode(_component_UButton, {
|
|
2701
|
-
label: "Enviar",
|
|
2702
|
-
loading: unref(submitting),
|
|
2703
|
-
"data-testid": "contexto-enviar",
|
|
2704
|
-
onClick: commit
|
|
2705
|
-
}, null, 8, ["loading"])], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
2706
|
-
createVNode(_component_UButton, {
|
|
2707
|
-
label: "Gravar novamente",
|
|
2708
|
-
color: "neutral",
|
|
2709
|
-
variant: "soft",
|
|
2710
|
-
class: "mr-auto",
|
|
2711
|
-
"data-testid": "revisao-regravar",
|
|
2712
|
-
onClick: rerecord
|
|
2713
|
-
}),
|
|
2714
|
-
createVNode(_component_UButton, {
|
|
2715
|
-
label: "Cancelar",
|
|
2716
|
-
color: "neutral",
|
|
2717
|
-
variant: "ghost",
|
|
2718
|
-
"data-testid": "revisao-cancelar",
|
|
2719
|
-
onClick: ($event) => open.value = false
|
|
2720
|
-
}, null, 8, ["onClick"]),
|
|
2721
|
-
createVNode(_component_UButton, {
|
|
2722
|
-
label: "Gerar cenário",
|
|
2723
|
-
"data-testid": "revisao-gerar",
|
|
2724
|
-
onClick: generate
|
|
2725
|
-
})
|
|
2726
|
-
], 64))];
|
|
2727
|
-
}),
|
|
2728
|
-
_: 1
|
|
2729
|
-
}, _parent));
|
|
2730
|
-
};
|
|
2731
|
-
}
|
|
2732
|
-
});
|
|
2733
|
-
//#endregion
|
|
2734
|
-
//#region app/components/scenario/review/modal.vue
|
|
2735
|
-
var _sfc_setup$5 = modal_vue_vue_type_script_setup_true_lang_default$2.setup;
|
|
2736
|
-
modal_vue_vue_type_script_setup_true_lang_default$2.setup = (props, ctx) => {
|
|
2737
|
-
const ssrContext = useSSRContext();
|
|
2738
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/scenario/review/modal.vue");
|
|
2739
|
-
return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
|
|
2740
|
-
};
|
|
2741
|
-
var modal_default$2 = Object.assign(modal_vue_vue_type_script_setup_true_lang_default$2, { __name: "ScenarioReviewModal" });
|
|
2742
|
-
//#endregion
|
|
2743
2642
|
//#region app/components/scenario/empty.vue?vue&type=script&setup=true&lang.ts
|
|
2744
2643
|
var empty_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
2745
2644
|
__name: "empty",
|
|
@@ -2752,8 +2651,8 @@ var empty_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
2752
2651
|
setup(__props, { emit: __emit }) {
|
|
2753
2652
|
const emit = __emit;
|
|
2754
2653
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2755
|
-
const _component_UCard = _sfc_main$
|
|
2756
|
-
const _component_UIcon = _sfc_main$2
|
|
2654
|
+
const _component_UCard = _sfc_main$8;
|
|
2655
|
+
const _component_UIcon = _sfc_main$5$2;
|
|
2757
2656
|
_push(`<div${ssrRenderAttrs(mergeProps({
|
|
2758
2657
|
"data-testid": "cenario-vazio",
|
|
2759
2658
|
class: "py-10 text-center"
|
|
@@ -2788,11 +2687,11 @@ var empty_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
2788
2687
|
});
|
|
2789
2688
|
//#endregion
|
|
2790
2689
|
//#region app/components/scenario/empty.vue
|
|
2791
|
-
var _sfc_setup$
|
|
2690
|
+
var _sfc_setup$6 = empty_vue_vue_type_script_setup_true_lang_default.setup;
|
|
2792
2691
|
empty_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
2793
2692
|
const ssrContext = useSSRContext();
|
|
2794
2693
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/scenario/empty.vue");
|
|
2795
|
-
return _sfc_setup$
|
|
2694
|
+
return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
|
|
2796
2695
|
};
|
|
2797
2696
|
var empty_default = Object.assign(empty_vue_vue_type_script_setup_true_lang_default, { __name: "ScenarioEmpty" });
|
|
2798
2697
|
//#endregion
|
|
@@ -2830,9 +2729,9 @@ var vars_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
|
|
|
2830
2729
|
return variable.secret && !revealed.value.includes(index) ? "password" : "text";
|
|
2831
2730
|
}
|
|
2832
2731
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2833
|
-
const _component_UInput = _sfc_main$
|
|
2732
|
+
const _component_UInput = _sfc_main$7;
|
|
2834
2733
|
const _component_UButton = _sfc_main$6;
|
|
2835
|
-
const _component_UTooltip = _sfc_main$
|
|
2734
|
+
const _component_UTooltip = _sfc_main$7$1;
|
|
2836
2735
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col gap-2" }, _attrs))}><datalist${ssrRenderAttr("id", unref(keyListId))}><!--[-->`);
|
|
2837
2736
|
ssrRenderList(__props.knownKeys, (key) => {
|
|
2838
2737
|
_push(`<option${ssrRenderAttr("value", key)}></option>`);
|
|
@@ -2938,16 +2837,16 @@ var vars_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompo
|
|
|
2938
2837
|
});
|
|
2939
2838
|
//#endregion
|
|
2940
2839
|
//#region app/components/project/environments/vars.vue
|
|
2941
|
-
var _sfc_setup$
|
|
2840
|
+
var _sfc_setup$5 = vars_vue_vue_type_script_setup_true_lang_default.setup;
|
|
2942
2841
|
vars_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
2943
2842
|
const ssrContext = useSSRContext();
|
|
2944
2843
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/environments/vars.vue");
|
|
2945
|
-
return _sfc_setup$
|
|
2844
|
+
return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
|
|
2946
2845
|
};
|
|
2947
2846
|
var vars_default = Object.assign(vars_vue_vue_type_script_setup_true_lang_default, { __name: "ProjectEnvironmentsVars" });
|
|
2948
2847
|
//#endregion
|
|
2949
2848
|
//#region app/components/project/environments/modal.vue?vue&type=script&setup=true&lang.ts
|
|
2950
|
-
var modal_vue_vue_type_script_setup_true_lang_default$
|
|
2849
|
+
var modal_vue_vue_type_script_setup_true_lang_default$2 = /*@__PURE__*/ defineComponent({
|
|
2951
2850
|
__name: "modal",
|
|
2952
2851
|
__ssrInlineRender: true,
|
|
2953
2852
|
props: /*@__PURE__*/ mergeModels({ slug: {} }, {
|
|
@@ -3020,7 +2919,7 @@ var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineCo
|
|
|
3020
2919
|
async function load() {
|
|
3021
2920
|
loading.value = true;
|
|
3022
2921
|
try {
|
|
3023
|
-
const environmentList = await $fetch$
|
|
2922
|
+
const environmentList = await $fetch$1(`/api/projects/${__props.slug}/environments`);
|
|
3024
2923
|
list.value = environmentList;
|
|
3025
2924
|
const target = environmentList.environments.find((environment) => environment.slug === environmentList.active) ?? environmentList.environments[0];
|
|
3026
2925
|
if (target) select(target);
|
|
@@ -3051,7 +2950,7 @@ var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineCo
|
|
|
3051
2950
|
const label = newName.value.trim();
|
|
3052
2951
|
if (!label) return;
|
|
3053
2952
|
await act(async () => {
|
|
3054
|
-
const created = await $fetch$
|
|
2953
|
+
const created = await $fetch$1(`/api/projects/${__props.slug}/environments`, {
|
|
3055
2954
|
method: "POST",
|
|
3056
2955
|
body: { name: label }
|
|
3057
2956
|
});
|
|
@@ -3062,7 +2961,7 @@ var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineCo
|
|
|
3062
2961
|
}
|
|
3063
2962
|
function save() {
|
|
3064
2963
|
if (!selected.value) return;
|
|
3065
|
-
return act(() => $fetch$
|
|
2964
|
+
return act(() => $fetch$1(`/api/projects/${__props.slug}/environments/${selected.value}`, {
|
|
3066
2965
|
method: "PUT",
|
|
3067
2966
|
body: {
|
|
3068
2967
|
name: name.value.trim(),
|
|
@@ -3082,16 +2981,16 @@ var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineCo
|
|
|
3082
2981
|
}
|
|
3083
2982
|
const removed = current.value.slug;
|
|
3084
2983
|
await act(async () => {
|
|
3085
|
-
await $fetch$
|
|
2984
|
+
await $fetch$1(`/api/projects/${__props.slug}/environments/${removed}`, { method: "DELETE" });
|
|
3086
2985
|
selected.value = null;
|
|
3087
2986
|
}, "Ambiente removido", "Não foi possível remover o ambiente.");
|
|
3088
2987
|
confirmingRemove.value = false;
|
|
3089
2988
|
}
|
|
3090
2989
|
return (_ctx, _push, _parent, _attrs) => {
|
|
3091
|
-
const _component_BaseModal = modal_default$
|
|
2990
|
+
const _component_BaseModal = modal_default$4;
|
|
3092
2991
|
const _component_UButton = _sfc_main$6;
|
|
3093
|
-
const _component_UInput = _sfc_main$
|
|
3094
|
-
const _component_UFormField = _sfc_main$
|
|
2992
|
+
const _component_UInput = _sfc_main$7;
|
|
2993
|
+
const _component_UFormField = _sfc_main$1$2;
|
|
3095
2994
|
const _component_ProjectEnvironmentsVars = vars_default;
|
|
3096
2995
|
const _component_BaseEmpty = empty_default$1;
|
|
3097
2996
|
_push(ssrRenderComponent(_component_BaseModal, mergeProps({
|
|
@@ -3339,16 +3238,16 @@ var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineCo
|
|
|
3339
3238
|
});
|
|
3340
3239
|
//#endregion
|
|
3341
3240
|
//#region app/components/project/environments/modal.vue
|
|
3342
|
-
var _sfc_setup$
|
|
3343
|
-
modal_vue_vue_type_script_setup_true_lang_default$
|
|
3241
|
+
var _sfc_setup$4 = modal_vue_vue_type_script_setup_true_lang_default$2.setup;
|
|
3242
|
+
modal_vue_vue_type_script_setup_true_lang_default$2.setup = (props, ctx) => {
|
|
3344
3243
|
const ssrContext = useSSRContext();
|
|
3345
3244
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/environments/modal.vue");
|
|
3346
|
-
return _sfc_setup$
|
|
3245
|
+
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
|
3347
3246
|
};
|
|
3348
|
-
var modal_default$
|
|
3247
|
+
var modal_default$2 = Object.assign(modal_vue_vue_type_script_setup_true_lang_default$2, { __name: "ProjectEnvironmentsModal" });
|
|
3349
3248
|
//#endregion
|
|
3350
3249
|
//#region app/components/project/settings/modal.vue?vue&type=script&setup=true&lang.ts
|
|
3351
|
-
var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
3250
|
+
var modal_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ defineComponent({
|
|
3352
3251
|
__name: "modal",
|
|
3353
3252
|
__ssrInlineRender: true,
|
|
3354
3253
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -3376,7 +3275,7 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
3376
3275
|
async function skip() {
|
|
3377
3276
|
skipping.value = true;
|
|
3378
3277
|
try {
|
|
3379
|
-
await $fetch$
|
|
3278
|
+
await $fetch$1(`/api/projects/${__props.slug}/settings/skip`, { method: "POST" });
|
|
3380
3279
|
open.value = false;
|
|
3381
3280
|
emit("saved");
|
|
3382
3281
|
} catch (err) {
|
|
@@ -3388,7 +3287,7 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
3388
3287
|
async function save() {
|
|
3389
3288
|
saving.value = true;
|
|
3390
3289
|
try {
|
|
3391
|
-
await $fetch$
|
|
3290
|
+
await $fetch$1(`/api/projects/${__props.slug}/settings`, {
|
|
3392
3291
|
method: "PUT",
|
|
3393
3292
|
body: { baseUrl: url.value.trim() }
|
|
3394
3293
|
});
|
|
@@ -3402,10 +3301,10 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
3402
3301
|
}
|
|
3403
3302
|
}
|
|
3404
3303
|
return (_ctx, _push, _parent, _attrs) => {
|
|
3405
|
-
const _component_BaseModal = modal_default$
|
|
3304
|
+
const _component_BaseModal = modal_default$4;
|
|
3406
3305
|
const _component_UAlert = _sfc_main$5;
|
|
3407
|
-
const _component_UFormField = _sfc_main$
|
|
3408
|
-
const _component_UInput = _sfc_main$
|
|
3306
|
+
const _component_UFormField = _sfc_main$1$2;
|
|
3307
|
+
const _component_UInput = _sfc_main$7;
|
|
3409
3308
|
const _component_UButton = _sfc_main$6;
|
|
3410
3309
|
_push(ssrRenderComponent(_component_BaseModal, mergeProps({
|
|
3411
3310
|
open: open.value,
|
|
@@ -3508,13 +3407,449 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
3508
3407
|
});
|
|
3509
3408
|
//#endregion
|
|
3510
3409
|
//#region app/components/project/settings/modal.vue
|
|
3410
|
+
var _sfc_setup$3 = modal_vue_vue_type_script_setup_true_lang_default$1.setup;
|
|
3411
|
+
modal_vue_vue_type_script_setup_true_lang_default$1.setup = (props, ctx) => {
|
|
3412
|
+
const ssrContext = useSSRContext();
|
|
3413
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/settings/modal.vue");
|
|
3414
|
+
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
3415
|
+
};
|
|
3416
|
+
var modal_default$1 = Object.assign(modal_vue_vue_type_script_setup_true_lang_default$1, { __name: "ProjectSettingsModal" });
|
|
3417
|
+
//#endregion
|
|
3418
|
+
//#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Fui%2Fcollapsible.ts
|
|
3419
|
+
var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fcollapsible_default = { "slots": {
|
|
3420
|
+
"root": "",
|
|
3421
|
+
"content": "data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden"
|
|
3422
|
+
} };
|
|
3423
|
+
//#endregion
|
|
3424
|
+
//#region node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/Collapsible.vue
|
|
3425
|
+
var _sfc_main = {
|
|
3426
|
+
__name: "UCollapsible",
|
|
3427
|
+
__ssrInlineRender: true,
|
|
3428
|
+
props: {
|
|
3429
|
+
as: {
|
|
3430
|
+
type: null,
|
|
3431
|
+
required: false
|
|
3432
|
+
},
|
|
3433
|
+
class: {
|
|
3434
|
+
type: null,
|
|
3435
|
+
required: false
|
|
3436
|
+
},
|
|
3437
|
+
ui: {
|
|
3438
|
+
type: Object,
|
|
3439
|
+
required: false
|
|
3440
|
+
},
|
|
3441
|
+
defaultOpen: {
|
|
3442
|
+
type: Boolean,
|
|
3443
|
+
required: false
|
|
3444
|
+
},
|
|
3445
|
+
open: {
|
|
3446
|
+
type: Boolean,
|
|
3447
|
+
required: false
|
|
3448
|
+
},
|
|
3449
|
+
disabled: {
|
|
3450
|
+
type: Boolean,
|
|
3451
|
+
required: false
|
|
3452
|
+
},
|
|
3453
|
+
unmountOnHide: {
|
|
3454
|
+
type: Boolean,
|
|
3455
|
+
required: false,
|
|
3456
|
+
default: true
|
|
3457
|
+
}
|
|
3458
|
+
},
|
|
3459
|
+
emits: ["update:open"],
|
|
3460
|
+
setup(__props, { emit: __emit }) {
|
|
3461
|
+
const _props = __props;
|
|
3462
|
+
const emits = __emit;
|
|
3463
|
+
const slots = useSlots();
|
|
3464
|
+
const props = useComponentProps("collapsible", _props);
|
|
3465
|
+
const appConfig = useAppConfig();
|
|
3466
|
+
const rootProps = useForwardProps(reactivePick(props, "as", "defaultOpen", "open", "disabled", "unmountOnHide"), emits);
|
|
3467
|
+
const ui = computed(() => tv({
|
|
3468
|
+
extend: virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fui_2Fcollapsible_default,
|
|
3469
|
+
...appConfig.ui?.collapsible || {}
|
|
3470
|
+
})());
|
|
3471
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
3472
|
+
_push(ssrRenderComponent(unref(CollapsibleRoot_default), mergeProps(unref(rootProps), {
|
|
3473
|
+
"data-slot": "root",
|
|
3474
|
+
class: ui.value.root({ class: [unref(props).ui?.root, unref(props).class] })
|
|
3475
|
+
}, _attrs), {
|
|
3476
|
+
default: withCtx(({ open }, _push, _parent, _scopeId) => {
|
|
3477
|
+
if (_push) {
|
|
3478
|
+
if (!!slots.default) _push(ssrRenderComponent(unref(CollapsibleTrigger_default), { "as-child": "" }, {
|
|
3479
|
+
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
3480
|
+
if (_push) ssrRenderSlot(_ctx.$slots, "default", { open }, null, _push, _parent, _scopeId);
|
|
3481
|
+
else return [renderSlot(_ctx.$slots, "default", { open })];
|
|
3482
|
+
}),
|
|
3483
|
+
_: 2
|
|
3484
|
+
}, _parent, _scopeId));
|
|
3485
|
+
else _push(`<!---->`);
|
|
3486
|
+
_push(ssrRenderComponent(unref(CollapsibleContent_default), {
|
|
3487
|
+
"data-slot": "content",
|
|
3488
|
+
class: ui.value.content({ class: unref(props).ui?.content })
|
|
3489
|
+
}, {
|
|
3490
|
+
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
3491
|
+
if (_push) ssrRenderSlot(_ctx.$slots, "content", {}, null, _push, _parent, _scopeId);
|
|
3492
|
+
else return [renderSlot(_ctx.$slots, "content")];
|
|
3493
|
+
}),
|
|
3494
|
+
_: 2
|
|
3495
|
+
}, _parent, _scopeId));
|
|
3496
|
+
} else return [!!slots.default ? (openBlock(), createBlock(unref(CollapsibleTrigger_default), {
|
|
3497
|
+
key: 0,
|
|
3498
|
+
"as-child": ""
|
|
3499
|
+
}, {
|
|
3500
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { open })]),
|
|
3501
|
+
_: 2
|
|
3502
|
+
}, 1024)) : createCommentVNode("", true), createVNode(unref(CollapsibleContent_default), {
|
|
3503
|
+
"data-slot": "content",
|
|
3504
|
+
class: ui.value.content({ class: unref(props).ui?.content })
|
|
3505
|
+
}, {
|
|
3506
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "content")]),
|
|
3507
|
+
_: 3
|
|
3508
|
+
}, 8, ["class"])];
|
|
3509
|
+
}),
|
|
3510
|
+
_: 3
|
|
3511
|
+
}, _parent));
|
|
3512
|
+
};
|
|
3513
|
+
}
|
|
3514
|
+
};
|
|
3515
|
+
var _sfc_setup$2 = _sfc_main.setup;
|
|
3516
|
+
_sfc_main.setup = (props, ctx) => {
|
|
3517
|
+
const ssrContext = useSSRContext();
|
|
3518
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.10.0_e9e3fcf18fb997bdd8dc5f7c218a2205/node_modules/@nuxt/ui/dist/runtime/components/Collapsible.vue");
|
|
3519
|
+
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
3520
|
+
};
|
|
3521
|
+
//#endregion
|
|
3522
|
+
//#region app/components/project/run-filtered/modal.vue?vue&type=script&setup=true&lang.ts
|
|
3523
|
+
var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
3524
|
+
__name: "modal",
|
|
3525
|
+
__ssrInlineRender: true,
|
|
3526
|
+
props: /*@__PURE__*/ mergeModels({
|
|
3527
|
+
running: {
|
|
3528
|
+
type: Boolean,
|
|
3529
|
+
default: false
|
|
3530
|
+
},
|
|
3531
|
+
passed: {
|
|
3532
|
+
type: Boolean,
|
|
3533
|
+
default: false
|
|
3534
|
+
},
|
|
3535
|
+
tests: { default: () => [] },
|
|
3536
|
+
projectName: {},
|
|
3537
|
+
slug: {},
|
|
3538
|
+
filter: { default: "" },
|
|
3539
|
+
testedAt: { default: null },
|
|
3540
|
+
output: { default: null }
|
|
3541
|
+
}, {
|
|
3542
|
+
"open": {
|
|
3543
|
+
type: Boolean,
|
|
3544
|
+
default: false
|
|
3545
|
+
},
|
|
3546
|
+
"openModifiers": {}
|
|
3547
|
+
}),
|
|
3548
|
+
emits: ["update:open"],
|
|
3549
|
+
setup(__props) {
|
|
3550
|
+
const open = useModel(__props, "open");
|
|
3551
|
+
const testIcons = {
|
|
3552
|
+
waiting: "i-ic-round-radio-button-unchecked",
|
|
3553
|
+
running: "line-md:loading-twotone-loop",
|
|
3554
|
+
success: "i-ic-round-check-circle",
|
|
3555
|
+
failed: "i-ic-round-error"
|
|
3556
|
+
};
|
|
3557
|
+
const testColors = {
|
|
3558
|
+
waiting: "text-dimmed",
|
|
3559
|
+
running: "text-neutral",
|
|
3560
|
+
success: "text-success",
|
|
3561
|
+
failed: "text-error"
|
|
3562
|
+
};
|
|
3563
|
+
/** O teste chega em execução e só depois falha, então abrir o que falhou é reação, não estado inicial. */
|
|
3564
|
+
const opened = ref([]);
|
|
3565
|
+
watch(() => __props.tests, (current) => {
|
|
3566
|
+
if (!current.length) {
|
|
3567
|
+
opened.value = [];
|
|
3568
|
+
return;
|
|
3569
|
+
}
|
|
3570
|
+
const failed = current.filter((test) => test.status === "failed").map((test) => test.id);
|
|
3571
|
+
opened.value = [.../* @__PURE__ */ new Set([...opened.value, ...failed])];
|
|
3572
|
+
}, {
|
|
3573
|
+
deep: true,
|
|
3574
|
+
immediate: true
|
|
3575
|
+
});
|
|
3576
|
+
function toggle(id, open) {
|
|
3577
|
+
opened.value = open ? [...opened.value, id] : opened.value.filter((other) => other !== id);
|
|
3578
|
+
}
|
|
3579
|
+
function ownError(test) {
|
|
3580
|
+
return test.error && test.steps.every((step) => step.status !== "failed") ? test.error : null;
|
|
3581
|
+
}
|
|
3582
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
3583
|
+
const _component_BaseModal = modal_default$4;
|
|
3584
|
+
const _component_UBadge = _sfc_main$2$1;
|
|
3585
|
+
const _component_BaseLoadingPhrases = phrases_default;
|
|
3586
|
+
const _component_UAlert = _sfc_main$5;
|
|
3587
|
+
const _component_UCollapsible = _sfc_main;
|
|
3588
|
+
const _component_UButton = _sfc_main$6;
|
|
3589
|
+
const _component_ScenarioTestRunSteps = steps_default;
|
|
3590
|
+
_push(ssrRenderComponent(_component_BaseModal, mergeProps({
|
|
3591
|
+
open: open.value,
|
|
3592
|
+
"onUpdate:open": ($event) => open.value = $event,
|
|
3593
|
+
dismissable: !__props.running,
|
|
3594
|
+
wide: ""
|
|
3595
|
+
}, _attrs), createSlots({
|
|
3596
|
+
header: withCtx((_, _push, _parent, _scopeId) => {
|
|
3597
|
+
if (_push) {
|
|
3598
|
+
_push(`<div class="flex flex-col pt-6 gap-2"${_scopeId}>`);
|
|
3599
|
+
if (__props.running) _push(`<p class="text-xl font-bold"${_scopeId}> Testando cenários filtrados... </p>`);
|
|
3600
|
+
else {
|
|
3601
|
+
_push(`<!--[-->`);
|
|
3602
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
3603
|
+
class: "self-start",
|
|
3604
|
+
color: __props.passed ? "success" : "error",
|
|
3605
|
+
icon: __props.passed ? "i-ic-round-check-circle" : "i-ic-round-error",
|
|
3606
|
+
label: __props.passed ? "Sucesso" : "Falha",
|
|
3607
|
+
"data-testid": "execucao-status"
|
|
3608
|
+
}, null, _parent, _scopeId));
|
|
3609
|
+
_push(`<p class="mt-2 text-xl font-bold"${_scopeId}> Resultado dos testes </p><!--]-->`);
|
|
3610
|
+
}
|
|
3611
|
+
_push(`</div>`);
|
|
3612
|
+
} else return [createVNode("div", { class: "flex flex-col pt-6 gap-2" }, [__props.running ? (openBlock(), createBlock("p", {
|
|
3613
|
+
key: 0,
|
|
3614
|
+
class: "text-xl font-bold"
|
|
3615
|
+
}, " Testando cenários filtrados... ")) : (openBlock(), createBlock(Fragment, { key: 1 }, [createVNode(_component_UBadge, {
|
|
3616
|
+
class: "self-start",
|
|
3617
|
+
color: __props.passed ? "success" : "error",
|
|
3618
|
+
icon: __props.passed ? "i-ic-round-check-circle" : "i-ic-round-error",
|
|
3619
|
+
label: __props.passed ? "Sucesso" : "Falha",
|
|
3620
|
+
"data-testid": "execucao-status"
|
|
3621
|
+
}, null, 8, [
|
|
3622
|
+
"color",
|
|
3623
|
+
"icon",
|
|
3624
|
+
"label"
|
|
3625
|
+
]), createVNode("p", { class: "mt-2 text-xl font-bold" }, " Resultado dos testes ")], 64))])];
|
|
3626
|
+
}),
|
|
3627
|
+
body: withCtx((_, _push, _parent, _scopeId) => {
|
|
3628
|
+
if (_push) {
|
|
3629
|
+
if (__props.running && __props.tests.length === 0) _push(ssrRenderComponent(_component_BaseLoadingPhrases, {
|
|
3630
|
+
phrases: ["Iniciando a execução"],
|
|
3631
|
+
"data-testid": "execucao-iniciando"
|
|
3632
|
+
}, null, _parent, _scopeId));
|
|
3633
|
+
else {
|
|
3634
|
+
_push(`<!--[-->`);
|
|
3635
|
+
if (!__props.running) {
|
|
3636
|
+
_push(`<div class="mb-6 space-y-0.5 text-sm" data-testid="execucao-detalhes"${_scopeId}><p${_scopeId}><span class="font-semibold"${_scopeId}>Projeto:</span> ${ssrInterpolate(__props.projectName)}</p>`);
|
|
3637
|
+
if (__props.filter) _push(`<p${_scopeId}><span class="font-semibold"${_scopeId}>Filtro:</span> ${ssrInterpolate(__props.filter)}</p>`);
|
|
3638
|
+
else _push(`<!---->`);
|
|
3639
|
+
_push(`<p${_scopeId}><span class="font-semibold"${_scopeId}>Cenários:</span> ${ssrInterpolate(__props.tests.length)}</p>`);
|
|
3640
|
+
if (__props.testedAt) _push(`<p${_scopeId}><span class="font-semibold"${_scopeId}>Testado em:</span> ${ssrInterpolate(__props.testedAt)}</p>`);
|
|
3641
|
+
else _push(`<!---->`);
|
|
3642
|
+
_push(`</div>`);
|
|
3643
|
+
} else _push(`<!---->`);
|
|
3644
|
+
if (__props.output) _push(ssrRenderComponent(_component_UAlert, {
|
|
3645
|
+
color: "error",
|
|
3646
|
+
variant: "soft",
|
|
3647
|
+
icon: "i-ic-round-error",
|
|
3648
|
+
title: "A execução não chegou a começar",
|
|
3649
|
+
class: "mb-6",
|
|
3650
|
+
"data-testid": "execucao-saida"
|
|
3651
|
+
}, {
|
|
3652
|
+
description: withCtx((_, _push, _parent, _scopeId) => {
|
|
3653
|
+
if (_push) _push(`<p class="mb-2"${_scopeId}> O Playwright encerrou antes de rodar qualquer passo. Saída do runner: </p><code class="block whitespace-pre-wrap font-mono text-xs"${_scopeId}>${ssrInterpolate(__props.output)}</code>`);
|
|
3654
|
+
else return [createVNode("p", { class: "mb-2" }, " O Playwright encerrou antes de rodar qualquer passo. Saída do runner: "), createVNode("code", { class: "block whitespace-pre-wrap font-mono text-xs" }, toDisplayString(__props.output), 1)];
|
|
3655
|
+
}),
|
|
3656
|
+
_: 1
|
|
3657
|
+
}, _parent, _scopeId));
|
|
3658
|
+
else _push(`<!---->`);
|
|
3659
|
+
_push(`<div class="flex flex-col gap-3"${_scopeId}><!--[-->`);
|
|
3660
|
+
ssrRenderList(__props.tests, (test) => {
|
|
3661
|
+
_push(ssrRenderComponent(_component_UCollapsible, {
|
|
3662
|
+
key: test.id,
|
|
3663
|
+
open: unref(opened).includes(test.id),
|
|
3664
|
+
"data-testid": "execucao-teste",
|
|
3665
|
+
"data-status": test.status,
|
|
3666
|
+
"onUpdate:open": ($event) => toggle(test.id, $event)
|
|
3667
|
+
}, {
|
|
3668
|
+
content: withCtx((_, _push, _parent, _scopeId) => {
|
|
3669
|
+
if (_push) {
|
|
3670
|
+
_push(`<div class="mt-1 rounded-md bg-elevated py-3 pl-3.5 pr-3"${_scopeId}>`);
|
|
3671
|
+
if (ownError(test)) _push(`<p class="text-sm text-dimmed" data-testid="execucao-teste-erro"${_scopeId}><span class="font-semibold text-error"${_scopeId}>Erro:</span> ${ssrInterpolate(ownError(test))}</p>`);
|
|
3672
|
+
else if (test.steps.length === 0) _push(`<p class="text-sm text-dimmed"${_scopeId}> Nenhum passo reportado. </p>`);
|
|
3673
|
+
else _push(`<!---->`);
|
|
3674
|
+
_push(ssrRenderComponent(_component_ScenarioTestRunSteps, { steps: test.steps }, null, _parent, _scopeId));
|
|
3675
|
+
_push(`</div>`);
|
|
3676
|
+
} else return [createVNode("div", { class: "mt-1 rounded-md bg-elevated py-3 pl-3.5 pr-3" }, [ownError(test) ? (openBlock(), createBlock("p", {
|
|
3677
|
+
key: 0,
|
|
3678
|
+
class: "text-sm text-dimmed",
|
|
3679
|
+
"data-testid": "execucao-teste-erro"
|
|
3680
|
+
}, [createVNode("span", { class: "font-semibold text-error" }, "Erro:"), createTextVNode(" " + toDisplayString(ownError(test)), 1)])) : test.steps.length === 0 ? (openBlock(), createBlock("p", {
|
|
3681
|
+
key: 1,
|
|
3682
|
+
class: "text-sm text-dimmed"
|
|
3683
|
+
}, " Nenhum passo reportado. ")) : createCommentVNode("", true), createVNode(_component_ScenarioTestRunSteps, { steps: test.steps }, null, 8, ["steps"])])];
|
|
3684
|
+
}),
|
|
3685
|
+
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
3686
|
+
if (_push) _push(ssrRenderComponent(_component_UButton, {
|
|
3687
|
+
block: "",
|
|
3688
|
+
color: "neutral",
|
|
3689
|
+
variant: "soft",
|
|
3690
|
+
icon: testIcons[test.status],
|
|
3691
|
+
"trailing-icon": "i-ic-round-expand-more",
|
|
3692
|
+
ui: {
|
|
3693
|
+
base: "justify-start gap-3",
|
|
3694
|
+
leadingIcon: testColors[test.status],
|
|
3695
|
+
trailingIcon: "text-dimmed"
|
|
3696
|
+
},
|
|
3697
|
+
"data-testid": "execucao-teste-abrir"
|
|
3698
|
+
}, {
|
|
3699
|
+
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
3700
|
+
if (_push) _push(`<span class="grow truncate text-left" data-testid="execucao-teste-titulo"${_scopeId}>${ssrInterpolate(test.title)}</span>`);
|
|
3701
|
+
else return [createVNode("span", {
|
|
3702
|
+
class: "grow truncate text-left",
|
|
3703
|
+
"data-testid": "execucao-teste-titulo"
|
|
3704
|
+
}, toDisplayString(test.title), 1)];
|
|
3705
|
+
}),
|
|
3706
|
+
_: 2
|
|
3707
|
+
}, _parent, _scopeId));
|
|
3708
|
+
else return [createVNode(_component_UButton, {
|
|
3709
|
+
block: "",
|
|
3710
|
+
color: "neutral",
|
|
3711
|
+
variant: "soft",
|
|
3712
|
+
icon: testIcons[test.status],
|
|
3713
|
+
"trailing-icon": "i-ic-round-expand-more",
|
|
3714
|
+
ui: {
|
|
3715
|
+
base: "justify-start gap-3",
|
|
3716
|
+
leadingIcon: testColors[test.status],
|
|
3717
|
+
trailingIcon: "text-dimmed"
|
|
3718
|
+
},
|
|
3719
|
+
"data-testid": "execucao-teste-abrir"
|
|
3720
|
+
}, {
|
|
3721
|
+
default: withCtx(() => [createVNode("span", {
|
|
3722
|
+
class: "grow truncate text-left",
|
|
3723
|
+
"data-testid": "execucao-teste-titulo"
|
|
3724
|
+
}, toDisplayString(test.title), 1)]),
|
|
3725
|
+
_: 2
|
|
3726
|
+
}, 1032, ["icon", "ui"])];
|
|
3727
|
+
}),
|
|
3728
|
+
_: 2
|
|
3729
|
+
}, _parent, _scopeId));
|
|
3730
|
+
});
|
|
3731
|
+
_push(`<!--]--></div><!--]-->`);
|
|
3732
|
+
}
|
|
3733
|
+
} else return [__props.running && __props.tests.length === 0 ? (openBlock(), createBlock(_component_BaseLoadingPhrases, {
|
|
3734
|
+
key: 0,
|
|
3735
|
+
phrases: ["Iniciando a execução"],
|
|
3736
|
+
"data-testid": "execucao-iniciando"
|
|
3737
|
+
})) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
3738
|
+
!__props.running ? (openBlock(), createBlock("div", {
|
|
3739
|
+
key: 0,
|
|
3740
|
+
class: "mb-6 space-y-0.5 text-sm",
|
|
3741
|
+
"data-testid": "execucao-detalhes"
|
|
3742
|
+
}, [
|
|
3743
|
+
createVNode("p", null, [createVNode("span", { class: "font-semibold" }, "Projeto:"), createTextVNode(" " + toDisplayString(__props.projectName), 1)]),
|
|
3744
|
+
__props.filter ? (openBlock(), createBlock("p", { key: 0 }, [createVNode("span", { class: "font-semibold" }, "Filtro:"), createTextVNode(" " + toDisplayString(__props.filter), 1)])) : createCommentVNode("", true),
|
|
3745
|
+
createVNode("p", null, [createVNode("span", { class: "font-semibold" }, "Cenários:"), createTextVNode(" " + toDisplayString(__props.tests.length), 1)]),
|
|
3746
|
+
__props.testedAt ? (openBlock(), createBlock("p", { key: 1 }, [createVNode("span", { class: "font-semibold" }, "Testado em:"), createTextVNode(" " + toDisplayString(__props.testedAt), 1)])) : createCommentVNode("", true)
|
|
3747
|
+
])) : createCommentVNode("", true),
|
|
3748
|
+
__props.output ? (openBlock(), createBlock(_component_UAlert, {
|
|
3749
|
+
key: 1,
|
|
3750
|
+
color: "error",
|
|
3751
|
+
variant: "soft",
|
|
3752
|
+
icon: "i-ic-round-error",
|
|
3753
|
+
title: "A execução não chegou a começar",
|
|
3754
|
+
class: "mb-6",
|
|
3755
|
+
"data-testid": "execucao-saida"
|
|
3756
|
+
}, {
|
|
3757
|
+
description: withCtx(() => [createVNode("p", { class: "mb-2" }, " O Playwright encerrou antes de rodar qualquer passo. Saída do runner: "), createVNode("code", { class: "block whitespace-pre-wrap font-mono text-xs" }, toDisplayString(__props.output), 1)]),
|
|
3758
|
+
_: 1
|
|
3759
|
+
})) : createCommentVNode("", true),
|
|
3760
|
+
createVNode("div", { class: "flex flex-col gap-3" }, [(openBlock(true), createBlock(Fragment, null, renderList(__props.tests, (test) => {
|
|
3761
|
+
return openBlock(), createBlock(_component_UCollapsible, {
|
|
3762
|
+
key: test.id,
|
|
3763
|
+
open: unref(opened).includes(test.id),
|
|
3764
|
+
"data-testid": "execucao-teste",
|
|
3765
|
+
"data-status": test.status,
|
|
3766
|
+
"onUpdate:open": ($event) => toggle(test.id, $event)
|
|
3767
|
+
}, {
|
|
3768
|
+
content: withCtx(() => [createVNode("div", { class: "mt-1 rounded-md bg-elevated py-3 pl-3.5 pr-3" }, [ownError(test) ? (openBlock(), createBlock("p", {
|
|
3769
|
+
key: 0,
|
|
3770
|
+
class: "text-sm text-dimmed",
|
|
3771
|
+
"data-testid": "execucao-teste-erro"
|
|
3772
|
+
}, [createVNode("span", { class: "font-semibold text-error" }, "Erro:"), createTextVNode(" " + toDisplayString(ownError(test)), 1)])) : test.steps.length === 0 ? (openBlock(), createBlock("p", {
|
|
3773
|
+
key: 1,
|
|
3774
|
+
class: "text-sm text-dimmed"
|
|
3775
|
+
}, " Nenhum passo reportado. ")) : createCommentVNode("", true), createVNode(_component_ScenarioTestRunSteps, { steps: test.steps }, null, 8, ["steps"])])]),
|
|
3776
|
+
default: withCtx(() => [createVNode(_component_UButton, {
|
|
3777
|
+
block: "",
|
|
3778
|
+
color: "neutral",
|
|
3779
|
+
variant: "soft",
|
|
3780
|
+
icon: testIcons[test.status],
|
|
3781
|
+
"trailing-icon": "i-ic-round-expand-more",
|
|
3782
|
+
ui: {
|
|
3783
|
+
base: "justify-start gap-3",
|
|
3784
|
+
leadingIcon: testColors[test.status],
|
|
3785
|
+
trailingIcon: "text-dimmed"
|
|
3786
|
+
},
|
|
3787
|
+
"data-testid": "execucao-teste-abrir"
|
|
3788
|
+
}, {
|
|
3789
|
+
default: withCtx(() => [createVNode("span", {
|
|
3790
|
+
class: "grow truncate text-left",
|
|
3791
|
+
"data-testid": "execucao-teste-titulo"
|
|
3792
|
+
}, toDisplayString(test.title), 1)]),
|
|
3793
|
+
_: 2
|
|
3794
|
+
}, 1032, ["icon", "ui"])]),
|
|
3795
|
+
_: 2
|
|
3796
|
+
}, 1032, [
|
|
3797
|
+
"open",
|
|
3798
|
+
"data-status",
|
|
3799
|
+
"onUpdate:open"
|
|
3800
|
+
]);
|
|
3801
|
+
}), 128))])
|
|
3802
|
+
], 64))];
|
|
3803
|
+
}),
|
|
3804
|
+
_: 2
|
|
3805
|
+
}, [!__props.running ? {
|
|
3806
|
+
name: "footer",
|
|
3807
|
+
fn: withCtx((_, _push, _parent, _scopeId) => {
|
|
3808
|
+
if (_push) {
|
|
3809
|
+
_push(ssrRenderComponent(_component_UButton, {
|
|
3810
|
+
label: "Fechar",
|
|
3811
|
+
color: "neutral",
|
|
3812
|
+
variant: "ghost",
|
|
3813
|
+
"data-testid": "execucao-fechar",
|
|
3814
|
+
onClick: ($event) => open.value = false
|
|
3815
|
+
}, null, _parent, _scopeId));
|
|
3816
|
+
_push(ssrRenderComponent(_component_UButton, {
|
|
3817
|
+
label: "Relatório do Playwright",
|
|
3818
|
+
"trailing-icon": "i-ic-round-assessment",
|
|
3819
|
+
to: unref(reportUrlFor)(__props.slug),
|
|
3820
|
+
target: "_blank",
|
|
3821
|
+
external: "",
|
|
3822
|
+
"data-testid": "execucao-relatorio"
|
|
3823
|
+
}, null, _parent, _scopeId));
|
|
3824
|
+
} else return [createVNode(_component_UButton, {
|
|
3825
|
+
label: "Fechar",
|
|
3826
|
+
color: "neutral",
|
|
3827
|
+
variant: "ghost",
|
|
3828
|
+
"data-testid": "execucao-fechar",
|
|
3829
|
+
onClick: ($event) => open.value = false
|
|
3830
|
+
}, null, 8, ["onClick"]), createVNode(_component_UButton, {
|
|
3831
|
+
label: "Relatório do Playwright",
|
|
3832
|
+
"trailing-icon": "i-ic-round-assessment",
|
|
3833
|
+
to: unref(reportUrlFor)(__props.slug),
|
|
3834
|
+
target: "_blank",
|
|
3835
|
+
external: "",
|
|
3836
|
+
"data-testid": "execucao-relatorio"
|
|
3837
|
+
}, null, 8, ["to"])];
|
|
3838
|
+
}),
|
|
3839
|
+
key: "0"
|
|
3840
|
+
} : void 0]), _parent));
|
|
3841
|
+
};
|
|
3842
|
+
}
|
|
3843
|
+
});
|
|
3844
|
+
//#endregion
|
|
3845
|
+
//#region app/components/project/run-filtered/modal.vue
|
|
3511
3846
|
var _sfc_setup$1 = modal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
3512
3847
|
modal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
3513
3848
|
const ssrContext = useSSRContext();
|
|
3514
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/
|
|
3849
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/project/run-filtered/modal.vue");
|
|
3515
3850
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
3516
3851
|
};
|
|
3517
|
-
var modal_default = Object.assign(modal_vue_vue_type_script_setup_true_lang_default, { __name: "
|
|
3852
|
+
var modal_default = Object.assign(modal_vue_vue_type_script_setup_true_lang_default, { __name: "ProjectRunFilteredModal" });
|
|
3518
3853
|
//#endregion
|
|
3519
3854
|
//#region app/pages/projects/[slug].vue?vue&type=script&setup=true&lang.ts
|
|
3520
3855
|
var AUTH_SPEC = "tests/auth.setup.ts";
|
|
@@ -3571,7 +3906,7 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3571
3906
|
async function skipAuth() {
|
|
3572
3907
|
skippingAuth.value = true;
|
|
3573
3908
|
try {
|
|
3574
|
-
await $fetch$
|
|
3909
|
+
await $fetch$1(`/api/projects/${slug.value}/auth/skip`, { method: "POST" });
|
|
3575
3910
|
await refresh();
|
|
3576
3911
|
} finally {
|
|
3577
3912
|
skippingAuth.value = false;
|
|
@@ -3598,16 +3933,22 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3598
3933
|
}]]);
|
|
3599
3934
|
/** URL base configurada no projeto. É onde o navegador abre ao gravar. */
|
|
3600
3935
|
const projectUrl = computed(() => project.value.base_url ?? void 0);
|
|
3601
|
-
function recordPlain() {
|
|
3936
|
+
function recordPlain(replay) {
|
|
3602
3937
|
recordingMode.value = "plain";
|
|
3603
|
-
startRecording("scenario", {
|
|
3938
|
+
startRecording("scenario", {
|
|
3939
|
+
url: projectUrl.value,
|
|
3940
|
+
replay
|
|
3941
|
+
});
|
|
3604
3942
|
}
|
|
3605
|
-
function recordPublic() {
|
|
3943
|
+
function recordPublic(replay) {
|
|
3606
3944
|
recordingMode.value = "public";
|
|
3607
|
-
startRecording("scenario", {
|
|
3945
|
+
startRecording("scenario", {
|
|
3946
|
+
url: projectUrl.value,
|
|
3947
|
+
replay
|
|
3948
|
+
});
|
|
3608
3949
|
}
|
|
3609
3950
|
/** Roda o auth.setup.ts antes de abrir o navegador; falhou o login, não abre. */
|
|
3610
|
-
function recordAuthenticated() {
|
|
3951
|
+
function recordAuthenticated(replay) {
|
|
3611
3952
|
recordingMode.value = "authenticated";
|
|
3612
3953
|
authRunOpen.value = true;
|
|
3613
3954
|
authRun.start({ spec: AUTH_SPEC }, () => {
|
|
@@ -3616,7 +3957,8 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3616
3957
|
authRunOpen.value = false;
|
|
3617
3958
|
startRecording("scenario", {
|
|
3618
3959
|
storageState: project.value.storage_state,
|
|
3619
|
-
url: projectUrl.value
|
|
3960
|
+
url: projectUrl.value,
|
|
3961
|
+
replay
|
|
3620
3962
|
});
|
|
3621
3963
|
});
|
|
3622
3964
|
}
|
|
@@ -3624,16 +3966,25 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3624
3966
|
function recordDefault() {
|
|
3625
3967
|
return hasAuth.value ? recordAuthenticated() : recordPlain();
|
|
3626
3968
|
}
|
|
3627
|
-
/**
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3969
|
+
/**
|
|
3970
|
+
* Regravar mantém o tipo escolhido, porque trocar de autenticado pra público no meio seria surpresa.
|
|
3971
|
+
* Com passos anteriores, o navegador refaz esses e a gravação continua de onde o usuário parou.
|
|
3972
|
+
*/
|
|
3973
|
+
function recordAgain(replay) {
|
|
3974
|
+
if (recordingMode.value === "authenticated") return recordAuthenticated(replay);
|
|
3975
|
+
if (recordingMode.value === "public") return recordPublic(replay);
|
|
3976
|
+
recordPlain(replay);
|
|
3632
3977
|
}
|
|
3633
3978
|
watch(() => webdriver.value.videoSessionId, (sessionId) => {
|
|
3634
3979
|
if (!sessionId) return;
|
|
3635
3980
|
reviewOpen.value = true;
|
|
3636
3981
|
});
|
|
3982
|
+
/** Enquanto a ferramenta refaz os passos, quem manda é a cortina na janela gravada. */
|
|
3983
|
+
const recordingLabel = computed(() => {
|
|
3984
|
+
if (webdriver.value.replayFailedStep) return "Aguardando você na janela";
|
|
3985
|
+
if (webdriver.value.replaying) return "Refazendo os passos";
|
|
3986
|
+
return "Parar gravação";
|
|
3987
|
+
});
|
|
3637
3988
|
function stopAndReview() {
|
|
3638
3989
|
stopRecording();
|
|
3639
3990
|
}
|
|
@@ -3643,30 +3994,30 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3643
3994
|
async function remove() {
|
|
3644
3995
|
removing.value = true;
|
|
3645
3996
|
try {
|
|
3646
|
-
await $fetch$
|
|
3997
|
+
await $fetch$1(`/api/projects/${slug.value}`, { method: "DELETE" });
|
|
3647
3998
|
await navigateTo("/");
|
|
3648
3999
|
} finally {
|
|
3649
4000
|
removing.value = false;
|
|
3650
4001
|
}
|
|
3651
4002
|
}
|
|
3652
4003
|
return (_ctx, _push, _parent, _attrs) => {
|
|
3653
|
-
const _component_UContainer = _sfc_main$
|
|
4004
|
+
const _component_UContainer = _sfc_main$4;
|
|
3654
4005
|
const _component_BaseButtonIcon = icon_default;
|
|
3655
|
-
const _component_UBadge = _sfc_main$
|
|
4006
|
+
const _component_UBadge = _sfc_main$2$1;
|
|
3656
4007
|
const _component_ProjectRenameInline = inline_default;
|
|
3657
4008
|
const _component_ProjectEnvironmentsSelect = select_default;
|
|
3658
4009
|
const _component_UAlert = _sfc_main$5;
|
|
3659
4010
|
const _component_UButton = _sfc_main$6;
|
|
3660
|
-
const _component_UInput = _sfc_main$
|
|
3661
|
-
const _component_UDropdownMenu = _sfc_main;
|
|
4011
|
+
const _component_UInput = _sfc_main$7;
|
|
4012
|
+
const _component_UDropdownMenu = _sfc_main$1;
|
|
3662
4013
|
const _component_WebdriverSetup = setup_default;
|
|
3663
|
-
const _component_ScenarioReviewModal = modal_default$
|
|
3664
|
-
const _component_UCard = _sfc_main$
|
|
4014
|
+
const _component_ScenarioReviewModal = modal_default$1$1;
|
|
4015
|
+
const _component_UCard = _sfc_main$8;
|
|
3665
4016
|
const _component_ScenarioEmpty = empty_default;
|
|
3666
|
-
const _component_ProjectEnvironmentsModal = modal_default$
|
|
3667
|
-
const _component_ProjectSettingsModal = modal_default;
|
|
3668
|
-
const _component_ProjectRunFilteredModal = modal_default
|
|
3669
|
-
const _component_ScenarioTestRunModal = modal_default$
|
|
4017
|
+
const _component_ProjectEnvironmentsModal = modal_default$2;
|
|
4018
|
+
const _component_ProjectSettingsModal = modal_default$1;
|
|
4019
|
+
const _component_ProjectRunFilteredModal = modal_default;
|
|
4020
|
+
const _component_ScenarioTestRunModal = modal_default$3;
|
|
3670
4021
|
const _component_BaseConfirm = confirm_default;
|
|
3671
4022
|
_push(ssrRenderComponent(_component_UContainer, mergeProps({
|
|
3672
4023
|
"data-hydrated": unref(hydrated),
|
|
@@ -3860,14 +4211,15 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3860
4211
|
label: "Novo cenário",
|
|
3861
4212
|
"trailing-icon": "i-ic-round-add",
|
|
3862
4213
|
disabled: !unref(webdriver).connected,
|
|
3863
|
-
onClick: recordPlain
|
|
4214
|
+
onClick: ($event) => recordPlain()
|
|
3864
4215
|
}, null, _parent, _scopeId));
|
|
3865
4216
|
else _push(ssrRenderComponent(_component_UButton, {
|
|
3866
4217
|
"data-testid": "cenario-parar",
|
|
3867
|
-
label:
|
|
4218
|
+
label: unref(recordingLabel),
|
|
3868
4219
|
"trailing-icon": "i-ic-round-stop",
|
|
3869
4220
|
color: "error",
|
|
3870
4221
|
class: "animate-pulse",
|
|
4222
|
+
disabled: unref(webdriver).replaying,
|
|
3871
4223
|
onClick: stopAndReview
|
|
3872
4224
|
}, null, _parent, _scopeId));
|
|
3873
4225
|
_push(`</div>`);
|
|
@@ -3889,7 +4241,8 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
3889
4241
|
slug: unref(slug),
|
|
3890
4242
|
"is-public": unref(recordingPublic),
|
|
3891
4243
|
onGenerated: ($event) => unref(refresh)(),
|
|
3892
|
-
onRerecord: recordAgain
|
|
4244
|
+
onRerecord: recordAgain,
|
|
4245
|
+
onResume: recordAgain
|
|
3893
4246
|
}, null, _parent, _scopeId));
|
|
3894
4247
|
if (unref(scenarios).length) {
|
|
3895
4248
|
_push(`<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"${_scopeId}><!--[-->`);
|
|
@@ -4149,16 +4502,17 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
4149
4502
|
label: "Novo cenário",
|
|
4150
4503
|
"trailing-icon": "i-ic-round-add",
|
|
4151
4504
|
disabled: !unref(webdriver).connected,
|
|
4152
|
-
onClick: recordPlain
|
|
4153
|
-
}, null, 8, ["disabled"])) : (openBlock(), createBlock(_component_UButton, {
|
|
4505
|
+
onClick: ($event) => recordPlain()
|
|
4506
|
+
}, null, 8, ["disabled", "onClick"])) : (openBlock(), createBlock(_component_UButton, {
|
|
4154
4507
|
key: 2,
|
|
4155
4508
|
"data-testid": "cenario-parar",
|
|
4156
|
-
label:
|
|
4509
|
+
label: unref(recordingLabel),
|
|
4157
4510
|
"trailing-icon": "i-ic-round-stop",
|
|
4158
4511
|
color: "error",
|
|
4159
4512
|
class: "animate-pulse",
|
|
4513
|
+
disabled: unref(webdriver).replaying,
|
|
4160
4514
|
onClick: stopAndReview
|
|
4161
|
-
}))
|
|
4515
|
+
}, null, 8, ["label", "disabled"]))
|
|
4162
4516
|
]),
|
|
4163
4517
|
unref(webdriver).error ? (openBlock(), createBlock("div", {
|
|
4164
4518
|
key: 2,
|
|
@@ -4175,7 +4529,8 @@ var _slug__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
4175
4529
|
slug: unref(slug),
|
|
4176
4530
|
"is-public": unref(recordingPublic),
|
|
4177
4531
|
onGenerated: ($event) => unref(refresh)(),
|
|
4178
|
-
onRerecord: recordAgain
|
|
4532
|
+
onRerecord: recordAgain,
|
|
4533
|
+
onResume: recordAgain
|
|
4179
4534
|
}, null, 8, [
|
|
4180
4535
|
"open",
|
|
4181
4536
|
"onUpdate:open",
|
|
@@ -4319,4 +4674,4 @@ _slug__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
4319
4674
|
var _slug__default = _slug__vue_vue_type_script_setup_true_lang_default;
|
|
4320
4675
|
|
|
4321
4676
|
export { _slug__default as default };
|
|
4322
|
-
//# sourceMappingURL=_slug_-
|
|
4677
|
+
//# sourceMappingURL=_slug_-dNDiCabc.mjs.map
|