viba-cli 0.39.0 → 0.40.0

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.
Files changed (199) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/fallback-build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +2 -2
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/api/custom-scripts/route.js +2 -2
  22. package/.next/server/app/api/custom-scripts/route.js.nft.json +1 -1
  23. package/.next/server/app/api/git/action/route.js +3 -3
  24. package/.next/server/app/api/git/action/route.js.nft.json +1 -1
  25. package/.next/server/app/api/git/branches/route.js +3 -3
  26. package/.next/server/app/api/git/branches/route.js.nft.json +1 -1
  27. package/.next/server/app/api/git/diff/route.js +2 -2
  28. package/.next/server/app/api/git/diff/route.js.nft.json +1 -1
  29. package/.next/server/app/api/git/log/route.js +2 -2
  30. package/.next/server/app/api/git/log/route.js.nft.json +1 -1
  31. package/.next/server/app/api/git/status/route.js +3 -3
  32. package/.next/server/app/api/git/status/route.js.nft.json +1 -1
  33. package/.next/server/app/api/repos/clone/route.js +2 -2
  34. package/.next/server/app/api/repos/clone/route.js.nft.json +1 -1
  35. package/.next/server/app/api/repos/route.js +2 -2
  36. package/.next/server/app/api/repos/route.js.nft.json +1 -1
  37. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  38. package/.next/server/app/credentials/page/server-reference-manifest.json +7 -7
  39. package/.next/server/app/credentials/page.js.nft.json +1 -1
  40. package/.next/server/app/credentials/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/credentials.html +2 -2
  42. package/.next/server/app/credentials.rsc +4 -4
  43. package/.next/server/app/credentials.segments/_full.segment.rsc +4 -4
  44. package/.next/server/app/credentials.segments/_head.segment.rsc +1 -1
  45. package/.next/server/app/credentials.segments/_index.segment.rsc +2 -2
  46. package/.next/server/app/credentials.segments/_tree.segment.rsc +2 -2
  47. package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +2 -2
  48. package/.next/server/app/credentials.segments/credentials.segment.rsc +1 -1
  49. package/.next/server/app/git/changes/page.js.nft.json +1 -1
  50. package/.next/server/app/git/changes/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/git/changes.html +2 -2
  52. package/.next/server/app/git/changes.rsc +4 -4
  53. package/.next/server/app/git/changes.segments/_full.segment.rsc +4 -4
  54. package/.next/server/app/git/changes.segments/_head.segment.rsc +1 -1
  55. package/.next/server/app/git/changes.segments/_index.segment.rsc +2 -2
  56. package/.next/server/app/git/changes.segments/_tree.segment.rsc +2 -2
  57. package/.next/server/app/git/changes.segments/git/changes/__PAGE__.segment.rsc +2 -2
  58. package/.next/server/app/git/changes.segments/git/changes.segment.rsc +1 -1
  59. package/.next/server/app/git/changes.segments/git.segment.rsc +1 -1
  60. package/.next/server/app/git/custom-scripts/page.js.nft.json +1 -1
  61. package/.next/server/app/git/custom-scripts/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/git/custom-scripts.html +2 -2
  63. package/.next/server/app/git/custom-scripts.rsc +2 -2
  64. package/.next/server/app/git/custom-scripts.segments/_full.segment.rsc +2 -2
  65. package/.next/server/app/git/custom-scripts.segments/_head.segment.rsc +1 -1
  66. package/.next/server/app/git/custom-scripts.segments/_index.segment.rsc +2 -2
  67. package/.next/server/app/git/custom-scripts.segments/_tree.segment.rsc +2 -2
  68. package/.next/server/app/git/custom-scripts.segments/git/custom-scripts/__PAGE__.segment.rsc +1 -1
  69. package/.next/server/app/git/custom-scripts.segments/git/custom-scripts.segment.rsc +1 -1
  70. package/.next/server/app/git/custom-scripts.segments/git.segment.rsc +1 -1
  71. package/.next/server/app/git/history/page.js.nft.json +1 -1
  72. package/.next/server/app/git/history/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/git/history.html +2 -2
  74. package/.next/server/app/git/history.rsc +2 -2
  75. package/.next/server/app/git/history.segments/_full.segment.rsc +2 -2
  76. package/.next/server/app/git/history.segments/_head.segment.rsc +1 -1
  77. package/.next/server/app/git/history.segments/_index.segment.rsc +2 -2
  78. package/.next/server/app/git/history.segments/_tree.segment.rsc +2 -2
  79. package/.next/server/app/git/history.segments/git/history/__PAGE__.segment.rsc +1 -1
  80. package/.next/server/app/git/history.segments/git/history.segment.rsc +1 -1
  81. package/.next/server/app/git/history.segments/git.segment.rsc +1 -1
  82. package/.next/server/app/git/page.js.nft.json +1 -1
  83. package/.next/server/app/git/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/git/stashes/page.js.nft.json +1 -1
  85. package/.next/server/app/git/stashes/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/git/stashes.html +2 -2
  87. package/.next/server/app/git/stashes.rsc +2 -2
  88. package/.next/server/app/git/stashes.segments/_full.segment.rsc +2 -2
  89. package/.next/server/app/git/stashes.segments/_head.segment.rsc +1 -1
  90. package/.next/server/app/git/stashes.segments/_index.segment.rsc +2 -2
  91. package/.next/server/app/git/stashes.segments/_tree.segment.rsc +2 -2
  92. package/.next/server/app/git/stashes.segments/git/stashes/__PAGE__.segment.rsc +1 -1
  93. package/.next/server/app/git/stashes.segments/git/stashes.segment.rsc +1 -1
  94. package/.next/server/app/git/stashes.segments/git.segment.rsc +1 -1
  95. package/.next/server/app/git.html +2 -2
  96. package/.next/server/app/git.rsc +2 -2
  97. package/.next/server/app/git.segments/_full.segment.rsc +2 -2
  98. package/.next/server/app/git.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/git.segments/_index.segment.rsc +2 -2
  100. package/.next/server/app/git.segments/_tree.segment.rsc +2 -2
  101. package/.next/server/app/git.segments/git/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/git.segments/git.segment.rsc +1 -1
  103. package/.next/server/app/index.html +2 -2
  104. package/.next/server/app/index.rsc +4 -4
  105. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  106. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  107. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/new/page/server-reference-manifest.json +29 -29
  111. package/.next/server/app/new/page.js +2 -2
  112. package/.next/server/app/new/page.js.nft.json +1 -1
  113. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  114. package/.next/server/app/page/server-reference-manifest.json +29 -29
  115. package/.next/server/app/page.js +1 -1
  116. package/.next/server/app/page.js.nft.json +1 -1
  117. package/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/.next/server/app/session/[sessionId]/page/server-reference-manifest.json +19 -19
  119. package/.next/server/app/session/[sessionId]/page.js +1 -1
  120. package/.next/server/app/session/[sessionId]/page.js.nft.json +1 -1
  121. package/.next/server/app/session/[sessionId]/page_client-reference-manifest.js +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__2ea0148f._.js +7 -0
  123. package/.next/server/chunks/{[root-of-the-server]__b17e6c62._.js.map → [root-of-the-server]__2ea0148f._.js.map} +1 -1
  124. package/.next/server/chunks/[root-of-the-server]__51f9ab28._.js +3 -0
  125. package/.next/server/chunks/{[root-of-the-server]__7f2f8f49._.js.map → [root-of-the-server]__51f9ab28._.js.map} +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__52f9b7e2._.js +3 -0
  127. package/.next/server/chunks/{[root-of-the-server]__afea2116._.js.map → [root-of-the-server]__52f9b7e2._.js.map} +1 -1
  128. package/.next/server/chunks/[root-of-the-server]__5b08b37e._.js +3 -0
  129. package/.next/server/chunks/{[root-of-the-server]__7324fe0b._.js.map → [root-of-the-server]__5b08b37e._.js.map} +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__8b29248a._.js +3 -0
  131. package/.next/server/chunks/{[root-of-the-server]__187f37c1._.js.map → [root-of-the-server]__8b29248a._.js.map} +1 -1
  132. package/.next/server/chunks/[root-of-the-server]__f52f1c06._.js +3 -0
  133. package/.next/server/chunks/{[root-of-the-server]__8de57231._.js.map → [root-of-the-server]__f52f1c06._.js.map} +1 -1
  134. package/.next/server/chunks/ssr/[root-of-the-server]__05e6fb4c._.js +1 -1
  135. package/.next/server/chunks/ssr/{[root-of-the-server]__79a7a15d._.js → [root-of-the-server]__0ed2deb1._.js} +2 -2
  136. package/.next/server/chunks/ssr/{[root-of-the-server]__79a7a15d._.js.map → [root-of-the-server]__0ed2deb1._.js.map} +1 -1
  137. package/.next/server/chunks/ssr/{[root-of-the-server]__2798aa4d._.js → [root-of-the-server]__1ed5a76d._.js} +3 -3
  138. package/.next/server/chunks/ssr/{[root-of-the-server]__2798aa4d._.js.map → [root-of-the-server]__1ed5a76d._.js.map} +1 -1
  139. package/.next/server/chunks/ssr/[root-of-the-server]__46af1502._.js +1 -1
  140. package/.next/server/chunks/ssr/[root-of-the-server]__46af1502._.js.map +1 -1
  141. package/.next/server/chunks/ssr/{[root-of-the-server]__05b3451a._.js → [root-of-the-server]__a65a3900._.js} +2 -2
  142. package/.next/server/chunks/ssr/{[root-of-the-server]__05b3451a._.js.map → [root-of-the-server]__a65a3900._.js.map} +1 -1
  143. package/.next/server/chunks/ssr/[root-of-the-server]__d52659cf._.js +3 -0
  144. package/.next/server/chunks/ssr/[root-of-the-server]__d52659cf._.js.map +1 -0
  145. package/.next/server/chunks/ssr/{_9a7bd3c8._.js → _2eaa7035._.js} +2 -2
  146. package/.next/server/chunks/ssr/{_9a7bd3c8._.js.map → _2eaa7035._.js.map} +1 -1
  147. package/.next/server/chunks/ssr/{_8d41d1fd._.js → _4343fa01._.js} +2 -2
  148. package/.next/server/chunks/ssr/{_8d41d1fd._.js.map → _4343fa01._.js.map} +1 -1
  149. package/.next/server/chunks/ssr/_476e86d1._.js +1 -1
  150. package/.next/server/chunks/ssr/_707e5fab._.js +1 -1
  151. package/.next/server/chunks/ssr/_9493de08._.js +1 -1
  152. package/.next/server/chunks/ssr/{_439918bb._.js → _a07f93fb._.js} +2 -2
  153. package/.next/server/chunks/ssr/{_439918bb._.js.map → _a07f93fb._.js.map} +1 -1
  154. package/.next/server/chunks/ssr/{_5147763c._.js → _ebf4c61c._.js} +2 -2
  155. package/.next/server/chunks/ssr/{_5147763c._.js.map → _ebf4c61c._.js.map} +1 -1
  156. package/.next/server/chunks/ssr/_ff20dbae._.js +3 -0
  157. package/.next/server/chunks/ssr/{_4a66db4a._.js.map → _ff20dbae._.js.map} +1 -1
  158. package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js +1 -1
  159. package/.next/server/chunks/ssr/src_app_credentials_page_tsx_63d8d34a._.js.map +1 -1
  160. package/.next/server/chunks/ssr/src_app_git_changes_page_tsx_f6dc28dc._.js +1 -1
  161. package/.next/server/chunks/ssr/src_app_git_changes_page_tsx_f6dc28dc._.js.map +1 -1
  162. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js +1 -1
  163. package/.next/server/chunks/ssr/src_app_session_[sessionId]_SessionPageClient_tsx_dab490d7._.js.map +1 -1
  164. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js +3 -3
  165. package/.next/server/chunks/ssr/src_components_GitRepoSelector_tsx_05c81afa._.js.map +1 -1
  166. package/.next/server/pages/404.html +2 -2
  167. package/.next/server/pages/500.html +2 -2
  168. package/.next/server/server-reference-manifest.js +1 -1
  169. package/.next/server/server-reference-manifest.json +48 -48
  170. package/.next/static/chunks/{369aa92811a706db.js → 1ca050861ead915f.js} +3 -3
  171. package/.next/static/chunks/1f428267926cd032.js +3 -0
  172. package/.next/static/chunks/{f7914ab5db08b8dd.js → 4de7bc5a00a1aed9.js} +2 -2
  173. package/.next/static/chunks/73f859ef915277c7.js +3 -0
  174. package/.next/static/chunks/74f887e69c1fcefa.js +9 -0
  175. package/.next/static/chunks/{d09578ecf3b80b9d.js → db4cb4eb290e3be9.js} +1 -1
  176. package/.next/static/chunks/e5bcfa7f94c34b77.js +1 -0
  177. package/.next/static/chunks/eec24a7b35c2d7bd.css +1 -0
  178. package/README.md +3 -0
  179. package/bin/viba.mjs +120 -4
  180. package/package.json +1 -1
  181. package/.next/server/chunks/[root-of-the-server]__187f37c1._.js +0 -3
  182. package/.next/server/chunks/[root-of-the-server]__2dcb1454._.js +0 -3
  183. package/.next/server/chunks/[root-of-the-server]__2dcb1454._.js.map +0 -1
  184. package/.next/server/chunks/[root-of-the-server]__7324fe0b._.js +0 -3
  185. package/.next/server/chunks/[root-of-the-server]__7f2f8f49._.js +0 -3
  186. package/.next/server/chunks/[root-of-the-server]__8de57231._.js +0 -3
  187. package/.next/server/chunks/[root-of-the-server]__afea2116._.js +0 -3
  188. package/.next/server/chunks/[root-of-the-server]__b17e6c62._.js +0 -7
  189. package/.next/server/chunks/ssr/[root-of-the-server]__30652385._.js +0 -3
  190. package/.next/server/chunks/ssr/[root-of-the-server]__30652385._.js.map +0 -1
  191. package/.next/server/chunks/ssr/_4a66db4a._.js +0 -3
  192. package/.next/static/chunks/0ce2e7006253186a.js +0 -9
  193. package/.next/static/chunks/0f9834bd2f6f4c6e.js +0 -3
  194. package/.next/static/chunks/1958a10518af04a4.js +0 -1
  195. package/.next/static/chunks/3205a3bbc11c3146.css +0 -1
  196. package/.next/static/chunks/b926978a88c43bac.js +0 -3
  197. /package/.next/static/{gMV0bFe8zKqVaStUpkI04 → SPowgKQ4GVFmr1hEouu16}/_buildManifest.js +0 -0
  198. /package/.next/static/{gMV0bFe8zKqVaStUpkI04 → SPowgKQ4GVFmr1hEouu16}/_clientMiddlewareManifest.json +0 -0
  199. /package/.next/static/{gMV0bFe8zKqVaStUpkI04 → SPowgKQ4GVFmr1hEouu16}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94518,e=>{"use strict";var s=e.i(71645),t=e.i(33794),a=e.i(75157);function l(e,l){let n=(0,t.useRepository)(e);(0,s.useEffect)(()=>{let s=e?n?(0,a.getRepositoryDisplayName)(n):(0,a.getRepoFolderName)(e):"Workspace";document.title=`${s} | ${l}`},[e,n,l])}e.s(["useWorkspaceTitle",()=>l])},942,e=>{"use strict";var s=e.i(43476),t=e.i(33794),a=e.i(71645),l=e.i(63178),n=e.i(75157),i=e.i(87724),r=e.i(30660);function c({repoPath:e,filePath:c}){let{data:o,isLoading:d}=(0,t.useGitDiff)(e,c),h=(0,a.useRef)(null),x="git-web:diff-view-split",[m,u]=(0,a.useState)(()=>{try{let e=localStorage.getItem(x);return null===e||JSON.parse(e)}catch(e){return console.error("Failed to load split view preference:",e),!0}}),[f,p]=(0,a.useState)(null),g=f===c,{resolvedTheme:b}=(0,l.useTheme)();if((0,a.useEffect)(()=>{try{localStorage.setItem(x,JSON.stringify(m))}catch(e){console.error("Failed to save split view preference:",e)}},[m]),(0,a.useEffect)(()=>{if(d)return;let e=requestAnimationFrame(()=>{h.current?.scrollTo({top:0,left:0})});return()=>cancelAnimationFrame(e)},[c,d]),d)return(0,s.jsx)("div",{className:"flex items-center justify-center p-8 h-full",children:(0,s.jsx)("span",{className:"loading loading-spinner text-base-content/50"})});if(!o)return(0,s.jsx)("div",{className:"flex items-center justify-center h-full opacity-50",children:"No diff available"});if((0,n.isImageFile)(c))return(0,s.jsxs)("div",{className:"flex flex-col h-full bg-base-100",children:[(0,s.jsx)("div",{className:"flex items-center justify-between px-4 h-[57px] border-b border-base-300 shrink-0 bg-base-100",children:(0,s.jsx)("span",{className:"text-sm font-mono truncate max-w-[70%]",title:c,children:c})}),(0,s.jsx)("div",{className:"flex-1 overflow-auto",children:(0,s.jsx)(r.ImageDiffView,{filePath:c,imageDiff:o.imageDiff})})]});if((0,n.isFileBinary)(c,o.left,o.right))return(0,s.jsxs)("div",{className:"flex flex-col h-full bg-base-100",children:[(0,s.jsx)("div",{className:"flex items-center justify-between px-4 h-[57px] border-b border-base-300 shrink-0 bg-base-100",children:(0,s.jsx)("span",{className:"text-sm font-mono truncate max-w-[70%]",title:c,children:c})}),(0,s.jsx)("div",{className:"flex-1 flex items-center justify-center opacity-50",children:"Binary file - diff not available"})]});let j=o.diff||"",y=j.length,N=(0,n.getChangedLineCountFromDiff)(j),v=y>102400||N>3e3;return(0,s.jsxs)("div",{className:"flex flex-col h-full bg-base-100",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-4 h-[57px] border-b border-base-300 shrink-0 bg-base-100",children:[(0,s.jsx)("span",{className:"text-sm font-mono truncate max-w-[70%]",title:c,children:c}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("label",{htmlFor:"split-view",className:"text-[10px] uppercase tracking-wider font-bold cursor-pointer opacity-70",children:"Split View"}),(0,s.jsx)("input",{type:"checkbox",id:"split-view",checked:m,onChange:e=>u(e.target.checked),className:"toggle toggle-sm toggle-primary"})]})]}),(0,s.jsx)("div",{ref:h,className:"flex-1 overflow-auto diff-viewer-wrapper",children:v&&!g?(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 text-center p-4",children:[(0,s.jsx)("i",{className:"iconoir-warning-triangle text-[40px] text-warning","aria-hidden":"true"}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("h3",{className:"font-bold text-lg",children:"Large Diff Detected"}),(0,s.jsxs)("p",{className:"opacity-70",children:["This diff is large (",Math.round(y/1024),"KB, ~",N," changed lines) and may freeze your browser if rendered."]})]}),(0,s.jsx)("button",{className:"btn btn-outline",onClick:()=>p(c),children:"Show Diff Anyway"})]}):(0,s.jsx)(i.GroupedDiffViewer,{oldValue:o.left||"",newValue:o.right||"",splitView:m,useDarkTheme:"dark"===b})})]})}e.s(["DiffView",()=>c])},71322,e=>{"use strict";var s=e.i(43476),t=e.i(18566),a=e.i(33794),l=e.i(71645),n=e.i(75157),i=e.i(942),r=e.i(28132);let c=[];function o(e,s){let t=e.trim(),a=s.replace(/\r\n/g,"\n");return a.trim()?`${t}
2
-
3
- ${a}`:t}function d(e){let s={name:"",path:"",children:new Map};for(let t of e){let e=t.split("/").filter(Boolean),a=s,l="";for(let s=0;s<e.length;s++){let n=e[s];l=l?`${l}/${n}`:n,a.children.has(n)||a.children.set(n,{name:n,path:l,children:new Map}),a=a.children.get(n),s===e.length-1&&(a.filePath=t)}}return s}function h(e){let s=[];return Array.from(e.children.values()).forEach(e=>{e.children.size>0&&(s.push(e.path),s.push(...h(e)))}),s}function x(e){let s=e.split("/").filter(Boolean),t=[];for(let e=1;e<s.length;e++)t.push(s.slice(0,e).join("/"));return t}function m({node:e,selectedFile:t,expandedFolders:a,onToggleFolder:l,onSelectFile:i,onActionFile:r,actionType:c,actionPending:o,depth:d=0}){let h=Array.from(e.children.values()).sort((e,s)=>{let t=e.children.size>0,a=s.children.size>0;return t&&!a?-1:!t&&a?1:e.name.localeCompare(s.name)});return(0,s.jsx)(s.Fragment,{children:h.map(e=>{if(e.children.size>0){let n=a.has(e.path);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1.5 text-xs rounded cursor-pointer text-slate-600 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-slate-800/70 transition-colors",style:{paddingLeft:`${12*d+8}px`},onClick:()=>l(e.path),title:e.path,children:[(0,s.jsx)("span",{className:"text-[10px] opacity-70",children:n?"▼":"▶"}),(0,s.jsx)("i",{className:"iconoir-folder text-[14px] opacity-70","aria-hidden":"true"}),(0,s.jsx)("span",{className:"truncate flex-1",children:e.name})]}),n&&(0,s.jsx)(m,{node:e,selectedFile:t,expandedFolders:a,onToggleFolder:l,onSelectFile:i,onActionFile:r,actionType:c,actionPending:o,depth:d+1})]},e.path)}let h=e.filePath;return h?(0,s.jsxs)("div",{className:(0,n.cn)("flex items-center justify-between gap-2 px-2 py-1.5 rounded-md cursor-pointer group hover:bg-slate-100 dark:hover:bg-slate-800/70 transition-colors text-sm",t===h&&"bg-slate-100 dark:bg-slate-800/70 font-medium text-primary"),style:{paddingLeft:`${12*d+8}px`},onClick:()=>i(h),title:h,children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[(0,s.jsx)("i",{className:"iconoir-page text-[14px] opacity-70 shrink-0","aria-hidden":"true"}),(0,s.jsx)("span",{className:"truncate flex-1 font-mono text-xs",children:e.name})]}),(0,s.jsx)("button",{className:(0,n.cn)("btn btn-ghost btn-xs btn-square opacity-0 group-hover:opacity-100 transition-opacity","stage"===c?"text-success hover:bg-success/10":"text-error hover:bg-error/10"),onClick:e=>{e.stopPropagation(),r(h)},disabled:o,children:(0,s.jsx)("i",{className:(0,n.cn)("text-[14px]","stage"===c?"iconoir-plus-circle":"iconoir-minus-circle"),"aria-hidden":"true"})})]},h):null})})}function u({repoPath:e}){let{data:t,isLoading:u,isError:f,error:p,refetch:g}=(0,a.useGitStatus)(e),{data:b}=(0,a.useGitBranches)(e),j=(0,a.useGitAction)(),[y,N]=(0,l.useState)(""),[v,w]=(0,l.useState)(""),[k,C]=(0,l.useState)(null),[S,P]=(0,l.useState)(!1),[D,F]=(0,l.useState)(""),[A,E]=(0,l.useState)(!1),[T,B]=(0,l.useState)(!1),[M,z]=(0,l.useState)("main"),[K,L]=(0,l.useState)(new Set),[R,V]=(0,l.useState)(new Set),[$,q]=(0,l.useState)(250),[G,I]=(0,l.useState)(!1),O=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=e=>{if(!G||!O.current)return;let s=O.current.startY-e.clientY;q(Math.max(150,Math.min(800,O.current.startHeight+s)))},s=()=>{I(!1),O.current=null,document.body.style.cursor="default",document.body.style.userSelect="auto"};return G&&(window.addEventListener("mousemove",e),window.addEventListener("mouseup",s),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",s),document.body.style.cursor="default",document.body.style.userSelect="auto"}},[G]);let U=t?.files??c,Y=!!b&&0===b.branches.length,{staged:H,changes:W}=(0,l.useMemo)(()=>{let e=[],s=[];return U.forEach(t=>{" "!==t.index&&"?"!==t.index&&e.push(t.path),(" "!==t.working_dir||"?"===t.index)&&s.push(t.path)}),{staged:e,changes:s}},[U]),J=(0,l.useMemo)(()=>d(W),[W]),_=(0,l.useMemo)(()=>d(H),[H]),Q=(0,l.useMemo)(()=>h(J),[J]),X=(0,l.useMemo)(()=>h(_),[_]),Z=(0,l.useMemo)(()=>{let e=new Set;return Q.forEach(s=>{K.has(s)||e.add(s)}),k&&x(k).forEach(s=>e.add(s)),e},[Q,K,k]),ee=(0,l.useMemo)(()=>{let e=new Set;return X.forEach(s=>{R.has(s)||e.add(s)}),k&&x(k).forEach(s=>e.add(s)),e},[X,R,k]),es=(0,l.useCallback)(e=>{L(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t})},[]),et=(0,l.useCallback)(e=>{V(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t})},[]),ea=async s=>{await j.mutateAsync({repoPath:e,action:"stage",data:{files:[s]}})},el=async s=>{await j.mutateAsync({repoPath:e,action:"unstage",data:{files:[s]}})},en=async()=>{await j.mutateAsync({repoPath:e,action:"stage",data:{files:["."]}})},ei=async()=>{await j.mutateAsync({repoPath:e,action:"unstage",data:{files:H}})},er=async()=>{await j.mutateAsync({repoPath:e,action:"stash",data:{message:D||void 0}}),P(!1),F(""),C(null)},ec=async()=>{await j.mutateAsync({repoPath:e,action:"discard",data:{includeUntracked:!0}}),E(!1),C(null)},eo=async()=>{let s=y.trim();if(s){if(Y)return void B(!0);await j.mutateAsync({repoPath:e,action:"commit",data:{message:o(s,v)}}),N(""),w(""),C(null)}},ed=async()=>{let s=y.trim(),t=M.trim();s&&t&&(await j.mutateAsync({repoPath:e,action:"commit",data:{message:o(s,v),initialBranch:t}}),N(""),w(""),C(null),B(!1))};(0,r.useEscapeDismiss)(S,()=>P(!1),()=>{j.isPending||er()}),(0,r.useEscapeDismiss)(A,()=>E(!1),()=>{j.isPending||ec()}),(0,r.useEscapeDismiss)(T,()=>B(!1),()=>{!j.isPending&&M.trim()&&ed()});let eh=e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),H.length>0&&y.trim()&&!j.isPending&&eo())};return u?(0,s.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,s.jsx)("span",{className:"loading loading-spinner text-base-content/50"})}):f?(0,s.jsxs)("div",{className:"flex items-center justify-center h-64 flex-col gap-4",children:[(0,s.jsx)("p",{className:"text-error font-bold",children:"Error Loading Status"}),(0,s.jsx)("p",{className:"text-sm opacity-70",children:p?.message||"An unknown error occurred"}),(0,s.jsxs)("button",{onClick:()=>g(),className:"btn btn-outline btn-sm",children:[(0,s.jsx)("i",{className:"iconoir-refresh-circle text-[16px] mr-1","aria-hidden":"true"}),"Try Again"]})]}):t?(0,s.jsxs)("div",{className:"flex h-full overflow-hidden",children:[(0,s.jsxs)("div",{className:"flex flex-1 min-w-0 flex-col gap-2 overflow-hidden",children:[(0,s.jsxs)("div",{className:"flex min-h-[57px] shrink-0 items-center justify-between gap-2 rounded-xl border border-slate-200 bg-white px-4 py-2 dark:border-slate-800 dark:bg-slate-900",children:[(0,s.jsx)("h1",{className:"font-bold text-lg text-slate-900 dark:text-slate-100",children:"Changes"}),(0,s.jsxs)("button",{className:"flex h-8 items-center gap-1.5 rounded-md border border-slate-200 bg-white px-3 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-50 hover:text-slate-900 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-300 dark:hover:bg-slate-800 dark:hover:text-slate-100",onClick:()=>g(),disabled:j.isPending,title:"Refresh status",children:[j.isPending?(0,s.jsx)("span",{className:"loading loading-spinner loading-xs"}):(0,s.jsx)("i",{className:"iconoir-refresh-circle text-[16px]","aria-hidden":"true"}),"Refresh"]})]}),(0,s.jsxs)("div",{className:"flex flex-1 overflow-hidden rounded-xl border border-slate-200 bg-white dark:border-slate-800 dark:bg-slate-900",children:[(0,s.jsx)("div",{className:"w-64 border-r border-slate-200 dark:border-slate-800 flex flex-col bg-slate-50/70 dark:bg-slate-900/70",children:(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[(0,s.jsxs)("div",{className:"p-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-2 py-2 mb-1",children:[(0,s.jsxs)("h3",{className:"text-xs font-bold uppercase tracking-wider opacity-70",children:["Changes (",W.length,")"]}),(0,s.jsxs)("div",{className:"flex items-center gap-0.5",children:[0===W.length&&H.length>0?(0,s.jsx)("button",{className:"btn btn-ghost btn-xs btn-square",onClick:ei,title:"Unstage All",children:(0,s.jsx)("i",{className:"iconoir-arrow-up text-[16px]","aria-hidden":"true"})}):(0,s.jsx)("button",{className:"btn btn-ghost btn-xs btn-square",onClick:en,disabled:0===W.length,title:"Stage All",children:(0,s.jsx)("i",{className:"iconoir-arrow-down text-[16px]","aria-hidden":"true"})}),(0,s.jsx)("button",{className:"btn btn-ghost btn-xs btn-square",onClick:()=>P(!0),disabled:0===W.length&&0===H.length,title:"Stash",children:(0,s.jsx)("i",{className:"iconoir-download-square text-[16px]","aria-hidden":"true"})}),(0,s.jsx)("button",{className:"btn btn-ghost btn-xs btn-square text-error hover:bg-error/10",onClick:()=>E(!0),disabled:0===W.length,title:"Discard All",children:(0,s.jsx)("i",{className:"iconoir-trash text-[16px]","aria-hidden":"true"})})]})]}),(0,s.jsxs)("div",{className:"space-y-0.5",children:[0===W.length&&(0,s.jsx)("p",{className:"px-2 py-2 text-xs opacity-50 italic",children:"No changes"}),W.length>0&&(0,s.jsx)(m,{node:J,selectedFile:k,expandedFolders:Z,onToggleFolder:es,onSelectFile:C,onActionFile:ea,actionType:"stage",actionPending:j.isPending})]})]}),(0,s.jsx)("div",{className:"h-px bg-slate-200 dark:bg-slate-800 mx-4 my-2"}),(0,s.jsxs)("div",{className:"p-2",children:[(0,s.jsx)("div",{className:"flex items-center justify-between px-2 py-2 mb-1",children:(0,s.jsxs)("h3",{className:"text-xs font-bold uppercase tracking-wider opacity-70",children:["Staged (",H.length,")"]})}),(0,s.jsxs)("div",{className:"space-y-0.5",children:[0===H.length&&(0,s.jsx)("p",{className:"px-2 py-2 text-xs opacity-50 italic",children:"No staged changes"}),H.length>0&&(0,s.jsx)(m,{node:_,selectedFile:k,expandedFolders:ee,onToggleFolder:et,onSelectFile:C,onActionFile:el,actionType:"unstage",actionPending:j.isPending})]})]})]})}),(0,s.jsxs)("div",{className:"flex-1 flex flex-col bg-white dark:bg-slate-900 overflow-hidden",children:[(0,s.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col min-h-0",children:k?(0,s.jsx)("div",{className:"h-full flex flex-col",children:(0,s.jsx)(i.DiffView,{repoPath:e,filePath:k})}):(0,s.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center opacity-50",children:[(0,s.jsx)("div",{className:"p-8 rounded-full bg-slate-100 dark:bg-slate-800/60 mb-4 text-4xl",children:(0,s.jsx)("i",{className:"iconoir-refresh-circle text-[32px]","aria-hidden":"true"})}),(0,s.jsx)("p",{className:"text-sm font-bold",children:"Select a file to view changes"})]})}),(0,s.jsx)("div",{className:"h-1.5 cursor-ns-resize flex items-center justify-center hover:bg-slate-100 dark:hover:bg-slate-800/60 transition-colors group shrink-0 border-t border-slate-200 dark:border-slate-800",onMouseDown:e=>{e.preventDefault(),I(!0),O.current={startY:e.clientY,startHeight:$}},children:(0,s.jsx)("div",{className:"w-8 h-1 rounded-full bg-base-300 group-hover:bg-base-content/20 transition-colors"})}),(0,s.jsx)("div",{className:"flex flex-col border-t border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shrink-0",style:{height:$},children:(0,s.jsxs)("div",{className:"flex-1 p-4 overflow-y-auto",children:[(0,s.jsx)("input",{type:"text",placeholder:"Commit subject...",value:y,onChange:e=>N(e.target.value),onKeyDown:eh,className:"input input-bordered w-full text-sm mb-2 font-sans"}),(0,s.jsx)("textarea",{placeholder:"Commit message body (optional)...",value:v,onChange:e=>w(e.target.value),onKeyDown:eh,className:"textarea textarea-bordered w-full text-sm resize-none mb-3 font-sans flex-1",style:{minHeight:"80px",height:"calc(100% - 90px)"}}),(0,s.jsxs)("button",{className:"btn btn-primary w-full btn-sm",onClick:eo,disabled:0===H.length||!y.trim()||j.isPending,children:[j.isPending?(0,s.jsx)("span",{className:"loading loading-spinner loading-xs mr-2"}):(0,s.jsx)("span",{className:"mr-2",children:"✅"}),"Commit Changes"]})]})})]})]})]}),S&&(0,s.jsxs)("dialog",{className:"modal modal-open",children:[(0,s.jsxs)("div",{className:"modal-box",children:[(0,s.jsx)("h3",{className:"font-bold text-lg",children:"Stash Changes"}),(0,s.jsx)("p",{className:"py-4 opacity-70",children:"Save your local modifications to a new stash entry."}),(0,s.jsx)("div",{className:"py-2",children:(0,s.jsx)("input",{type:"text",placeholder:"Stash message (optional)",value:D,onChange:e=>F(e.target.value),autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),er())},className:"input input-bordered w-full"})}),(0,s.jsxs)("div",{className:"modal-action",children:[(0,s.jsx)("button",{className:"btn",onClick:()=>P(!1),children:"Cancel"}),(0,s.jsxs)("button",{className:"btn btn-primary",onClick:er,disabled:j.isPending,children:[j.isPending&&(0,s.jsx)("span",{className:"loading loading-spinner loading-xs"}),"Stash"]})]})]}),(0,s.jsx)("form",{method:"dialog",className:"modal-backdrop",children:(0,s.jsx)("button",{onClick:()=>P(!1),children:"close"})})]}),A&&(0,s.jsxs)("dialog",{className:"modal modal-open",children:[(0,s.jsxs)("div",{className:"modal-box",children:[(0,s.jsx)("h3",{className:"font-bold text-lg",children:"Discard Changes"}),(0,s.jsx)("p",{className:"py-4",children:"Are you sure you want to discard all unstaged changes and new files? This action cannot be undone."}),(0,s.jsxs)("div",{className:"modal-action",children:[(0,s.jsx)("button",{className:"btn",onClick:()=>E(!1),children:"Cancel"}),(0,s.jsxs)("button",{className:"btn btn-error",onClick:ec,disabled:j.isPending,children:[j.isPending&&(0,s.jsx)("span",{className:"loading loading-spinner loading-xs"}),"Discard"]})]})]}),(0,s.jsx)("form",{method:"dialog",className:"modal-backdrop",children:(0,s.jsx)("button",{onClick:()=>E(!1),children:"close"})})]}),T&&(0,s.jsxs)("dialog",{className:"modal modal-open",children:[(0,s.jsxs)("div",{className:"modal-box",children:[(0,s.jsx)("h3",{className:"font-bold text-lg",children:"First Commit Branch"}),(0,s.jsx)("p",{className:"py-4 opacity-70",children:"This repository has no commits yet. Choose the branch name for the first commit."}),(0,s.jsx)("div",{className:"py-2",children:(0,s.jsx)("input",{type:"text",placeholder:"Branch name",value:M,onChange:e=>z((0,n.sanitizeBranchName)(e.target.value)),autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),ed())},className:"input input-bordered w-full"})}),(0,s.jsxs)("div",{className:"modal-action",children:[(0,s.jsx)("button",{className:"btn",onClick:()=>B(!1),children:"Cancel"}),(0,s.jsxs)("button",{className:"btn btn-primary",onClick:ed,disabled:!M.trim()||j.isPending,children:[j.isPending&&(0,s.jsx)("span",{className:"loading loading-spinner loading-xs"}),"Commit to Branch"]})]})]}),(0,s.jsx)("form",{method:"dialog",className:"modal-backdrop",children:(0,s.jsx)("button",{onClick:()=>B(!1),children:"close"})})]})]}):(0,s.jsx)("div",{className:"flex items-center justify-center h-64 opacity-70",children:"No status data available"})}var f=e.i(94518);function p(){let e=(0,t.useSearchParams)().get("path");return((0,f.useWorkspaceTitle)(e,"Changes"),e)?(0,s.jsx)(u,{repoPath:e}):(0,s.jsx)("div",{className:"p-8",children:"No repository path specified."})}function g(){return(0,s.jsx)(l.Suspense,{fallback:(0,s.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,s.jsx)("span",{className:"loading loading-spinner"})}),children:(0,s.jsx)(p,{})})}e.s(["default",()=>g],71322)}]);