gitxelectron 1.2.9 → 1.3.1
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/out/main/index.js +282 -32
- package/out/preload/index.js +1 -0
- package/out/renderer/assets/index-C1EI1txt.css +1365 -0
- package/out/renderer/assets/{index-xMfzgem_.js → index-Ctq_B0UN.js} +72 -15
- package/out/renderer/index.html +2 -2
- package/package.json +1 -1
- package/out/renderer/assets/index-BbL4wUJk.css +0 -1365
|
@@ -24015,9 +24015,9 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24015
24015
|
)
|
|
24016
24016
|
] })
|
|
24017
24017
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
|
|
24018
|
-
error && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-danger/10 border border-danger/30 text-danger px-4 py-3 rounded-lg text-
|
|
24019
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0 mt-0.5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }),
|
|
24020
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "break-words", children: error })
|
|
24018
|
+
error && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-danger/10 border border-danger/30 text-danger px-4 py-3 rounded-lg text-xs flex items-start gap-3 max-h-36 overflow-y-auto custom-scrollbar", children: [
|
|
24019
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0 mt-0.5 text-danger", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }),
|
|
24020
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "break-words font-mono text-[11px] leading-relaxed select-text", children: error })
|
|
24021
24021
|
] }),
|
|
24022
24022
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
24023
24023
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
@@ -24230,7 +24230,8 @@ const CollaborationRepoView = ({
|
|
|
24230
24230
|
isRefreshing,
|
|
24231
24231
|
onOpenExternal,
|
|
24232
24232
|
onUnlinkMapping,
|
|
24233
|
-
onChangeFolder
|
|
24233
|
+
onChangeFolder,
|
|
24234
|
+
onSyncCollabRepo
|
|
24234
24235
|
}) => {
|
|
24235
24236
|
const filteredRepos = collaboratedRepos.filter((repo) => {
|
|
24236
24237
|
if (!collabSearch.trim()) return true;
|
|
@@ -24470,7 +24471,7 @@ const CollaborationRepoView = ({
|
|
|
24470
24471
|
)
|
|
24471
24472
|
] }),
|
|
24472
24473
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-secondary line-clamp-2 min-h-[34px] break-words leading-relaxed", children: repo.description || /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "italic text-secondary/50", children: "No repository description provided." }) }),
|
|
24473
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-t border-border/60 pt-3 flex flex-
|
|
24474
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-t border-border/60 pt-3 flex flex-wrap items-center justify-between gap-3 min-w-0", children: [
|
|
24474
24475
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-w-0 flex-1", children: savedPath ? isMissing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24475
24476
|
"div",
|
|
24476
24477
|
{
|
|
@@ -24495,7 +24496,7 @@ const CollaborationRepoView = ({
|
|
|
24495
24496
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-secondary/40" }),
|
|
24496
24497
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Not cloned yet" })
|
|
24497
24498
|
] }) }),
|
|
24498
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1.5 flex-shrink-0
|
|
24499
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center justify-end gap-1.5 flex-shrink-0", children: [
|
|
24499
24500
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24500
24501
|
"button",
|
|
24501
24502
|
{
|
|
@@ -24512,6 +24513,22 @@ const CollaborationRepoView = ({
|
|
|
24512
24513
|
]
|
|
24513
24514
|
}
|
|
24514
24515
|
),
|
|
24516
|
+
savedPath && !isMissing && onSyncCollabRepo && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24517
|
+
"button",
|
|
24518
|
+
{
|
|
24519
|
+
type: "button",
|
|
24520
|
+
onClick: (e) => {
|
|
24521
|
+
e.stopPropagation();
|
|
24522
|
+
onSyncCollabRepo(repo, savedPath);
|
|
24523
|
+
},
|
|
24524
|
+
className: "px-2.5 py-1.5 text-xs font-semibold rounded-xl transition-all shadow-xs flex items-center gap-1 bg-blue-600/15 hover:bg-blue-600/25 text-blue-400 border border-blue-500/30",
|
|
24525
|
+
title: "Pull all latest team changes into this folder immediately",
|
|
24526
|
+
children: [
|
|
24527
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "⬇️" }),
|
|
24528
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Pull" })
|
|
24529
|
+
]
|
|
24530
|
+
}
|
|
24531
|
+
),
|
|
24515
24532
|
savedPath && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24516
24533
|
"button",
|
|
24517
24534
|
{
|
|
@@ -26062,9 +26079,15 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26062
26079
|
try {
|
|
26063
26080
|
const remotes = await window.api.getRemotes();
|
|
26064
26081
|
if (remotes.length > 0) {
|
|
26065
|
-
await window.api.pullFromRemote(remotes[0].name, branches
|
|
26082
|
+
const result = await window.api.pullFromRemote(remotes[0].name, branches?.current);
|
|
26066
26083
|
await refreshRepoState();
|
|
26067
|
-
|
|
26084
|
+
if (result?.alreadyUpToDate) {
|
|
26085
|
+
showToast("✨ Local files are already completely up to date with GitHub!", "info");
|
|
26086
|
+
} else if (result?.message) {
|
|
26087
|
+
showToast(`✅ ${result.message}`, "success");
|
|
26088
|
+
} else {
|
|
26089
|
+
showToast("✅ Successfully updated local files with team changes!", "success");
|
|
26090
|
+
}
|
|
26068
26091
|
} else {
|
|
26069
26092
|
setShowSetupWizard(true);
|
|
26070
26093
|
}
|
|
@@ -26074,6 +26097,23 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26074
26097
|
setIsPulling(false);
|
|
26075
26098
|
}
|
|
26076
26099
|
};
|
|
26100
|
+
const handleSyncCollabRepo = async (repo, savedPath) => {
|
|
26101
|
+
try {
|
|
26102
|
+
showToast(`Syncing ${repo.name} with GitHub...`, "info");
|
|
26103
|
+
await window.api.setRepoPath(savedPath);
|
|
26104
|
+
const res = await window.api.pullFromRemote();
|
|
26105
|
+
if (res?.alreadyUpToDate) {
|
|
26106
|
+
showToast(`✨ ${repo.name} is already completely up to date!`, "info");
|
|
26107
|
+
} else {
|
|
26108
|
+
showToast(`✅ ${repo.name}: ${res?.message || "Synced latest team changes!"}`, "success");
|
|
26109
|
+
}
|
|
26110
|
+
if (repoPath === savedPath) {
|
|
26111
|
+
await refreshRepoState();
|
|
26112
|
+
}
|
|
26113
|
+
} catch (e) {
|
|
26114
|
+
showToast(`Failed to sync ${repo.name}: ${e.message}`, "error");
|
|
26115
|
+
}
|
|
26116
|
+
};
|
|
26077
26117
|
const autonomousHealAndPush = async (initialError, operation, overrideRepoPath, overrideBranch) => {
|
|
26078
26118
|
let currentError = initialError;
|
|
26079
26119
|
let attempts = 0;
|
|
@@ -27440,6 +27480,19 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27440
27480
|
t("universalPush")
|
|
27441
27481
|
]
|
|
27442
27482
|
}
|
|
27483
|
+
),
|
|
27484
|
+
repoPath && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
27485
|
+
"button",
|
|
27486
|
+
{
|
|
27487
|
+
onClick: handlePull,
|
|
27488
|
+
disabled: isPulling,
|
|
27489
|
+
className: `w-full font-medium py-2 px-4 rounded-md transition-all border text-sm flex items-center justify-center gap-2 shadow-sm ${(status?.behind ?? 0) > 0 ? "bg-blue-600/25 text-blue-300 border-blue-500/50 hover:bg-blue-600/35 ring-1 ring-blue-500/30 animate-pulse" : "bg-surface-hover hover:brightness-110 text-primary border-border hover:border-brand/40"}`,
|
|
27490
|
+
title: "Download and update all new files pushed by team members on GitHub to your local folder",
|
|
27491
|
+
children: [
|
|
27492
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4 text-accent", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
|
|
27493
|
+
isPulling ? "Pulling..." : (status?.behind ?? 0) > 0 ? `Pull (${status.behind})` : "Pull"
|
|
27494
|
+
]
|
|
27495
|
+
}
|
|
27443
27496
|
)
|
|
27444
27497
|
] }),
|
|
27445
27498
|
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-4", children: [
|
|
@@ -28039,10 +28092,11 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28039
28092
|
"button",
|
|
28040
28093
|
{
|
|
28041
28094
|
onClick: handlePull,
|
|
28042
|
-
disabled: isPulling || status
|
|
28043
|
-
|
|
28095
|
+
disabled: isPulling || status?.conflicted?.length > 0,
|
|
28096
|
+
title: "Download and update all new files and changes pushed by your team on GitHub to your computer",
|
|
28097
|
+
className: `ml-2 px-3 py-1.5 rounded-lg font-semibold transition-all duration-200 border flex items-center gap-1.5 shadow-sm text-xs ${(status?.behind ?? 0) > 0 ? "bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-500 hover:to-indigo-500 text-white border-blue-400/40 ring-2 ring-blue-500/20 animate-pulse" : "bg-surface-hover hover:brightness-110 text-primary border-border hover:border-brand/40"} disabled:opacity-50`,
|
|
28044
28098
|
children: isPulling ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
28045
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "w-3 h-3 animate-spin", fill: "none", viewBox: "0 0 24 24", children: [
|
|
28099
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "w-3.5 h-3.5 animate-spin text-accent", fill: "none", viewBox: "0 0 24 24", children: [
|
|
28046
28100
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28047
28101
|
"circle",
|
|
28048
28102
|
{
|
|
@@ -28063,9 +28117,11 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28063
28117
|
}
|
|
28064
28118
|
)
|
|
28065
28119
|
] }),
|
|
28066
|
-
" "
|
|
28067
|
-
|
|
28068
|
-
|
|
28120
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Pulling..." })
|
|
28121
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
28122
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-3.5 h-3.5 text-accent", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
|
|
28123
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: (status?.behind ?? 0) > 0 ? `Pull (${status.behind})` : "Pull" })
|
|
28124
|
+
] })
|
|
28069
28125
|
}
|
|
28070
28126
|
)
|
|
28071
28127
|
] })
|
|
@@ -28107,7 +28163,8 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28107
28163
|
isRefreshing,
|
|
28108
28164
|
onOpenExternal: (url) => window.api.openExternal(url),
|
|
28109
28165
|
onUnlinkMapping: removeMapping,
|
|
28110
|
-
onChangeFolder: handleSelectCollabFolder
|
|
28166
|
+
onChangeFolder: handleSelectCollabFolder,
|
|
28167
|
+
onSyncCollabRepo: handleSyncCollabRepo
|
|
28111
28168
|
}
|
|
28112
28169
|
)
|
|
28113
28170
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
package/out/renderer/index.html
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"
|
|
22
22
|
rel="stylesheet"
|
|
23
23
|
/>
|
|
24
|
-
<script type="module" crossorigin src="./assets/index-
|
|
25
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
24
|
+
<script type="module" crossorigin src="./assets/index-Ctq_B0UN.js"></script>
|
|
25
|
+
<link rel="stylesheet" crossorigin href="./assets/index-C1EI1txt.css">
|
|
26
26
|
</head>
|
|
27
27
|
|
|
28
28
|
<body class="bg-gray-900 text-white font-sans antialiased overflow-hidden">
|