@qodalis/vue-cli 2.0.0-beta.12 → 2.0.0-beta.13
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/dist/index.js +79 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +79 -8
- package/dist/index.mjs.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -375,7 +375,7 @@ var CliPanel = defineComponent3({
|
|
|
375
375
|
const statusServerState = ref2("none");
|
|
376
376
|
const statusServerDetails = ref2([]);
|
|
377
377
|
const statusUptime = ref2(0);
|
|
378
|
-
const
|
|
378
|
+
const notification = ref2(null);
|
|
379
379
|
const servicesDropdownOpen = ref2(false);
|
|
380
380
|
const serversDropdownOpen = ref2(false);
|
|
381
381
|
const servicesDropdownTriggerRect = ref2(null);
|
|
@@ -401,8 +401,8 @@ var CliPanel = defineComponent3({
|
|
|
401
401
|
statusExecutionState.value = running ? "running" : "idle";
|
|
402
402
|
const result = context.lastCommandResult;
|
|
403
403
|
statusLastCommand.value = result ? { name: result.command, success: result.success } : null;
|
|
404
|
-
const
|
|
405
|
-
|
|
404
|
+
const notif = context.notifier?.current;
|
|
405
|
+
notification.value = notif || null;
|
|
406
406
|
}, 300);
|
|
407
407
|
globalPollTimer = setInterval(() => {
|
|
408
408
|
const tab = tabs.value.find((t) => t.id === resolvedActiveTabId.value);
|
|
@@ -898,11 +898,62 @@ var CliPanel = defineComponent3({
|
|
|
898
898
|
h2("span", { class: "cli-panel-status-icon", innerHTML: "↑" }),
|
|
899
899
|
h2("span", { class: "cli-panel-status-label" }, formattedUptime.value)
|
|
900
900
|
]) : null,
|
|
901
|
-
// Custom
|
|
902
|
-
|
|
903
|
-
h2("span", { class: "cli-panel-status-label" },
|
|
901
|
+
// Custom notification
|
|
902
|
+
notification.value ? h2("span", { class: `cli-panel-status-item status-text level-${notification.value.level}` }, [
|
|
903
|
+
h2("span", { class: "cli-panel-status-label" }, notification.value.message)
|
|
904
904
|
]) : null
|
|
905
905
|
].filter(Boolean)) : null,
|
|
906
|
+
// Compact status indicators (left/right positions — CSS controls visibility)
|
|
907
|
+
h2("div", { class: "cli-panel-status-indicators-compact" }, [
|
|
908
|
+
// Execution state
|
|
909
|
+
h2("span", { class: "cli-panel-status-compact-item", title: statusExecutionState.value }, [
|
|
910
|
+
h2("span", { class: ["cli-panel-status-dot", statusExecutionState.value === "running" ? "dot-running" : "dot-idle"].join(" ") })
|
|
911
|
+
]),
|
|
912
|
+
// Background services
|
|
913
|
+
statusServiceCount.value.total > 0 ? h2("span", {
|
|
914
|
+
class: "cli-panel-status-compact-item status-clickable",
|
|
915
|
+
title: `${statusServiceCount.value.running}/${statusServiceCount.value.total} services`,
|
|
916
|
+
onClick: (e) => {
|
|
917
|
+
e.stopPropagation();
|
|
918
|
+
servicesDropdownTriggerRect.value = e.currentTarget.getBoundingClientRect();
|
|
919
|
+
servicesDropdownOpen.value = !servicesDropdownOpen.value;
|
|
920
|
+
serversDropdownOpen.value = false;
|
|
921
|
+
}
|
|
922
|
+
}, [
|
|
923
|
+
h2("span", { class: "cli-panel-status-icon", innerHTML: "⚙" })
|
|
924
|
+
]) : null,
|
|
925
|
+
// Last command
|
|
926
|
+
statusLastCommand.value ? h2("span", {
|
|
927
|
+
class: "cli-panel-status-compact-item",
|
|
928
|
+
title: `${statusLastCommand.value.success ? "\u2713" : "\u2717"} ${statusLastCommand.value.name}`
|
|
929
|
+
}, [
|
|
930
|
+
h2("span", {
|
|
931
|
+
class: ["cli-panel-status-icon", statusLastCommand.value.success ? "status-success" : "status-error"].join(" "),
|
|
932
|
+
innerHTML: statusLastCommand.value.success ? "✓" : "✕"
|
|
933
|
+
})
|
|
934
|
+
]) : null,
|
|
935
|
+
// Server connection
|
|
936
|
+
statusServerState.value !== "none" ? h2("span", {
|
|
937
|
+
class: "cli-panel-status-compact-item status-clickable",
|
|
938
|
+
title: `${statusServerDetails.value.filter((s) => s.connected).length}/${statusServerDetails.value.length} servers`,
|
|
939
|
+
onClick: (e) => {
|
|
940
|
+
e.stopPropagation();
|
|
941
|
+
serversDropdownTriggerRect.value = e.currentTarget.getBoundingClientRect();
|
|
942
|
+
serversDropdownOpen.value = !serversDropdownOpen.value;
|
|
943
|
+
servicesDropdownOpen.value = false;
|
|
944
|
+
}
|
|
945
|
+
}, [
|
|
946
|
+
h2("span", { class: ["cli-panel-status-dot", statusServerState.value === "connected" ? "dot-idle" : "dot-error"].join(" ") })
|
|
947
|
+
]) : null,
|
|
948
|
+
// Uptime
|
|
949
|
+
statusUptime.value > 0 ? h2("span", { class: "cli-panel-status-compact-item status-muted", title: formattedUptime.value }, [
|
|
950
|
+
h2("span", { class: "cli-panel-status-icon", innerHTML: "↑" })
|
|
951
|
+
]) : null,
|
|
952
|
+
// Notification
|
|
953
|
+
notification.value ? h2("span", { class: "cli-panel-status-compact-item", title: notification.value.message }, [
|
|
954
|
+
h2("span", { class: `cli-panel-status-compact-dot level-${notification.value.level}` })
|
|
955
|
+
]) : null
|
|
956
|
+
].filter(Boolean)),
|
|
906
957
|
h2("div", { class: "cli-panel-action-buttons" }, [
|
|
907
958
|
h2("div", {
|
|
908
959
|
class: "cli-panel-btn-position-wrapper",
|
|
@@ -1307,7 +1358,17 @@ var CliPanel = defineComponent3({
|
|
|
1307
1358
|
style: (() => {
|
|
1308
1359
|
const rect = servicesDropdownTriggerRect.value;
|
|
1309
1360
|
if (!rect) return {};
|
|
1310
|
-
|
|
1361
|
+
const base = { position: "fixed", zIndex: 1100 };
|
|
1362
|
+
switch (resolvedPosition.value) {
|
|
1363
|
+
case "top":
|
|
1364
|
+
return { ...base, top: `${rect.bottom + 4}px`, left: `${rect.left}px` };
|
|
1365
|
+
case "left":
|
|
1366
|
+
return { ...base, top: `${rect.top}px`, left: `${rect.right + 4}px` };
|
|
1367
|
+
case "right":
|
|
1368
|
+
return { ...base, top: `${rect.top}px`, right: `${window.innerWidth - rect.left + 4}px` };
|
|
1369
|
+
default:
|
|
1370
|
+
return { ...base, bottom: `${window.innerHeight - rect.top + 4}px`, left: `${rect.left}px` };
|
|
1371
|
+
}
|
|
1311
1372
|
})(),
|
|
1312
1373
|
onClick: (e) => e.stopPropagation()
|
|
1313
1374
|
}, [
|
|
@@ -1333,7 +1394,17 @@ var CliPanel = defineComponent3({
|
|
|
1333
1394
|
style: (() => {
|
|
1334
1395
|
const rect = serversDropdownTriggerRect.value;
|
|
1335
1396
|
if (!rect) return {};
|
|
1336
|
-
|
|
1397
|
+
const base = { position: "fixed", zIndex: 1100 };
|
|
1398
|
+
switch (resolvedPosition.value) {
|
|
1399
|
+
case "top":
|
|
1400
|
+
return { ...base, top: `${rect.bottom + 4}px`, left: `${rect.left}px` };
|
|
1401
|
+
case "left":
|
|
1402
|
+
return { ...base, top: `${rect.top}px`, left: `${rect.right + 4}px` };
|
|
1403
|
+
case "right":
|
|
1404
|
+
return { ...base, top: `${rect.top}px`, right: `${window.innerWidth - rect.left + 4}px` };
|
|
1405
|
+
default:
|
|
1406
|
+
return { ...base, bottom: `${window.innerHeight - rect.top + 4}px`, left: `${rect.left}px` };
|
|
1407
|
+
}
|
|
1337
1408
|
})(),
|
|
1338
1409
|
onClick: (e) => e.stopPropagation()
|
|
1339
1410
|
}, [
|