gitxelectron 1.3.5 → 1.3.7
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/README.md +97 -96
- package/bin/postinstall.js +6 -6
- package/bin/preuninstall.js +12 -12
- package/out/main/index.js +429 -49
- package/out/renderer/assets/{index-O0ybH0MV.js → index-DyLS9VOZ.js} +1332 -646
- package/out/renderer/assets/index-Vre34D_W.css +2913 -0
- package/out/renderer/index.html +2 -2
- package/package.json +70 -71
- package/out/renderer/assets/index-CmxKIe3Q.css +0 -1365
|
@@ -12543,33 +12543,49 @@ function Loader() {
|
|
|
12543
12543
|
const MassivePushLoader = ({ percentage, eta, hideHeader, compact }) => {
|
|
12544
12544
|
const isIndeterminate = percentage < 0;
|
|
12545
12545
|
const clampedPercentage = isIndeterminate ? 0 : Math.min(100, Math.max(0, percentage));
|
|
12546
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
12547
|
-
|
|
12548
|
-
|
|
12549
|
-
|
|
12550
|
-
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
12556
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "
|
|
12557
|
-
|
|
12558
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "
|
|
12559
|
-
|
|
12560
|
-
{
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12546
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
12547
|
+
"div",
|
|
12548
|
+
{
|
|
12549
|
+
className: `flex flex-col items-center justify-center w-full h-full ${compact ? "" : "space-y-8 py-8"}`,
|
|
12550
|
+
children: [
|
|
12551
|
+
!hideHeader && !compact && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center text-primary mb-4 relative z-10", children: [
|
|
12552
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-bold", children: "Massive Push in Progress" }),
|
|
12553
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm opacity-70 mt-1", children: "Chunking thousands of files to prevent freezing" })
|
|
12554
|
+
] }),
|
|
12555
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `loader-wrapper ${compact ? "is-compact" : ""}`, children: [
|
|
12556
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "loader", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "box", children: [
|
|
12557
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "top-side" }),
|
|
12558
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bottom-side" }),
|
|
12559
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "screen", children: [
|
|
12560
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lightray-limit", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lightray" }) }),
|
|
12561
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "loader-box-container", children: [
|
|
12562
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "loader-progress-box", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
12563
|
+
"div",
|
|
12564
|
+
{
|
|
12565
|
+
className: `progress-bar-fill transition-all duration-300 ease-out ${isIndeterminate ? "indeterminate-progress" : ""}`,
|
|
12566
|
+
style: { width: isIndeterminate ? "0%" : `${clampedPercentage}%` }
|
|
12567
|
+
}
|
|
12568
|
+
) }),
|
|
12569
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
12570
|
+
"div",
|
|
12571
|
+
{
|
|
12572
|
+
className: `flex flex-col items-center mt-2 text-primary font-mono drop-shadow-md ${compact ? "scale-95" : ""}`,
|
|
12573
|
+
children: [
|
|
12574
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${compact ? "text-2xl" : "text-3xl mt-2"} font-bold`, children: isIndeterminate ? ". . ." : `${clampedPercentage.toFixed(1)}%` }),
|
|
12575
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
12576
|
+
"span",
|
|
12577
|
+
{
|
|
12578
|
+
className: `${compact ? "text-xs" : "text-xs"} opacity-90 mt-1 font-semibold`,
|
|
12579
|
+
children: eta
|
|
12580
|
+
}
|
|
12581
|
+
)
|
|
12582
|
+
]
|
|
12583
|
+
}
|
|
12584
|
+
)
|
|
12585
|
+
] })
|
|
12568
12586
|
] })
|
|
12569
|
-
] })
|
|
12570
|
-
|
|
12571
|
-
] }) }),
|
|
12572
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
|
|
12587
|
+
] }) }),
|
|
12588
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
|
|
12573
12589
|
.loader-wrapper .loader .box {
|
|
12574
12590
|
background-color: var(--color-surface-hover);
|
|
12575
12591
|
width: var(--size, 240px);
|
|
@@ -12711,8 +12727,10 @@ const MassivePushLoader = ({ percentage, eta, hideHeader, compact }) => {
|
|
|
12711
12727
|
100% { width: 0%; }
|
|
12712
12728
|
}
|
|
12713
12729
|
` })
|
|
12714
|
-
|
|
12715
|
-
|
|
12730
|
+
] })
|
|
12731
|
+
]
|
|
12732
|
+
}
|
|
12733
|
+
);
|
|
12716
12734
|
};
|
|
12717
12735
|
function RepositoryWizard({ repoPath, onClose, onSuccess }) {
|
|
12718
12736
|
const [step, setStep] = reactExports.useState(1);
|
|
@@ -12729,7 +12747,9 @@ function RepositoryWizard({ repoPath, onClose, onSuccess }) {
|
|
|
12729
12747
|
const [isLoading, setIsLoading] = reactExports.useState(false);
|
|
12730
12748
|
const [error, setError] = reactExports.useState("");
|
|
12731
12749
|
const [massivePushData, setMassivePushData] = reactExports.useState(null);
|
|
12732
|
-
const [localProgress, setLocalProgress] = reactExports.useState(
|
|
12750
|
+
const [localProgress, setLocalProgress] = reactExports.useState(
|
|
12751
|
+
null
|
|
12752
|
+
);
|
|
12733
12753
|
reactExports.useEffect(() => {
|
|
12734
12754
|
checkAuth();
|
|
12735
12755
|
if (window.api.onMassivePushProgress) {
|
|
@@ -13022,55 +13042,64 @@ function RepositoryWizard({ repoPath, onClose, onSuccess }) {
|
|
|
13022
13042
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [
|
|
13023
13043
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
13024
13044
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-xs font-semibold text-secondary mb-1", children: "Add .gitignore" }),
|
|
13025
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
13026
|
-
|
|
13027
|
-
|
|
13028
|
-
|
|
13029
|
-
|
|
13030
|
-
|
|
13031
|
-
|
|
13032
|
-
|
|
13033
|
-
|
|
13034
|
-
|
|
13035
|
-
|
|
13036
|
-
|
|
13037
|
-
|
|
13038
|
-
|
|
13039
|
-
|
|
13040
|
-
|
|
13045
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
13046
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
13047
|
+
"select",
|
|
13048
|
+
{
|
|
13049
|
+
value: gitignoreTemplate,
|
|
13050
|
+
onChange: (e) => setGitignoreTemplate(e.target.value),
|
|
13051
|
+
className: "w-full bg-surface-hover border border-border rounded-md px-3 py-2 text-sm text-primary focus:outline-none focus:border-accent appearance-none cursor-pointer transition-colors pr-8",
|
|
13052
|
+
children: [
|
|
13053
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", className: "bg-canvas text-primary", children: "None" }),
|
|
13054
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Node", className: "bg-canvas text-primary", children: "Node" }),
|
|
13055
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Python", className: "bg-canvas text-primary", children: "Python" }),
|
|
13056
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Java", className: "bg-canvas text-primary", children: "Java" }),
|
|
13057
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "C++", className: "bg-canvas text-primary", children: "C++" }),
|
|
13058
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Go", className: "bg-canvas text-primary", children: "Go" })
|
|
13059
|
+
]
|
|
13060
|
+
}
|
|
13061
|
+
),
|
|
13062
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-secondary", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 9l-7 7-7-7" }) }) })
|
|
13063
|
+
] })
|
|
13041
13064
|
] }),
|
|
13042
13065
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
13043
13066
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-xs font-semibold text-secondary mb-1", children: "Choose a license" }),
|
|
13044
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
13045
|
-
|
|
13046
|
-
|
|
13047
|
-
|
|
13048
|
-
|
|
13049
|
-
|
|
13050
|
-
|
|
13051
|
-
|
|
13052
|
-
|
|
13053
|
-
|
|
13054
|
-
|
|
13055
|
-
|
|
13056
|
-
|
|
13057
|
-
|
|
13058
|
-
|
|
13067
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
13068
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
13069
|
+
"select",
|
|
13070
|
+
{
|
|
13071
|
+
value: licenseTemplate,
|
|
13072
|
+
onChange: (e) => setLicenseTemplate(e.target.value),
|
|
13073
|
+
className: "w-full bg-surface-hover border border-border rounded-md px-3 py-2 text-sm text-primary focus:outline-none focus:border-accent appearance-none cursor-pointer transition-colors pr-8",
|
|
13074
|
+
children: [
|
|
13075
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", className: "bg-canvas text-primary", children: "None" }),
|
|
13076
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "mit", className: "bg-canvas text-primary", children: "MIT License" }),
|
|
13077
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "gpl-3.0", className: "bg-canvas text-primary", children: "GNU GPLv3" }),
|
|
13078
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "apache-2.0", className: "bg-canvas text-primary", children: "Apache License 2.0" }),
|
|
13079
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "bsd-3-clause", className: "bg-canvas text-primary", children: "BSD 3-Clause" })
|
|
13080
|
+
]
|
|
13081
|
+
}
|
|
13082
|
+
),
|
|
13083
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-secondary", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 9l-7 7-7-7" }) }) })
|
|
13084
|
+
] })
|
|
13059
13085
|
] })
|
|
13060
13086
|
] })
|
|
13061
13087
|
] })
|
|
13062
13088
|
] }),
|
|
13063
13089
|
action === "existing" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4 bg-canvas p-4 rounded-lg border border-border", children: [
|
|
13064
13090
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-xs font-semibold text-secondary mb-1", children: "Select Repository" }),
|
|
13065
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
13066
|
-
|
|
13067
|
-
|
|
13068
|
-
|
|
13069
|
-
|
|
13070
|
-
|
|
13071
|
-
|
|
13072
|
-
|
|
13073
|
-
|
|
13091
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
13092
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
13093
|
+
"select",
|
|
13094
|
+
{
|
|
13095
|
+
value: selectedRepoUrl,
|
|
13096
|
+
onChange: (e) => setSelectedRepoUrl(e.target.value),
|
|
13097
|
+
className: "w-full bg-surface-hover border border-border rounded-md px-3 py-2 text-sm text-primary focus:outline-none focus:border-accent appearance-none cursor-pointer transition-colors pr-8",
|
|
13098
|
+
children: userRepos.map((r) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: r.clone_url, className: "bg-canvas text-primary", children: r.full_name }, r.id))
|
|
13099
|
+
}
|
|
13100
|
+
),
|
|
13101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-secondary", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 9l-7 7-7-7" }) }) })
|
|
13102
|
+
] })
|
|
13074
13103
|
] }),
|
|
13075
13104
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex gap-3 pt-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
13076
13105
|
"button",
|
|
@@ -13670,13 +13699,55 @@ const LiveGitHubSpace = React.memo(() => {
|
|
|
13670
13699
|
let activeShips = [];
|
|
13671
13700
|
const eventQueue = [];
|
|
13672
13701
|
const fallbackQueue = [
|
|
13673
|
-
{
|
|
13674
|
-
|
|
13675
|
-
|
|
13676
|
-
|
|
13677
|
-
|
|
13678
|
-
|
|
13679
|
-
|
|
13702
|
+
{
|
|
13703
|
+
id: "fb1",
|
|
13704
|
+
type: "PushEvent",
|
|
13705
|
+
actor: { login: "octocat" },
|
|
13706
|
+
repo: { name: "octocat/Hello-World" },
|
|
13707
|
+
created_at: ""
|
|
13708
|
+
},
|
|
13709
|
+
{
|
|
13710
|
+
id: "fb2",
|
|
13711
|
+
type: "PullRequestEvent",
|
|
13712
|
+
actor: { login: "torvalds" },
|
|
13713
|
+
repo: { name: "torvalds/linux" },
|
|
13714
|
+
created_at: ""
|
|
13715
|
+
},
|
|
13716
|
+
{
|
|
13717
|
+
id: "fb3",
|
|
13718
|
+
type: "IssuesEvent",
|
|
13719
|
+
actor: { login: "microsoft" },
|
|
13720
|
+
repo: { name: "microsoft/vscode" },
|
|
13721
|
+
created_at: ""
|
|
13722
|
+
},
|
|
13723
|
+
{
|
|
13724
|
+
id: "fb4",
|
|
13725
|
+
type: "PushEvent",
|
|
13726
|
+
actor: { login: "facebook" },
|
|
13727
|
+
repo: { name: "facebook/react" },
|
|
13728
|
+
created_at: ""
|
|
13729
|
+
},
|
|
13730
|
+
{
|
|
13731
|
+
id: "fb5",
|
|
13732
|
+
type: "PushEvent",
|
|
13733
|
+
actor: { login: "vercel" },
|
|
13734
|
+
repo: { name: "vercel/next.js" },
|
|
13735
|
+
created_at: ""
|
|
13736
|
+
},
|
|
13737
|
+
{
|
|
13738
|
+
id: "fb6",
|
|
13739
|
+
type: "PullRequestEvent",
|
|
13740
|
+
actor: { login: "vuejs" },
|
|
13741
|
+
repo: { name: "vuejs/core" },
|
|
13742
|
+
created_at: ""
|
|
13743
|
+
},
|
|
13744
|
+
{
|
|
13745
|
+
id: "fb7",
|
|
13746
|
+
type: "PushEvent",
|
|
13747
|
+
actor: { login: "antigravity" },
|
|
13748
|
+
repo: { name: "antigravity/engine" },
|
|
13749
|
+
created_at: ""
|
|
13750
|
+
}
|
|
13680
13751
|
];
|
|
13681
13752
|
const pollEvents = async () => {
|
|
13682
13753
|
if (!isRunning) return;
|
|
@@ -14018,10 +14089,16 @@ const DiceGame = () => {
|
|
|
14018
14089
|
] }),
|
|
14019
14090
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-end bg-surface-hover/80 px-4 py-2 rounded-xl border border-border/50 backdrop-blur-sm", children: [
|
|
14020
14091
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] text-secondary font-bold uppercase tracking-wider", children: "Moves Left" }),
|
|
14021
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
14022
|
-
|
|
14023
|
-
|
|
14024
|
-
|
|
14092
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
14093
|
+
"span",
|
|
14094
|
+
{
|
|
14095
|
+
className: `text-xl font-black ${movesLeft === 0 ? "text-danger" : "text-accent"}`,
|
|
14096
|
+
children: [
|
|
14097
|
+
movesLeft,
|
|
14098
|
+
" / 5"
|
|
14099
|
+
]
|
|
14100
|
+
}
|
|
14101
|
+
)
|
|
14025
14102
|
] })
|
|
14026
14103
|
] }),
|
|
14027
14104
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center gap-2 mb-2 z-20 mt-4", children: [
|
|
@@ -14204,7 +14281,9 @@ function ContributorsModal({ onClose, remoteUrl }) {
|
|
|
14204
14281
|
const fetchData = async () => {
|
|
14205
14282
|
if (!remoteUrl) {
|
|
14206
14283
|
setLoading(false);
|
|
14207
|
-
setErrorMsg(
|
|
14284
|
+
setErrorMsg(
|
|
14285
|
+
"No remote GitHub repository URL detected for this folder. Please push or add a remote origin first to invite collaborators."
|
|
14286
|
+
);
|
|
14208
14287
|
return;
|
|
14209
14288
|
}
|
|
14210
14289
|
try {
|
|
@@ -14234,7 +14313,9 @@ function ContributorsModal({ onClose, remoteUrl }) {
|
|
|
14234
14313
|
try {
|
|
14235
14314
|
const fullUser = await window.api.searchGitHubUser(user.login);
|
|
14236
14315
|
const targetUser = fullUser || user;
|
|
14237
|
-
const isExisting = collaborators.some((c) => c.login.toLowerCase() === targetUser.login.toLowerCase()) || invitations.some(
|
|
14316
|
+
const isExisting = collaborators.some((c) => c.login.toLowerCase() === targetUser.login.toLowerCase()) || invitations.some(
|
|
14317
|
+
(i) => i.invitee && i.invitee.login.toLowerCase() === targetUser.login.toLowerCase()
|
|
14318
|
+
);
|
|
14238
14319
|
if (isExisting) {
|
|
14239
14320
|
setErrorMsg(`${targetUser.login} is already a collaborator or has a pending invitation.`);
|
|
14240
14321
|
setSearchResult(null);
|
|
@@ -14258,7 +14339,9 @@ function ContributorsModal({ onClose, remoteUrl }) {
|
|
|
14258
14339
|
setShowSuggestions(false);
|
|
14259
14340
|
const user = await window.api.searchGitHubUser(query);
|
|
14260
14341
|
if (user) {
|
|
14261
|
-
const isExisting = collaborators.some((c) => c.login.toLowerCase() === user.login.toLowerCase()) || invitations.some(
|
|
14342
|
+
const isExisting = collaborators.some((c) => c.login.toLowerCase() === user.login.toLowerCase()) || invitations.some(
|
|
14343
|
+
(i) => i.invitee && i.invitee.login.toLowerCase() === user.login.toLowerCase()
|
|
14344
|
+
);
|
|
14262
14345
|
if (isExisting) {
|
|
14263
14346
|
setErrorMsg(`${user.login} is already a collaborator or has a pending invitation.`);
|
|
14264
14347
|
} else {
|
|
@@ -14534,12 +14617,37 @@ function ContributorsModal({ onClose, remoteUrl }) {
|
|
|
14534
14617
|
className: "bg-brand hover:bg-brand-hover text-white px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50 flex items-center gap-2 shadow-md hover:shadow-brand/20",
|
|
14535
14618
|
children: adding ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
14536
14619
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "w-4 h-4 animate-spin", fill: "none", viewBox: "0 0 24 24", children: [
|
|
14537
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14538
|
-
|
|
14620
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14621
|
+
"circle",
|
|
14622
|
+
{
|
|
14623
|
+
className: "opacity-25",
|
|
14624
|
+
cx: "12",
|
|
14625
|
+
cy: "12",
|
|
14626
|
+
r: "10",
|
|
14627
|
+
stroke: "currentColor",
|
|
14628
|
+
strokeWidth: "4"
|
|
14629
|
+
}
|
|
14630
|
+
),
|
|
14631
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14632
|
+
"path",
|
|
14633
|
+
{
|
|
14634
|
+
className: "opacity-75",
|
|
14635
|
+
fill: "currentColor",
|
|
14636
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
14637
|
+
}
|
|
14638
|
+
)
|
|
14539
14639
|
] }),
|
|
14540
14640
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Inviting..." })
|
|
14541
14641
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
14542
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14642
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14643
|
+
"path",
|
|
14644
|
+
{
|
|
14645
|
+
strokeLinecap: "round",
|
|
14646
|
+
strokeLinejoin: "round",
|
|
14647
|
+
strokeWidth: 2,
|
|
14648
|
+
d: "M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z"
|
|
14649
|
+
}
|
|
14650
|
+
) }),
|
|
14543
14651
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Invite" })
|
|
14544
14652
|
] })
|
|
14545
14653
|
}
|
|
@@ -14698,27 +14806,35 @@ const AIHealerOverlay = ({ message, attempt, maxAttempts, originalError }) => {
|
|
|
14698
14806
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0 bg-black/80 backdrop-blur-sm flex flex-col items-center justify-center z-[200] animate-fade-in", children: [
|
|
14699
14807
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex items-center justify-center mb-6", children: [
|
|
14700
14808
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-brand/20 blur-xl rounded-full scale-150 animate-pulse" }),
|
|
14701
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
14702
|
-
|
|
14703
|
-
|
|
14704
|
-
|
|
14705
|
-
|
|
14706
|
-
|
|
14707
|
-
|
|
14708
|
-
|
|
14709
|
-
|
|
14710
|
-
|
|
14711
|
-
|
|
14712
|
-
|
|
14713
|
-
|
|
14714
|
-
|
|
14715
|
-
|
|
14716
|
-
|
|
14717
|
-
|
|
14718
|
-
|
|
14719
|
-
|
|
14720
|
-
|
|
14721
|
-
|
|
14809
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
14810
|
+
"svg",
|
|
14811
|
+
{
|
|
14812
|
+
className: "w-16 h-16 text-brand animate-spin relative z-10",
|
|
14813
|
+
fill: "none",
|
|
14814
|
+
viewBox: "0 0 24 24",
|
|
14815
|
+
children: [
|
|
14816
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14817
|
+
"circle",
|
|
14818
|
+
{
|
|
14819
|
+
className: "opacity-20",
|
|
14820
|
+
cx: "12",
|
|
14821
|
+
cy: "12",
|
|
14822
|
+
r: "10",
|
|
14823
|
+
stroke: "currentColor",
|
|
14824
|
+
strokeWidth: "3"
|
|
14825
|
+
}
|
|
14826
|
+
),
|
|
14827
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14828
|
+
"path",
|
|
14829
|
+
{
|
|
14830
|
+
className: "opacity-90",
|
|
14831
|
+
fill: "currentColor",
|
|
14832
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
14833
|
+
}
|
|
14834
|
+
)
|
|
14835
|
+
]
|
|
14836
|
+
}
|
|
14837
|
+
)
|
|
14722
14838
|
] }),
|
|
14723
14839
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-xl font-bold text-white tracking-wide mb-2 animate-pulse", children: "AI Auto-Healer Active" }),
|
|
14724
14840
|
originalError && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-4 max-w-lg w-full px-6", children: [
|
|
@@ -23118,22 +23234,22 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23118
23234
|
{
|
|
23119
23235
|
initial: { opacity: 0, scale: 0.95, y: 20 },
|
|
23120
23236
|
animate: { opacity: 1, scale: 1, y: 0 },
|
|
23121
|
-
className: "bg-
|
|
23237
|
+
className: "bg-canvas shadow-xl border border-border w-full max-w-2xl rounded-2xl overflow-hidden shadow-2xl flex flex-col",
|
|
23122
23238
|
style: { maxHeight: "85vh" },
|
|
23123
23239
|
children: [
|
|
23124
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-4 border-b border-
|
|
23240
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-4 border-b border-border flex items-center justify-between bg-surface", children: [
|
|
23125
23241
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
23126
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-2 bg-
|
|
23242
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-2 bg-brand/20 text-brand rounded-lg", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiGithub, { size: 20 }) }),
|
|
23127
23243
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23128
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-
|
|
23129
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23244
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-primary font-semibold text-lg leading-tight", children: "Push Anything" }),
|
|
23245
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-xs", children: "Universal GitHub Uploader" })
|
|
23130
23246
|
] })
|
|
23131
23247
|
] }),
|
|
23132
23248
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23133
23249
|
"button",
|
|
23134
23250
|
{
|
|
23135
23251
|
onClick: handleClose,
|
|
23136
|
-
className: "p-2 text-
|
|
23252
|
+
className: "p-2 text-secondary hover:text-primary rounded-lg hover:bg-surface-hover transition-colors",
|
|
23137
23253
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiX, { size: 20 })
|
|
23138
23254
|
}
|
|
23139
23255
|
)
|
|
@@ -23151,24 +23267,24 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23151
23267
|
className: `flex flex-col items-center justify-center h-full gap-6 rounded-2xl transition-colors border-2 ${isDragging2 ? "border-brand bg-brand/10" : "border-transparent"}`,
|
|
23152
23268
|
children: [
|
|
23153
23269
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center space-y-2 mb-4", children: [
|
|
23154
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-2xl text-
|
|
23155
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23270
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-2xl text-primary font-semibold", children: "Select files to push" }),
|
|
23271
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-sm", children: "You can push any file or folder directly to any repository." })
|
|
23156
23272
|
] }),
|
|
23157
23273
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-2 gap-4 w-full max-w-md", children: [
|
|
23158
23274
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23159
23275
|
"button",
|
|
23160
23276
|
{
|
|
23161
23277
|
onClick: () => handleSelectFiles(false),
|
|
23162
|
-
className: "flex flex-col items-center gap-4 p-6 rounded-xl bg-
|
|
23278
|
+
className: "flex flex-col items-center gap-4 p-6 rounded-xl bg-surface border border-border shadow-sm border border-border hover:border-brand hover:bg-brand/10 transition-all group",
|
|
23163
23279
|
children: [
|
|
23164
23280
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23165
23281
|
FiFile,
|
|
23166
23282
|
{
|
|
23167
23283
|
size: 40,
|
|
23168
|
-
className: "text-
|
|
23284
|
+
className: "text-brand group-hover:scale-110 transition-transform"
|
|
23169
23285
|
}
|
|
23170
23286
|
),
|
|
23171
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-
|
|
23287
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-primary font-medium", children: "Select File(s)" })
|
|
23172
23288
|
]
|
|
23173
23289
|
}
|
|
23174
23290
|
),
|
|
@@ -23176,7 +23292,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23176
23292
|
"button",
|
|
23177
23293
|
{
|
|
23178
23294
|
onClick: () => handleSelectFiles(true),
|
|
23179
|
-
className: "flex flex-col items-center gap-4 p-6 rounded-xl bg-
|
|
23295
|
+
className: "flex flex-col items-center gap-4 p-6 rounded-xl bg-surface border border-border shadow-sm border border-border hover:border-purple-500 hover:bg-purple-500/10 transition-all group",
|
|
23180
23296
|
children: [
|
|
23181
23297
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23182
23298
|
FiFolder,
|
|
@@ -23185,7 +23301,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23185
23301
|
className: "text-purple-400 group-hover:scale-110 transition-transform"
|
|
23186
23302
|
}
|
|
23187
23303
|
),
|
|
23188
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-
|
|
23304
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-primary font-medium", children: "Select Folder" })
|
|
23189
23305
|
]
|
|
23190
23306
|
}
|
|
23191
23307
|
)
|
|
@@ -23202,18 +23318,18 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23202
23318
|
exit: { opacity: 0 },
|
|
23203
23319
|
className: "space-y-4",
|
|
23204
23320
|
children: [
|
|
23205
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23206
|
-
accounts.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-6 text-center bg-
|
|
23321
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold mb-4", children: "Select GitHub Account" }),
|
|
23322
|
+
accounts.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-6 text-center bg-surface border border-border shadow-sm border border-border rounded-xl flex flex-col items-center gap-4", children: [
|
|
23207
23323
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiAlertTriangle, { size: 32, className: "text-yellow-500" }),
|
|
23208
23324
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23209
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23210
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23325
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-primary font-medium mb-1", children: "No GitHub Accounts Found" }),
|
|
23326
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-sm", children: "Please close this window and log in to a GitHub account using the Settings panel first." })
|
|
23211
23327
|
] })
|
|
23212
23328
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid gap-3", children: accounts.map((acc) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23213
23329
|
"button",
|
|
23214
23330
|
{
|
|
23215
23331
|
onClick: () => handleSelectAccount(acc),
|
|
23216
|
-
className: "flex items-center gap-4 p-4 rounded-xl bg-
|
|
23332
|
+
className: "flex items-center gap-4 p-4 rounded-xl bg-surface border border-border shadow-sm border border-border hover:border-brand transition-colors text-left w-full",
|
|
23217
23333
|
children: [
|
|
23218
23334
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23219
23335
|
"img",
|
|
@@ -23224,13 +23340,13 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23224
23340
|
}
|
|
23225
23341
|
),
|
|
23226
23342
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23227
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-
|
|
23343
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-primary font-medium", children: [
|
|
23228
23344
|
"@",
|
|
23229
23345
|
acc.username
|
|
23230
23346
|
] }),
|
|
23231
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23347
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary text-xs", children: "Authenticated" })
|
|
23232
23348
|
] }),
|
|
23233
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "ml-auto text-
|
|
23349
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "ml-auto text-secondary opacity-70" })
|
|
23234
23350
|
]
|
|
23235
23351
|
},
|
|
23236
23352
|
acc.id
|
|
@@ -23247,15 +23363,15 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23247
23363
|
exit: { opacity: 0 },
|
|
23248
23364
|
className: "space-y-4 h-full flex flex-col",
|
|
23249
23365
|
children: [
|
|
23250
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23366
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold", children: "Select Repository" }),
|
|
23251
23367
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
23252
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FiSearch, { className: "absolute left-3 top-3 text-
|
|
23368
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FiSearch, { className: "absolute left-3 top-3 text-secondary" }),
|
|
23253
23369
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23254
23370
|
"input",
|
|
23255
23371
|
{
|
|
23256
23372
|
type: "text",
|
|
23257
23373
|
placeholder: "Search repositories...",
|
|
23258
|
-
className: "w-full bg-
|
|
23374
|
+
className: "w-full bg-surface border border-border shadow-sm border border-border rounded-lg py-2.5 pl-10 pr-4 text-primary focus:outline-none focus:border-brand",
|
|
23259
23375
|
value: searchRepo,
|
|
23260
23376
|
onChange: (e) => setSearchRepo(e.target.value)
|
|
23261
23377
|
}
|
|
@@ -23265,20 +23381,20 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23265
23381
|
"button",
|
|
23266
23382
|
{
|
|
23267
23383
|
onClick: () => handleSelectRepo(repo),
|
|
23268
|
-
className: "w-full text-left p-3 rounded-lg bg-
|
|
23384
|
+
className: "w-full text-left p-3 rounded-lg bg-surface border border-border shadow-sm border border-border hover:border-brand flex items-center justify-between group",
|
|
23269
23385
|
children: [
|
|
23270
23386
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23271
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-
|
|
23387
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-primary font-medium flex items-center gap-2", children: [
|
|
23272
23388
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
|
|
23273
23389
|
repo.owner.login,
|
|
23274
23390
|
"/",
|
|
23275
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-
|
|
23391
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-brand", children: repo.name })
|
|
23276
23392
|
] }),
|
|
23277
|
-
repo.private && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] px-1.5 py-0.5 rounded bg-gray-700 text-
|
|
23393
|
+
repo.private && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] px-1.5 py-0.5 rounded bg-gray-700 text-secondary", children: "Private" })
|
|
23278
23394
|
] }),
|
|
23279
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23395
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary opacity-70 text-xs mt-1 truncate", children: repo.description || "No description" })
|
|
23280
23396
|
] }),
|
|
23281
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "text-
|
|
23397
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "text-secondary opacity-50 group-hover:text-brand" })
|
|
23282
23398
|
]
|
|
23283
23399
|
},
|
|
23284
23400
|
repo.id
|
|
@@ -23295,14 +23411,14 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23295
23411
|
exit: { opacity: 0 },
|
|
23296
23412
|
className: "space-y-6",
|
|
23297
23413
|
children: [
|
|
23298
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23414
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold", children: "Select Branch" }),
|
|
23299
23415
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
23300
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 bg-
|
|
23416
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 bg-surface border border-border shadow-sm p-1 rounded-lg border border-border w-fit", children: [
|
|
23301
23417
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23302
23418
|
"button",
|
|
23303
23419
|
{
|
|
23304
23420
|
onClick: () => setIsNewBranch(false),
|
|
23305
|
-
className: `px-4 py-1.5 rounded-md text-sm font-medium transition-colors ${!isNewBranch ? "bg-
|
|
23421
|
+
className: `px-4 py-1.5 rounded-md text-sm font-medium transition-colors ${!isNewBranch ? "bg-brand text-primary" : "text-secondary hover:text-primary"}`,
|
|
23306
23422
|
children: "Existing Branch"
|
|
23307
23423
|
}
|
|
23308
23424
|
),
|
|
@@ -23310,7 +23426,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23310
23426
|
"button",
|
|
23311
23427
|
{
|
|
23312
23428
|
onClick: () => setIsNewBranch(true),
|
|
23313
|
-
className: `px-4 py-1.5 rounded-md text-sm font-medium transition-colors ${isNewBranch ? "bg-
|
|
23429
|
+
className: `px-4 py-1.5 rounded-md text-sm font-medium transition-colors ${isNewBranch ? "bg-brand text-primary" : "text-secondary hover:text-primary"}`,
|
|
23314
23430
|
children: "Create New"
|
|
23315
23431
|
}
|
|
23316
23432
|
)
|
|
@@ -23319,7 +23435,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23319
23435
|
"button",
|
|
23320
23436
|
{
|
|
23321
23437
|
onClick: () => setSelectedBranch(b.name),
|
|
23322
|
-
className: `w-full text-left p-3 rounded-lg border flex items-center gap-3 ${selectedBranch === b.name ? "bg-
|
|
23438
|
+
className: `w-full text-left p-3 rounded-lg border flex items-center gap-3 ${selectedBranch === b.name ? "bg-brand/10 border-brand text-brand" : "bg-surface border border-border shadow-sm border-border text-secondary hover:border-accent"}`,
|
|
23323
23439
|
children: [
|
|
23324
23440
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiGitBranch, {}),
|
|
23325
23441
|
b.name
|
|
@@ -23328,26 +23444,26 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23328
23444
|
b.name
|
|
23329
23445
|
)) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
23330
23446
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23331
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-
|
|
23447
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-secondary text-sm mb-1", children: "New Branch Name" }),
|
|
23332
23448
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23333
23449
|
"input",
|
|
23334
23450
|
{
|
|
23335
23451
|
type: "text",
|
|
23336
23452
|
value: newBranchName,
|
|
23337
23453
|
onChange: (e) => setNewBranchName(e.target.value),
|
|
23338
|
-
className: "w-full bg-
|
|
23454
|
+
className: "w-full bg-surface border border-border shadow-sm border border-border rounded-lg p-2.5 text-primary focus:outline-none focus:border-brand",
|
|
23339
23455
|
placeholder: "e.g., feature/update-assets"
|
|
23340
23456
|
}
|
|
23341
23457
|
)
|
|
23342
23458
|
] }),
|
|
23343
23459
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23344
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-
|
|
23460
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-secondary text-sm mb-1", children: "Base Branch" }),
|
|
23345
23461
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23346
23462
|
"select",
|
|
23347
23463
|
{
|
|
23348
23464
|
value: baseBranch,
|
|
23349
23465
|
onChange: (e) => setBaseBranch(e.target.value),
|
|
23350
|
-
className: "w-full bg-
|
|
23466
|
+
className: "w-full bg-surface border border-border shadow-sm border border-border rounded-lg p-2.5 text-primary focus:outline-none focus:border-brand appearance-none",
|
|
23351
23467
|
children: branches.map((b) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: b.name, children: b.name }, b.name))
|
|
23352
23468
|
}
|
|
23353
23469
|
)
|
|
@@ -23375,11 +23491,11 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23375
23491
|
exit: { opacity: 0 },
|
|
23376
23492
|
className: "space-y-6",
|
|
23377
23493
|
children: [
|
|
23378
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23379
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23494
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold", children: "Destination Path" }),
|
|
23495
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-sm", children: "Where should these files be placed in the repository?" }),
|
|
23380
23496
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
23381
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 bg-
|
|
23382
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-
|
|
23497
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 bg-surface border border-border shadow-sm border border-border rounded-lg p-3", children: [
|
|
23498
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-brand", children: [
|
|
23383
23499
|
selectedRepo?.name,
|
|
23384
23500
|
"/"
|
|
23385
23501
|
] }),
|
|
@@ -23389,7 +23505,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23389
23505
|
type: "text",
|
|
23390
23506
|
value: destination,
|
|
23391
23507
|
onChange: (e) => setDestination(e.target.value),
|
|
23392
|
-
className: "bg-transparent border-none outline-none text-
|
|
23508
|
+
className: "bg-transparent border-none outline-none text-primary w-full",
|
|
23393
23509
|
placeholder: "/"
|
|
23394
23510
|
}
|
|
23395
23511
|
)
|
|
@@ -23399,7 +23515,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23399
23515
|
"button",
|
|
23400
23516
|
{
|
|
23401
23517
|
onClick: () => setDestination("/"),
|
|
23402
|
-
className: "text-xs px-2 py-1 bg-
|
|
23518
|
+
className: "text-xs px-2 py-1 bg-surface hover:bg-surface-hover text-secondary rounded",
|
|
23403
23519
|
children: "Root (/)"
|
|
23404
23520
|
}
|
|
23405
23521
|
),
|
|
@@ -23407,7 +23523,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23407
23523
|
"button",
|
|
23408
23524
|
{
|
|
23409
23525
|
onClick: () => setDestination("src/"),
|
|
23410
|
-
className: "text-xs px-2 py-1 bg-
|
|
23526
|
+
className: "text-xs px-2 py-1 bg-surface hover:bg-surface-hover text-secondary rounded",
|
|
23411
23527
|
children: "src/"
|
|
23412
23528
|
}
|
|
23413
23529
|
),
|
|
@@ -23415,18 +23531,18 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23415
23531
|
"button",
|
|
23416
23532
|
{
|
|
23417
23533
|
onClick: () => setDestination("assets/"),
|
|
23418
|
-
className: "text-xs px-2 py-1 bg-
|
|
23534
|
+
className: "text-xs px-2 py-1 bg-surface hover:bg-surface-hover text-secondary rounded",
|
|
23419
23535
|
children: "assets/"
|
|
23420
23536
|
}
|
|
23421
23537
|
)
|
|
23422
23538
|
] })
|
|
23423
23539
|
] }),
|
|
23424
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-
|
|
23425
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("h4", { className: "text-
|
|
23540
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface border border-border shadow-sm p-4 rounded-lg border border-border", children: [
|
|
23541
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("h4", { className: "text-secondary font-medium mb-2 text-sm flex items-center gap-2", children: [
|
|
23426
23542
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiFolder, {}),
|
|
23427
23543
|
" Preview"
|
|
23428
23544
|
] }),
|
|
23429
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-xs text-
|
|
23545
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-xs text-secondary opacity-70 font-mono space-y-1", children: [
|
|
23430
23546
|
files.slice(0, 3).map((f) => {
|
|
23431
23547
|
const name = f.split(/[\/\\]/).pop();
|
|
23432
23548
|
const dest = destination === "/" || destination === "" ? name : `${destination.replace(/\/$/, "")}/${name}`;
|
|
@@ -23443,7 +23559,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23443
23559
|
"button",
|
|
23444
23560
|
{
|
|
23445
23561
|
onClick: handleSetupWorkspace,
|
|
23446
|
-
className: "px-6 py-2 bg-
|
|
23562
|
+
className: "px-6 py-2 bg-brand text-primary font-semibold rounded-lg hover:bg-brand brightness-110 transition-colors flex items-center gap-2",
|
|
23447
23563
|
children: [
|
|
23448
23564
|
"Verify & Prepare ",
|
|
23449
23565
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, {})
|
|
@@ -23462,9 +23578,9 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23462
23578
|
exit: { opacity: 0 },
|
|
23463
23579
|
className: "flex flex-col items-center justify-center h-full gap-4",
|
|
23464
23580
|
children: [
|
|
23465
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-12 h-12 border-4 border-
|
|
23466
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23467
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23581
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-12 h-12 border-4 border-brand/30 border-t-blue-500 rounded-full animate-spin" }),
|
|
23582
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary font-medium animate-pulse", children: "Safely preparing Git workspace..." }),
|
|
23583
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary opacity-70 text-xs", children: "Checking for collisions and establishing sparse-checkout" })
|
|
23468
23584
|
]
|
|
23469
23585
|
},
|
|
23470
23586
|
"loading"
|
|
@@ -23487,14 +23603,14 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23487
23603
|
] })
|
|
23488
23604
|
] })
|
|
23489
23605
|
] }),
|
|
23490
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-
|
|
23491
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-
|
|
23606
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-surface border border-border shadow-sm border border-border rounded-lg p-3 overflow-y-auto custom-scrollbar", children: [
|
|
23607
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-secondary opacity-70 uppercase mb-2", children: "Modified Files" }),
|
|
23492
23608
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1", children: collisions.modified.map((m) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-yellow-400 text-sm font-mono truncate py-1", children: [
|
|
23493
23609
|
"M ",
|
|
23494
23610
|
m
|
|
23495
23611
|
] }, m)) }),
|
|
23496
23612
|
collisions.newFiles.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
23497
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-
|
|
23613
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-secondary opacity-70 uppercase mt-4 mb-2", children: "New Files" }),
|
|
23498
23614
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1", children: collisions.newFiles.map((n) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23499
23615
|
"div",
|
|
23500
23616
|
{
|
|
@@ -23513,7 +23629,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23513
23629
|
"button",
|
|
23514
23630
|
{
|
|
23515
23631
|
onClick: handleClose,
|
|
23516
|
-
className: "px-5 py-2 bg-
|
|
23632
|
+
className: "px-5 py-2 bg-surface-hover text-primary rounded-lg hover:bg-red-500/20 hover:text-red-400 transition-colors",
|
|
23517
23633
|
children: "Cancel Push"
|
|
23518
23634
|
}
|
|
23519
23635
|
),
|
|
@@ -23522,7 +23638,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23522
23638
|
"button",
|
|
23523
23639
|
{
|
|
23524
23640
|
onClick: handleCompare,
|
|
23525
|
-
className: "px-5 py-2 bg-
|
|
23641
|
+
className: "px-5 py-2 bg-surface-hover text-primary rounded-lg hover:bg-surface-hover transition-colors flex items-center gap-2",
|
|
23526
23642
|
children: [
|
|
23527
23643
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiCode, {}),
|
|
23528
23644
|
" Compare"
|
|
@@ -23545,21 +23661,21 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23545
23661
|
"button",
|
|
23546
23662
|
{
|
|
23547
23663
|
onClick: () => setShowDiff(false),
|
|
23548
|
-
className: "text-
|
|
23664
|
+
className: "text-secondary hover:text-primary",
|
|
23549
23665
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowLeft, {})
|
|
23550
23666
|
}
|
|
23551
23667
|
),
|
|
23552
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-
|
|
23668
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-primary font-semibold", children: "Diff Viewer" })
|
|
23553
23669
|
] }),
|
|
23554
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 bg-
|
|
23670
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 bg-canvas border border-border rounded-lg p-4 overflow-y-auto custom-scrollbar font-mono text-sm whitespace-pre-wrap", children: diffContent ? diffContent.split("\n").map((line, i) => {
|
|
23555
23671
|
if (line.startsWith("+"))
|
|
23556
23672
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-green-400 bg-green-900/20", children: line }, i);
|
|
23557
23673
|
if (line.startsWith("-"))
|
|
23558
23674
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-red-400 bg-red-900/20", children: line }, i);
|
|
23559
23675
|
if (line.startsWith("@@"))
|
|
23560
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23561
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23562
|
-
}) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23676
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-brand mt-2", children: line }, i);
|
|
23677
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary", children: line }, i);
|
|
23678
|
+
}) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary opacity-70 text-center py-10", children: "Cannot show diff for binary files." }) })
|
|
23563
23679
|
] })
|
|
23564
23680
|
},
|
|
23565
23681
|
"collision"
|
|
@@ -23572,11 +23688,11 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23572
23688
|
exit: { opacity: 0 },
|
|
23573
23689
|
className: "space-y-6",
|
|
23574
23690
|
children: [
|
|
23575
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23576
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-
|
|
23691
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold", children: "Commit & Push" }),
|
|
23692
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface border border-border shadow-sm p-4 rounded-lg border border-border flex justify-between items-center", children: [
|
|
23577
23693
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23578
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23579
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-
|
|
23694
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary text-xs mb-1", children: "Destination" }),
|
|
23695
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-primary font-medium flex items-center gap-2", children: [
|
|
23580
23696
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23581
23697
|
"img",
|
|
23582
23698
|
{
|
|
@@ -23586,14 +23702,14 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23586
23702
|
),
|
|
23587
23703
|
selectedRepo.name,
|
|
23588
23704
|
" ",
|
|
23589
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "text-
|
|
23705
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "text-secondary opacity-50" }),
|
|
23590
23706
|
" ",
|
|
23591
23707
|
isNewBranch ? newBranchName : selectedBranch
|
|
23592
23708
|
] })
|
|
23593
23709
|
] }),
|
|
23594
23710
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-right", children: [
|
|
23595
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-
|
|
23596
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-
|
|
23711
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary text-xs mb-1", children: "Changes" }),
|
|
23712
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-primary font-medium", children: [
|
|
23597
23713
|
collisions.modified.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-yellow-400 mr-2", children: [
|
|
23598
23714
|
collisions.modified.length,
|
|
23599
23715
|
" modified"
|
|
@@ -23610,13 +23726,13 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23610
23726
|
] })
|
|
23611
23727
|
] }),
|
|
23612
23728
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
23613
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-
|
|
23729
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-secondary text-sm mb-2", children: "Commit Message" }),
|
|
23614
23730
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23615
23731
|
"textarea",
|
|
23616
23732
|
{
|
|
23617
23733
|
value: commitMessage,
|
|
23618
23734
|
onChange: (e) => setCommitMessage(e.target.value),
|
|
23619
|
-
className: "w-full bg-
|
|
23735
|
+
className: "w-full bg-surface border border-border shadow-sm border border-border rounded-lg p-3 text-primary focus:outline-none focus:border-brand resize-none h-24",
|
|
23620
23736
|
placeholder: "E.g., Added new logo assets"
|
|
23621
23737
|
}
|
|
23622
23738
|
)
|
|
@@ -23626,7 +23742,7 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23626
23742
|
{
|
|
23627
23743
|
onClick: handleCommit,
|
|
23628
23744
|
disabled: !commitMessage.trim(),
|
|
23629
|
-
className: "px-6 py-2 bg-
|
|
23745
|
+
className: "px-6 py-2 bg-brand text-primary font-semibold rounded-lg hover:bg-brand brightness-110 disabled:opacity-50 flex items-center gap-2",
|
|
23630
23746
|
children: [
|
|
23631
23747
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FiGithub, {}),
|
|
23632
23748
|
" Push Now"
|
|
@@ -23646,8 +23762,8 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23646
23762
|
className: "flex flex-col items-center justify-center h-full gap-4",
|
|
23647
23763
|
children: [
|
|
23648
23764
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-12 h-12 border-4 border-purple-500/30 border-t-purple-500 rounded-full animate-spin" }),
|
|
23649
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23650
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-
|
|
23765
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-primary font-medium text-lg", children: "Pushing to GitHub..." }),
|
|
23766
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-secondary opacity-70 text-sm font-mono", children: [
|
|
23651
23767
|
selectedRepo?.name,
|
|
23652
23768
|
" : ",
|
|
23653
23769
|
isNewBranch ? newBranchName : selectedBranch
|
|
@@ -23664,11 +23780,11 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23664
23780
|
className: "flex flex-col items-center justify-center h-full gap-4 text-center",
|
|
23665
23781
|
children: [
|
|
23666
23782
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 bg-green-500/20 text-green-400 rounded-full flex items-center justify-center mb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiCheck, { size: 32 }) }),
|
|
23667
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-2xl text-
|
|
23668
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-
|
|
23783
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-2xl text-primary font-semibold", children: "Push Successful!" }),
|
|
23784
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-secondary", children: [
|
|
23669
23785
|
"Your files were successfully pushed to ",
|
|
23670
23786
|
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
23671
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-
|
|
23787
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-brand", children: selectedRepo?.name }),
|
|
23672
23788
|
" on branch",
|
|
23673
23789
|
" ",
|
|
23674
23790
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-purple-400", children: isNewBranch ? newBranchName : selectedBranch }),
|
|
@@ -23694,13 +23810,13 @@ function UniversalPushWizard({ isOpen, onClose, onAutoHealTrigger }) {
|
|
|
23694
23810
|
className: "flex flex-col items-center justify-center h-full gap-4 text-center",
|
|
23695
23811
|
children: [
|
|
23696
23812
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 bg-red-500/20 text-red-400 rounded-full flex items-center justify-center mb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiX, { size: 32 }) }),
|
|
23697
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-
|
|
23698
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-
|
|
23813
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl text-primary font-semibold", children: "Operation Failed" }),
|
|
23814
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-sm max-w-sm whitespace-pre-wrap", children: errorMsg }),
|
|
23699
23815
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23700
23816
|
"button",
|
|
23701
23817
|
{
|
|
23702
23818
|
onClick: () => setStep("START"),
|
|
23703
|
-
className: "mt-4 px-6 py-2 bg-
|
|
23819
|
+
className: "mt-4 px-6 py-2 bg-surface-hover text-primary rounded-lg hover:bg-surface-hover",
|
|
23704
23820
|
children: "Try Again"
|
|
23705
23821
|
}
|
|
23706
23822
|
)
|
|
@@ -23777,7 +23893,14 @@ function WelcomeWizard({ onComplete }) {
|
|
|
23777
23893
|
) }),
|
|
23778
23894
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-6 sm:p-10 flex-grow flex flex-col min-h-[400px] sm:min-h-[450px] overflow-y-auto", children: [
|
|
23779
23895
|
step === 1 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center flex-grow text-center animate-fade-in py-4", children: [
|
|
23780
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23896
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23897
|
+
"img",
|
|
23898
|
+
{
|
|
23899
|
+
src: logo,
|
|
23900
|
+
alt: "Logo",
|
|
23901
|
+
className: "w-20 h-20 sm:w-24 sm:h-24 mb-6 drop-shadow-[0_0_15px_rgba(59,130,246,0.5)]"
|
|
23902
|
+
}
|
|
23903
|
+
),
|
|
23781
23904
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-3xl sm:text-4xl font-bold mb-2 bg-gradient-to-r from-white to-gray-400 bg-clip-text text-transparent", children: "Welcome to GitElectron" }),
|
|
23782
23905
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-lg sm:text-xl text-gray-400 mb-8 sm:mb-10 font-light px-4", children: "I just write code. GitElectron takes care of Git." }),
|
|
23783
23906
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6 w-full mb-8 sm:mb-12 text-left px-2 sm:px-0", children: [
|
|
@@ -23788,9 +23911,11 @@ function WelcomeWizard({ onComplete }) {
|
|
|
23788
23911
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface-hover/50 p-5 sm:p-6 rounded-xl border border-border flex flex-col justify-center transition-transform hover:scale-[1.02] hover:bg-surface-hover/80", children: [
|
|
23789
23912
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "font-semibold text-purple-400 mb-2 text-base sm:text-lg", children: "Universal CLI" }),
|
|
23790
23913
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs sm:text-sm text-gray-400 leading-relaxed", children: [
|
|
23791
|
-
"Run
|
|
23914
|
+
"Run",
|
|
23915
|
+
" ",
|
|
23792
23916
|
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "bg-canvas px-1 py-0.5 rounded text-purple-300", children: "gitelectron open" }),
|
|
23793
|
-
"
|
|
23917
|
+
" ",
|
|
23918
|
+
"from any terminal to launch instantly."
|
|
23794
23919
|
] })
|
|
23795
23920
|
] })
|
|
23796
23921
|
] }),
|
|
@@ -23826,7 +23951,16 @@ function WelcomeWizard({ onComplete }) {
|
|
|
23826
23951
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl sm:text-4xl font-mono tracking-widest text-blue-400 font-bold mb-4 bg-canvas py-3 rounded-lg border border-border break-all px-2", children: deviceFlowData.user_code }),
|
|
23827
23952
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs sm:text-sm text-gray-500 mb-4 px-2", children: [
|
|
23828
23953
|
"Your browser should open automatically. If not, go to",
|
|
23829
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23954
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23955
|
+
"a",
|
|
23956
|
+
{
|
|
23957
|
+
href: deviceFlowData.verification_uri,
|
|
23958
|
+
target: "_blank",
|
|
23959
|
+
rel: "noreferrer",
|
|
23960
|
+
className: "text-blue-400 ml-1 hover:underline break-all block mt-1",
|
|
23961
|
+
children: deviceFlowData.verification_uri
|
|
23962
|
+
}
|
|
23963
|
+
)
|
|
23830
23964
|
] }),
|
|
23831
23965
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-6 h-6 border-2 border-blue-500 border-t-transparent rounded-full animate-spin" }) })
|
|
23832
23966
|
] }),
|
|
@@ -23837,7 +23971,14 @@ function WelcomeWizard({ onComplete }) {
|
|
|
23837
23971
|
authStatus === "error" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
23838
23972
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-red-400 font-bold mb-2", children: "Authentication Failed" }),
|
|
23839
23973
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-500 mb-4 px-4", children: authError }),
|
|
23840
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23974
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
23975
|
+
"button",
|
|
23976
|
+
{
|
|
23977
|
+
onClick: () => setAuthStatus("pending"),
|
|
23978
|
+
className: "text-blue-400 hover:underline",
|
|
23979
|
+
children: "Try Again"
|
|
23980
|
+
}
|
|
23981
|
+
)
|
|
23841
23982
|
] })
|
|
23842
23983
|
] }),
|
|
23843
23984
|
step === 3 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center flex-grow animate-fade-in py-4", children: [
|
|
@@ -23870,22 +24011,28 @@ function WelcomeWizard({ onComplete }) {
|
|
|
23870
24011
|
}
|
|
23871
24012
|
) })
|
|
23872
24013
|
] }),
|
|
23873
|
-
step === 4 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
23874
|
-
|
|
23875
|
-
|
|
23876
|
-
|
|
23877
|
-
|
|
23878
|
-
|
|
23879
|
-
|
|
23880
|
-
|
|
23881
|
-
|
|
23882
|
-
|
|
23883
|
-
|
|
23884
|
-
|
|
23885
|
-
|
|
23886
|
-
|
|
23887
|
-
|
|
23888
|
-
|
|
24014
|
+
step === 4 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24015
|
+
"div",
|
|
24016
|
+
{
|
|
24017
|
+
className: `flex flex-col items-center justify-center flex-grow text-center transition-opacity duration-500 ${isFinishing ? "opacity-0 scale-95" : "opacity-100 animate-fade-in"} py-4`,
|
|
24018
|
+
children: [
|
|
24019
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative mb-6", children: [
|
|
24020
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FiCheckCircle, { className: "text-6xl sm:text-7xl text-blue-500 relative z-10" }),
|
|
24021
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-blue-500 rounded-full blur-[20px] opacity-50 z-0" })
|
|
24022
|
+
] }),
|
|
24023
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-3xl sm:text-4xl font-bold mb-3", children: "You're All Set!" }),
|
|
24024
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-lg sm:text-xl text-gray-400 mb-8 sm:mb-10 max-w-md px-4", children: "Your environment is secured and connected. You can now drag and drop any folder to start Auto-Syncing." }),
|
|
24025
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24026
|
+
"button",
|
|
24027
|
+
{
|
|
24028
|
+
onClick: finishSetup,
|
|
24029
|
+
className: "px-8 sm:px-10 py-3 sm:py-4 bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-500 hover:to-purple-500 text-white rounded-full font-bold text-base sm:text-lg transition-all shadow-[0_0_20px_rgba(139,92,246,0.4)] hover:shadow-[0_0_30px_rgba(139,92,246,0.6)] hover:scale-105",
|
|
24030
|
+
children: "Launch GitElectron"
|
|
24031
|
+
}
|
|
24032
|
+
)
|
|
24033
|
+
]
|
|
24034
|
+
}
|
|
24035
|
+
)
|
|
23889
24036
|
] })
|
|
23890
24037
|
] })
|
|
23891
24038
|
] });
|
|
@@ -23896,7 +24043,9 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
23896
24043
|
const [folderName, setFolderName] = reactExports.useState("");
|
|
23897
24044
|
const [isLoading, setIsLoading] = reactExports.useState(false);
|
|
23898
24045
|
const [error, setError] = reactExports.useState("");
|
|
23899
|
-
const [cloneProgress, setCloneProgress] = reactExports.useState(
|
|
24046
|
+
const [cloneProgress, setCloneProgress] = reactExports.useState(
|
|
24047
|
+
null
|
|
24048
|
+
);
|
|
23900
24049
|
const [showOptions, setShowOptions] = reactExports.useState(false);
|
|
23901
24050
|
const [clonedPathState, setClonedPathState] = reactExports.useState("");
|
|
23902
24051
|
reactExports.useEffect(() => {
|
|
@@ -23986,7 +24135,24 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
23986
24135
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-[100] p-4 animate-in fade-in duration-300", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface/95 border border-border w-full max-w-[600px] rounded-2xl shadow-2xl flex flex-col overflow-hidden max-h-[90vh]", children: [
|
|
23987
24136
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-6 border-b border-border/50 bg-canvas/30", children: [
|
|
23988
24137
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("h2", { className: "text-2xl font-bold text-primary flex items-center gap-3", children: [
|
|
23989
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24138
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24139
|
+
"svg",
|
|
24140
|
+
{
|
|
24141
|
+
className: "w-6 h-6 text-brand",
|
|
24142
|
+
fill: "none",
|
|
24143
|
+
stroke: "currentColor",
|
|
24144
|
+
viewBox: "0 0 24 24",
|
|
24145
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24146
|
+
"path",
|
|
24147
|
+
{
|
|
24148
|
+
strokeLinecap: "round",
|
|
24149
|
+
strokeLinejoin: "round",
|
|
24150
|
+
strokeWidth: 2,
|
|
24151
|
+
d: "M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2"
|
|
24152
|
+
}
|
|
24153
|
+
)
|
|
24154
|
+
}
|
|
24155
|
+
),
|
|
23990
24156
|
"Clone Repository"
|
|
23991
24157
|
] }),
|
|
23992
24158
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary mt-2 text-sm", children: "Download an existing Git repository to your computer" })
|
|
@@ -24001,7 +24167,15 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24001
24167
|
),
|
|
24002
24168
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "mt-8 text-secondary text-center max-w-[300px] text-sm animate-pulse", children: "Please wait while GitElectron clones the repository. This might take a while depending on the repository size." })
|
|
24003
24169
|
] }) : showOptions ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center py-8 space-y-6 text-center animate-in zoom-in-95 duration-300", children: [
|
|
24004
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 rounded-full bg-brand/10 text-brand flex items-center justify-center mb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-8 h-8", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24170
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 rounded-full bg-brand/10 text-brand flex items-center justify-center mb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-8 h-8", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24171
|
+
"path",
|
|
24172
|
+
{
|
|
24173
|
+
strokeLinecap: "round",
|
|
24174
|
+
strokeLinejoin: "round",
|
|
24175
|
+
strokeWidth: 2,
|
|
24176
|
+
d: "M5 13l4 4L19 7"
|
|
24177
|
+
}
|
|
24178
|
+
) }) }),
|
|
24005
24179
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
24006
24180
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl font-bold text-primary", children: "Clone Successful!" }),
|
|
24007
24181
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-secondary text-sm mt-2 max-w-sm mx-auto", children: "This repository belongs to someone else. What would you like to do with it?" })
|
|
@@ -24014,8 +24188,24 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24014
24188
|
className: "flex flex-col items-center p-4 rounded-xl border border-border bg-canvas hover:bg-surface-hover transition-all text-left gap-3",
|
|
24015
24189
|
children: [
|
|
24016
24190
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-full bg-blue-500/10 text-blue-400 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
|
|
24017
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24018
|
-
|
|
24191
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24192
|
+
"path",
|
|
24193
|
+
{
|
|
24194
|
+
strokeLinecap: "round",
|
|
24195
|
+
strokeLinejoin: "round",
|
|
24196
|
+
strokeWidth: 2,
|
|
24197
|
+
d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
|
24198
|
+
}
|
|
24199
|
+
),
|
|
24200
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24201
|
+
"path",
|
|
24202
|
+
{
|
|
24203
|
+
strokeLinecap: "round",
|
|
24204
|
+
strokeLinejoin: "round",
|
|
24205
|
+
strokeWidth: 2,
|
|
24206
|
+
d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
|
|
24207
|
+
}
|
|
24208
|
+
)
|
|
24019
24209
|
] }) }),
|
|
24020
24210
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
24021
24211
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-semibold text-primary", children: "Keep as View-Only" }),
|
|
@@ -24031,7 +24221,15 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24031
24221
|
className: "flex flex-col items-center p-4 rounded-xl border border-brand/30 bg-brand/5 hover:bg-brand/10 transition-all text-left gap-3 relative overflow-hidden",
|
|
24032
24222
|
children: [
|
|
24033
24223
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 right-0 px-2 py-0.5 bg-brand text-[10px] font-bold text-white rounded-bl-lg", children: "RECOMMENDED" }),
|
|
24034
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-full bg-brand/20 text-brand flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24224
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-full bg-brand/20 text-brand flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24225
|
+
"path",
|
|
24226
|
+
{
|
|
24227
|
+
strokeLinecap: "round",
|
|
24228
|
+
strokeLinejoin: "round",
|
|
24229
|
+
strokeWidth: 2,
|
|
24230
|
+
d: "M12 6v6m0 0v6m0-6h6m-6 0H6"
|
|
24231
|
+
}
|
|
24232
|
+
) }) }),
|
|
24035
24233
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
24036
24234
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "font-semibold text-brand", children: "Create My Own Copy" }),
|
|
24037
24235
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-secondary mt-1", children: "Strip original data to create your own repo." })
|
|
@@ -24042,7 +24240,24 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24042
24240
|
] })
|
|
24043
24241
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
|
|
24044
24242
|
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: [
|
|
24045
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24244
|
+
"svg",
|
|
24245
|
+
{
|
|
24246
|
+
className: "w-5 h-5 flex-shrink-0 mt-0.5 text-danger",
|
|
24247
|
+
fill: "none",
|
|
24248
|
+
stroke: "currentColor",
|
|
24249
|
+
viewBox: "0 0 24 24",
|
|
24250
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24251
|
+
"path",
|
|
24252
|
+
{
|
|
24253
|
+
strokeLinecap: "round",
|
|
24254
|
+
strokeLinejoin: "round",
|
|
24255
|
+
strokeWidth: 2,
|
|
24256
|
+
d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
24257
|
+
}
|
|
24258
|
+
)
|
|
24259
|
+
}
|
|
24260
|
+
),
|
|
24046
24261
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "break-words font-mono text-[11px] leading-relaxed select-text", children: error })
|
|
24047
24262
|
] }),
|
|
24048
24263
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
@@ -24059,21 +24274,38 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24059
24274
|
onChange: (e) => setRepoUrl(e.target.value)
|
|
24060
24275
|
}
|
|
24061
24276
|
),
|
|
24062
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 absolute left-3 top-3 text-secondary", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" }) })
|
|
24063
|
-
] })
|
|
24064
|
-
] }),
|
|
24065
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
24066
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-sm font-medium text-secondary mb-1.5", children: "Destination Base Folder" }),
|
|
24067
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
|
|
24068
24277
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24069
|
-
"
|
|
24278
|
+
"svg",
|
|
24070
24279
|
{
|
|
24071
|
-
|
|
24072
|
-
|
|
24073
|
-
|
|
24074
|
-
|
|
24075
|
-
|
|
24076
|
-
|
|
24280
|
+
className: "w-5 h-5 absolute left-3 top-3 text-secondary",
|
|
24281
|
+
fill: "none",
|
|
24282
|
+
stroke: "currentColor",
|
|
24283
|
+
viewBox: "0 0 24 24",
|
|
24284
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24285
|
+
"path",
|
|
24286
|
+
{
|
|
24287
|
+
strokeLinecap: "round",
|
|
24288
|
+
strokeLinejoin: "round",
|
|
24289
|
+
strokeWidth: 2,
|
|
24290
|
+
d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
|
|
24291
|
+
}
|
|
24292
|
+
)
|
|
24293
|
+
}
|
|
24294
|
+
)
|
|
24295
|
+
] })
|
|
24296
|
+
] }),
|
|
24297
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
24298
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "block text-sm font-medium text-secondary mb-1.5", children: "Destination Base Folder" }),
|
|
24299
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
|
|
24300
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24301
|
+
"input",
|
|
24302
|
+
{
|
|
24303
|
+
type: "text",
|
|
24304
|
+
className: "flex-1 bg-canvas border border-border rounded-lg px-4 py-2.5 text-primary opacity-70 cursor-not-allowed text-sm",
|
|
24305
|
+
placeholder: "Select a folder...",
|
|
24306
|
+
value: destFolder,
|
|
24307
|
+
readOnly: true
|
|
24308
|
+
}
|
|
24077
24309
|
),
|
|
24078
24310
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24079
24311
|
"button",
|
|
@@ -24123,7 +24355,15 @@ function CloneRepoWizard({ onClose, onSuccess }) {
|
|
|
24123
24355
|
disabled: !repoUrl || !destFolder,
|
|
24124
24356
|
className: "px-6 py-2.5 rounded-lg bg-brand hover:bg-brand-hover text-white font-medium transition-all shadow-lg shadow-brand/20 flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
24125
24357
|
children: [
|
|
24126
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24358
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24359
|
+
"path",
|
|
24360
|
+
{
|
|
24361
|
+
strokeLinecap: "round",
|
|
24362
|
+
strokeLinejoin: "round",
|
|
24363
|
+
strokeWidth: 2,
|
|
24364
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
24365
|
+
}
|
|
24366
|
+
) }),
|
|
24127
24367
|
"Clone Repository"
|
|
24128
24368
|
]
|
|
24129
24369
|
}
|
|
@@ -24201,13 +24441,7 @@ const AmongUsBackground = () => {
|
|
|
24201
24441
|
window.removeEventListener("resize", resizeCanvas);
|
|
24202
24442
|
};
|
|
24203
24443
|
}, []);
|
|
24204
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24205
|
-
"canvas",
|
|
24206
|
-
{
|
|
24207
|
-
ref: canvasRef,
|
|
24208
|
-
className: "absolute inset-0 w-full h-full pointer-events-none z-0"
|
|
24209
|
-
}
|
|
24210
|
-
);
|
|
24444
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("canvas", { ref: canvasRef, className: "absolute inset-0 w-full h-full pointer-events-none z-0" });
|
|
24211
24445
|
};
|
|
24212
24446
|
const SpaceExplorerBackground = () => {
|
|
24213
24447
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-stars-container", children: [
|
|
@@ -24368,7 +24602,7 @@ const CollaborationRepoView = ({
|
|
|
24368
24602
|
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-xs text-secondary flex-wrap px-1", children: [
|
|
24369
24603
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] font-medium text-secondary/80", children: "Filter summary:" }),
|
|
24370
24604
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1 bg-surface border border-border px-2.5 py-1 rounded-lg font-mono text-[11px] text-primary", children: [
|
|
24371
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-2 h-2 rounded-full bg-
|
|
24605
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-2 h-2 rounded-full bg-white" }),
|
|
24372
24606
|
connectedCount,
|
|
24373
24607
|
" Connected"
|
|
24374
24608
|
] }),
|
|
@@ -24420,7 +24654,8 @@ const CollaborationRepoView = ({
|
|
|
24420
24654
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-2xl mb-2", children: "🔍" }),
|
|
24421
24655
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-sm font-semibold text-primary mb-1", children: "No matches found" }),
|
|
24422
24656
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-secondary mb-4", children: [
|
|
24423
|
-
"No repository matches
|
|
24657
|
+
"No repository matches",
|
|
24658
|
+
" ",
|
|
24424
24659
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-semibold text-primary", children: [
|
|
24425
24660
|
'"',
|
|
24426
24661
|
collabSearch,
|
|
@@ -24464,14 +24699,21 @@ const CollaborationRepoView = ({
|
|
|
24464
24699
|
children: repo.name
|
|
24465
24700
|
}
|
|
24466
24701
|
),
|
|
24467
|
-
repo.private ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] bg-amber-500/10 text-amber-400 border border-amber-500/25 px-2 py-0.2 rounded-full font-medium flex-shrink-0", children: "Private" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] bg-emerald-500/10 text-
|
|
24702
|
+
repo.private ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] bg-amber-500/10 text-amber-400 border border-amber-500/25 px-2 py-0.2 rounded-full font-medium flex-shrink-0", children: "Private" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] bg-emerald-500/10 text-white border border-emerald-500/25 px-2 py-0.2 rounded-full font-medium flex-shrink-0", children: "Public" }),
|
|
24468
24703
|
isCurrentActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[9px] bg-brand text-white px-2 py-0.5 rounded-full font-bold uppercase tracking-wider flex-shrink-0 shadow-xs", children: "Active" })
|
|
24469
24704
|
] }),
|
|
24470
24705
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mt-1 text-xs text-secondary min-w-0 flex-wrap", children: [
|
|
24471
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24472
|
-
"
|
|
24473
|
-
|
|
24474
|
-
|
|
24706
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24707
|
+
"span",
|
|
24708
|
+
{
|
|
24709
|
+
className: "font-mono text-secondary truncate max-w-[140px]",
|
|
24710
|
+
title: `@${repo.owner?.login}`,
|
|
24711
|
+
children: [
|
|
24712
|
+
"@",
|
|
24713
|
+
repo.owner?.login
|
|
24714
|
+
]
|
|
24715
|
+
}
|
|
24716
|
+
),
|
|
24475
24717
|
repo.default_branch && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] font-mono bg-surface-hover text-secondary border border-border/60 px-1.5 py-0.5 rounded flex items-center gap-1 flex-shrink-0", children: [
|
|
24476
24718
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "🌿" }),
|
|
24477
24719
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate max-w-[90px]", children: repo.default_branch })
|
|
@@ -24501,7 +24743,7 @@ const CollaborationRepoView = ({
|
|
|
24501
24743
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-w-0 flex-1", children: savedPath ? isMissing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24502
24744
|
"div",
|
|
24503
24745
|
{
|
|
24504
|
-
className: "inline-flex items-center gap-1.5 text-xs text-danger font-mono bg-danger
|
|
24746
|
+
className: "inline-flex items-center gap-1.5 text-xs text-danger font-mono bg-danger text-white border border-border px-2.5 py-1 rounded-lg min-w-0 max-w-full truncate",
|
|
24505
24747
|
title: `Folder was deleted or moved: ${savedPath}`,
|
|
24506
24748
|
children: [
|
|
24507
24749
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-danger animate-pulse flex-shrink-0" }),
|
|
@@ -24511,14 +24753,14 @@ const CollaborationRepoView = ({
|
|
|
24511
24753
|
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
24512
24754
|
"div",
|
|
24513
24755
|
{
|
|
24514
|
-
className: "inline-flex items-center gap-1.5 text-xs text-
|
|
24756
|
+
className: "inline-flex items-center gap-1.5 text-xs text-white font-mono bg-success text-white border border-border px-2.5 py-1 rounded-lg min-w-0 max-w-full truncate",
|
|
24515
24757
|
title: savedPath,
|
|
24516
24758
|
children: [
|
|
24517
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-
|
|
24759
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-white flex-shrink-0" }),
|
|
24518
24760
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: savedPath.split("\\").pop() || savedPath })
|
|
24519
24761
|
]
|
|
24520
24762
|
}
|
|
24521
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-flex items-center gap-1.5 text-xs text-secondary/70 italic bg-
|
|
24763
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-flex items-center gap-1.5 text-xs text-secondary/70 italic bg-surface border border-border/60 px-2.5 py-1 rounded-lg flex-shrink-0", children: [
|
|
24522
24764
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-secondary/40" }),
|
|
24523
24765
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Not cloned yet" })
|
|
24524
24766
|
] }) }),
|
|
@@ -24547,7 +24789,7 @@ const CollaborationRepoView = ({
|
|
|
24547
24789
|
e.stopPropagation();
|
|
24548
24790
|
onSyncCollabRepo(repo, savedPath);
|
|
24549
24791
|
},
|
|
24550
|
-
className: "px-2.5 py-1.5 text-xs font-semibold rounded-xl transition-all shadow-xs flex items-center gap-1 bg-
|
|
24792
|
+
className: "px-2.5 py-1.5 text-xs font-semibold rounded-xl transition-all shadow-xs flex items-center gap-1 bg-brand hover:bg-brand-hover text-white border border-border",
|
|
24551
24793
|
title: "Pull all latest team changes into this folder immediately",
|
|
24552
24794
|
children: [
|
|
24553
24795
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "⬇️" }),
|
|
@@ -24565,7 +24807,24 @@ const CollaborationRepoView = ({
|
|
|
24565
24807
|
},
|
|
24566
24808
|
className: "p-1.5 text-xs rounded-xl transition-all bg-surface hover:bg-danger/10 text-secondary hover:text-danger border border-border",
|
|
24567
24809
|
title: "Clear connection",
|
|
24568
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24810
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24811
|
+
"svg",
|
|
24812
|
+
{
|
|
24813
|
+
className: "w-3.5 h-3.5",
|
|
24814
|
+
fill: "none",
|
|
24815
|
+
stroke: "currentColor",
|
|
24816
|
+
viewBox: "0 0 24 24",
|
|
24817
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
24818
|
+
"path",
|
|
24819
|
+
{
|
|
24820
|
+
strokeLinecap: "round",
|
|
24821
|
+
strokeLinejoin: "round",
|
|
24822
|
+
strokeWidth: 2,
|
|
24823
|
+
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
24824
|
+
}
|
|
24825
|
+
)
|
|
24826
|
+
}
|
|
24827
|
+
)
|
|
24569
24828
|
}
|
|
24570
24829
|
),
|
|
24571
24830
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -24576,7 +24835,7 @@ const CollaborationRepoView = ({
|
|
|
24576
24835
|
e.stopPropagation();
|
|
24577
24836
|
onRepoCardClick(repo);
|
|
24578
24837
|
},
|
|
24579
|
-
className: `px-3.5 py-1.5 text-xs font-semibold rounded-xl transition-all shadow-xs flex items-center gap-1.5 ${savedPath ? isMissing ? "bg-danger
|
|
24838
|
+
className: `px-3.5 py-1.5 text-xs font-semibold rounded-xl transition-all shadow-xs flex items-center gap-1.5 ${savedPath ? isMissing ? "bg-danger hover:bg-danger text-white text-danger border border-danger/40" : "bg-brand hover:bg-brand-hover text-white shadow-brand/20" : "bg-brand hover:bg-brand-hover text-white shadow-brand/20"}`,
|
|
24580
24839
|
children: [
|
|
24581
24840
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: savedPath ? isMissing ? "Re-Clone" : "Open Repo" : "Clone" }),
|
|
24582
24841
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: isMissing ? "☁️" : savedPath ? "→" : "☁️" })
|
|
@@ -24607,7 +24866,10 @@ const AuthCodePrinter = ({ code }) => {
|
|
|
24607
24866
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "cutter-wrapper", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "cutter" }) })
|
|
24608
24867
|
] }) });
|
|
24609
24868
|
};
|
|
24610
|
-
const CommitReceiptPrinter = ({
|
|
24869
|
+
const CommitReceiptPrinter = ({
|
|
24870
|
+
commit,
|
|
24871
|
+
onClose
|
|
24872
|
+
}) => {
|
|
24611
24873
|
const [isPrinted, setIsPrinted] = reactExports.useState(false);
|
|
24612
24874
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `commit-printer-wrapper ${isPrinted ? "is-printed" : ""}`, children: [
|
|
24613
24875
|
onClose && /* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: "printer-close-btn", onClick: onClose, title: "Close Printer", children: "✕" }),
|
|
@@ -24635,7 +24897,7 @@ const CommitReceiptPrinter = ({ commit, onClose }) => {
|
|
|
24635
24897
|
/* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
|
|
24636
24898
|
"Hash: ",
|
|
24637
24899
|
commit.hash.substring(0, 7),
|
|
24638
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "logo", children: "
|
|
24900
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "logo text-gray-800 opacity-80", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { height: "40", viewBox: "0 0 16 16", width: "40", fill: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) }) })
|
|
24639
24901
|
] }),
|
|
24640
24902
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "receipt-subheader", children: [
|
|
24641
24903
|
"Author: ",
|
|
@@ -25197,7 +25459,7 @@ const THEMES = [
|
|
|
25197
25459
|
{ id: "dracula", name: "Dracula" },
|
|
25198
25460
|
{ id: "github-light", name: "GitHub Light" },
|
|
25199
25461
|
{ id: "nord", name: "Nord" },
|
|
25200
|
-
{ id: "
|
|
25462
|
+
{ id: "retro-os", name: "Retro OS UI" },
|
|
25201
25463
|
{ id: "night-owl", name: "Night Owl" },
|
|
25202
25464
|
{ id: "tokyo-night", name: "Tokyo Night" },
|
|
25203
25465
|
{ id: "gruvbox-dark", name: "Gruvbox Dark" },
|
|
@@ -25221,7 +25483,8 @@ const THEMES = [
|
|
|
25221
25483
|
{ id: "dev-cpp-ocean", name: "Dev-C++ Ocean" },
|
|
25222
25484
|
{ id: "dev-cpp-matrix", name: "Dev-C++ Matrix" },
|
|
25223
25485
|
{ id: "dev-cpp-twilight", name: "Dev-C++ Twilight" },
|
|
25224
|
-
{ id: "turbo-cpp-classic", name: "Turbo C++ Classic" }
|
|
25486
|
+
{ id: "turbo-cpp-classic", name: "Turbo C++ Classic" },
|
|
25487
|
+
{ id: "game-rpg", name: "RPG Game UI" }
|
|
25225
25488
|
];
|
|
25226
25489
|
function App() {
|
|
25227
25490
|
const [repoPath, setRepoPath] = reactExports.useState(null);
|
|
@@ -25395,6 +25658,10 @@ function App() {
|
|
|
25395
25658
|
const [pushFailureData, setPushFailureData] = reactExports.useState(null);
|
|
25396
25659
|
const [gitErrorData, setGitErrorData] = reactExports.useState(null);
|
|
25397
25660
|
const [showSettings, setShowSettings] = reactExports.useState(false);
|
|
25661
|
+
const [draftTheme, setDraftTheme] = reactExports.useState("github-dark");
|
|
25662
|
+
const [draftLang, setDraftLang] = reactExports.useState("en");
|
|
25663
|
+
const [draftDailyAuth, setDraftDailyAuth] = reactExports.useState(true);
|
|
25664
|
+
const [draftLockscreenSpace, setDraftLockscreenSpace] = reactExports.useState(true);
|
|
25398
25665
|
const [showContributorsModal, setShowContributorsModal] = reactExports.useState(false);
|
|
25399
25666
|
const [remoteUrl, setRemoteUrl] = reactExports.useState(null);
|
|
25400
25667
|
const [gitConfig, setGitConfig] = reactExports.useState({ name: "", email: "" });
|
|
@@ -25415,7 +25682,9 @@ function App() {
|
|
|
25415
25682
|
setExpandedCommits((prev) => ({ ...prev, [hash]: !prev[hash] }));
|
|
25416
25683
|
};
|
|
25417
25684
|
const [theme, setTheme] = reactExports.useState(localStorage.getItem("gitelectron-theme") || "github-dark");
|
|
25418
|
-
const [changesTab, setChangesTab] = reactExports.useState(
|
|
25685
|
+
const [changesTab, setChangesTab] = reactExports.useState(
|
|
25686
|
+
"changes"
|
|
25687
|
+
);
|
|
25419
25688
|
const [collabSearch, setCollabSearch] = reactExports.useState("");
|
|
25420
25689
|
const [collabMappings, setCollabMappings] = reactExports.useState(() => {
|
|
25421
25690
|
try {
|
|
@@ -25957,7 +26226,10 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
25957
26226
|
if (autoSyncEnabled && updatedStatus.behind > 0) {
|
|
25958
26227
|
if (deferredRemotes.length > 0) {
|
|
25959
26228
|
try {
|
|
25960
|
-
showToast(
|
|
26229
|
+
showToast(
|
|
26230
|
+
`Auto-Push: Downloading ${updatedStatus.behind} remote change(s)...`,
|
|
26231
|
+
"info"
|
|
26232
|
+
);
|
|
25961
26233
|
await window.api.pullFromRemote(deferredRemotes[0].name, b.current);
|
|
25962
26234
|
showToast("Auto-Push: Successfully synchronized remote changes!", "success");
|
|
25963
26235
|
const finalStatus = await window.api.getStatus();
|
|
@@ -26161,7 +26433,8 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26161
26433
|
if (operation === "push") {
|
|
26162
26434
|
await window.api.executeRawGit(["add", "."]);
|
|
26163
26435
|
await window.api.commitChanges(commitMessage || "Auto-Healed Push");
|
|
26164
|
-
if (pushAllBranches && !overrideBranch)
|
|
26436
|
+
if (pushAllBranches && !overrideBranch)
|
|
26437
|
+
await window.api.pushAllBranches(remotes2[0].name);
|
|
26165
26438
|
else await window.api.pushToRemote(remotes2[0].name, targetBranch);
|
|
26166
26439
|
setPushSuccessData({
|
|
26167
26440
|
repository: targetRepoPath?.split("\\").pop() || "",
|
|
@@ -26184,7 +26457,13 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26184
26457
|
break;
|
|
26185
26458
|
}
|
|
26186
26459
|
const currentStatus = await window.api.getStatus();
|
|
26187
|
-
const result = await window.api.askAi(
|
|
26460
|
+
const result = await window.api.askAi(
|
|
26461
|
+
"gemini",
|
|
26462
|
+
"",
|
|
26463
|
+
currentError,
|
|
26464
|
+
currentStatus,
|
|
26465
|
+
targetRepoPath || ""
|
|
26466
|
+
);
|
|
26188
26467
|
setHealerMessage(result.explanation || `Applying fix...`);
|
|
26189
26468
|
if (result.commandsToRun && result.commandsToRun.length > 0) {
|
|
26190
26469
|
for (const cmd of result.commandsToRun) {
|
|
@@ -26197,7 +26476,8 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26197
26476
|
if (remotes.length > 0) {
|
|
26198
26477
|
if (operation === "push") {
|
|
26199
26478
|
const targetBranch = overrideBranch || branches.current;
|
|
26200
|
-
if (pushAllBranches && !overrideBranch)
|
|
26479
|
+
if (pushAllBranches && !overrideBranch)
|
|
26480
|
+
await window.api.pushAllBranches(remotes[0].name);
|
|
26201
26481
|
else await window.api.pushToRemote(remotes[0].name, targetBranch);
|
|
26202
26482
|
setPushSuccessData({
|
|
26203
26483
|
repository: targetRepoPath?.split("\\").pop() || "",
|
|
@@ -26253,7 +26533,10 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26253
26533
|
files: status.staged.length,
|
|
26254
26534
|
commitMessage: commitMessage + " (Offline Queue)"
|
|
26255
26535
|
});
|
|
26256
|
-
showToast(
|
|
26536
|
+
showToast(
|
|
26537
|
+
"Offline mode active. Push added to queue. It will auto-push when online.",
|
|
26538
|
+
"warning"
|
|
26539
|
+
);
|
|
26257
26540
|
setCommitMessage("");
|
|
26258
26541
|
setShowConfirmPush(false);
|
|
26259
26542
|
await refreshRepoState();
|
|
@@ -26337,9 +26620,24 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26337
26620
|
if (!email) email = `${activeAcc.username}@users.noreply.github.com`;
|
|
26338
26621
|
}
|
|
26339
26622
|
setGitConfig({ name: name || "", email: email || "" });
|
|
26623
|
+
setDraftTheme(theme);
|
|
26624
|
+
setDraftLang(lang);
|
|
26625
|
+
setDraftDailyAuth(dailyAuthEnabled);
|
|
26626
|
+
setDraftLockscreenSpace(enableLockscreenSpace);
|
|
26340
26627
|
setShowSettings(true);
|
|
26341
26628
|
};
|
|
26342
26629
|
const saveSettings = async () => {
|
|
26630
|
+
setLang(draftLang);
|
|
26631
|
+
handleThemeChange(draftTheme);
|
|
26632
|
+
setDailyAuthEnabled(draftDailyAuth);
|
|
26633
|
+
localStorage.setItem("gitelectron-daily-auth", draftDailyAuth ? "true" : "false");
|
|
26634
|
+
setEnableLockscreenSpace(draftLockscreenSpace);
|
|
26635
|
+
localStorage.setItem("gitelectron-enable-space", draftLockscreenSpace ? "true" : "false");
|
|
26636
|
+
setShowSettings(false);
|
|
26637
|
+
showToast("Settings saved successfully", "success");
|
|
26638
|
+
};
|
|
26639
|
+
const cancelSettings = () => {
|
|
26640
|
+
document.documentElement.setAttribute("data-theme", theme);
|
|
26343
26641
|
setShowSettings(false);
|
|
26344
26642
|
};
|
|
26345
26643
|
const viewDiff = async (file, staged) => {
|
|
@@ -26450,14 +26748,14 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26450
26748
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
26451
26749
|
"div",
|
|
26452
26750
|
{
|
|
26453
|
-
"data-theme": theme,
|
|
26751
|
+
"data-theme": showSettings ? draftTheme : theme,
|
|
26454
26752
|
className: "flex h-screen bg-canvas text-primary font-sans overflow-hidden transition-colors duration-300 select-none",
|
|
26455
26753
|
onDragOver: handleDragOver,
|
|
26456
26754
|
onDragLeave: handleDragLeave,
|
|
26457
26755
|
onDrop: handleDrop,
|
|
26458
26756
|
children: [
|
|
26459
|
-
theme === "among-us-live" && /* @__PURE__ */ jsxRuntimeExports.jsx(AmongUsBackground, {}),
|
|
26460
|
-
theme === "space-explorer-3d" && /* @__PURE__ */ jsxRuntimeExports.jsx(SpaceExplorerBackground, {}),
|
|
26757
|
+
(showSettings ? draftTheme : theme) === "among-us-live" && /* @__PURE__ */ jsxRuntimeExports.jsx(AmongUsBackground, {}),
|
|
26758
|
+
(showSettings ? draftTheme : theme) === "space-explorer-3d" && /* @__PURE__ */ jsxRuntimeExports.jsx(SpaceExplorerBackground, {}),
|
|
26461
26759
|
showWelcomeWizard && /* @__PURE__ */ jsxRuntimeExports.jsx(WelcomeWizard, { onComplete: () => setShowWelcomeWizard(false) }),
|
|
26462
26760
|
gitErrorData && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-black/70 backdrop-blur-md flex items-center justify-center z-[150] p-6 animate-fade-in", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface/95 border border-danger/50 rounded-2xl shadow-2xl w-full max-w-lg overflow-hidden flex flex-col p-6", children: [
|
|
26463
26761
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-xl font-bold text-danger mb-4", children: "Git Error" }),
|
|
@@ -26486,7 +26784,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26486
26784
|
] }),
|
|
26487
26785
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
26488
26786
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-sm font-medium text-primary mb-1", children: "AI Proposed Fix" }),
|
|
26489
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-brand
|
|
26787
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-brand text-white border border-brand/20 p-3 rounded text-sm text-brand", children: autoSyncErrorPayload.proposedFix })
|
|
26490
26788
|
] }),
|
|
26491
26789
|
autoSyncErrorPayload.files && autoSyncErrorPayload.files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
26492
26790
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-sm font-medium text-primary mb-1", children: "Affected Files" }),
|
|
@@ -26609,10 +26907,35 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26609
26907
|
className: "px-8 py-6 border-b border-border shrink-0 flex items-center gap-3",
|
|
26610
26908
|
style: { backgroundColor: "var(--color-surface)" },
|
|
26611
26909
|
children: [
|
|
26612
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
26613
|
-
|
|
26614
|
-
|
|
26615
|
-
|
|
26910
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
26911
|
+
"svg",
|
|
26912
|
+
{
|
|
26913
|
+
className: "w-6 h-6 text-brand",
|
|
26914
|
+
fill: "none",
|
|
26915
|
+
stroke: "currentColor",
|
|
26916
|
+
viewBox: "0 0 24 24",
|
|
26917
|
+
children: [
|
|
26918
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
26919
|
+
"path",
|
|
26920
|
+
{
|
|
26921
|
+
strokeLinecap: "round",
|
|
26922
|
+
strokeLinejoin: "round",
|
|
26923
|
+
strokeWidth: 2,
|
|
26924
|
+
d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
|
|
26925
|
+
}
|
|
26926
|
+
),
|
|
26927
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
26928
|
+
"path",
|
|
26929
|
+
{
|
|
26930
|
+
strokeLinecap: "round",
|
|
26931
|
+
strokeLinejoin: "round",
|
|
26932
|
+
strokeWidth: 2,
|
|
26933
|
+
d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
|
26934
|
+
}
|
|
26935
|
+
)
|
|
26936
|
+
]
|
|
26937
|
+
}
|
|
26938
|
+
),
|
|
26616
26939
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-black text-primary m-0", children: t("settings") })
|
|
26617
26940
|
]
|
|
26618
26941
|
}
|
|
@@ -26632,8 +26955,8 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26632
26955
|
CustomDropdown,
|
|
26633
26956
|
{
|
|
26634
26957
|
options: LANGUAGES.map((l) => ({ value: l.id, label: l.name })),
|
|
26635
|
-
value:
|
|
26636
|
-
onChange: (val) =>
|
|
26958
|
+
value: draftLang,
|
|
26959
|
+
onChange: (val) => setDraftLang(val),
|
|
26637
26960
|
buttonClassName: "w-full bg-surface border border-border rounded-lg p-2.5 text-primary focus:outline-none focus:border-accent transition-all cursor-pointer font-medium text-sm"
|
|
26638
26961
|
}
|
|
26639
26962
|
)
|
|
@@ -26644,8 +26967,11 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26644
26967
|
CustomDropdown,
|
|
26645
26968
|
{
|
|
26646
26969
|
options: THEMES.map((t2) => ({ value: t2.id, label: t2.name })),
|
|
26647
|
-
value:
|
|
26648
|
-
onChange: (val) =>
|
|
26970
|
+
value: draftTheme,
|
|
26971
|
+
onChange: (val) => {
|
|
26972
|
+
setDraftTheme(val);
|
|
26973
|
+
document.documentElement.setAttribute("data-theme", val);
|
|
26974
|
+
},
|
|
26649
26975
|
buttonClassName: "w-full bg-surface border border-border rounded-lg p-2.5 text-primary focus:outline-none focus:border-accent transition-all cursor-pointer font-medium text-sm"
|
|
26650
26976
|
}
|
|
26651
26977
|
)
|
|
@@ -26704,11 +27030,10 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26704
27030
|
{
|
|
26705
27031
|
className: "toggle",
|
|
26706
27032
|
type: "checkbox",
|
|
26707
|
-
checked:
|
|
27033
|
+
checked: draftDailyAuth,
|
|
26708
27034
|
onChange: (e) => {
|
|
26709
27035
|
const next = e.target.checked;
|
|
26710
|
-
|
|
26711
|
-
localStorage.setItem("gitelectron-daily-auth", next ? "true" : "false");
|
|
27036
|
+
setDraftDailyAuth(next);
|
|
26712
27037
|
}
|
|
26713
27038
|
}
|
|
26714
27039
|
),
|
|
@@ -26727,11 +27052,10 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26727
27052
|
{
|
|
26728
27053
|
className: "toggle",
|
|
26729
27054
|
type: "checkbox",
|
|
26730
|
-
checked:
|
|
27055
|
+
checked: draftLockscreenSpace,
|
|
26731
27056
|
onChange: (e) => {
|
|
26732
27057
|
const next = e.target.checked;
|
|
26733
|
-
|
|
26734
|
-
localStorage.setItem("gitelectron-enable-space", next ? "true" : "false");
|
|
27058
|
+
setDraftLockscreenSpace(next);
|
|
26735
27059
|
}
|
|
26736
27060
|
}
|
|
26737
27061
|
),
|
|
@@ -26790,10 +27114,10 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26790
27114
|
{
|
|
26791
27115
|
type: "button",
|
|
26792
27116
|
onClick: () => {
|
|
26793
|
-
|
|
27117
|
+
cancelSettings();
|
|
26794
27118
|
handleStartAuth();
|
|
26795
27119
|
},
|
|
26796
|
-
className: "px-3 py-1.5 bg-brand
|
|
27120
|
+
className: "px-3 py-1.5 bg-brand text-white hover:bg-brand text-white text-brand text-xs font-bold rounded-lg border border-brand/20 transition-colors",
|
|
26797
27121
|
children: [
|
|
26798
27122
|
"+ ",
|
|
26799
27123
|
t("addAccount")
|
|
@@ -26847,7 +27171,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26847
27171
|
setAccounts([]);
|
|
26848
27172
|
setActiveAccountId(null);
|
|
26849
27173
|
setPushPermission(false);
|
|
26850
|
-
|
|
27174
|
+
cancelSettings();
|
|
26851
27175
|
showToast("Successfully logged out", "success");
|
|
26852
27176
|
} catch (e) {
|
|
26853
27177
|
console.error("Logout failed", e);
|
|
@@ -26856,7 +27180,24 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26856
27180
|
},
|
|
26857
27181
|
className: "w-full py-2.5 bg-danger/10 hover:bg-danger/20 text-danger text-sm font-bold rounded-lg border border-danger/30 hover:border-danger/50 transition-all flex items-center justify-center gap-2",
|
|
26858
27182
|
children: [
|
|
26859
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27183
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27184
|
+
"svg",
|
|
27185
|
+
{
|
|
27186
|
+
className: "w-4 h-4",
|
|
27187
|
+
fill: "none",
|
|
27188
|
+
stroke: "currentColor",
|
|
27189
|
+
viewBox: "0 0 24 24",
|
|
27190
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27191
|
+
"path",
|
|
27192
|
+
{
|
|
27193
|
+
strokeLinecap: "round",
|
|
27194
|
+
strokeLinejoin: "round",
|
|
27195
|
+
strokeWidth: 2,
|
|
27196
|
+
d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
|
|
27197
|
+
}
|
|
27198
|
+
)
|
|
27199
|
+
}
|
|
27200
|
+
),
|
|
26860
27201
|
t("signOut")
|
|
26861
27202
|
]
|
|
26862
27203
|
}
|
|
@@ -26877,7 +27218,9 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26877
27218
|
{
|
|
26878
27219
|
type: "button",
|
|
26879
27220
|
onClick: async () => {
|
|
26880
|
-
const confirmAction = window.confirm(
|
|
27221
|
+
const confirmAction = window.confirm(
|
|
27222
|
+
"Are you sure? This will force push all current files, overriding remote history and bypassing all safety checks."
|
|
27223
|
+
);
|
|
26881
27224
|
if (!confirmAction) return;
|
|
26882
27225
|
try {
|
|
26883
27226
|
const remotes = await window.api.getRemotes();
|
|
@@ -26889,9 +27232,12 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26889
27232
|
await window.api.masterPush(remotes[0].name, status?.current || "main");
|
|
26890
27233
|
showToast("Master Push successful!", "success");
|
|
26891
27234
|
refreshRepoState();
|
|
26892
|
-
|
|
27235
|
+
cancelSettings();
|
|
26893
27236
|
} catch (err) {
|
|
26894
|
-
showToast(
|
|
27237
|
+
showToast(
|
|
27238
|
+
"Master Push failed: " + (err.message || "Unknown error"),
|
|
27239
|
+
"error"
|
|
27240
|
+
);
|
|
26895
27241
|
}
|
|
26896
27242
|
},
|
|
26897
27243
|
className: "shrink-0 px-6 py-3 bg-danger text-white text-xs font-black uppercase tracking-wider rounded-xl hover:bg-danger/80 border-b-4 border-black/30 active:border-b-0 active:translate-y-1 transition-all flex items-center justify-center gap-2",
|
|
@@ -26912,7 +27258,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
26912
27258
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
26913
27259
|
"button",
|
|
26914
27260
|
{
|
|
26915
|
-
onClick: () =>
|
|
27261
|
+
onClick: () => cancelSettings(),
|
|
26916
27262
|
className: "px-6 py-2.5 bg-surface border-2 border-border hover:bg-surface-hover rounded-xl transition-all font-bold text-sm",
|
|
26917
27263
|
children: t("cancel")
|
|
26918
27264
|
}
|
|
@@ -27097,7 +27443,13 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27097
27443
|
}
|
|
27098
27444
|
)
|
|
27099
27445
|
] }),
|
|
27100
|
-
expandedCommits[commit.hash] && commit.diff && commit.diff.files && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-4 flex justify-center pb-8 border-t border-border/40 pt-6", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27446
|
+
expandedCommits[commit.hash] && commit.diff && commit.diff.files && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-4 flex justify-center pb-8 border-t border-border/40 pt-6", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27447
|
+
CommitReceiptPrinter,
|
|
27448
|
+
{
|
|
27449
|
+
commit,
|
|
27450
|
+
onClose: () => toggleCommit(commit.hash)
|
|
27451
|
+
}
|
|
27452
|
+
) })
|
|
27101
27453
|
]
|
|
27102
27454
|
},
|
|
27103
27455
|
commit.hash
|
|
@@ -27229,25 +27581,64 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27229
27581
|
onProceed: handleDropProceed
|
|
27230
27582
|
}
|
|
27231
27583
|
),
|
|
27232
|
-
showContributorsModal && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27584
|
+
showContributorsModal && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27585
|
+
ContributorsModal,
|
|
27586
|
+
{
|
|
27587
|
+
remoteUrl: remoteUrl || "",
|
|
27588
|
+
onClose: () => setShowContributorsModal(false)
|
|
27589
|
+
}
|
|
27590
|
+
),
|
|
27233
27591
|
showCollabActionModal && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-[150] transition-opacity p-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface/95 backdrop-blur-xl p-6 rounded-2xl shadow-2xl border border-border w-full max-w-[460px] mx-4 flex flex-col gap-4 relative animate-in fade-in zoom-in-95", children: [
|
|
27234
27592
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27235
27593
|
"button",
|
|
27236
27594
|
{
|
|
27237
27595
|
onClick: () => setShowCollabActionModal(null),
|
|
27238
27596
|
className: "absolute top-4 right-4 text-secondary hover:text-primary transition-colors p-1",
|
|
27239
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27597
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27598
|
+
"path",
|
|
27599
|
+
{
|
|
27600
|
+
strokeLinecap: "round",
|
|
27601
|
+
strokeLinejoin: "round",
|
|
27602
|
+
strokeWidth: 2,
|
|
27603
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
27604
|
+
}
|
|
27605
|
+
) })
|
|
27240
27606
|
}
|
|
27241
27607
|
),
|
|
27242
27608
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 pr-8 min-w-0", children: [
|
|
27243
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-xl bg-brand
|
|
27609
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-xl bg-brand text-white border border-brand/20 flex items-center justify-center text-brand flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27610
|
+
"path",
|
|
27611
|
+
{
|
|
27612
|
+
strokeLinecap: "round",
|
|
27613
|
+
strokeLinejoin: "round",
|
|
27614
|
+
strokeWidth: 2,
|
|
27615
|
+
d: "M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2"
|
|
27616
|
+
}
|
|
27617
|
+
) }) }),
|
|
27244
27618
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
27245
27619
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-base font-bold text-primary tracking-tight truncate", children: "Collaboration Repository" }),
|
|
27246
27620
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-secondary font-mono truncate max-w-full", children: showCollabActionModal.fullName || showCollabActionModal.name })
|
|
27247
27621
|
] })
|
|
27248
27622
|
] }),
|
|
27249
27623
|
showCollabActionModal.missingPreviousPath ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-3.5 bg-danger/10 border border-danger/30 rounded-xl text-danger text-xs flex items-start gap-2.5", children: [
|
|
27250
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27624
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27625
|
+
"svg",
|
|
27626
|
+
{
|
|
27627
|
+
className: "w-5 h-5 flex-shrink-0 mt-0.5",
|
|
27628
|
+
fill: "none",
|
|
27629
|
+
stroke: "currentColor",
|
|
27630
|
+
viewBox: "0 0 24 24",
|
|
27631
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27632
|
+
"path",
|
|
27633
|
+
{
|
|
27634
|
+
strokeLinecap: "round",
|
|
27635
|
+
strokeLinejoin: "round",
|
|
27636
|
+
strokeWidth: 2,
|
|
27637
|
+
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
27638
|
+
}
|
|
27639
|
+
)
|
|
27640
|
+
}
|
|
27641
|
+
),
|
|
27251
27642
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
27252
27643
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "font-semibold text-danger", children: "Linked local folder was not found or was deleted:" }),
|
|
27253
27644
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "font-mono text-[10px] break-all opacity-90 mt-0.5", children: showCollabActionModal.missingPreviousPath }),
|
|
@@ -27287,7 +27678,15 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27287
27678
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-12 h-12 border-4 border-brand border-t-transparent rounded-full animate-spin mb-4 shadow-[0_0_15px_rgba(var(--brand-color),0.5)]" }),
|
|
27288
27679
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-white font-medium tracking-wide text-lg", children: "Cloning Repository..." })
|
|
27289
27680
|
] }),
|
|
27290
|
-
showHealerOverlay && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27681
|
+
showHealerOverlay && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27682
|
+
AIHealerOverlay,
|
|
27683
|
+
{
|
|
27684
|
+
message: healerMessage,
|
|
27685
|
+
attempt: healerAttempt,
|
|
27686
|
+
maxAttempts: 5,
|
|
27687
|
+
originalError: healerOriginalError
|
|
27688
|
+
}
|
|
27689
|
+
),
|
|
27291
27690
|
showAutoSyncLogs && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-[110] transition-opacity", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface/95 backdrop-blur-xl p-8 rounded-xl shadow-2xl border border-border w-full max-w-[600px] mx-4 flex flex-col max-h-[80vh]", children: [
|
|
27292
27691
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-center mb-6 border-b border-border pb-4", children: [
|
|
27293
27692
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("h2", { className: "text-xl font-bold text-primary flex items-center gap-2", children: [
|
|
@@ -27331,7 +27730,13 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27331
27730
|
onReplace: handleConflictReplace
|
|
27332
27731
|
}
|
|
27333
27732
|
),
|
|
27334
|
-
showUniversalWizard && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27733
|
+
showUniversalWizard && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27734
|
+
UniversalPushWizard,
|
|
27735
|
+
{
|
|
27736
|
+
isOpen: showUniversalWizard,
|
|
27737
|
+
onClose: () => setShowUniversalWizard(false)
|
|
27738
|
+
}
|
|
27739
|
+
),
|
|
27335
27740
|
showCloneWizard && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27336
27741
|
CloneRepoWizard,
|
|
27337
27742
|
{
|
|
@@ -27486,7 +27891,12 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27486
27891
|
onClick: () => {
|
|
27487
27892
|
const data = pushFailureData;
|
|
27488
27893
|
setPushFailureData(null);
|
|
27489
|
-
autonomousHealAndPush(
|
|
27894
|
+
autonomousHealAndPush(
|
|
27895
|
+
data.reason,
|
|
27896
|
+
data.operation || "push",
|
|
27897
|
+
data.overrideRepoPath,
|
|
27898
|
+
data.overrideBranch
|
|
27899
|
+
);
|
|
27490
27900
|
},
|
|
27491
27901
|
className: "flex-1 py-2 bg-brand hover:bg-brand-hover border border-white/10 text-white rounded-md font-semibold transition-all text-sm flex items-center justify-center gap-2",
|
|
27492
27902
|
children: "✨ Fix with AI"
|
|
@@ -27601,7 +28011,15 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27601
28011
|
fill: "none",
|
|
27602
28012
|
stroke: "currentColor",
|
|
27603
28013
|
viewBox: "0 0 24 24",
|
|
27604
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28014
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28015
|
+
"path",
|
|
28016
|
+
{
|
|
28017
|
+
strokeLinecap: "round",
|
|
28018
|
+
strokeLinejoin: "round",
|
|
28019
|
+
strokeWidth: 2,
|
|
28020
|
+
d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
|
|
28021
|
+
}
|
|
28022
|
+
)
|
|
27605
28023
|
}
|
|
27606
28024
|
),
|
|
27607
28025
|
"Clone Repository"
|
|
@@ -27612,7 +28030,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27612
28030
|
"button",
|
|
27613
28031
|
{
|
|
27614
28032
|
onClick: () => setShowUniversalWizard(true),
|
|
27615
|
-
className: "w-full bg-
|
|
28033
|
+
className: "w-full bg-brand hover:bg-brand-hover text-white font-medium py-2 px-4 rounded-md transition-all border border-border shadow-sm flex items-center justify-center gap-2",
|
|
27616
28034
|
children: [
|
|
27617
28035
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-base", children: "🚀" }),
|
|
27618
28036
|
" ",
|
|
@@ -27628,7 +28046,24 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27628
28046
|
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"}`,
|
|
27629
28047
|
title: "Download and update all new files pushed by team members on GitHub to your local folder",
|
|
27630
28048
|
children: [
|
|
27631
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28049
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28050
|
+
"svg",
|
|
28051
|
+
{
|
|
28052
|
+
className: "w-4 h-4 text-accent",
|
|
28053
|
+
fill: "none",
|
|
28054
|
+
stroke: "currentColor",
|
|
28055
|
+
viewBox: "0 0 24 24",
|
|
28056
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28057
|
+
"path",
|
|
28058
|
+
{
|
|
28059
|
+
strokeLinecap: "round",
|
|
28060
|
+
strokeLinejoin: "round",
|
|
28061
|
+
strokeWidth: 2,
|
|
28062
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
28063
|
+
}
|
|
28064
|
+
)
|
|
28065
|
+
}
|
|
28066
|
+
),
|
|
27632
28067
|
isPulling ? "Pulling..." : (status?.behind ?? 0) > 0 ? `Pull (${status.behind})` : "Pull"
|
|
27633
28068
|
]
|
|
27634
28069
|
}
|
|
@@ -27684,7 +28119,24 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27684
28119
|
},
|
|
27685
28120
|
className: "p-1 rounded-md text-secondary hover:text-danger hover:bg-danger/10 transition-colors",
|
|
27686
28121
|
title: "Clear saved link",
|
|
27687
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28122
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28123
|
+
"svg",
|
|
28124
|
+
{
|
|
28125
|
+
className: "w-3 h-3",
|
|
28126
|
+
fill: "none",
|
|
28127
|
+
stroke: "currentColor",
|
|
28128
|
+
viewBox: "0 0 24 24",
|
|
28129
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28130
|
+
"path",
|
|
28131
|
+
{
|
|
28132
|
+
strokeLinecap: "round",
|
|
28133
|
+
strokeLinejoin: "round",
|
|
28134
|
+
strokeWidth: 2,
|
|
28135
|
+
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
28136
|
+
}
|
|
28137
|
+
)
|
|
28138
|
+
}
|
|
28139
|
+
)
|
|
27688
28140
|
}
|
|
27689
28141
|
)
|
|
27690
28142
|
] })
|
|
@@ -27732,7 +28184,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27732
28184
|
}
|
|
27733
28185
|
),
|
|
27734
28186
|
t("collaborationRepo"),
|
|
27735
|
-
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto bg-brand
|
|
28187
|
+
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto bg-brand text-white text-brand text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: collaboratedRepos.length })
|
|
27736
28188
|
]
|
|
27737
28189
|
}
|
|
27738
28190
|
),
|
|
@@ -27806,7 +28258,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27806
28258
|
] })
|
|
27807
28259
|
] }),
|
|
27808
28260
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 p-6 flex flex-col overflow-y-auto custom-scrollbar min-h-0 relative z-10", children: isRepo && status && branches ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 flex flex-col min-h-0 gap-4 mb-6 relative z-20", children: [
|
|
27809
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap justify-between items-center bg-surface
|
|
28261
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap justify-between items-center bg-surface backdrop-blur-md border border-border p-3 rounded-xl transition-colors duration-300 gap-4 relative z-50", children: [
|
|
27810
28262
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center gap-4 text-sm", children: [
|
|
27811
28263
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 relative", children: [
|
|
27812
28264
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-secondary", children: "Auth:" }),
|
|
@@ -27980,7 +28432,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
27980
28432
|
"button",
|
|
27981
28433
|
{
|
|
27982
28434
|
onClick: handleToggleAutoSync,
|
|
27983
|
-
className: `px-2 py-1.5 rounded transition-colors flex items-center justify-center border font-medium ${autoSyncEnabled ? "bg-green-500/20 text-green-400 border-green-500/30" : "hover:bg-brand
|
|
28435
|
+
className: `px-2 py-1.5 rounded transition-colors flex items-center justify-center border font-medium ${autoSyncEnabled ? "bg-green-500/20 text-green-400 border-green-500/30" : "hover:bg-brand text-white text-brand border-brand/30"}`,
|
|
27984
28436
|
title: autoSyncEnabled ? "Disable Auto-Push" : "Enable Auto-Push",
|
|
27985
28437
|
children: [
|
|
27986
28438
|
"⚡ ",
|
|
@@ -28057,7 +28509,15 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28057
28509
|
className: "relative px-3 py-1.5 bg-surface-hover border border-border rounded-md text-secondary hover:text-primary transition-all flex items-center justify-center",
|
|
28058
28510
|
title: "Pending Invitations",
|
|
28059
28511
|
children: [
|
|
28060
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28512
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28513
|
+
"path",
|
|
28514
|
+
{
|
|
28515
|
+
strokeLinecap: "round",
|
|
28516
|
+
strokeLinejoin: "round",
|
|
28517
|
+
strokeWidth: 2,
|
|
28518
|
+
d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
|
|
28519
|
+
}
|
|
28520
|
+
) }),
|
|
28061
28521
|
invitations.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute top-1.5 right-2 w-2 h-2 bg-danger rounded-full animate-pulse" })
|
|
28062
28522
|
]
|
|
28063
28523
|
}
|
|
@@ -28094,7 +28554,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28094
28554
|
)
|
|
28095
28555
|
] })
|
|
28096
28556
|
] }),
|
|
28097
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative z-40 flex flex-wrap justify-between items-center bg-surface
|
|
28557
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative z-40 flex flex-wrap justify-between items-center bg-surface backdrop-blur-md p-4 rounded-xl border border-border transition-colors duration-300 gap-4", children: [
|
|
28098
28558
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 w-full sm:w-auto", children: [
|
|
28099
28559
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-secondary text-sm hidden sm:inline", children: "Branch:" }),
|
|
28100
28560
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -28104,7 +28564,12 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28104
28564
|
...branches?.all && branches.all.length > 0 ? branches.all.map((b) => ({ value: b, label: b })) : [{ value: "main", label: "main (new)" }]
|
|
28105
28565
|
],
|
|
28106
28566
|
value: status?.current || "",
|
|
28107
|
-
onChange: (val) => window.api.checkoutBranch(val).then(refreshRepoState).catch(
|
|
28567
|
+
onChange: (val) => window.api.checkoutBranch(val).then(refreshRepoState).catch(
|
|
28568
|
+
(err) => showToast(
|
|
28569
|
+
"Could not switch branch: " + (err.message || "Unknown error"),
|
|
28570
|
+
"error"
|
|
28571
|
+
)
|
|
28572
|
+
),
|
|
28108
28573
|
buttonClassName: "appearance-none bg-surface border border-border rounded-md px-3 py-1.5 text-sm font-medium focus:outline-none focus:border-accent hover:border-secondary transition-colors"
|
|
28109
28574
|
}
|
|
28110
28575
|
) }),
|
|
@@ -28132,7 +28597,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28132
28597
|
"button",
|
|
28133
28598
|
{
|
|
28134
28599
|
onClick: () => window.api.openExternal(remoteUrl),
|
|
28135
|
-
className: "p-1.5 hover:bg-brand
|
|
28600
|
+
className: "p-1.5 hover:bg-brand text-white text-brand rounded transition-colors flex items-center justify-center border border-brand/30",
|
|
28136
28601
|
title: "View Repository on GitHub",
|
|
28137
28602
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.205 11.387.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 21.795 24 17.298 24 12c0-6.627-5.373-12-12-12z" }) })
|
|
28138
28603
|
}
|
|
@@ -28158,7 +28623,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28158
28623
|
"button",
|
|
28159
28624
|
{
|
|
28160
28625
|
onClick: () => setShowContributorsModal(true),
|
|
28161
|
-
className: "px-2 py-1.5 hover:bg-brand
|
|
28626
|
+
className: "px-2 py-1.5 hover:bg-brand text-white text-brand rounded transition-colors flex items-center justify-center border border-brand/30 font-medium",
|
|
28162
28627
|
title: "Manage Collaborators",
|
|
28163
28628
|
children: [
|
|
28164
28629
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -28235,40 +28700,65 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28235
28700
|
title: "Download and update all new files and changes pushed by your team on GitHub to your computer",
|
|
28236
28701
|
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`,
|
|
28237
28702
|
children: isPulling ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
28238
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28239
|
-
|
|
28240
|
-
|
|
28241
|
-
|
|
28242
|
-
|
|
28243
|
-
|
|
28244
|
-
|
|
28245
|
-
|
|
28246
|
-
|
|
28247
|
-
|
|
28248
|
-
|
|
28249
|
-
|
|
28250
|
-
|
|
28251
|
-
|
|
28252
|
-
|
|
28253
|
-
|
|
28254
|
-
|
|
28255
|
-
|
|
28256
|
-
|
|
28257
|
-
|
|
28258
|
-
|
|
28703
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28704
|
+
"svg",
|
|
28705
|
+
{
|
|
28706
|
+
className: "w-3.5 h-3.5 animate-spin text-accent",
|
|
28707
|
+
fill: "none",
|
|
28708
|
+
viewBox: "0 0 24 24",
|
|
28709
|
+
children: [
|
|
28710
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28711
|
+
"circle",
|
|
28712
|
+
{
|
|
28713
|
+
className: "opacity-25",
|
|
28714
|
+
cx: "12",
|
|
28715
|
+
cy: "12",
|
|
28716
|
+
r: "10",
|
|
28717
|
+
stroke: "currentColor",
|
|
28718
|
+
strokeWidth: "4"
|
|
28719
|
+
}
|
|
28720
|
+
),
|
|
28721
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28722
|
+
"path",
|
|
28723
|
+
{
|
|
28724
|
+
className: "opacity-75",
|
|
28725
|
+
fill: "currentColor",
|
|
28726
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
28727
|
+
}
|
|
28728
|
+
)
|
|
28729
|
+
]
|
|
28730
|
+
}
|
|
28731
|
+
),
|
|
28259
28732
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Pulling..." })
|
|
28260
28733
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
28261
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28262
|
-
|
|
28263
|
-
|
|
28264
|
-
|
|
28265
|
-
|
|
28266
|
-
|
|
28267
|
-
|
|
28268
|
-
|
|
28269
|
-
|
|
28270
|
-
|
|
28271
|
-
|
|
28734
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28735
|
+
"svg",
|
|
28736
|
+
{
|
|
28737
|
+
className: "w-3.5 h-3.5 text-accent",
|
|
28738
|
+
fill: "none",
|
|
28739
|
+
stroke: "currentColor",
|
|
28740
|
+
viewBox: "0 0 24 24",
|
|
28741
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28742
|
+
"path",
|
|
28743
|
+
{
|
|
28744
|
+
strokeLinecap: "round",
|
|
28745
|
+
strokeLinejoin: "round",
|
|
28746
|
+
strokeWidth: 2,
|
|
28747
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
28748
|
+
}
|
|
28749
|
+
)
|
|
28750
|
+
}
|
|
28751
|
+
),
|
|
28752
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: (status?.behind ?? 0) > 0 ? `Pull (${status.behind})` : "Pull" })
|
|
28753
|
+
] })
|
|
28754
|
+
}
|
|
28755
|
+
)
|
|
28756
|
+
] })
|
|
28757
|
+
] }),
|
|
28758
|
+
changesTab === "collaboration-repo" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-surface backdrop-blur-md rounded-2xl border border-border flex flex-col transition-colors duration-300 overflow-hidden p-4 sm:p-5 min-w-0", children: [
|
|
28759
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center border-b border-border pb-3 mb-4 gap-2 flex-shrink-0", children: [
|
|
28760
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28761
|
+
"button",
|
|
28272
28762
|
{
|
|
28273
28763
|
onClick: () => setChangesTab("changes"),
|
|
28274
28764
|
className: "text-xs font-semibold px-3 py-1.5 rounded-lg text-secondary hover:text-primary hover:bg-surface-hover transition-colors flex items-center gap-1.5",
|
|
@@ -28286,7 +28776,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28286
28776
|
children: "Deleted"
|
|
28287
28777
|
}
|
|
28288
28778
|
),
|
|
28289
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ml-auto text-xs font-bold text-brand bg-brand
|
|
28779
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "ml-auto text-xs font-bold text-brand bg-brand text-white border border-brand/20 px-3 py-1 rounded-full", children: "Collaboration Repo" })
|
|
28290
28780
|
] }),
|
|
28291
28781
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28292
28782
|
CollaborationRepoView,
|
|
@@ -28307,290 +28797,375 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28307
28797
|
}
|
|
28308
28798
|
)
|
|
28309
28799
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
28310
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28311
|
-
|
|
28312
|
-
|
|
28313
|
-
|
|
28314
|
-
|
|
28315
|
-
|
|
28316
|
-
onClick: () => setChangesTab("changes"),
|
|
28317
|
-
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "changes" ? "text-primary border-accent bg-canvas/50" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28318
|
-
children: [
|
|
28319
|
-
"Changes",
|
|
28320
|
-
status.not_added.length + status.modified.length + status.created.length + status.conflicted.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-accent/20 text-accent text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: status.not_added.length + status.modified.length + status.created.length + status.conflicted.length })
|
|
28321
|
-
]
|
|
28322
|
-
}
|
|
28323
|
-
),
|
|
28324
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28325
|
-
"button",
|
|
28326
|
-
{
|
|
28327
|
-
onClick: () => setChangesTab("deleted"),
|
|
28328
|
-
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "deleted" ? "text-primary border-danger bg-canvas/50" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28329
|
-
children: [
|
|
28330
|
-
"Deleted",
|
|
28331
|
-
status.deleted.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-danger/20 text-danger text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: status.deleted.length })
|
|
28332
|
-
]
|
|
28333
|
-
}
|
|
28334
|
-
),
|
|
28800
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28801
|
+
"div",
|
|
28802
|
+
{
|
|
28803
|
+
id: "split-pane-container",
|
|
28804
|
+
className: "flex-1 overflow-hidden min-h-0 flex flex-col lg:flex-row pb-2",
|
|
28805
|
+
children: [
|
|
28335
28806
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28336
|
-
"
|
|
28807
|
+
"div",
|
|
28337
28808
|
{
|
|
28338
|
-
|
|
28339
|
-
|
|
28340
|
-
window.api.getCollaboratedRepos().then((repos) => setCollaboratedRepos(repos || [])).catch(() => {
|
|
28341
|
-
});
|
|
28342
|
-
},
|
|
28343
|
-
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "collaboration-repo" ? "text-primary border-brand bg-canvas/50" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28809
|
+
style: { flex: leftPanelWidth },
|
|
28810
|
+
className: "bg-surface backdrop-blur-md rounded-xl border border-border flex flex-col transition-colors duration-300 overflow-hidden min-h-[250px] min-w-0 min-h-0",
|
|
28344
28811
|
children: [
|
|
28345
|
-
"
|
|
28346
|
-
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-brand/20 text-brand text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: collaboratedRepos.length })
|
|
28347
|
-
]
|
|
28348
|
-
}
|
|
28349
|
-
),
|
|
28350
|
-
changesTab === "changes" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-2 mb-1", children: [
|
|
28351
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28352
|
-
"button",
|
|
28353
|
-
{
|
|
28354
|
-
onClick: handleUploadFiles,
|
|
28355
|
-
disabled: !repoPath || isUploading,
|
|
28356
|
-
className: "text-xs bg-brand/10 hover:bg-brand/20 text-brand border border-brand/30 px-2.5 py-1 rounded-md transition-all flex items-center gap-1.5 font-medium shadow-sm disabled:opacity-50 whitespace-nowrap flex-shrink-0",
|
|
28357
|
-
title: "Upload files directly into this repository",
|
|
28358
|
-
children: [
|
|
28359
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-3.5 h-3.5", 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-8l-4-4m0 0L8 8m4-4v12" }) }),
|
|
28360
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: isUploading ? "Uploading..." : "Upload Files" })
|
|
28361
|
-
]
|
|
28362
|
-
}
|
|
28363
|
-
),
|
|
28364
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28365
|
-
"button",
|
|
28366
|
-
{
|
|
28367
|
-
onClick: handleStageAll,
|
|
28368
|
-
className: "text-xs bg-surface-hover text-primary px-2.5 py-1 rounded-md transition-colors border border-border hover:brightness-110 whitespace-nowrap flex-shrink-0",
|
|
28369
|
-
children: "Stage All"
|
|
28370
|
-
}
|
|
28371
|
-
)
|
|
28372
|
-
] })
|
|
28373
|
-
] }),
|
|
28374
|
-
status?.isMassive ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 flex flex-col items-center justify-center p-8 bg-canvas", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28375
|
-
MassivePushLoader,
|
|
28376
|
-
{
|
|
28377
|
-
percentage: massivePushData?.percentage || 0,
|
|
28378
|
-
eta: gitProgress > 0 && gitProgress < 100 ? `Uploading Chunk: ${Math.round(gitProgress)}%` : massivePushData?.eta || "calculating..."
|
|
28379
|
-
}
|
|
28380
|
-
) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto min-h-0 p-4 custom-scrollbar", children: [
|
|
28381
|
-
changesTab === "changes" && /* @__PURE__ */ jsxRuntimeExports.jsxs("ul", { className: "space-y-1", children: [
|
|
28382
|
-
status.conflicted.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28383
|
-
"li",
|
|
28384
|
-
{
|
|
28385
|
-
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28386
|
-
children: [
|
|
28812
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-nowrap overflow-x-auto custom-scrollbar items-center border-b border-border px-4 pt-3 pb-1 gap-y-2 gap-x-1", children: [
|
|
28387
28813
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28388
|
-
"
|
|
28814
|
+
"button",
|
|
28389
28815
|
{
|
|
28390
|
-
onClick: () =>
|
|
28391
|
-
className: `text-xs font-
|
|
28816
|
+
onClick: () => setChangesTab("changes"),
|
|
28817
|
+
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "changes" ? "text-primary border-accent bg-surface border-b-2" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28392
28818
|
children: [
|
|
28393
|
-
|
|
28394
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "
|
|
28819
|
+
"Changes",
|
|
28820
|
+
status.not_added.length + status.modified.length + status.created.length + status.conflicted.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-accent/20 text-accent text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: status.not_added.length + status.modified.length + status.created.length + status.conflicted.length })
|
|
28395
28821
|
]
|
|
28396
28822
|
}
|
|
28397
28823
|
),
|
|
28398
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
|
|
28399
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28400
|
-
"button",
|
|
28401
|
-
{
|
|
28402
|
-
onClick: () => openEditor(f),
|
|
28403
|
-
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28404
|
-
children: "Edit"
|
|
28405
|
-
}
|
|
28406
|
-
),
|
|
28407
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28408
|
-
"button",
|
|
28409
|
-
{
|
|
28410
|
-
onClick: () => handleStageSingle(f),
|
|
28411
|
-
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28412
|
-
children: "+"
|
|
28413
|
-
}
|
|
28414
|
-
)
|
|
28415
|
-
] })
|
|
28416
|
-
]
|
|
28417
|
-
},
|
|
28418
|
-
`c-${f}`
|
|
28419
|
-
)),
|
|
28420
|
-
status.not_added.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28421
|
-
"li",
|
|
28422
|
-
{
|
|
28423
|
-
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28424
|
-
children: [
|
|
28425
28824
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28426
|
-
"
|
|
28825
|
+
"button",
|
|
28427
28826
|
{
|
|
28428
|
-
onClick: () =>
|
|
28429
|
-
className: `text-xs font-
|
|
28827
|
+
onClick: () => setChangesTab("deleted"),
|
|
28828
|
+
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "deleted" ? "text-primary border-danger bg-surface border-b-2" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28430
28829
|
children: [
|
|
28431
|
-
|
|
28432
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "
|
|
28830
|
+
"Deleted",
|
|
28831
|
+
status.deleted.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-danger/20 text-danger text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: status.deleted.length })
|
|
28433
28832
|
]
|
|
28434
28833
|
}
|
|
28435
28834
|
),
|
|
28436
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
|
|
28437
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28438
|
-
"button",
|
|
28439
|
-
{
|
|
28440
|
-
onClick: () => openEditor(f),
|
|
28441
|
-
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28442
|
-
children: "Edit"
|
|
28443
|
-
}
|
|
28444
|
-
),
|
|
28445
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28446
|
-
"button",
|
|
28447
|
-
{
|
|
28448
|
-
onClick: () => handleStageSingle(f),
|
|
28449
|
-
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28450
|
-
children: "+"
|
|
28451
|
-
}
|
|
28452
|
-
)
|
|
28453
|
-
] })
|
|
28454
|
-
]
|
|
28455
|
-
},
|
|
28456
|
-
`u-${f}`
|
|
28457
|
-
)),
|
|
28458
|
-
status.modified.filter((f) => !status.conflicted.includes(f)).map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28459
|
-
"li",
|
|
28460
|
-
{
|
|
28461
|
-
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28462
|
-
children: [
|
|
28463
28835
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28464
|
-
"
|
|
28836
|
+
"button",
|
|
28465
28837
|
{
|
|
28466
|
-
onClick: () =>
|
|
28467
|
-
|
|
28838
|
+
onClick: () => {
|
|
28839
|
+
setChangesTab("collaboration-repo");
|
|
28840
|
+
window.api.getCollaboratedRepos().then((repos) => setCollaboratedRepos(repos || [])).catch(() => {
|
|
28841
|
+
});
|
|
28842
|
+
},
|
|
28843
|
+
className: `text-xs font-semibold px-3 py-1.5 rounded-t-md transition-colors border-b-2 whitespace-nowrap flex-shrink-0 ${changesTab === "collaboration-repo" ? "text-primary border-brand bg-surface border-b-2" : "text-secondary border-transparent hover:text-primary"}`,
|
|
28468
28844
|
children: [
|
|
28469
|
-
|
|
28470
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "
|
|
28845
|
+
"Collaboration Repo",
|
|
28846
|
+
collaboratedRepos.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1.5 bg-brand text-white text-brand text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: collaboratedRepos.length })
|
|
28471
28847
|
]
|
|
28472
28848
|
}
|
|
28473
28849
|
),
|
|
28474
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "
|
|
28475
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
28850
|
+
changesTab === "changes" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-2 mb-1", children: [
|
|
28851
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28476
28852
|
"button",
|
|
28477
28853
|
{
|
|
28478
|
-
onClick:
|
|
28479
|
-
|
|
28480
|
-
|
|
28854
|
+
onClick: handleUploadFiles,
|
|
28855
|
+
disabled: !repoPath || isUploading,
|
|
28856
|
+
className: "text-xs bg-brand text-white hover:bg-brand text-white text-brand border border-brand/30 px-2.5 py-1 rounded-md transition-all flex items-center gap-1.5 font-medium shadow-sm disabled:opacity-50 whitespace-nowrap flex-shrink-0",
|
|
28857
|
+
title: "Upload files directly into this repository",
|
|
28858
|
+
children: [
|
|
28859
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28860
|
+
"svg",
|
|
28861
|
+
{
|
|
28862
|
+
className: "w-3.5 h-3.5",
|
|
28863
|
+
fill: "none",
|
|
28864
|
+
stroke: "currentColor",
|
|
28865
|
+
viewBox: "0 0 24 24",
|
|
28866
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28867
|
+
"path",
|
|
28868
|
+
{
|
|
28869
|
+
strokeLinecap: "round",
|
|
28870
|
+
strokeLinejoin: "round",
|
|
28871
|
+
strokeWidth: 2,
|
|
28872
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"
|
|
28873
|
+
}
|
|
28874
|
+
)
|
|
28875
|
+
}
|
|
28876
|
+
),
|
|
28877
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: isUploading ? "Uploading..." : "Upload Files" })
|
|
28878
|
+
]
|
|
28481
28879
|
}
|
|
28482
28880
|
),
|
|
28483
28881
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28484
28882
|
"button",
|
|
28485
28883
|
{
|
|
28486
|
-
onClick:
|
|
28487
|
-
className: "text-
|
|
28488
|
-
children: "
|
|
28884
|
+
onClick: handleStageAll,
|
|
28885
|
+
className: "text-xs bg-surface-hover text-primary px-2.5 py-1 rounded-md transition-colors border border-border hover:brightness-110 whitespace-nowrap flex-shrink-0",
|
|
28886
|
+
children: "Stage All"
|
|
28489
28887
|
}
|
|
28490
28888
|
)
|
|
28491
28889
|
] })
|
|
28492
|
-
]
|
|
28493
|
-
|
|
28494
|
-
|
|
28495
|
-
|
|
28496
|
-
|
|
28497
|
-
|
|
28498
|
-
|
|
28499
|
-
|
|
28500
|
-
|
|
28501
|
-
|
|
28502
|
-
|
|
28503
|
-
|
|
28504
|
-
|
|
28505
|
-
|
|
28506
|
-
|
|
28890
|
+
] }),
|
|
28891
|
+
status?.isMassive ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 flex flex-col items-center justify-center p-8 bg-canvas", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28892
|
+
MassivePushLoader,
|
|
28893
|
+
{
|
|
28894
|
+
percentage: massivePushData?.percentage || 0,
|
|
28895
|
+
eta: gitProgress > 0 && gitProgress < 100 ? `Uploading Chunk: ${Math.round(gitProgress)}%` : massivePushData?.eta || "calculating..."
|
|
28896
|
+
}
|
|
28897
|
+
) }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto min-h-0 p-4 custom-scrollbar", children: [
|
|
28898
|
+
changesTab === "changes" && /* @__PURE__ */ jsxRuntimeExports.jsxs("ul", { className: "space-y-1", children: [
|
|
28899
|
+
status.conflicted.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28900
|
+
"li",
|
|
28901
|
+
{
|
|
28902
|
+
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28903
|
+
children: [
|
|
28904
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28905
|
+
"span",
|
|
28906
|
+
{
|
|
28907
|
+
onClick: () => viewDiff(f, false),
|
|
28908
|
+
className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-warning"}`,
|
|
28909
|
+
children: [
|
|
28910
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28911
|
+
"span",
|
|
28912
|
+
{
|
|
28913
|
+
className: `flex-shrink-0 text-[10px] font-bold px-1 rounded border ${failedFiles.includes(f) ? "bg-danger/20 border-danger/30 text-danger" : "bg-warning/20 text-warning border-warning/30"}`,
|
|
28914
|
+
children: failedFiles.includes(f) ? "X" : "!"
|
|
28915
|
+
}
|
|
28916
|
+
),
|
|
28917
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
|
|
28918
|
+
]
|
|
28919
|
+
}
|
|
28920
|
+
),
|
|
28921
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
|
|
28922
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28923
|
+
"button",
|
|
28924
|
+
{
|
|
28925
|
+
onClick: () => openEditor(f),
|
|
28926
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28927
|
+
children: "Edit"
|
|
28928
|
+
}
|
|
28929
|
+
),
|
|
28930
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28931
|
+
"button",
|
|
28932
|
+
{
|
|
28933
|
+
onClick: () => handleStageSingle(f),
|
|
28934
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28935
|
+
children: "+"
|
|
28936
|
+
}
|
|
28937
|
+
)
|
|
28938
|
+
] })
|
|
28939
|
+
]
|
|
28940
|
+
},
|
|
28941
|
+
`c-${f}`
|
|
28942
|
+
)),
|
|
28943
|
+
status.not_added.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28944
|
+
"li",
|
|
28945
|
+
{
|
|
28946
|
+
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28947
|
+
children: [
|
|
28948
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28949
|
+
"span",
|
|
28950
|
+
{
|
|
28951
|
+
onClick: () => viewDiff(f, false),
|
|
28952
|
+
className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-success"}`,
|
|
28953
|
+
children: [
|
|
28954
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28955
|
+
"span",
|
|
28956
|
+
{
|
|
28957
|
+
className: `flex-shrink-0 text-[10px] font-bold px-1 rounded border ${failedFiles.includes(f) ? "bg-danger/20 border-danger/30 text-danger" : "bg-success/20 text-success border-success/30"}`,
|
|
28958
|
+
children: failedFiles.includes(f) ? "X" : "U"
|
|
28959
|
+
}
|
|
28960
|
+
),
|
|
28961
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
|
|
28962
|
+
]
|
|
28963
|
+
}
|
|
28964
|
+
),
|
|
28965
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
|
|
28966
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28967
|
+
"button",
|
|
28968
|
+
{
|
|
28969
|
+
onClick: () => openEditor(f),
|
|
28970
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28971
|
+
children: "Edit"
|
|
28972
|
+
}
|
|
28973
|
+
),
|
|
28974
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28975
|
+
"button",
|
|
28976
|
+
{
|
|
28977
|
+
onClick: () => handleStageSingle(f),
|
|
28978
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
28979
|
+
children: "+"
|
|
28980
|
+
}
|
|
28981
|
+
)
|
|
28982
|
+
] })
|
|
28983
|
+
]
|
|
28984
|
+
},
|
|
28985
|
+
`u-${f}`
|
|
28986
|
+
)),
|
|
28987
|
+
status.modified.filter((f) => !status.conflicted.includes(f)).map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28988
|
+
"li",
|
|
28989
|
+
{
|
|
28990
|
+
className: `flex justify-between items-center px-2 py-1.5 rounded-md group transition-colors ${failedFiles.includes(f) ? "bg-danger/10 border border-danger/20" : "hover:bg-surface-hover"}`,
|
|
28991
|
+
children: [
|
|
28992
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28993
|
+
"span",
|
|
28994
|
+
{
|
|
28995
|
+
onClick: () => viewDiff(f, false),
|
|
28996
|
+
className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-warning"}`,
|
|
28997
|
+
children: [
|
|
28998
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28999
|
+
"span",
|
|
29000
|
+
{
|
|
29001
|
+
className: `flex-shrink-0 text-[10px] font-bold px-1 rounded border ${failedFiles.includes(f) ? "bg-danger/20 border-danger/30 text-danger" : "bg-warning/20 text-warning border-warning/30"}`,
|
|
29002
|
+
children: failedFiles.includes(f) ? "X" : "M"
|
|
29003
|
+
}
|
|
29004
|
+
),
|
|
29005
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
|
|
29006
|
+
]
|
|
29007
|
+
}
|
|
29008
|
+
),
|
|
29009
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
|
|
29010
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29011
|
+
"button",
|
|
29012
|
+
{
|
|
29013
|
+
onClick: () => openEditor(f),
|
|
29014
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
29015
|
+
children: "Edit"
|
|
29016
|
+
}
|
|
29017
|
+
),
|
|
29018
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29019
|
+
"button",
|
|
29020
|
+
{
|
|
29021
|
+
onClick: () => handleStageSingle(f),
|
|
29022
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
29023
|
+
children: "+"
|
|
29024
|
+
}
|
|
29025
|
+
)
|
|
29026
|
+
] })
|
|
29027
|
+
]
|
|
29028
|
+
},
|
|
29029
|
+
`m-${f}`
|
|
29030
|
+
)),
|
|
29031
|
+
status.not_added.length + status.modified.length + status.created.length + status.conflicted.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: "text-xs text-secondary italic mt-2 text-center", children: "No working tree changes" })
|
|
28507
29032
|
] }),
|
|
28508
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
28509
|
-
"
|
|
28510
|
-
|
|
28511
|
-
|
|
28512
|
-
|
|
28513
|
-
|
|
28514
|
-
|
|
28515
|
-
|
|
28516
|
-
|
|
28517
|
-
|
|
28518
|
-
|
|
28519
|
-
|
|
28520
|
-
|
|
28521
|
-
|
|
28522
|
-
|
|
28523
|
-
|
|
28524
|
-
|
|
28525
|
-
|
|
28526
|
-
|
|
28527
|
-
|
|
28528
|
-
|
|
29033
|
+
changesTab === "deleted" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
29034
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "space-y-1", children: status.deleted.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: "text-xs text-secondary italic mt-2 text-center", children: "No locally deleted files" }) : status.deleted.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29035
|
+
"li",
|
|
29036
|
+
{
|
|
29037
|
+
className: "flex justify-between items-center hover:bg-surface-hover px-2 py-1.5 rounded-md transition-colors",
|
|
29038
|
+
children: [
|
|
29039
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-xs text-danger/70 font-mono flex-1 flex items-center gap-1.5 truncate", children: [
|
|
29040
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-shrink-0 text-[10px] font-bold bg-danger/20 text-danger border border-danger/30 px-1 rounded", children: "D" }),
|
|
29041
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
|
|
29042
|
+
] }),
|
|
29043
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29044
|
+
"button",
|
|
29045
|
+
{
|
|
29046
|
+
onClick: () => handleStageSingle(f),
|
|
29047
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
29048
|
+
children: "+"
|
|
29049
|
+
}
|
|
29050
|
+
) })
|
|
29051
|
+
]
|
|
29052
|
+
},
|
|
29053
|
+
`d-${f}`
|
|
29054
|
+
)) }),
|
|
29055
|
+
deletedHistory?.all && deletedHistory.all.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 pt-3 border-t border-border/50", children: [
|
|
29056
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-[11px] font-semibold text-secondary uppercase tracking-wider mb-2", children: "Recently Deleted in Repository" }),
|
|
29057
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "space-y-2", children: deletedHistory.all.map((commit) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29058
|
+
"li",
|
|
29059
|
+
{
|
|
29060
|
+
className: "bg-surface/50 p-2 rounded-md border border-border/50",
|
|
29061
|
+
children: [
|
|
29062
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-start mb-1.5", children: [
|
|
29063
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29064
|
+
"span",
|
|
29065
|
+
{
|
|
29066
|
+
className: "text-xs font-semibold text-primary truncate",
|
|
29067
|
+
title: commit.message,
|
|
29068
|
+
children: commit.message
|
|
29069
|
+
}
|
|
29070
|
+
),
|
|
29071
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] text-secondary whitespace-nowrap ml-2 flex-shrink-0", children: [
|
|
29072
|
+
new Date(commit.date).toLocaleDateString(),
|
|
29073
|
+
" ",
|
|
29074
|
+
new Date(commit.date).toLocaleTimeString([], {
|
|
29075
|
+
hour: "2-digit",
|
|
29076
|
+
minute: "2-digit"
|
|
29077
|
+
})
|
|
29078
|
+
] })
|
|
29079
|
+
] }),
|
|
29080
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1", children: commit.diff?.files?.filter((f) => f.status === "D").map((f, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29081
|
+
"div",
|
|
29082
|
+
{
|
|
29083
|
+
className: "flex items-center gap-1.5 text-[11px] font-mono text-danger/80",
|
|
29084
|
+
children: [
|
|
29085
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-shrink-0 font-bold bg-danger/10 text-danger border border-danger/20 px-1 rounded", children: "D" }),
|
|
29086
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", title: f.file, children: f.file })
|
|
29087
|
+
]
|
|
29088
|
+
},
|
|
29089
|
+
i
|
|
29090
|
+
)) })
|
|
29091
|
+
]
|
|
29092
|
+
},
|
|
29093
|
+
commit.hash
|
|
29094
|
+
)) })
|
|
29095
|
+
] })
|
|
28529
29096
|
] })
|
|
28530
|
-
] })
|
|
28531
|
-
|
|
28532
|
-
|
|
28533
|
-
|
|
28534
|
-
|
|
28535
|
-
|
|
28536
|
-
] })
|
|
28537
|
-
] })
|
|
28538
|
-
] })
|
|
28539
|
-
] }),
|
|
28540
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28541
|
-
"div",
|
|
28542
|
-
{
|
|
28543
|
-
className: "hidden lg:flex w-6 cursor-col-resize items-center justify-center group relative z-10",
|
|
28544
|
-
onMouseDown: (e) => {
|
|
28545
|
-
e.preventDefault();
|
|
28546
|
-
setIsResizing(true);
|
|
28547
|
-
},
|
|
28548
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `h-12 w-1 rounded-full transition-colors ${isResizing ? "bg-accent" : "bg-border group-hover:bg-accent/50"}` })
|
|
28549
|
-
}
|
|
28550
|
-
),
|
|
28551
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 100 - leftPanelWidth }, className: "bg-surface/70 backdrop-blur-md rounded-xl p-4 border border-border flex flex-col transition-colors duration-300 overflow-hidden min-h-0 min-w-0", children: [
|
|
28552
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "font-semibold mb-4 text-primary text-sm shrink-0", children: "Staged Changes" }),
|
|
28553
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto min-h-0 pr-2 custom-scrollbar", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("ul", { className: "space-y-1", children: [
|
|
28554
|
-
status.staged.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28555
|
-
"li",
|
|
29097
|
+
] })
|
|
29098
|
+
]
|
|
29099
|
+
}
|
|
29100
|
+
),
|
|
29101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29102
|
+
"div",
|
|
28556
29103
|
{
|
|
28557
|
-
className: "flex
|
|
29104
|
+
className: "hidden lg:flex w-6 cursor-col-resize items-center justify-center group relative z-10",
|
|
29105
|
+
onMouseDown: (e) => {
|
|
29106
|
+
e.preventDefault();
|
|
29107
|
+
setIsResizing(true);
|
|
29108
|
+
},
|
|
29109
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29110
|
+
"div",
|
|
29111
|
+
{
|
|
29112
|
+
className: `h-12 w-1 rounded-full transition-colors ${isResizing ? "bg-accent" : "bg-border group-hover:bg-accent/50"}`
|
|
29113
|
+
}
|
|
29114
|
+
)
|
|
29115
|
+
}
|
|
29116
|
+
),
|
|
29117
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29118
|
+
"div",
|
|
29119
|
+
{
|
|
29120
|
+
style: { flex: 100 - leftPanelWidth },
|
|
29121
|
+
className: "bg-surface backdrop-blur-md rounded-xl p-4 border border-border flex flex-col transition-colors duration-300 overflow-hidden min-h-0 min-w-0",
|
|
28558
29122
|
children: [
|
|
28559
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28560
|
-
|
|
28561
|
-
|
|
28562
|
-
|
|
28563
|
-
className: "text-xs text-success font-mono cursor-pointer flex-1",
|
|
28564
|
-
children: f
|
|
28565
|
-
}
|
|
28566
|
-
),
|
|
28567
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1", children: [
|
|
28568
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28569
|
-
"button",
|
|
29123
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "font-semibold mb-4 text-primary text-sm shrink-0", children: "Staged Changes" }),
|
|
29124
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-y-auto min-h-0 pr-2 custom-scrollbar", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("ul", { className: "space-y-1", children: [
|
|
29125
|
+
status.staged.map((f) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29126
|
+
"li",
|
|
28570
29127
|
{
|
|
28571
|
-
|
|
28572
|
-
|
|
28573
|
-
|
|
28574
|
-
|
|
28575
|
-
|
|
28576
|
-
|
|
28577
|
-
|
|
28578
|
-
|
|
28579
|
-
|
|
28580
|
-
|
|
28581
|
-
|
|
28582
|
-
|
|
28583
|
-
|
|
28584
|
-
|
|
29128
|
+
className: "flex justify-between items-center hover:bg-surface-hover px-2 py-1.5 rounded-md group transition-colors",
|
|
29129
|
+
children: [
|
|
29130
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29131
|
+
"span",
|
|
29132
|
+
{
|
|
29133
|
+
onClick: () => viewDiff(f, true),
|
|
29134
|
+
className: "text-xs text-success font-mono cursor-pointer flex-1",
|
|
29135
|
+
children: f
|
|
29136
|
+
}
|
|
29137
|
+
),
|
|
29138
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1", children: [
|
|
29139
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29140
|
+
"button",
|
|
29141
|
+
{
|
|
29142
|
+
onClick: () => openEditor(f),
|
|
29143
|
+
className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
|
|
29144
|
+
children: "Edit"
|
|
29145
|
+
}
|
|
29146
|
+
),
|
|
29147
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29148
|
+
"button",
|
|
29149
|
+
{
|
|
29150
|
+
onClick: () => handleUnstageSingle(f),
|
|
29151
|
+
className: "text-[10px] text-secondary hover:text-danger px-2 py-0.5 border border-border rounded bg-canvas",
|
|
29152
|
+
children: "-"
|
|
29153
|
+
}
|
|
29154
|
+
)
|
|
29155
|
+
] })
|
|
29156
|
+
]
|
|
29157
|
+
},
|
|
29158
|
+
f
|
|
29159
|
+
)),
|
|
29160
|
+
status.staged.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: "text-xs text-secondary italic mt-2 text-center", children: "No files staged for commit" })
|
|
29161
|
+
] }) })
|
|
28585
29162
|
]
|
|
28586
|
-
}
|
|
28587
|
-
|
|
28588
|
-
|
|
28589
|
-
|
|
28590
|
-
|
|
28591
|
-
|
|
28592
|
-
] }),
|
|
28593
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 shrink-0 bg-surface/70 backdrop-blur-md p-4 rounded-xl border border-border flex flex-col sm:flex-row gap-3 items-center transition-colors duration-300", children: [
|
|
29163
|
+
}
|
|
29164
|
+
)
|
|
29165
|
+
]
|
|
29166
|
+
}
|
|
29167
|
+
),
|
|
29168
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 shrink-0 bg-surface backdrop-blur-md p-4 rounded-xl border border-border flex flex-col sm:flex-row gap-3 items-center transition-colors duration-300", children: [
|
|
28594
29169
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28595
29170
|
"input",
|
|
28596
29171
|
{
|
|
@@ -28616,7 +29191,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28616
29191
|
)
|
|
28617
29192
|
] })
|
|
28618
29193
|
] })
|
|
28619
|
-
] }) : changesTab === "collaboration-repo" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-surface
|
|
29194
|
+
] }) : changesTab === "collaboration-repo" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-surface backdrop-blur-md rounded-2xl border border-border flex flex-col transition-colors duration-300 overflow-hidden p-4 sm:p-5 min-w-0", children: [
|
|
28620
29195
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between border-b border-border pb-3 mb-4 gap-2 flex-shrink-0", children: [
|
|
28621
29196
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28622
29197
|
"button",
|
|
@@ -28629,7 +29204,7 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28629
29204
|
]
|
|
28630
29205
|
}
|
|
28631
29206
|
),
|
|
28632
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-bold text-brand bg-brand
|
|
29207
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-bold text-brand bg-brand text-white border border-brand/20 px-3 py-1 rounded-full", children: "Collaboration Hub" }) })
|
|
28633
29208
|
] }),
|
|
28634
29209
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28635
29210
|
CollaborationRepoView,
|
|
@@ -28702,7 +29277,12 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28702
29277
|
onClose: () => setShowUniversalWizard(false),
|
|
28703
29278
|
onAutoHealTrigger: (msg, path, branch) => {
|
|
28704
29279
|
setShowUniversalWizard(false);
|
|
28705
|
-
setPushFailureData({
|
|
29280
|
+
setPushFailureData({
|
|
29281
|
+
reason: msg,
|
|
29282
|
+
operation: "push",
|
|
29283
|
+
overrideRepoPath: path,
|
|
29284
|
+
overrideBranch: branch
|
|
29285
|
+
});
|
|
28706
29286
|
}
|
|
28707
29287
|
}
|
|
28708
29288
|
),
|
|
@@ -28712,54 +29292,62 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28712
29292
|
] }),
|
|
28713
29293
|
showInvitationsModal && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface border border-border p-6 rounded-2xl w-full max-w-md shadow-2xl", children: [
|
|
28714
29294
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-xl font-bold text-primary mb-4", children: "Pending Invitations" }),
|
|
28715
|
-
invitations.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center py-6 text-secondary", children: /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: "You have no pending invitations." }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-3 max-h-96 overflow-y-auto pr-2 custom-scrollbar", children: invitations.map((inv) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28716
|
-
|
|
28717
|
-
|
|
28718
|
-
|
|
28719
|
-
|
|
28720
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
28721
|
-
|
|
28722
|
-
|
|
28723
|
-
|
|
28724
|
-
|
|
28725
|
-
|
|
28726
|
-
|
|
28727
|
-
|
|
28728
|
-
|
|
28729
|
-
|
|
28730
|
-
|
|
28731
|
-
|
|
28732
|
-
|
|
28733
|
-
|
|
28734
|
-
|
|
28735
|
-
|
|
28736
|
-
|
|
28737
|
-
|
|
29295
|
+
invitations.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center py-6 text-secondary", children: /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: "You have no pending invitations." }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-3 max-h-96 overflow-y-auto pr-2 custom-scrollbar", children: invitations.map((inv) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29296
|
+
"div",
|
|
29297
|
+
{
|
|
29298
|
+
className: "p-4 bg-canvas border border-border rounded-lg flex flex-col gap-3",
|
|
29299
|
+
children: [
|
|
29300
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
29301
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-primary font-medium", children: inv.repository.full_name }),
|
|
29302
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-secondary mt-1", children: [
|
|
29303
|
+
"Invited by ",
|
|
29304
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-semibold", children: inv.inviter.login }),
|
|
29305
|
+
" as",
|
|
29306
|
+
" ",
|
|
29307
|
+
inv.permissions
|
|
29308
|
+
] })
|
|
29309
|
+
] }),
|
|
29310
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2 mt-2", children: [
|
|
29311
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29312
|
+
"button",
|
|
29313
|
+
{
|
|
29314
|
+
onClick: async () => {
|
|
29315
|
+
try {
|
|
29316
|
+
await window.api.acceptInvitation(inv.id);
|
|
29317
|
+
showToast("Invitation accepted!", "success");
|
|
29318
|
+
const invs = await window.api.getUserInvitations();
|
|
29319
|
+
setInvitations(invs || []);
|
|
29320
|
+
refreshRepoState();
|
|
29321
|
+
} catch (e) {
|
|
29322
|
+
showToast(e.message || "Failed to accept invitation", "error");
|
|
29323
|
+
}
|
|
29324
|
+
},
|
|
29325
|
+
className: "flex-1 py-1.5 bg-success text-white rounded-md text-sm font-semibold transition-colors hover:brightness-110",
|
|
29326
|
+
children: "Accept"
|
|
28738
29327
|
}
|
|
28739
|
-
|
|
28740
|
-
|
|
28741
|
-
|
|
28742
|
-
|
|
28743
|
-
|
|
28744
|
-
|
|
28745
|
-
|
|
28746
|
-
|
|
28747
|
-
|
|
28748
|
-
|
|
28749
|
-
|
|
28750
|
-
|
|
28751
|
-
|
|
28752
|
-
|
|
28753
|
-
|
|
28754
|
-
|
|
29328
|
+
),
|
|
29329
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29330
|
+
"button",
|
|
29331
|
+
{
|
|
29332
|
+
onClick: async () => {
|
|
29333
|
+
try {
|
|
29334
|
+
await window.api.declineInvitation(inv.id);
|
|
29335
|
+
showToast("Invitation declined.", "info");
|
|
29336
|
+
const invs = await window.api.getUserInvitations();
|
|
29337
|
+
setInvitations(invs || []);
|
|
29338
|
+
} catch (e) {
|
|
29339
|
+
showToast(e.message || "Failed to decline invitation", "error");
|
|
29340
|
+
}
|
|
29341
|
+
},
|
|
29342
|
+
className: "flex-1 py-1.5 bg-danger text-white rounded-md text-sm font-semibold transition-colors hover:brightness-110",
|
|
29343
|
+
children: "Decline"
|
|
28755
29344
|
}
|
|
28756
|
-
|
|
28757
|
-
|
|
28758
|
-
|
|
28759
|
-
|
|
28760
|
-
|
|
28761
|
-
|
|
28762
|
-
] }, inv.id)) }),
|
|
29345
|
+
)
|
|
29346
|
+
] })
|
|
29347
|
+
]
|
|
29348
|
+
},
|
|
29349
|
+
inv.id
|
|
29350
|
+
)) }),
|
|
28763
29351
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
28764
29352
|
"button",
|
|
28765
29353
|
{
|
|
@@ -28769,14 +29357,112 @@ Are you SURE you want to link "${repoName}" to this folder?`
|
|
|
28769
29357
|
}
|
|
28770
29358
|
)
|
|
28771
29359
|
] }) }),
|
|
28772
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "fixed top-6 right-6 z-[300] flex flex-col gap-3 pointer-events-none", children: toasts.map((toast) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "animate-fade-in pointer-events-auto", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
28773
|
-
|
|
28774
|
-
|
|
28775
|
-
|
|
28776
|
-
|
|
28777
|
-
|
|
28778
|
-
|
|
28779
|
-
|
|
29360
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "fixed top-6 right-6 z-[300] flex flex-col gap-3 pointer-events-none", children: toasts.map((toast) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "animate-fade-in pointer-events-auto", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
29361
|
+
"div",
|
|
29362
|
+
{
|
|
29363
|
+
className: `backdrop-blur-2xl rounded-2xl shadow-[0_10px_40px_rgba(0,0,0,0.3)] px-5 py-3.5 flex items-center gap-3 border ${toast.type === "error" ? "bg-black/60 border-danger/40 text-danger" : toast.type === "success" ? "bg-black/60 border-success/40 text-green-400" : toast.type === "warning" ? "bg-black/60 border-yellow-500/40 text-yellow-400" : "bg-black/60 border-border text-primary"} transition-all duration-300`,
|
|
29364
|
+
children: [
|
|
29365
|
+
toast.type === "error" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29366
|
+
"svg",
|
|
29367
|
+
{
|
|
29368
|
+
className: "w-5 h-5 flex-shrink-0",
|
|
29369
|
+
fill: "none",
|
|
29370
|
+
stroke: "currentColor",
|
|
29371
|
+
viewBox: "0 0 24 24",
|
|
29372
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29373
|
+
"path",
|
|
29374
|
+
{
|
|
29375
|
+
strokeLinecap: "round",
|
|
29376
|
+
strokeLinejoin: "round",
|
|
29377
|
+
strokeWidth: 2.5,
|
|
29378
|
+
d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
29379
|
+
}
|
|
29380
|
+
)
|
|
29381
|
+
}
|
|
29382
|
+
),
|
|
29383
|
+
toast.type === "warning" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29384
|
+
"svg",
|
|
29385
|
+
{
|
|
29386
|
+
className: "w-5 h-5 flex-shrink-0",
|
|
29387
|
+
fill: "none",
|
|
29388
|
+
stroke: "currentColor",
|
|
29389
|
+
viewBox: "0 0 24 24",
|
|
29390
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29391
|
+
"path",
|
|
29392
|
+
{
|
|
29393
|
+
strokeLinecap: "round",
|
|
29394
|
+
strokeLinejoin: "round",
|
|
29395
|
+
strokeWidth: 2.5,
|
|
29396
|
+
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
29397
|
+
}
|
|
29398
|
+
)
|
|
29399
|
+
}
|
|
29400
|
+
),
|
|
29401
|
+
toast.type === "success" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29402
|
+
"svg",
|
|
29403
|
+
{
|
|
29404
|
+
className: "w-5 h-5 flex-shrink-0",
|
|
29405
|
+
fill: "none",
|
|
29406
|
+
stroke: "currentColor",
|
|
29407
|
+
viewBox: "0 0 24 24",
|
|
29408
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29409
|
+
"path",
|
|
29410
|
+
{
|
|
29411
|
+
strokeLinecap: "round",
|
|
29412
|
+
strokeLinejoin: "round",
|
|
29413
|
+
strokeWidth: 2.5,
|
|
29414
|
+
d: "M5 13l4 4L19 7"
|
|
29415
|
+
}
|
|
29416
|
+
)
|
|
29417
|
+
}
|
|
29418
|
+
),
|
|
29419
|
+
toast.type === "info" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29420
|
+
"svg",
|
|
29421
|
+
{
|
|
29422
|
+
className: "w-5 h-5 flex-shrink-0",
|
|
29423
|
+
fill: "none",
|
|
29424
|
+
stroke: "currentColor",
|
|
29425
|
+
viewBox: "0 0 24 24",
|
|
29426
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29427
|
+
"path",
|
|
29428
|
+
{
|
|
29429
|
+
strokeLinecap: "round",
|
|
29430
|
+
strokeLinejoin: "round",
|
|
29431
|
+
strokeWidth: 2.5,
|
|
29432
|
+
d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
29433
|
+
}
|
|
29434
|
+
)
|
|
29435
|
+
}
|
|
29436
|
+
),
|
|
29437
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-semibold text-sm drop-shadow-md text-white/95", children: toast.msg }),
|
|
29438
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29439
|
+
"button",
|
|
29440
|
+
{
|
|
29441
|
+
onClick: () => setToasts((prev) => prev.filter((t2) => t2.id !== toast.id)),
|
|
29442
|
+
className: "ml-4 opacity-50 hover:opacity-100 transition-opacity flex-shrink-0",
|
|
29443
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29444
|
+
"svg",
|
|
29445
|
+
{
|
|
29446
|
+
className: "w-4 h-4 text-white",
|
|
29447
|
+
fill: "none",
|
|
29448
|
+
stroke: "currentColor",
|
|
29449
|
+
viewBox: "0 0 24 24",
|
|
29450
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
29451
|
+
"path",
|
|
29452
|
+
{
|
|
29453
|
+
strokeLinecap: "round",
|
|
29454
|
+
strokeLinejoin: "round",
|
|
29455
|
+
strokeWidth: 2,
|
|
29456
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
29457
|
+
}
|
|
29458
|
+
)
|
|
29459
|
+
}
|
|
29460
|
+
)
|
|
29461
|
+
}
|
|
29462
|
+
)
|
|
29463
|
+
]
|
|
29464
|
+
}
|
|
29465
|
+
) }, toast.id)) })
|
|
28780
29466
|
]
|
|
28781
29467
|
}
|
|
28782
29468
|
);
|