trident-git 0.12.0 → 0.14.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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +3 -3
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/credentials/github/repos/route.js +1 -1
- package/.next/server/app/api/credentials/github/repos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/credentials/route.js +1 -1
- package/.next/server/app/api/credentials/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/custom-scripts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/open/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/open-terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/action/route.js +1 -1
- package/.next/server/app/api/git/action/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repos/clone/route.js +1 -1
- package/.next/server/app/api/repos/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repos/route.js +1 -1
- package/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/credentials/page_client-reference-manifest.js +1 -1
- package/.next/server/app/credentials.html +1 -1
- package/.next/server/app/credentials.rsc +1 -1
- package/.next/server/app/credentials.segments/_full.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/_head.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/_index.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/credentials/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/credentials.segments/credentials.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/changes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/changes.html +1 -1
- package/.next/server/app/workspace/changes.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/workspace/changes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/workspace/changes.segment.rsc +1 -1
- package/.next/server/app/workspace/changes.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/conflicts.html +1 -1
- package/.next/server/app/workspace/conflicts.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/workspace/conflicts/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/workspace/conflicts.segment.rsc +1 -1
- package/.next/server/app/workspace/conflicts.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/custom-scripts.html +1 -1
- package/.next/server/app/workspace/custom-scripts.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/workspace/custom-scripts/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/workspace/custom-scripts.segment.rsc +1 -1
- package/.next/server/app/workspace/custom-scripts.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace/history/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/history.html +1 -1
- package/.next/server/app/workspace/history.rsc +1 -1
- package/.next/server/app/workspace/history.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/workspace/history/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/workspace/history.segment.rsc +1 -1
- package/.next/server/app/workspace/history.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/settings.html +1 -1
- package/.next/server/app/workspace/settings.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/workspace/settings/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/workspace/settings.segment.rsc +1 -1
- package/.next/server/app/workspace/settings.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspace/stashes.html +1 -1
- package/.next/server/app/workspace/stashes.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/workspace/stashes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/workspace/stashes.segment.rsc +1 -1
- package/.next/server/app/workspace/stashes.segments/workspace.segment.rsc +1 -1
- package/.next/server/app/workspace.html +1 -1
- package/.next/server/app/workspace.rsc +1 -1
- package/.next/server/app/workspace.segments/_full.segment.rsc +1 -1
- package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
- package/.next/server/app/workspace.segments/_index.segment.rsc +1 -1
- package/.next/server/app/workspace.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +3 -3
- package/.next/server/chunks/266.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.json +1 -1
- package/README.md +7 -4
- package/package.json +1 -1
- /package/.next/static/{9mpgWr-JNBB7zNp9O_2JS → BT4bERaT51IrvSNjXmo0M}/_buildManifest.js +0 -0
- /package/.next/static/{9mpgWr-JNBB7zNp9O_2JS → BT4bERaT51IrvSNjXmo0M}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=266,exports.ids=[266],exports.modules={1883:(a,b,c)=>{Promise.resolve().then(c.bind(c,9671)),Promise.resolve().then(c.bind(c,6920))},3246:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>g});var d=c(7484),e=c(9099),f=c(4626);function g(){(0,e.usePathname)(),(0,e.useSearchParams)().get("path");let{data:a}=(0,f.uG)();return(0,f.Lp)(),(0,d.useRef)(null),null}},4528:(a,b,c)=>{"use strict";let d,e;c.d(b,{Ck:()=>p,Ir:()=>q,NV:()=>n,Xx:()=>u,cZ:()=>v,jD:()=>r,mt:()=>t});var f=c(9021),g=c.n(f),h=c(1820),i=c.n(h),j=c(3873),k=c.n(j);let l=(d=process.platform,e=i().homedir(),"win32"===d?k().join(process.env.APPDATA||k().join(e,"AppData","Roaming"),"trident"):"darwin"===d?k().join(e,"Library","Application Support","trident"):k().join(process.env.XDG_CONFIG_HOME||k().join(e,".config"),"trident")),m=k().join(l,"repos.json");function n(){if(!g().existsSync(m))return[];try{let a=g().readFileSync(m,"utf-8");return JSON.parse(a)}catch(a){return console.error("Failed to parse repos.json",a),[]}}function o(a){if(void 0===a)return;if(null===a)return null;let b=a.trim();return b.length>0?b:null}function p(a,b,c){let d=n();if(d.find(b=>b.path===a))throw Error("Repository already exists");let e=o(c),f={path:a,name:b||k().basename(a),...e?{displayName:e}:{}};return d.push(f),g().writeFileSync(m,JSON.stringify(d,null,2)),f}function q(a,b){let c=n(),d=c.findIndex(b=>b.path===a);if(-1===d)throw Error("Repository not found");let e={...b};"displayName"in e&&(e.displayName=o(e.displayName));let f={...c[d],...e};return c[d]=f,g().writeFileSync(m,JSON.stringify(c,null,2)),f}function r(a,b){let{deleteLocalFolder:c=!1}=b||{};if(c){let b=k().resolve(a),c=k().parse(b).root;if(b===c)throw Error("Refusing to delete a filesystem root path");g().rmSync(b,{recursive:!0,force:!0})}let d=n();d=d.filter(b=>b.path!==a),g().writeFileSync(m,JSON.stringify(d,null,2))}g().existsSync(l)||g().mkdirSync(l,{recursive:!0});let s=k().join(l,"settings.json");function t(){let a={defaultRootFolder:null,sidebarCollapsed:!1};if(!g().existsSync(s))return a;try{let b=g().readFileSync(s,"utf-8"),c=JSON.parse(b);return{...a,...c}}catch(b){return console.error("Failed to parse settings.json",b),a}}function u(a){let b={...t(),...a};return g().writeFileSync(s,JSON.stringify(b,null,2)),b}function v(){let a=t();if(a.defaultRootFolder)try{if(g().existsSync(a.defaultRootFolder)&&g().statSync(a.defaultRootFolder).isDirectory())return a.defaultRootFolder}catch{}return i().homedir()}},4763:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(9671),f=c(1986),g=c(6920),h=c(4528);function i({children:a}){let b=(0,h.mt)().sidebarCollapsed??!1;return(0,d.jsxs)("div",{className:"flex min-h-screen max-h-screen bg-base-100",children:[(0,d.jsx)(f.Suspense,{fallback:null,children:(0,d.jsx)(g.WorkspaceRepoOpenTracker,{})}),(0,d.jsx)(f.Suspense,{fallback:(0,d.jsx)("div",{className:`${b?"w-16":"w-64"} border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center`,children:(0,d.jsx)("span",{className:"loading loading-spinner"})}),children:(0,d.jsx)(e.Sidebar,{initialCollapsed:b})}),(0,d.jsx)("main",{className:"flex-1 overflow-auto",children:a})]})}},5229:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>l});var d=c(8249),e=c(4490),f=c(2116),g=c.n(f),h=c(781),i=c(9099),j=c(7484),k=c(4626);function l({className:a,initialCollapsed:b=!1}){let c=(0,i.usePathname)(),f=(0,i.useSearchParams)(),l=(0,i.useRouter)(),m=f.get("path")||"",n=(0,k.GK)(m||null),[o,p]=(0,j.useState)(b),[q,r]=(0,j.useState)(!1),[s,t]=(0,j.useState)(!1),u=(0,k.Y5)(),{data:v}=(0,k.en)(m||null),w=v?.files?.length??0,x=v?.conflicted?.length??0,y=v?.current?.trim(),z=n?(0,e.iu)(n):m?(0,e.kj)(m):"",A=(0,j.useCallback)(()=>{let a=!o;p(a),u.mutate({sidebarCollapsed:a})},[o,u]),B=(a="")=>{let b=new URLSearchParams(f.toString());return b.delete("tab"),m&&y?b.set("branch",y):m||b.delete("branch"),`/workspace${a}?${b.toString()}`},C=a=>"status"===a?"/workspace/changes"===c:"history"===a?"/workspace"===c||c.startsWith("/workspace/history"):"conflicts"===a?c.startsWith("/workspace/conflicts"):"custom-scripts"===a?c.startsWith("/workspace/custom-scripts"):"settings"===a?c.startsWith("/workspace/settings"):"stashes"===a&&c.startsWith("/workspace/stashes"),D=o?64:256;return(0,d.jsxs)("div",{style:{width:D},className:(0,e.cn)("pb-12 border-r border-base-300 min-h-screen bg-base-100 relative",q&&"transition-all duration-300",a),children:[(0,d.jsx)("div",{className:"space-y-4 py-4",children:(0,d.jsxs)("div",{className:(0,e.cn)("px-3 py-2",o&&"px-2"),children:[(0,d.jsxs)("div",{className:(0,e.cn)("mb-6 flex items-center",o?"flex-col gap-2 px-0":"justify-between px-4"),children:[!o&&(0,d.jsxs)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center gap-2 hover:opacity-80 transition-opacity cursor-pointer text-base-content overflow-hidden",title:z?`${z} - Go to Home`:"Go to Home",children:[(0,d.jsx)("img",{src:"/icon.png",alt:"Trident",className:"h-5 w-5 flex-shrink-0"}),(0,d.jsx)("h2",{className:"text-lg font-bold tracking-tight truncate",children:z||"Trident"})]}),o&&(0,d.jsx)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center justify-center h-8 w-8 hover:opacity-80 transition-opacity cursor-pointer",title:z?`${z} - Go to Home`:"Go to Home",children:(0,d.jsx)("img",{src:"/icon.png",alt:z||"Trident",className:"h-5 w-5"})}),(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-1",o&&"flex-col"),children:(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:A,title:o?"Expand sidebar":"Collapse sidebar",children:o?(0,d.jsx)("i",{className:"iconoir-fast-arrow-right text-[16px]","aria-hidden":"true"}):(0,d.jsx)("i",{className:"iconoir-fast-arrow-left text-[16px]","aria-hidden":"true"})})})]}),!o&&m&&(0,d.jsx)("div",{className:"px-4 mb-6",children:(0,d.jsx)("p",{className:"text-[10px] font-mono opacity-60 break-all border border-base-300 rounded p-2 bg-base-200/30",title:m,children:m})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)(g(),{href:B(),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("history")&&"btn-active font-medium"),title:o?"History":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-git-fork text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"History"]}),(0,d.jsxs)(g(),{href:B("/changes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("status")&&"btn-active font-medium"),title:o?`Changes${w>0?` (${w})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-clock text-[20px]","aria-hidden":"true"}),o&&w>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-primary badge-xs scale-75",children:w>99?"99+":w})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Changes",w>0&&(0,d.jsx)("span",{className:"badge badge-sm",children:w})]})]}),(0,d.jsxs)(g(),{href:B("/conflicts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("conflicts")&&"btn-active font-medium"),title:o?`Conflicts${x>0?` (${x})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-warning-triangle text-[20px]","aria-hidden":"true"}),o&&x>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-error badge-xs scale-75",children:x>99?"99+":x})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Conflicts",x>0&&(0,d.jsx)("span",{className:"badge badge-sm badge-error",children:x})]})]}),(0,d.jsxs)(g(),{href:B("/stashes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("stashes")&&"btn-active font-medium"),title:o?"Stashes":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-download-square text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Stashes"]}),(0,d.jsxs)(g(),{href:B("/custom-scripts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("custom-scripts")&&"btn-active font-medium"),title:o?"Custom scripts":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-terminal text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Custom scripts"]}),(0,d.jsxs)(g(),{href:B("/settings"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("settings")&&"btn-active font-medium"),title:o?"Settings":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-settings text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Settings"]})]})]})}),(0,d.jsx)("div",{className:(0,e.cn)("absolute bottom-4 left-0 w-full",o?"px-2":"px-6"),children:(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center",o?"justify-center":"gap-2"),children:[(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>t(!0),title:o?"Preferences":void 0,children:(0,d.jsx)("i",{className:"iconoir-ios-settings text-[20px]","aria-hidden":"true"})}),!o&&(0,d.jsx)("span",{className:"text-xs opacity-70",children:"Preferences"})]})}),(0,d.jsx)(h.g,{open:s,onOpenChange:t})]})}},6920:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call WorkspaceRepoOpenTracker() from the server but WorkspaceRepoOpenTracker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/trident/trident/src/components/workspace-repo-open-tracker.tsx","WorkspaceRepoOpenTracker")},7536:(a,b,c)=>{"use strict";c.d(b,{J:()=>e}),c(7484);var d=c(4626);function e(a,b){(0,d.GK)(a)}c(4490)},7907:(a,b,c)=>{Promise.resolve().then(c.bind(c,5229)),Promise.resolve().then(c.bind(c,3246))},9671:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/trident/trident/src/components/layout/sidebar.tsx","Sidebar")}};
|
|
1
|
+
exports.id=266,exports.ids=[266],exports.modules={10:(a,b,c)=>{"use strict";c.d(b,{L:()=>h});var d=c(1820),e=c.n(d),f=c(3873),g=c.n(f);function h(){let a=process.platform,b=e().homedir();return"win32"===a?g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),"trident"):"darwin"===a?g().join(b,"Library","Application Support","trident"):g().join(process.env.XDG_CONFIG_HOME||g().join(b,".config"),"trident")}},1883:(a,b,c)=>{Promise.resolve().then(c.bind(c,9671)),Promise.resolve().then(c.bind(c,6920))},3246:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>g});var d=c(7484),e=c(9099),f=c(4626);function g(){(0,e.usePathname)(),(0,e.useSearchParams)().get("path");let{data:a}=(0,f.uG)();return(0,f.Lp)(),(0,d.useRef)(null),null}},4528:(a,b,c)=>{"use strict";c.d(b,{Ck:()=>n,Ir:()=>o,NV:()=>l,Xx:()=>s,cZ:()=>t,jD:()=>p,mt:()=>r});var d=c(9021),e=c.n(d),f=c(1820),g=c.n(f),h=c(3873),i=c.n(h);let j=(0,c(10).L)(),k=i().join(j,"repos.json");function l(){if(!e().existsSync(k))return[];try{let a=e().readFileSync(k,"utf-8");return JSON.parse(a)}catch(a){return console.error("Failed to parse repos.json",a),[]}}function m(a){if(void 0===a)return;if(null===a)return null;let b=a.trim();return b.length>0?b:null}function n(a,b,c){let d=l();if(d.find(b=>b.path===a))throw Error("Repository already exists");let f=m(c),g={path:a,name:b||i().basename(a),...f?{displayName:f}:{}};return d.push(g),e().writeFileSync(k,JSON.stringify(d,null,2)),g}function o(a,b){let c=l(),d=c.findIndex(b=>b.path===a);if(-1===d)throw Error("Repository not found");let f={...b};"displayName"in f&&(f.displayName=m(f.displayName));let g={...c[d],...f};return c[d]=g,e().writeFileSync(k,JSON.stringify(c,null,2)),g}function p(a,b){let{deleteLocalFolder:c=!1}=b||{};if(c){let b=i().resolve(a),c=i().parse(b).root;if(b===c)throw Error("Refusing to delete a filesystem root path");e().rmSync(b,{recursive:!0,force:!0})}let d=l();d=d.filter(b=>b.path!==a),e().writeFileSync(k,JSON.stringify(d,null,2))}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let q=i().join(j,"settings.json");function r(){let a={defaultRootFolder:null,sidebarCollapsed:!1};if(!e().existsSync(q))return a;try{let b=e().readFileSync(q,"utf-8"),c=JSON.parse(b);return{...a,...c}}catch(b){return console.error("Failed to parse settings.json",b),a}}function s(a){let b={...r(),...a};return e().writeFileSync(q,JSON.stringify(b,null,2)),b}function t(){let a=r();if(a.defaultRootFolder)try{if(e().existsSync(a.defaultRootFolder)&&e().statSync(a.defaultRootFolder).isDirectory())return a.defaultRootFolder}catch{}return g().homedir()}},4763:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(9671),f=c(1986),g=c(6920),h=c(4528);function i({children:a}){let b=(0,h.mt)().sidebarCollapsed??!1;return(0,d.jsxs)("div",{className:"flex min-h-screen max-h-screen bg-base-100",children:[(0,d.jsx)(f.Suspense,{fallback:null,children:(0,d.jsx)(g.WorkspaceRepoOpenTracker,{})}),(0,d.jsx)(f.Suspense,{fallback:(0,d.jsx)("div",{className:`${b?"w-16":"w-64"} border-r border-base-300 min-h-screen bg-base-200/30 flex items-center justify-center`,children:(0,d.jsx)("span",{className:"loading loading-spinner"})}),children:(0,d.jsx)(e.Sidebar,{initialCollapsed:b})}),(0,d.jsx)("main",{className:"flex-1 overflow-auto",children:a})]})}},5229:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>l});var d=c(8249),e=c(4490),f=c(2116),g=c.n(f),h=c(781),i=c(9099),j=c(7484),k=c(4626);function l({className:a,initialCollapsed:b=!1}){let c=(0,i.usePathname)(),f=(0,i.useSearchParams)(),l=(0,i.useRouter)(),m=f.get("path")||"",n=(0,k.GK)(m||null),[o,p]=(0,j.useState)(b),[q,r]=(0,j.useState)(!1),[s,t]=(0,j.useState)(!1),u=(0,k.Y5)(),{data:v}=(0,k.en)(m||null),w=v?.files?.length??0,x=v?.conflicted?.length??0,y=v?.current?.trim(),z=n?(0,e.iu)(n):m?(0,e.kj)(m):"",A=(0,j.useCallback)(()=>{let a=!o;p(a),u.mutate({sidebarCollapsed:a})},[o,u]),B=(a="")=>{let b=new URLSearchParams(f.toString());return b.delete("tab"),m&&y?b.set("branch",y):m||b.delete("branch"),`/workspace${a}?${b.toString()}`},C=a=>"status"===a?"/workspace/changes"===c:"history"===a?"/workspace"===c||c.startsWith("/workspace/history"):"conflicts"===a?c.startsWith("/workspace/conflicts"):"custom-scripts"===a?c.startsWith("/workspace/custom-scripts"):"settings"===a?c.startsWith("/workspace/settings"):"stashes"===a&&c.startsWith("/workspace/stashes"),D=o?64:256;return(0,d.jsxs)("div",{style:{width:D},className:(0,e.cn)("pb-12 border-r border-base-300 min-h-screen bg-base-100 relative",q&&"transition-all duration-300",a),children:[(0,d.jsx)("div",{className:"space-y-4 py-4",children:(0,d.jsxs)("div",{className:(0,e.cn)("px-3 py-2",o&&"px-2"),children:[(0,d.jsxs)("div",{className:(0,e.cn)("mb-6 flex items-center",o?"flex-col gap-2 px-0":"justify-between px-4"),children:[!o&&(0,d.jsxs)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center gap-2 hover:opacity-80 transition-opacity cursor-pointer text-base-content overflow-hidden",title:z?`${z} - Go to Home`:"Go to Home",children:[(0,d.jsx)("img",{src:"/icon.png",alt:"Trident",className:"h-5 w-5 flex-shrink-0"}),(0,d.jsx)("h2",{className:"text-lg font-bold tracking-tight truncate",children:z||"Trident"})]}),o&&(0,d.jsx)("a",{href:"/",onClick:a=>{a.metaKey||a.ctrlKey||(a.preventDefault(),l.push("/"))},className:"flex items-center justify-center h-8 w-8 hover:opacity-80 transition-opacity cursor-pointer",title:z?`${z} - Go to Home`:"Go to Home",children:(0,d.jsx)("img",{src:"/icon.png",alt:z||"Trident",className:"h-5 w-5"})}),(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-1",o&&"flex-col"),children:(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:A,title:o?"Expand sidebar":"Collapse sidebar",children:o?(0,d.jsx)("i",{className:"iconoir-fast-arrow-right text-[16px]","aria-hidden":"true"}):(0,d.jsx)("i",{className:"iconoir-fast-arrow-left text-[16px]","aria-hidden":"true"})})})]}),!o&&m&&(0,d.jsx)("div",{className:"px-4 mb-6",children:(0,d.jsx)("p",{className:"text-[10px] font-mono opacity-60 break-all border border-base-300 rounded p-2 bg-base-200/30",title:m,children:m})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)(g(),{href:B(),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("history")&&"btn-active font-medium"),title:o?"History":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-git-fork text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"History"]}),(0,d.jsxs)(g(),{href:B("/changes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("status")&&"btn-active font-medium"),title:o?`Changes${w>0?` (${w})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-clock text-[20px]","aria-hidden":"true"}),o&&w>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-primary badge-xs scale-75",children:w>99?"99+":w})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Changes",w>0&&(0,d.jsx)("span",{className:"badge badge-sm",children:w})]})]}),(0,d.jsxs)(g(),{href:B("/conflicts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("conflicts")&&"btn-active font-medium"),title:o?`Conflicts${x>0?` (${x})`:""}`:void 0,children:[(0,d.jsxs)("div",{className:(0,e.cn)("relative flex items-center",!o&&"mr-2"),children:[(0,d.jsx)("i",{className:"iconoir-warning-triangle text-[20px]","aria-hidden":"true"}),o&&x>0&&(0,d.jsx)("span",{className:"absolute -top-1 -right-1 badge badge-error badge-xs scale-75",children:x>99?"99+":x})]}),!o&&(0,d.jsxs)("span",{className:"flex-1 flex justify-between items-center",children:["Conflicts",x>0&&(0,d.jsx)("span",{className:"badge badge-sm badge-error",children:x})]})]}),(0,d.jsxs)(g(),{href:B("/stashes"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("stashes")&&"btn-active font-medium"),title:o?"Stashes":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-download-square text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Stashes"]}),(0,d.jsxs)(g(),{href:B("/custom-scripts"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("custom-scripts")&&"btn-active font-medium"),title:o?"Custom scripts":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-terminal text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Custom scripts"]}),(0,d.jsxs)(g(),{href:B("/settings"),className:(0,e.cn)("btn btn-ghost w-full justify-start font-normal",o?"px-0 justify-center":"",C("settings")&&"btn-active font-medium"),title:o?"Settings":void 0,children:[(0,d.jsx)("i",{className:(0,e.cn)("iconoir-settings text-[20px]",!o&&"mr-2"),"aria-hidden":"true"}),!o&&"Settings"]})]})]})}),(0,d.jsx)("div",{className:(0,e.cn)("absolute bottom-4 left-0 w-full",o?"px-2":"px-6"),children:(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center",o?"justify-center":"gap-2"),children:[(0,d.jsx)("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>t(!0),title:o?"Preferences":void 0,children:(0,d.jsx)("i",{className:"iconoir-ios-settings text-[20px]","aria-hidden":"true"})}),!o&&(0,d.jsx)("span",{className:"text-xs opacity-70",children:"Preferences"})]})}),(0,d.jsx)(h.g,{open:s,onOpenChange:t})]})}},6920:(a,b,c)=>{"use strict";c.d(b,{WorkspaceRepoOpenTracker:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call WorkspaceRepoOpenTracker() from the server but WorkspaceRepoOpenTracker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/trident/trident/src/components/workspace-repo-open-tracker.tsx","WorkspaceRepoOpenTracker")},7536:(a,b,c)=>{"use strict";c.d(b,{J:()=>e}),c(7484);var d=c(4626);function e(a,b){(0,d.GK)(a)}c(4490)},7907:(a,b,c)=>{Promise.resolve().then(c.bind(c,5229)),Promise.resolve().then(c.bind(c,3246))},9671:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(7943).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/trident/trident/src/components/layout/sidebar.tsx","Sidebar")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--BT4bERaT51IrvSNjXmo0M--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4cf2300e9c8272f7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/93f479601ee12b01-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/de70bee13400563f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/fd9ba7e4a832c2ac.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fa8290bd9e479269.js"/><script src="/_next/static/chunks/4bd1b696-bf5e0dbacfa5baef.js" async=""></script><script src="/_next/static/chunks/3794-cd98b5cd5fb65b19.js" async=""></script><script src="/_next/static/chunks/main-app-8973e8f0b4650cba.js" async=""></script><script src="/_next/static/chunks/2176-c690bf31cb5e55b2.js" async=""></script><script src="/_next/static/chunks/2785-311f9f6f5a125e2c.js" async=""></script><script src="/_next/static/chunks/4200-6e3a978e8be646c6.js" async=""></script><script src="/_next/static/chunks/8645-c924b37013fd97cb.js" async=""></script><script src="/_next/static/chunks/app/layout-1eb3f74bfb86e3d5.js" async=""></script><link rel="preload" href="https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css" as="style"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Trident</title><meta name="description" content="Git repository management tool"/><link rel="icon" href="/icon.png?91e8b75214a43d69" type="image/png" sizes="256x256"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_188709 __variable_9a8899 antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("data-theme","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fa8290bd9e479269.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[2246,[\"2176\",\"static/chunks/2176-c690bf31cb5e55b2.js\",\"2785\",\"static/chunks/2785-311f9f6f5a125e2c.js\",\"4200\",\"static/chunks/4200-6e3a978e8be646c6.js\",\"8645\",\"static/chunks/8645-c924b37013fd97cb.js\",\"7177\",\"static/chunks/app/layout-1eb3f74bfb86e3d5.js\"],\"Providers\"]\n3:I[7121,[],\"\"]\n4:I[4581,[],\"\"]\n5:I[484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[484,[],\"ViewportBoundary\"]\na:I[484,[],\"MetadataBoundary\"]\nc:I[7123,[],\"\"]\n:HL[\"/_next/static/media/4cf2300e9c8272f7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/93f479601ee12b01-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/de70bee13400563f.css\",\"style\"]\n:HL[\"/_next/static/css/fd9ba7e4a832c2ac.css\",\"style\"]\n:HL[\"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"BT4bERaT51IrvSNjXmo0M\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/de70bee13400563f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fd9ba7e4a832c2ac.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css\"}]}],[\"$\",\"body\",null,{\"className\":\"__variable_188709 __variable_9a8899 antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[6869,[],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Trident\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Git repository management tool\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.png?91e8b75214a43d69\",\"type\":\"image/png\",\"sizes\":\"256x256\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fa8290bd9e479269.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--BT4bERaT51IrvSNjXmo0M--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fa8290bd9e479269.js"/><script src="/_next/static/chunks/4bd1b696-bf5e0dbacfa5baef.js" async=""></script><script src="/_next/static/chunks/3794-cd98b5cd5fb65b19.js" async=""></script><script src="/_next/static/chunks/main-app-8973e8f0b4650cba.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fa8290bd9e479269.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"BT4bERaT51IrvSNjXmo0M\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"d+rIDfJhI8oTrKDarDwxFM4D+rCCVZ6HzKFkuerirjI="}
|
package/README.md
CHANGED
|
@@ -31,6 +31,9 @@ A modern, web-based Git client built with Next.js. Manage your repositories, vie
|
|
|
31
31
|
- [x] Shared repository/settings storage across app instances
|
|
32
32
|
- [x] Set repository display name
|
|
33
33
|
- [x] Configure default root folder for browsing repositories
|
|
34
|
+
- [x] Clone repositories from URL (HTTPS/SSH with optional credentials)
|
|
35
|
+
- [x] Initialize a new repository when opening a non-Git folder
|
|
36
|
+
- [x] GitHub repository picker in clone dialog (credential-aware)
|
|
34
37
|
|
|
35
38
|
#### Working Directory & Staging
|
|
36
39
|
- [x] View working tree and index status
|
|
@@ -47,6 +50,7 @@ A modern, web-based Git client built with Next.js. Manage your repositories, vie
|
|
|
47
50
|
|
|
48
51
|
#### Branching, History & Graph
|
|
49
52
|
- [x] Visual commit graph with branch lanes
|
|
53
|
+
- [x] Improved branch-junction rendering for same-row merges and aligned branch starts
|
|
50
54
|
- [x] Branch visibility filters persisted per repository
|
|
51
55
|
- [x] List local/remote branches with ahead/behind tracking info
|
|
52
56
|
- [x] Create branch from current HEAD or selected ref
|
|
@@ -60,6 +64,7 @@ A modern, web-based Git client built with Next.js. Manage your repositories, vie
|
|
|
60
64
|
- [x] Preflight conflict checks for merge/rebase
|
|
61
65
|
- [x] Conflict resolver page for merge/rebase (stage resolved files, continue/abort)
|
|
62
66
|
- [x] Hard/soft/mixed reset to selected commit
|
|
67
|
+
- [x] Revert commits with confirmation
|
|
63
68
|
- [x] Cherry-pick single/multiple commits and abort cherry-pick
|
|
64
69
|
- [x] Commit details and per-file commit diffs (split/inline)
|
|
65
70
|
- [x] One-way history branch query initialization (`?branch=<name>`)
|
|
@@ -70,6 +75,7 @@ A modern, web-based Git client built with Next.js. Manage your repositories, vie
|
|
|
70
75
|
- [x] Fetch all remotes (prune)
|
|
71
76
|
- [x] Pull from remote branch (rebase option)
|
|
72
77
|
- [x] Push to remote branch (force, set-upstream, rebase-first, squash, local-tags)
|
|
78
|
+
- [x] Manage remotes (add/rename/remove remote definitions)
|
|
73
79
|
|
|
74
80
|
#### Tags, Credentials, and Automation
|
|
75
81
|
- [x] Create local tag and optionally push to remote
|
|
@@ -81,16 +87,13 @@ A modern, web-based Git client built with Next.js. Manage your repositories, vie
|
|
|
81
87
|
|
|
82
88
|
#### UX & Reliability
|
|
83
89
|
- [x] Dark/light/system theme toggle
|
|
90
|
+
- [x] Enter key confirms primary action across modal dialogs
|
|
84
91
|
- [x] Image diff support and binary file detection
|
|
85
92
|
- [x] Large-diff protection to prevent UI freeze
|
|
86
93
|
- [x] Persist key UI state (sidebar/panel sizes/folders/filters)
|
|
87
94
|
- [x] Git error handling with actionable messages + lock file cleanup action
|
|
88
95
|
|
|
89
96
|
### TODO
|
|
90
|
-
- [x] Clone repository from URL
|
|
91
|
-
- [ ] Initialize a new repository
|
|
92
|
-
- [ ] Manage remotes (add/edit/remove remote definitions)
|
|
93
|
-
- [x] Revert commits
|
|
94
97
|
- [ ] Commit signing (GPG/SSH)
|
|
95
98
|
- [ ] Co-author commit support
|
|
96
99
|
- [ ] Interactive rebase UI
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|