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.
@@ -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("div", { className: `flex flex-col items-center justify-center w-full h-full ${compact ? "" : "space-y-8 py-8"}`, children: [
12547
- !hideHeader && !compact && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center text-primary mb-4 relative z-10", children: [
12548
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-2xl font-bold", children: "Massive Push in Progress" }),
12549
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm opacity-70 mt-1", children: "Chunking thousands of files to prevent freezing" })
12550
- ] }),
12551
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `loader-wrapper ${compact ? "is-compact" : ""}`, children: [
12552
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "loader", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "box", children: [
12553
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "top-side" }),
12554
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bottom-side" }),
12555
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "screen", children: [
12556
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lightray-limit", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lightray" }) }),
12557
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "loader-box-container", children: [
12558
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "loader-progress-box", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
12559
- "div",
12560
- {
12561
- className: `progress-bar-fill transition-all duration-300 ease-out ${isIndeterminate ? "indeterminate-progress" : ""}`,
12562
- style: { width: isIndeterminate ? "0%" : `${clampedPercentage}%` }
12563
- }
12564
- ) }),
12565
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `flex flex-col items-center mt-2 text-primary font-mono drop-shadow-md ${compact ? "scale-95" : ""}`, children: [
12566
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${compact ? "text-2xl" : "text-3xl mt-2"} font-bold`, children: isIndeterminate ? ". . ." : `${clampedPercentage.toFixed(1)}%` }),
12567
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: `${compact ? "text-xs" : "text-xs"} opacity-90 mt-1 font-semibold`, children: eta })
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(null);
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
- "select",
13027
- {
13028
- value: gitignoreTemplate,
13029
- onChange: (e) => setGitignoreTemplate(e.target.value),
13030
- 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",
13031
- children: [
13032
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", children: "None" }),
13033
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Node", children: "Node" }),
13034
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Python", children: "Python" }),
13035
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Java", children: "Java" }),
13036
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "C++", children: "C++" }),
13037
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "Go", children: "Go" })
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
- "select",
13046
- {
13047
- value: licenseTemplate,
13048
- onChange: (e) => setLicenseTemplate(e.target.value),
13049
- 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",
13050
- children: [
13051
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", children: "None" }),
13052
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "mit", children: "MIT License" }),
13053
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "gpl-3.0", children: "GNU GPLv3" }),
13054
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "apache-2.0", children: "Apache License 2.0" }),
13055
- /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "bsd-3-clause", children: "BSD 3-Clause" })
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.jsx(
13066
- "select",
13067
- {
13068
- value: selectedRepoUrl,
13069
- onChange: (e) => setSelectedRepoUrl(e.target.value),
13070
- 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 transition-colors",
13071
- children: userRepos.map((r) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: r.clone_url, children: r.full_name }, r.id))
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
- { id: "fb1", type: "PushEvent", actor: { login: "octocat" }, repo: { name: "octocat/Hello-World" }, created_at: "" },
13674
- { id: "fb2", type: "PullRequestEvent", actor: { login: "torvalds" }, repo: { name: "torvalds/linux" }, created_at: "" },
13675
- { id: "fb3", type: "IssuesEvent", actor: { login: "microsoft" }, repo: { name: "microsoft/vscode" }, created_at: "" },
13676
- { id: "fb4", type: "PushEvent", actor: { login: "facebook" }, repo: { name: "facebook/react" }, created_at: "" },
13677
- { id: "fb5", type: "PushEvent", actor: { login: "vercel" }, repo: { name: "vercel/next.js" }, created_at: "" },
13678
- { id: "fb6", type: "PullRequestEvent", actor: { login: "vuejs" }, repo: { name: "vuejs/core" }, created_at: "" },
13679
- { id: "fb7", type: "PushEvent", actor: { login: "antigravity" }, repo: { name: "antigravity/engine" }, created_at: "" }
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("span", { className: `text-xl font-black ${movesLeft === 0 ? "text-danger" : "text-accent"}`, children: [
14022
- movesLeft,
14023
- " / 5"
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("No remote GitHub repository URL detected for this folder. Please push or add a remote origin first to invite collaborators.");
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((i) => i.invitee && i.invitee.login.toLowerCase() === targetUser.login.toLowerCase());
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((i) => i.invitee && i.invitee.login.toLowerCase() === user.login.toLowerCase());
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("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
14538
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { className: "opacity-75", fill: "currentColor", 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" })
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) }),
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("svg", { className: "w-16 h-16 text-brand animate-spin relative z-10", fill: "none", viewBox: "0 0 24 24", children: [
14702
- /* @__PURE__ */ jsxRuntimeExports.jsx(
14703
- "circle",
14704
- {
14705
- className: "opacity-20",
14706
- cx: "12",
14707
- cy: "12",
14708
- r: "10",
14709
- stroke: "currentColor",
14710
- strokeWidth: "3"
14711
- }
14712
- ),
14713
- /* @__PURE__ */ jsxRuntimeExports.jsx(
14714
- "path",
14715
- {
14716
- className: "opacity-90",
14717
- fill: "currentColor",
14718
- 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"
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-[#0f111a] border border-[#2a2d3d] w-full max-w-2xl rounded-2xl overflow-hidden shadow-2xl flex flex-col",
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-[#2a2d3d] flex items-center justify-between bg-[#151822]", children: [
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-blue-500/20 text-blue-400 rounded-lg", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiGithub, { size: 20 }) }),
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-white font-semibold text-lg leading-tight", children: "Push Anything" }),
23129
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-400 text-xs", children: "Universal GitHub Uploader" })
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-gray-400 hover:text-white rounded-lg hover:bg-white/10 transition-colors",
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-white font-semibold", children: "Select files to push" }),
23155
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-400 text-sm", children: "You can push any file or folder directly to any repository." })
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-[#1a1d27] border border-[#2a2d3d] hover:border-blue-500 hover:bg-blue-500/10 transition-all group",
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-blue-400 group-hover:scale-110 transition-transform"
23284
+ className: "text-brand group-hover:scale-110 transition-transform"
23169
23285
  }
23170
23286
  ),
23171
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white font-medium", children: "Select File(s)" })
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-[#1a1d27] border border-[#2a2d3d] hover:border-purple-500 hover:bg-purple-500/10 transition-all group",
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-white font-medium", children: "Select Folder" })
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-white font-semibold mb-4", children: "Select GitHub Account" }),
23206
- accounts.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-6 text-center bg-[#1a1d27] border border-[#2a2d3d] rounded-xl flex flex-col items-center gap-4", children: [
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-white font-medium mb-1", children: "No GitHub Accounts Found" }),
23210
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-400 text-sm", children: "Please close this window and log in to a GitHub account using the Settings panel first." })
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-[#1a1d27] border border-[#2a2d3d] hover:border-blue-500 transition-colors text-left w-full",
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-white font-medium", children: [
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-gray-400 text-xs", children: "Authenticated" })
23347
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-secondary text-xs", children: "Authenticated" })
23232
23348
  ] }),
23233
- /* @__PURE__ */ jsxRuntimeExports.jsx(FiArrowRight, { className: "ml-auto text-gray-500" })
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-white font-semibold", children: "Select Repository" }),
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-gray-400" }),
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-[#1a1d27] border border-[#2a2d3d] rounded-lg py-2.5 pl-10 pr-4 text-white focus:outline-none focus:border-blue-500",
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-[#1a1d27] border border-[#2a2d3d] hover:border-blue-500 flex items-center justify-between group",
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-white font-medium flex items-center gap-2", children: [
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-blue-400", children: repo.name })
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-gray-300", children: "Private" })
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-gray-500 text-xs mt-1 truncate", children: repo.description || "No description" })
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-gray-600 group-hover:text-blue-400" })
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-white font-semibold", children: "Select Branch" }),
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-[#1a1d27] p-1 rounded-lg border border-[#2a2d3d] w-fit", children: [
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-blue-500 text-white" : "text-gray-400 hover:text-white"}`,
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-blue-500 text-white" : "text-gray-400 hover:text-white"}`,
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-blue-500/10 border-blue-500 text-blue-400" : "bg-[#1a1d27] border-[#2a2d3d] text-gray-300 hover:border-gray-500"}`,
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-gray-400 text-sm mb-1", children: "New Branch Name" }),
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-[#1a1d27] border border-[#2a2d3d] rounded-lg p-2.5 text-white focus:outline-none focus:border-blue-500",
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-gray-400 text-sm mb-1", children: "Base Branch" }),
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-[#1a1d27] border border-[#2a2d3d] rounded-lg p-2.5 text-white focus:outline-none focus:border-blue-500 appearance-none",
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-white font-semibold", children: "Destination Path" }),
23379
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-400 text-sm", children: "Where should these files be placed in the repository?" }),
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-[#1a1d27] border border-[#2a2d3d] rounded-lg p-3", children: [
23382
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-blue-400", children: [
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-white w-full",
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-white/5 hover:bg-white/10 text-gray-400 rounded",
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-white/5 hover:bg-white/10 text-gray-400 rounded",
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-white/5 hover:bg-white/10 text-gray-400 rounded",
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-[#1a1d27] p-4 rounded-lg border border-[#2a2d3d]", children: [
23425
- /* @__PURE__ */ jsxRuntimeExports.jsxs("h4", { className: "text-gray-300 font-medium mb-2 text-sm flex items-center gap-2", children: [
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-gray-500 font-mono space-y-1", children: [
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-blue-500 text-white font-semibold rounded-lg hover:bg-blue-600 transition-colors flex items-center gap-2",
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-blue-500/30 border-t-blue-500 rounded-full animate-spin" }),
23466
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-300 font-medium animate-pulse", children: "Safely preparing Git workspace..." }),
23467
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-500 text-xs", children: "Checking for collisions and establishing sparse-checkout" })
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-[#1a1d27] border border-[#2a2d3d] rounded-lg p-3 overflow-y-auto custom-scrollbar", children: [
23491
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs font-semibold text-gray-500 uppercase mb-2", children: "Modified Files" }),
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-gray-500 uppercase mt-4 mb-2", children: "New Files" }),
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-[#2a2d3d] text-white rounded-lg hover:bg-red-500/20 hover:text-red-400 transition-colors",
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-[#2a2d3d] text-white rounded-lg hover:bg-[#3a3d4d] transition-colors flex items-center gap-2",
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-gray-400 hover:text-white",
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-white font-semibold", children: "Diff Viewer" })
23668
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-primary font-semibold", children: "Diff Viewer" })
23553
23669
  ] }),
23554
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 bg-[#0d0f17] border border-[#2a2d3d] rounded-lg p-4 overflow-y-auto custom-scrollbar font-mono text-sm whitespace-pre-wrap", children: diffContent ? diffContent.split("\n").map((line, i) => {
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-blue-400 mt-2", children: line }, i);
23561
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-gray-300", children: line }, i);
23562
- }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-gray-500 text-center py-10", children: "Cannot show diff for binary files." }) })
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-white font-semibold", children: "Commit & Push" }),
23576
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-[#1a1d27] p-4 rounded-lg border border-[#2a2d3d] flex justify-between items-center", children: [
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-gray-400 text-xs mb-1", children: "Destination" }),
23579
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-white font-medium flex items-center gap-2", children: [
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-gray-600" }),
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-gray-400 text-xs mb-1", children: "Changes" }),
23596
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-white font-medium", children: [
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-gray-400 text-sm mb-2", children: "Commit Message" }),
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-[#1a1d27] border border-[#2a2d3d] rounded-lg p-3 text-white focus:outline-none focus:border-blue-500 resize-none h-24",
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-blue-500 text-white font-semibold rounded-lg hover:bg-blue-600 disabled:opacity-50 flex items-center gap-2",
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-white font-medium text-lg", children: "Pushing to GitHub..." }),
23650
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-gray-500 text-sm font-mono", children: [
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-white font-semibold", children: "Push Successful!" }),
23668
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-gray-400", children: [
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-blue-400", children: selectedRepo?.name }),
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-white font-semibold", children: "Operation Failed" }),
23698
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-400 text-sm max-w-sm whitespace-pre-wrap", children: errorMsg }),
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-[#2a2d3d] text-white rounded-lg hover:bg-[#3a3d4d]",
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("img", { src: logo, alt: "Logo", className: "w-20 h-20 sm:w-24 sm:h-24 mb-6 drop-shadow-[0_0_15px_rgba(59,130,246,0.5)]" }),
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
- " from any terminal to launch instantly."
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("a", { href: deviceFlowData.verification_uri, target: "_blank", rel: "noreferrer", className: "text-blue-400 ml-1 hover:underline break-all block mt-1", children: deviceFlowData.verification_uri })
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("button", { onClick: () => setAuthStatus("pending"), className: "text-blue-400 hover:underline", children: "Try Again" })
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("div", { 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`, children: [
23874
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative mb-6", children: [
23875
- /* @__PURE__ */ jsxRuntimeExports.jsx(FiCheckCircle, { className: "text-6xl sm:text-7xl text-blue-500 relative z-10" }),
23876
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-blue-500 rounded-full blur-[20px] opacity-50 z-0" })
23877
- ] }),
23878
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-3xl sm:text-4xl font-bold mb-3", children: "You're All Set!" }),
23879
- /* @__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." }),
23880
- /* @__PURE__ */ jsxRuntimeExports.jsx(
23881
- "button",
23882
- {
23883
- onClick: finishSetup,
23884
- 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",
23885
- children: "Launch GitElectron"
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(null);
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("svg", { className: "w-6 h-6 text-brand", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) }),
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }) }),
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" }),
24018
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" })
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 6v6m0 0v6m0-6h6m-6 0H6" }) }) }),
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("svg", { className: "w-5 h-5 flex-shrink-0 mt-0.5 text-danger", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }),
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
- "input",
24278
+ "svg",
24070
24279
  {
24071
- type: "text",
24072
- className: "flex-1 bg-canvas border border-border rounded-lg px-4 py-2.5 text-primary opacity-70 cursor-not-allowed text-sm",
24073
- placeholder: "Select a folder...",
24074
- value: destFolder,
24075
- readOnly: true
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
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-emerald-400" }),
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-emerald-400 border border-emerald-500/25 px-2 py-0.2 rounded-full font-medium flex-shrink-0", children: "Public" }),
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("span", { className: "font-mono text-secondary truncate max-w-[140px]", title: `@${repo.owner?.login}`, children: [
24472
- "@",
24473
- repo.owner?.login
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/10 border border-danger/25 px-2.5 py-1 rounded-lg min-w-0 max-w-full truncate",
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-emerald-400 font-mono bg-emerald-500/10 border border-emerald-500/25 px-2.5 py-1 rounded-lg min-w-0 max-w-full truncate",
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-emerald-400 flex-shrink-0" }),
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-canvas/60 border border-border/60 px-2.5 py-1 rounded-lg flex-shrink-0", children: [
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-blue-600/15 hover:bg-blue-600/25 text-blue-400 border border-blue-500/30",
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("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: "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" }) })
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/20 hover:bg-danger/30 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"}`,
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 = ({ commit, onClose }) => {
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: "one-dark-pro", name: "One Dark Pro" },
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("changes");
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(`Auto-Push: Downloading ${updatedStatus.behind} remote change(s)...`, "info");
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) await window.api.pushAllBranches(remotes2[0].name);
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("gemini", "", currentError, currentStatus, targetRepoPath || "");
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) await window.api.pushAllBranches(remotes[0].name);
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("Offline mode active. Push added to queue. It will auto-push when online.", "warning");
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/10 border border-brand/20 p-3 rounded text-sm text-brand", children: autoSyncErrorPayload.proposedFix })
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("svg", { className: "w-6 h-6 text-brand", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: [
26613
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }),
26614
- /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })
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: lang,
26636
- onChange: (val) => setLang(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: theme,
26648
- onChange: (val) => handleThemeChange(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: dailyAuthEnabled,
27033
+ checked: draftDailyAuth,
26708
27034
  onChange: (e) => {
26709
27035
  const next = e.target.checked;
26710
- setDailyAuthEnabled(next);
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: enableLockscreenSpace,
27055
+ checked: draftLockscreenSpace,
26731
27056
  onChange: (e) => {
26732
27057
  const next = e.target.checked;
26733
- setEnableLockscreenSpace(next);
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
- setShowSettings(false);
27117
+ cancelSettings();
26794
27118
  handleStartAuth();
26795
27119
  },
26796
- className: "px-3 py-1.5 bg-brand/10 hover:bg-brand/20 text-brand text-xs font-bold rounded-lg border border-brand/20 transition-colors",
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
- setShowSettings(false);
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("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: "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" }) }),
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("Are you sure? This will force push all current files, overriding remote history and bypassing all safety checks.");
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
- setShowSettings(false);
27235
+ cancelSettings();
26893
27236
  } catch (err) {
26894
- showToast("Master Push failed: " + (err.message || "Unknown error"), "error");
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: () => setShowSettings(false),
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(CommitReceiptPrinter, { commit, onClose: () => toggleCommit(commit.hash) }) })
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(ContributorsModal, { remoteUrl: remoteUrl || "", onClose: () => setShowContributorsModal(false) }),
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
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/10 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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) }) }),
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("svg", { className: "w-5 h-5 flex-shrink-0 mt-0.5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 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" }) }),
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(AIHealerOverlay, { message: healerMessage, attempt: healerAttempt, maxAttempts: 5, originalError: healerOriginalError }),
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(UniversalPushWizard, { isOpen: showUniversalWizard, onClose: () => setShowUniversalWizard(false) }),
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(data.reason, data.operation || "push", data.overrideRepoPath, data.overrideBranch);
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" })
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-gradient-to-r from-blue-600/20 to-purple-600/20 hover:from-blue-600/40 hover:to-purple-600/40 text-primary font-medium py-2 px-4 rounded-md transition-all border border-blue-500/30 text-sm flex items-center justify-center gap-2 shadow-sm",
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("svg", { className: "w-4 h-4 text-accent", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
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("svg", { className: "w-3 h-3", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) })
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/20 text-brand text-[10px] font-bold px-1.5 py-0.5 rounded-full", children: collaboratedRepos.length })
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/70 backdrop-blur-md border border-border p-3 rounded-xl transition-colors duration-300 gap-4 relative z-50", children: [
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/20 text-brand border-brand/30"}`,
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("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, 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" }) }),
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/70 backdrop-blur-md p-4 rounded-xl border border-border transition-colors duration-300 gap-4", children: [
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((err) => showToast("Could not switch branch: " + (err.message || "Unknown error"), "error")),
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/20 text-brand rounded transition-colors flex items-center justify-center border border-brand/30",
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/20 text-brand rounded transition-colors flex items-center justify-center border border-brand/30 font-medium",
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("svg", { className: "w-3.5 h-3.5 animate-spin text-accent", fill: "none", viewBox: "0 0 24 24", children: [
28239
- /* @__PURE__ */ jsxRuntimeExports.jsx(
28240
- "circle",
28241
- {
28242
- className: "opacity-25",
28243
- cx: "12",
28244
- cy: "12",
28245
- r: "10",
28246
- stroke: "currentColor",
28247
- strokeWidth: "4"
28248
- }
28249
- ),
28250
- /* @__PURE__ */ jsxRuntimeExports.jsx(
28251
- "path",
28252
- {
28253
- className: "opacity-75",
28254
- fill: "currentColor",
28255
- 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"
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("svg", { className: "w-3.5 h-3.5 text-accent", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }),
28262
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: (status?.behind ?? 0) > 0 ? `Pull (${status.behind})` : "Pull" })
28263
- ] })
28264
- }
28265
- )
28266
- ] })
28267
- ] }),
28268
- changesTab === "collaboration-repo" ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 bg-surface/70 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: [
28269
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center border-b border-border pb-3 mb-4 gap-2 flex-shrink-0", children: [
28270
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
28271
- "button",
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/10 border border-brand/20 px-3 py-1 rounded-full", children: "Collaboration Repo" })
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("div", { id: "split-pane-container", className: "flex-1 overflow-hidden min-h-0 flex flex-col lg:flex-row pb-2", children: [
28311
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: leftPanelWidth }, className: "bg-surface/70 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", children: [
28312
- /* @__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: [
28313
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
28314
- "button",
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
- "button",
28807
+ "div",
28337
28808
  {
28338
- onClick: () => {
28339
- setChangesTab("collaboration-repo");
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
- "Collaboration Repo",
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
- "span",
28814
+ "button",
28389
28815
  {
28390
- onClick: () => viewDiff(f, false),
28391
- className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-warning"}`,
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
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { 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"}`, children: failedFiles.includes(f) ? "X" : "!" }),
28394
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
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
- "span",
28825
+ "button",
28427
28826
  {
28428
- onClick: () => viewDiff(f, false),
28429
- className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-success"}`,
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
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { 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"}`, children: failedFiles.includes(f) ? "X" : "U" }),
28432
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
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
- "span",
28836
+ "button",
28465
28837
  {
28466
- onClick: () => viewDiff(f, false),
28467
- className: `text-xs font-mono cursor-pointer flex-1 flex items-center gap-1.5 truncate ${failedFiles.includes(f) ? "text-danger" : "text-warning"}`,
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
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { 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"}`, children: failedFiles.includes(f) ? "X" : "M" }),
28470
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
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: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: [
28475
- /* @__PURE__ */ jsxRuntimeExports.jsx(
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: () => openEditor(f),
28479
- className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
28480
- children: "Edit"
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: () => handleStageSingle(f),
28487
- className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
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
- `m-${f}`
28495
- )),
28496
- 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" })
28497
- ] }),
28498
- changesTab === "deleted" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
28499
- /* @__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(
28500
- "li",
28501
- {
28502
- className: "flex justify-between items-center hover:bg-surface-hover px-2 py-1.5 rounded-md transition-colors",
28503
- children: [
28504
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-xs text-danger/70 font-mono flex-1 flex items-center gap-1.5 truncate", children: [
28505
- /* @__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" }),
28506
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: f })
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.jsx("div", { className: "opacity-0 group-hover:opacity-100 flex gap-1 flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
28509
- "button",
28510
- {
28511
- onClick: () => handleStageSingle(f),
28512
- className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
28513
- children: "+"
28514
- }
28515
- ) })
28516
- ]
28517
- },
28518
- `d-${f}`
28519
- )) }),
28520
- deletedHistory?.all && deletedHistory.all.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 pt-3 border-t border-border/50", children: [
28521
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-[11px] font-semibold text-secondary uppercase tracking-wider mb-2", children: "Recently Deleted in Repository" }),
28522
- /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "space-y-2", children: deletedHistory.all.map((commit) => /* @__PURE__ */ jsxRuntimeExports.jsxs("li", { className: "bg-surface/50 p-2 rounded-md border border-border/50", children: [
28523
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-start mb-1.5", children: [
28524
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-semibold text-primary truncate", title: commit.message, children: commit.message }),
28525
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] text-secondary whitespace-nowrap ml-2 flex-shrink-0", children: [
28526
- new Date(commit.date).toLocaleDateString(),
28527
- " ",
28528
- new Date(commit.date).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })
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
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-1", children: commit.diff?.files?.filter((f) => f.status === "D").map((f, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1.5 text-[11px] font-mono text-danger/80", children: [
28532
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-shrink-0 font-bold bg-danger/10 text-danger border border-danger/20 px-1 rounded", children: "D" }),
28533
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", title: f.file, children: f.file })
28534
- ] }, i)) })
28535
- ] }, commit.hash)) })
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 justify-between items-center hover:bg-surface-hover px-2 py-1.5 rounded-md group transition-colors",
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
- "span",
28561
- {
28562
- onClick: () => viewDiff(f, true),
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
- onClick: () => openEditor(f),
28572
- className: "text-[10px] text-secondary hover:text-primary px-2 py-0.5 border border-border rounded bg-canvas",
28573
- children: "Edit"
28574
- }
28575
- ),
28576
- /* @__PURE__ */ jsxRuntimeExports.jsx(
28577
- "button",
28578
- {
28579
- onClick: () => handleUnstageSingle(f),
28580
- className: "text-[10px] text-secondary hover:text-danger px-2 py-0.5 border border-border rounded bg-canvas",
28581
- children: "-"
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
- f
28588
- )),
28589
- status.staged.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: "text-xs text-secondary italic mt-2 text-center", children: "No files staged for commit" })
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/70 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: [
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/10 border border-brand/20 px-3 py-1 rounded-full", children: "Collaboration Hub" }) })
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({ reason: msg, operation: "push", overrideRepoPath: path, overrideBranch: branch });
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("div", { className: "p-4 bg-canvas border border-border rounded-lg flex flex-col gap-3", children: [
28716
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
28717
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-primary font-medium", children: inv.repository.full_name }),
28718
- /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-secondary mt-1", children: [
28719
- "Invited by ",
28720
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-semibold", children: inv.inviter.login }),
28721
- " as ",
28722
- inv.permissions
28723
- ] })
28724
- ] }),
28725
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2 mt-2", children: [
28726
- /* @__PURE__ */ jsxRuntimeExports.jsx(
28727
- "button",
28728
- {
28729
- onClick: async () => {
28730
- try {
28731
- await window.api.acceptInvitation(inv.id);
28732
- showToast("Invitation accepted!", "success");
28733
- const invs = await window.api.getUserInvitations();
28734
- setInvitations(invs || []);
28735
- refreshRepoState();
28736
- } catch (e) {
28737
- showToast(e.message || "Failed to accept invitation", "error");
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
- className: "flex-1 py-1.5 bg-success text-white rounded-md text-sm font-semibold transition-colors hover:brightness-110",
28741
- children: "Accept"
28742
- }
28743
- ),
28744
- /* @__PURE__ */ jsxRuntimeExports.jsx(
28745
- "button",
28746
- {
28747
- onClick: async () => {
28748
- try {
28749
- await window.api.declineInvitation(inv.id);
28750
- showToast("Invitation declined.", "info");
28751
- const invs = await window.api.getUserInvitations();
28752
- setInvitations(invs || []);
28753
- } catch (e) {
28754
- showToast(e.message || "Failed to decline invitation", "error");
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
- className: "flex-1 py-1.5 bg-danger text-white rounded-md text-sm font-semibold transition-colors hover:brightness-110",
28758
- children: "Decline"
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("div", { 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`, children: [
28773
- toast.type === "error" && /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z" }) }),
28774
- toast.type === "warning" && /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, 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" }) }),
28775
- toast.type === "success" && /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M5 13l4 4L19 7" }) }),
28776
- toast.type === "info" && /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-5 h-5 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) }),
28777
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-semibold text-sm drop-shadow-md text-white/95", children: toast.msg }),
28778
- /* @__PURE__ */ jsxRuntimeExports.jsx("button", { onClick: () => setToasts((prev) => prev.filter((t2) => t2.id !== toast.id)), className: "ml-4 opacity-50 hover:opacity-100 transition-opacity flex-shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-4 h-4 text-white", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })
28779
- ] }) }, toast.id)) })
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
  );