@band-app/server 0.5.4 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/client/assets/{DockviewTerminalContainer-DX8OFKYR.js → DockviewTerminalContainer-BObwxoXE.js} +2 -2
- package/dist/client/assets/{TerminalPanel-9pW_g2Kd.js → TerminalPanel-B_30SH7w.js} +1 -1
- package/dist/client/assets/{_basePickBy-Dkr8WVHx.js → _basePickBy-DS1DdKpI.js} +1 -1
- package/dist/client/assets/{_baseUniq-B0BP4Sik.js → _baseUniq-CfquXO5o.js} +1 -1
- package/dist/client/assets/{arc-C88WtUPJ.js → arc-BzAFHN3h.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-CyLIdwXX.js → architectureDiagram-VXUJARFQ-0gyHmaKw.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-GShygeGY.js → blockDiagram-VD42YOAC-BcU0ZZZI.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-BcpX0Aqn.js → c4Diagram-YG6GDRKO-Ciwoec2M.js} +1 -1
- package/dist/client/assets/channel-BGuyGJa3.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-IchBHT92.js → chunk-4BX2VUAB-W_tkduvw.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CiMhFR8e.js → chunk-55IACEB6-DJCn0BUX.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-D-8aj6uR.js → chunk-B4BG7PRW-OLwhCa5k.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-C13AzM7U.js → chunk-DI55MBZ5-MFZ5-oPD.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-B4gYDpvB.js → chunk-FMBD7UC4-BDlrNnpZ.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-DG8uaz-H.js → chunk-QN33PNHL-CjwPbo5G.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CUeAC5bF.js → chunk-QZHKN3VN-3lGRploy.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-Crx06Grw.js → chunk-TZMSLE5B-Dez84DVY.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-Bcoh3oTO.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-Bcoh3oTO.js +1 -0
- package/dist/client/assets/clone-DTSWxIr_.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BjyHTZfo.js → cose-bilkent-S5V4N54A-olv_le13.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-C9LatsFq.js → dagre-6UL2VRFP-DSasPOdo.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-Bzxy2DxA.js → diagram-PSM6KHXK-ebd2t3Dh.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R--qsdr1em.js → diagram-QEK2KX5R-DETGbCmh.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-SLCfnLEL.js → diagram-S2PKOQOG-Duif0gCe.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-Bqfdi51r.js → erDiagram-Q2GNP2WA-7NKTniGi.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-BxNRRaL6.js → flowDiagram-NV44I4VS-B29HpwMu.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-B3nW9Tee.js → ganttDiagram-JELNMOA3-Do43fY0t.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-CJ5dA5iM.js → gitGraphDiagram-V2S2FVAM-BernJnLk.js} +1 -1
- package/dist/client/assets/{graph-Ce0puKsP.js → graph-Cj575nQq.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-CENKUGzV.js → highlighted-body-B3W2YXNL-WhJuPudb.js} +1 -1
- package/dist/client/assets/{index-BJDmvnal.js → index-B8ZpCpou.js} +1 -1
- package/dist/client/assets/{index-DL2wTzK1.js → index-BMY-nliE.js} +1 -1
- package/dist/client/assets/{index-CosJojrk.js → index-BTx3LYAO.js} +1 -1
- package/dist/client/assets/{index-SWV7MFMV.js → index-BuCOraAN.js} +1 -1
- package/dist/client/assets/{index-BDCONrW_.js → index-CUcxKuUy.js} +1 -1
- package/dist/client/assets/{index-B3ozbkAt.js → index-CXlGPE4F.js} +1 -1
- package/dist/client/assets/{index-qwbh_ssl.js → index-D4KvM7Nf.js} +1 -1
- package/dist/client/assets/{index-BsMHcPzb.js → index-D9yhhi7d.js} +1 -1
- package/dist/client/assets/{index-C01QsgdU.js → index-DGMdHUd-.js} +1 -1
- package/dist/client/assets/{index-BSd1jAU9.js → index-DNJro5ce.js} +1 -1
- package/dist/client/assets/{index-GxKLyCuq.js → index-DOlTzcT9.js} +1 -1
- package/dist/client/assets/{index-Dd8shGvN.js → index-DeMltHzV.js} +1 -1
- package/dist/client/assets/{index-D3sAIK6P.js → index-Dgv8mF9A.js} +1 -1
- package/dist/client/assets/{index-DfwX9IUV.js → index-DlCjHJGt.js} +1 -1
- package/dist/client/assets/{index-Cdvev7u6.js → index-DziJ_w_s.js} +1 -1
- package/dist/client/assets/{index-DGV19pgb.js → index-dscSHXn-.js} +1 -1
- package/dist/client/assets/{index-jSH-9g1p.js → index-xZP1WFvU.js} +1 -1
- package/dist/client/assets/{index-C_z1eCvW.js → index-yYDoQlcT.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP--q9GXvGW.js → infoDiagram-HS3SLOUP-CwWuIWke.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-C8V3w1dG.js → journeyDiagram-XKPGCS4Q-CwAt4sg1.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BJk0X7tz.js → kanban-definition-3W4ZIXB7-IyDhCRuM.js} +1 -1
- package/dist/client/assets/{layout-ChwcG4Xl.js → layout-Cu0JMbW5.js} +1 -1
- package/dist/client/assets/{linear-BDZmJSE8.js → linear-DZDqd87L.js} +1 -1
- package/dist/client/assets/{main-BJRBUBf7.js → main-Cv7pKZy_.js} +226 -226
- package/dist/client/assets/main-rWzqMN1o.css +1 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-ByMpVnYs.js → mindmap-definition-VGOIOE7T-Dth1CqLW.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-CD-lmXbd.js → pieDiagram-ADFJNKIX-CF2YDYMu.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-BdOgBPk1.js → quadrantDiagram-AYHSOK5B-nxHcYBhT.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-f7DPR7JO.js → requirementDiagram-UZGBJVZJ-DYuaF4G9.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-bi8QNTNx.js → sankeyDiagram-TZEHDZUN-DCeOMpHq.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-DvrFWc3k.js → sequenceDiagram-WL72ISMW-D3ZzpnOf.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-pHRodxiR.js → stateDiagram-FKZM4ZOC-CephZuT8.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-B2E3_eDe.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-GvuMpLMJ.js → timeline-definition-IT6M3QCI-CMR_brz2.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-1Fkk9zI9.js → treemap-GDKQZRPO-Dr2RtG6j.js} +1 -1
- package/dist/client/assets/{useSessionListContext-CRcZVcHa.js → useSessionListContext-Deo93kBU.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-Cy3AEGLV.js → workspace._workspaceId-B6AmUJBH.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.changes-Rwu7P9DU.js → workspace._workspaceId.changes-DRRihouM.js} +1 -1
- package/dist/client/assets/workspace._workspaceId.code-ClodXGQ6.js +1 -0
- package/dist/client/assets/{workspace._workspaceId.code._-BJQkX_UC.js → workspace._workspaceId.code._-C2W-zGSx.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.code.index-BRqZeE-M.js → workspace._workspaceId.code.index-D56jkXpA.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.index-D_CsfVyR.js → workspace._workspaceId.index-DVYXZuSd.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.terminal-DfJiaUra.js → workspace._workspaceId.terminal--TZaT08S.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-CQ-W21MD.js → xychartDiagram-PRI3JC2R-CQ1vfZE5.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-nurSvNMN.js → DockviewTerminalContainer-B7m50Lcc.js} +2 -2
- package/dist/server/assets/{TerminalPanel-Cf-9H8Lr.js → TerminalPanel-C2nFSkcn.js} +1 -1
- package/dist/server/assets/{_basePickBy-D3FmqT7A.js → _basePickBy-J3VjyO9D.js} +2 -2
- package/dist/server/assets/{_baseUniq-CZLL_KGQ.js → _baseUniq-DlbIVh20.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-DcXFd6TS.js → _tanstack-start-manifest_v-C9pSWi1i.js} +1 -1
- package/dist/server/assets/{arc-B-ehAOzx.js → arc-Ds6-Gtmo.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-Bm2CNNZn.js → architecture-7HQA4BMR-DT3MUSS5.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-CxaRzb-g.js → architectureDiagram-VXUJARFQ-ClVOs7P1.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-CsN3W5TR.js → blockDiagram-VD42YOAC-CnVWNic_.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-C2v52EXK.js → c4Diagram-YG6GDRKO-D9aranD0.js} +2 -2
- package/dist/server/assets/{channel-C3XN_tlw.js → channel-DQjskrHf.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-BRZhlA3M.js → chunk-4BX2VUAB-BctuYILS.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-CvRWSP7_.js → chunk-55IACEB6-CxcgMpfR.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-CtnW_06V.js → chunk-B4BG7PRW-CfsNsYIg.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-BQw22O7H.js → chunk-DI55MBZ5-B6n-fRVB.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-GsUqEYsC.js → chunk-FMBD7UC4-CvBepTeZ.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-Cbg19vtg.js → chunk-QN33PNHL-DS5M3nQE.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-BWszKJyV.js → chunk-QZHKN3VN-DCLb0fZ1.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-DQrHctmP.js → chunk-TZMSLE5B-B-Uhio6_.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CbsNfDCL.js → classDiagram-2ON5EDUG-B7uMu4wG.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-CbsNfDCL.js → classDiagram-v2-WZHVMYZB-B7uMu4wG.js} +5 -5
- package/dist/server/assets/{clone-x7_sin8C.js → clone-B7a1FujU.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-BOuoNr7N.js → cose-bilkent-S5V4N54A-_7cffNle.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-BEGPY_P8.js → dagre-6UL2VRFP-Cefu204F.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-DdLXbkDH.js → diagram-PSM6KHXK-BeMp8Xfu.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-Ywb8tTSL.js → diagram-QEK2KX5R-UNhxZG5g.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-Bk6j9I_3.js → diagram-S2PKOQOG-CHWLN67z.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-CS94DyiJ.js → erDiagram-Q2GNP2WA-9TUXBEEN.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-DGePuZ_D.js → flowDiagram-NV44I4VS-DkHr76XI.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-nyPfcgRT.js → ganttDiagram-JELNMOA3-D62VSFN-.js} +2 -2
- package/dist/server/assets/{gitGraph-G5XIXVHT-CKTPOKTu.js → gitGraph-G5XIXVHT-wAj_iVxo.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-BygjesE-.js → gitGraphDiagram-V2S2FVAM-Cq6NrkS2.js} +7 -7
- package/dist/server/assets/{graph-B6TDpsg4.js → graph-BQR4IW-M.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-CULjZ_nJ.js → highlighted-body-B3W2YXNL-f4qauOuN.js} +1 -1
- package/dist/server/assets/{index-D4VsXH_e.js → index-B07RUisL.js} +2 -2
- package/dist/server/assets/{index-BCMFgTLH.js → index-BgRkMr0S.js} +3 -3
- package/dist/server/assets/{index-CsE88Ld8.js → index-BnaMl2Ta.js} +2 -2
- package/dist/server/assets/{index-DMcpsIUc.js → index-C-_PyKI8.js} +5 -5
- package/dist/server/assets/{index-DCJj-J2w.js → index-C70O-HGl.js} +2 -2
- package/dist/server/assets/{index-0oeRMDH_.js → index-CFtz0N_G.js} +3 -3
- package/dist/server/assets/{index-BRsnuD-O.js → index-CGs_KUt6.js} +2 -2
- package/dist/server/assets/{index-DYGOZ3mj.js → index-CZPx4FSZ.js} +4 -4
- package/dist/server/assets/{index-5SwWQ6oe.js → index-CiQmjF-z.js} +2 -2
- package/dist/server/assets/{index-CnQ4qso3.js → index-ClnAaUnc.js} +1 -1
- package/dist/server/assets/{index-DuWXmjWc.js → index-DGpgWNbR.js} +1 -1
- package/dist/server/assets/{index-Can-bHgo.js → index-DXlyuzHk.js} +2 -2
- package/dist/server/assets/{index-BlnGJ9is.js → index-DZkn94Qw.js} +2 -2
- package/dist/server/assets/{index-eLPxFa7w.js → index-DbtmJMHb.js} +5 -5
- package/dist/server/assets/{index-Bx2Tna2y.js → index-DgI6m9w2.js} +2 -2
- package/dist/server/assets/{index-Bli_q03X.js → index-OT8s82kA.js} +2 -2
- package/dist/server/assets/{index-C1-EaJTv.js → index-Y-3cIxVF.js} +2 -2
- package/dist/server/assets/{index-DJDlsaKi.js → index-oSZ-5UB6.js} +2 -2
- package/dist/server/assets/{info-VBDWY6EO-B-rB5BtI.js → info-VBDWY6EO-DCfkIc0K.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-D83vTisF.js → infoDiagram-HS3SLOUP-z48Ilxyy.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-PbUYIdib.js → journeyDiagram-XKPGCS4Q-2_BMX1ei.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-BQSc_qmP.js → kanban-definition-3W4ZIXB7-YMu0hChh.js} +2 -2
- package/dist/server/assets/{layout-DXYeijc_.js → layout-Cp5xjTuv.js} +4 -4
- package/dist/server/assets/{linear-Dwrm9Gnq.js → linear-CC3vfL_Z.js} +1 -1
- package/dist/server/assets/{mermaid-3ZIDBTTL-BnVYO1pJ.js → mermaid-3ZIDBTTL-nj6kJNsf.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-CUfP0S_P.js → mermaid-parser.core-CS8wPCwT.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-BdjAKwAK.js → mindmap-definition-VGOIOE7T-BbNEUTwc.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-d7SiXxLo.js → packet-DYOGHKS2-C4ObDfPs.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-euknErR4.js → pie-VRWISCQL-24cVROwS.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-Bl150d6W.js → pieDiagram-ADFJNKIX-BDcmTNeb.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-ClIy1n9L.js → quadrantDiagram-AYHSOK5B-DVfUAm25.js} +2 -2
- package/dist/server/assets/{radar-ZZBFDIW7-hsbqqEeW.js → radar-ZZBFDIW7-Xb4_ybap.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-B87j_suL.js → requirementDiagram-UZGBJVZJ-CQfWrrP_.js} +3 -3
- package/dist/server/assets/{router-DMoul9bL.js → router-BnXOl-F9.js} +597 -564
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-Bq18JLF9.js → sankeyDiagram-TZEHDZUN-BW9xc6Gi.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-DziQuu14.js → sequenceDiagram-WL72ISMW-_VMzymo9.js} +3 -3
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-7wEsr4R_.js → stateDiagram-FKZM4ZOC-P9tJlZ70.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-D2VjwPAa.js → stateDiagram-v2-4FDKWEC3-Cb6P-c6h.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI--uelCCOi.js → timeline-definition-IT6M3QCI-tuTHzmXv.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-DVHxmTc8.js → treemap-GDKQZRPO-COB3TLcF.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-Bs8UzdnH.js → workspace._workspaceId-Ca5XltsV.js} +2 -2
- package/dist/server/assets/{workspace._workspaceId.changes-BWu2NrZR.js → workspace._workspaceId.changes-z2xCX4Ct.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code._-DKgsvYy3.js → workspace._workspaceId.code._-DQTK_1av.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code.index-D9xieBbz.js → workspace._workspaceId.code.index-DTziHng0.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.index-CM2nPNp3.js → workspace._workspaceId.index-C2U_2sVz.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.terminal-ByrTEXV_.js → workspace._workspaceId.terminal-i2FfY7JG.js} +2 -2
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-C3ztrSUC.js → xychartDiagram-PRI3JC2R-B8xp3EP5.js} +2 -2
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +155 -134
- package/package.json +5 -7
- package/dist/client/assets/channel-COxuXp7F.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CtxJr2zo.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CtxJr2zo.js +0 -1
- package/dist/client/assets/clone-Cud65zOY.js +0 -1
- package/dist/client/assets/core-mPlcS5K-.js +0 -1
- package/dist/client/assets/event-DRyjiKX_.js +0 -1
- package/dist/client/assets/index-BkW3q3LQ.js +0 -1
- package/dist/client/assets/main-BnrSCdeV.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BUgsJX1c.js +0 -1
- package/dist/client/assets/window-BFoF6nYm.js +0 -1
- package/dist/client/assets/workspace._workspaceId.code-zGA3uY7G.js +0 -1
- package/dist/server/assets/core-dG4_vufa.js +0 -45
- package/dist/server/assets/event-2oMkw_LQ.js +0 -63
- package/dist/server/assets/index-jMSXp5h7.js +0 -10
- package/dist/server/assets/window-Qr88gZCE.js +0 -2005
|
@@ -7466,7 +7466,7 @@ var CheckboxItem = MenuCheckboxItem;
|
|
|
7466
7466
|
var RadioGroup = MenuRadioGroup;
|
|
7467
7467
|
var RadioItem = MenuRadioItem;
|
|
7468
7468
|
var ItemIndicator$1 = MenuItemIndicator;
|
|
7469
|
-
var Separator = MenuSeparator;
|
|
7469
|
+
var Separator$1 = MenuSeparator;
|
|
7470
7470
|
var Arrow2$1 = MenuArrow;
|
|
7471
7471
|
var Sub = MenuSub;
|
|
7472
7472
|
var SubTrigger = MenuSubTrigger;
|
|
@@ -7672,7 +7672,7 @@ var SEPARATOR_NAME$2 = "ContextMenuSeparator";
|
|
|
7672
7672
|
var ContextMenuSeparator$1 = reactExports.forwardRef((props, forwardedRef) => {
|
|
7673
7673
|
const { __scopeContextMenu, ...separatorProps } = props;
|
|
7674
7674
|
const menuScope = useMenuScope$1(__scopeContextMenu);
|
|
7675
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
|
7675
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Separator$1, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
|
7676
7676
|
});
|
|
7677
7677
|
ContextMenuSeparator$1.displayName = SEPARATOR_NAME$2;
|
|
7678
7678
|
var ARROW_NAME$4 = "ContextMenuArrow";
|
|
@@ -7926,7 +7926,7 @@ var SEPARATOR_NAME$1 = "DropdownMenuSeparator";
|
|
|
7926
7926
|
var DropdownMenuSeparator$1 = reactExports.forwardRef((props, forwardedRef) => {
|
|
7927
7927
|
const { __scopeDropdownMenu, ...separatorProps } = props;
|
|
7928
7928
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
7929
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
|
7929
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Separator$1, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
|
7930
7930
|
});
|
|
7931
7931
|
DropdownMenuSeparator$1.displayName = SEPARATOR_NAME$1;
|
|
7932
7932
|
var ARROW_NAME$3 = "DropdownMenuArrow";
|
|
@@ -10003,13 +10003,13 @@ var SelectScrollButtonImpl = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
10003
10003
|
);
|
|
10004
10004
|
});
|
|
10005
10005
|
var SEPARATOR_NAME = "SelectSeparator";
|
|
10006
|
-
var SelectSeparator = reactExports.forwardRef(
|
|
10006
|
+
var SelectSeparator$1 = reactExports.forwardRef(
|
|
10007
10007
|
(props, forwardedRef) => {
|
|
10008
10008
|
const { __scopeSelect, ...separatorProps } = props;
|
|
10009
10009
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
|
|
10010
10010
|
}
|
|
10011
10011
|
);
|
|
10012
|
-
SelectSeparator.displayName = SEPARATOR_NAME;
|
|
10012
|
+
SelectSeparator$1.displayName = SEPARATOR_NAME;
|
|
10013
10013
|
var ARROW_NAME$1 = "SelectArrow";
|
|
10014
10014
|
var SelectArrow = reactExports.forwardRef(
|
|
10015
10015
|
(props, forwardedRef) => {
|
|
@@ -10107,6 +10107,7 @@ var Viewport$1 = SelectViewport;
|
|
|
10107
10107
|
var Item = SelectItem$1;
|
|
10108
10108
|
var ItemText = SelectItemText;
|
|
10109
10109
|
var ItemIndicator = SelectItemIndicator;
|
|
10110
|
+
var Separator = SelectSeparator$1;
|
|
10110
10111
|
var SWITCH_NAME = "Switch";
|
|
10111
10112
|
var [createSwitchContext] = createContextScope(SWITCH_NAME);
|
|
10112
10113
|
var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
|
|
@@ -15108,6 +15109,19 @@ function SelectItem({
|
|
|
15108
15109
|
}
|
|
15109
15110
|
);
|
|
15110
15111
|
}
|
|
15112
|
+
function SelectSeparator({
|
|
15113
|
+
className,
|
|
15114
|
+
...props
|
|
15115
|
+
}) {
|
|
15116
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15117
|
+
Separator,
|
|
15118
|
+
{
|
|
15119
|
+
"data-slot": "select-separator",
|
|
15120
|
+
className: cn$2("-mx-1 my-1 h-px bg-border", className),
|
|
15121
|
+
...props
|
|
15122
|
+
}
|
|
15123
|
+
);
|
|
15124
|
+
}
|
|
15111
15125
|
function Spinner({ className, ...props }) {
|
|
15112
15126
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15113
15127
|
"svg",
|
|
@@ -40420,53 +40434,53 @@ async function loadLanguage(lang) {
|
|
|
40420
40434
|
try {
|
|
40421
40435
|
switch (lang) {
|
|
40422
40436
|
case "javascript":
|
|
40423
|
-
return import("./index-
|
|
40437
|
+
return import("./index-BnaMl2Ta.js").then((m2) => m2.javascript());
|
|
40424
40438
|
case "jsx":
|
|
40425
|
-
return import("./index-
|
|
40439
|
+
return import("./index-BnaMl2Ta.js").then((m2) => m2.javascript({ jsx: true }));
|
|
40426
40440
|
case "typescript":
|
|
40427
|
-
return import("./index-
|
|
40441
|
+
return import("./index-BnaMl2Ta.js").then(
|
|
40428
40442
|
(m2) => m2.javascript({ typescript: true })
|
|
40429
40443
|
);
|
|
40430
40444
|
case "tsx":
|
|
40431
|
-
return import("./index-
|
|
40445
|
+
return import("./index-BnaMl2Ta.js").then(
|
|
40432
40446
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
40433
40447
|
);
|
|
40434
40448
|
case "python":
|
|
40435
|
-
return import("./index-
|
|
40449
|
+
return import("./index-DXlyuzHk.js").then((m2) => m2.python());
|
|
40436
40450
|
case "html":
|
|
40437
|
-
return import("./index-
|
|
40451
|
+
return import("./index-CZPx4FSZ.js").then((m2) => m2.html());
|
|
40438
40452
|
case "css":
|
|
40439
|
-
return import("./index-
|
|
40453
|
+
return import("./index-DZkn94Qw.js").then((m2) => m2.css());
|
|
40440
40454
|
case "scss":
|
|
40441
40455
|
case "sass":
|
|
40442
|
-
return import("./index-
|
|
40456
|
+
return import("./index-BgRkMr0S.js").then((m2) => m2.sass());
|
|
40443
40457
|
case "less":
|
|
40444
|
-
return import("./index-
|
|
40458
|
+
return import("./index-CFtz0N_G.js").then((m2) => m2.less());
|
|
40445
40459
|
case "json":
|
|
40446
40460
|
case "jsonc":
|
|
40447
|
-
return import("./index-
|
|
40461
|
+
return import("./index-CiQmjF-z.js").then((m2) => m2.json());
|
|
40448
40462
|
case "markdown":
|
|
40449
40463
|
case "mdx":
|
|
40450
|
-
return import("./index-
|
|
40464
|
+
return import("./index-DbtmJMHb.js").then((m2) => m2.markdown());
|
|
40451
40465
|
case "xml":
|
|
40452
|
-
return import("./index-
|
|
40466
|
+
return import("./index-C70O-HGl.js").then((m2) => m2.xml());
|
|
40453
40467
|
case "yaml":
|
|
40454
|
-
return import("./index-
|
|
40468
|
+
return import("./index-OT8s82kA.js").then((m2) => m2.yaml());
|
|
40455
40469
|
case "sql":
|
|
40456
|
-
return import("./index-
|
|
40470
|
+
return import("./index-oSZ-5UB6.js").then((m2) => m2.sql());
|
|
40457
40471
|
case "rust":
|
|
40458
|
-
return import("./index-
|
|
40472
|
+
return import("./index-B07RUisL.js").then((m2) => m2.rust());
|
|
40459
40473
|
case "go":
|
|
40460
|
-
return import("./index-
|
|
40474
|
+
return import("./index-CGs_KUt6.js").then((m2) => m2.go());
|
|
40461
40475
|
case "java":
|
|
40462
|
-
return import("./index-
|
|
40476
|
+
return import("./index-DgI6m9w2.js").then((m2) => m2.java());
|
|
40463
40477
|
case "kotlin":
|
|
40464
|
-
return import("./index-
|
|
40478
|
+
return import("./index-DgI6m9w2.js").then((m2) => m2.java());
|
|
40465
40479
|
case "c":
|
|
40466
40480
|
case "cpp":
|
|
40467
|
-
return import("./index-
|
|
40481
|
+
return import("./index-Y-3cIxVF.js").then((m2) => m2.cpp());
|
|
40468
40482
|
case "php":
|
|
40469
|
-
return import("./index-
|
|
40483
|
+
return import("./index-C-_PyKI8.js").then((m2) => m2.php());
|
|
40470
40484
|
// Legacy modes via StreamLanguage
|
|
40471
40485
|
case "bash":
|
|
40472
40486
|
case "fish":
|
|
@@ -47260,33 +47274,17 @@ function SettingsPage({ open: open2, onOpenChange }) {
|
|
|
47260
47274
|
}
|
|
47261
47275
|
) });
|
|
47262
47276
|
}
|
|
47263
|
-
const
|
|
47264
|
-
const
|
|
47265
|
-
const isDesktop$1 = isTauri$2 || isElectron$2;
|
|
47277
|
+
const isElectron$1 = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
|
|
47278
|
+
const isDesktop$1 = isElectron$1;
|
|
47266
47279
|
function electronBridge$2() {
|
|
47267
|
-
if (!isElectron$
|
|
47280
|
+
if (!isElectron$1) return null;
|
|
47268
47281
|
const bridge = window.__BAND_DESKTOP__;
|
|
47269
47282
|
return bridge ?? null;
|
|
47270
47283
|
}
|
|
47271
47284
|
async function desktopInvoke$1(cmd2, args) {
|
|
47272
47285
|
const bridge = electronBridge$2();
|
|
47273
47286
|
if (bridge) return await bridge.invoke(cmd2, args);
|
|
47274
|
-
|
|
47275
|
-
const { invoke: invoke2 } = await import("./core-dG4_vufa.js");
|
|
47276
|
-
return invoke2(cmd2, args);
|
|
47277
|
-
}
|
|
47278
|
-
throw new Error(`desktopInvoke('${cmd2}') called outside a desktop shell`);
|
|
47279
|
-
}
|
|
47280
|
-
async function desktopStartDragging() {
|
|
47281
|
-
const bridge = electronBridge$2();
|
|
47282
|
-
if (bridge) {
|
|
47283
|
-
await bridge.startDragging();
|
|
47284
|
-
return;
|
|
47285
|
-
}
|
|
47286
|
-
if (isTauri$2) {
|
|
47287
|
-
const { getCurrentWindow } = await import("./window-Qr88gZCE.js");
|
|
47288
|
-
await getCurrentWindow().startDragging();
|
|
47289
|
-
}
|
|
47287
|
+
throw new Error(`desktopInvoke('${cmd2}') called outside the desktop shell`);
|
|
47290
47288
|
}
|
|
47291
47289
|
function DashboardShell({ toolbarMenuItems, hideTitleBar }) {
|
|
47292
47290
|
const { projects, isLoading: loading } = useProjects();
|
|
@@ -47302,23 +47300,11 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar }) {
|
|
|
47302
47300
|
const { state: hooksState, install: installHooks } = useHooksSetup();
|
|
47303
47301
|
const { state: cliState, install: installCli } = useCliSetup();
|
|
47304
47302
|
const [appTitle, setAppTitle] = reactExports.useState("Band");
|
|
47305
|
-
const titleBarRef = reactExports.useRef(null);
|
|
47306
47303
|
reactExports.useEffect(() => {
|
|
47307
47304
|
if (!isDesktop$1) return;
|
|
47308
47305
|
desktopInvoke$1("get_app_title").then(setAppTitle).catch(() => {
|
|
47309
47306
|
});
|
|
47310
47307
|
}, []);
|
|
47311
|
-
reactExports.useEffect(() => {
|
|
47312
|
-
const el = titleBarRef.current;
|
|
47313
|
-
if (!isDesktop$1 || !el) return;
|
|
47314
|
-
const onMouseDown = (e2) => {
|
|
47315
|
-
if (e2.buttons !== 1) return;
|
|
47316
|
-
desktopStartDragging().catch(() => {
|
|
47317
|
-
});
|
|
47318
|
-
};
|
|
47319
|
-
el.addEventListener("mousedown", onMouseDown);
|
|
47320
|
-
return () => el.removeEventListener("mousedown", onMouseDown);
|
|
47321
|
-
}, []);
|
|
47322
47308
|
useStatusWatcher();
|
|
47323
47309
|
useBranchStatusWatcher();
|
|
47324
47310
|
useSetupStatusWatcher();
|
|
@@ -47369,9 +47355,8 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar }) {
|
|
|
47369
47355
|
isDesktop$1 && !hideTitleBar && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47370
47356
|
"div",
|
|
47371
47357
|
{
|
|
47372
|
-
ref: titleBarRef,
|
|
47373
|
-
"data-tauri-drag-region": true,
|
|
47374
47358
|
className: "h-[38px] shrink-0 flex items-center justify-center border-b border-border",
|
|
47359
|
+
style: { WebkitAppRegion: "drag" },
|
|
47375
47360
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium text-muted-foreground select-none pointer-events-none", children: appTitle })
|
|
47376
47361
|
}
|
|
47377
47362
|
),
|
|
@@ -49835,6 +49820,25 @@ function storeDiffMode(mode) {
|
|
|
49835
49820
|
} catch {
|
|
49836
49821
|
}
|
|
49837
49822
|
}
|
|
49823
|
+
const COMPARE_BRANCH_KEY_PREFIX = "band:diff-compare-branch:";
|
|
49824
|
+
function getStoredCompareBranch(workspaceId) {
|
|
49825
|
+
try {
|
|
49826
|
+
return localStorage.getItem(COMPARE_BRANCH_KEY_PREFIX + workspaceId);
|
|
49827
|
+
} catch {
|
|
49828
|
+
return null;
|
|
49829
|
+
}
|
|
49830
|
+
}
|
|
49831
|
+
function storeCompareBranch(workspaceId, branch) {
|
|
49832
|
+
try {
|
|
49833
|
+
if (branch) {
|
|
49834
|
+
localStorage.setItem(COMPARE_BRANCH_KEY_PREFIX + workspaceId, branch);
|
|
49835
|
+
} else {
|
|
49836
|
+
localStorage.removeItem(COMPARE_BRANCH_KEY_PREFIX + workspaceId);
|
|
49837
|
+
}
|
|
49838
|
+
} catch {
|
|
49839
|
+
}
|
|
49840
|
+
}
|
|
49841
|
+
const UNCOMMITTED_VALUE = "__uncommitted__";
|
|
49838
49842
|
const EXPAND_ALL_KEY = "band:diff-expand-all";
|
|
49839
49843
|
function getStoredExpandAll() {
|
|
49840
49844
|
try {
|
|
@@ -50407,7 +50411,6 @@ function DiffView({
|
|
|
50407
50411
|
const adapter2 = useAdapter();
|
|
50408
50412
|
const [summary, setSummary] = reactExports.useState(null);
|
|
50409
50413
|
const summaryRef = reactExports.useRef(null);
|
|
50410
|
-
const [baseBranch, setBaseBranch] = reactExports.useState(null);
|
|
50411
50414
|
const [error, setError] = reactExports.useState(null);
|
|
50412
50415
|
const [loading, setLoading] = reactExports.useState(true);
|
|
50413
50416
|
const fetchSummaryRef = reactExports.useRef(null);
|
|
@@ -50419,6 +50422,16 @@ function DiffView({
|
|
|
50419
50422
|
const [viewMode, setViewModeState] = reactExports.useState(getStoredViewMode);
|
|
50420
50423
|
const [diffMode, setDiffModeState] = reactExports.useState(getStoredDiffMode);
|
|
50421
50424
|
const [expandAll, setExpandAllState] = reactExports.useState(getStoredExpandAll);
|
|
50425
|
+
const [compareBranch, setCompareBranchState] = reactExports.useState(
|
|
50426
|
+
() => getStoredCompareBranch(workspaceId)
|
|
50427
|
+
);
|
|
50428
|
+
const [availableBranches, setAvailableBranches] = reactExports.useState(() => {
|
|
50429
|
+
const stored = getStoredCompareBranch(workspaceId);
|
|
50430
|
+
return stored ? [stored] : [];
|
|
50431
|
+
});
|
|
50432
|
+
const [availableDefaultBranch, setAvailableDefaultBranch] = reactExports.useState(null);
|
|
50433
|
+
const compareBranchRef = reactExports.useRef(compareBranch);
|
|
50434
|
+
compareBranchRef.current = compareBranch;
|
|
50422
50435
|
const setViewMode = reactExports.useCallback((mode) => {
|
|
50423
50436
|
setViewModeState(mode);
|
|
50424
50437
|
storeViewMode(mode);
|
|
@@ -50427,6 +50440,50 @@ function DiffView({
|
|
|
50427
50440
|
setDiffModeState(mode);
|
|
50428
50441
|
storeDiffMode(mode);
|
|
50429
50442
|
}, []);
|
|
50443
|
+
const setCompareBranch = reactExports.useCallback(
|
|
50444
|
+
(branch) => {
|
|
50445
|
+
setCompareBranchState(branch);
|
|
50446
|
+
storeCompareBranch(workspaceId, branch);
|
|
50447
|
+
},
|
|
50448
|
+
[workspaceId]
|
|
50449
|
+
);
|
|
50450
|
+
reactExports.useEffect(() => {
|
|
50451
|
+
const stored = getStoredCompareBranch(workspaceId);
|
|
50452
|
+
setCompareBranchState(stored);
|
|
50453
|
+
setAvailableBranches(stored ? [stored] : []);
|
|
50454
|
+
setAvailableDefaultBranch(null);
|
|
50455
|
+
}, [workspaceId]);
|
|
50456
|
+
reactExports.useEffect(() => {
|
|
50457
|
+
const listWorkspaceBranches = adapter2.listWorkspaceBranches;
|
|
50458
|
+
if (!listWorkspaceBranches) return;
|
|
50459
|
+
let cancelled = false;
|
|
50460
|
+
const fetchBranches = () => {
|
|
50461
|
+
listWorkspaceBranches.call(adapter2, workspaceId).then((result) => {
|
|
50462
|
+
if (cancelled) return;
|
|
50463
|
+
setAvailableBranches(result.branches);
|
|
50464
|
+
setAvailableDefaultBranch(result.defaultBranch);
|
|
50465
|
+
const current = compareBranchRef.current;
|
|
50466
|
+
if (current && !result.branches.includes(current)) {
|
|
50467
|
+
setCompareBranch(null);
|
|
50468
|
+
}
|
|
50469
|
+
}).catch(() => {
|
|
50470
|
+
});
|
|
50471
|
+
};
|
|
50472
|
+
fetchBranches();
|
|
50473
|
+
let unsubscribe;
|
|
50474
|
+
if (active) {
|
|
50475
|
+
unsubscribe = adapter2.subscribeStatusEvents((event) => {
|
|
50476
|
+
const data = event;
|
|
50477
|
+
if (data.kind === "branch-status" && data.workspaceId === workspaceId) {
|
|
50478
|
+
fetchBranches();
|
|
50479
|
+
}
|
|
50480
|
+
});
|
|
50481
|
+
}
|
|
50482
|
+
return () => {
|
|
50483
|
+
cancelled = true;
|
|
50484
|
+
unsubscribe?.();
|
|
50485
|
+
};
|
|
50486
|
+
}, [adapter2, workspaceId, active, setCompareBranch]);
|
|
50430
50487
|
const setExpandAll = reactExports.useCallback((v2) => {
|
|
50431
50488
|
setExpandAllState(v2);
|
|
50432
50489
|
storeExpandAll(v2);
|
|
@@ -50625,7 +50682,7 @@ function DiffView({
|
|
|
50625
50682
|
(filename) => {
|
|
50626
50683
|
const revertFile = adapter2.revertFile;
|
|
50627
50684
|
if (!revertFile) return;
|
|
50628
|
-
revertFile.call(adapter2, workspaceId, filename, diffMode).then(() => {
|
|
50685
|
+
revertFile.call(adapter2, workspaceId, filename, diffMode, compareBranch ?? void 0).then(() => {
|
|
50629
50686
|
setDiffCache((prev2) => {
|
|
50630
50687
|
const next2 = new Map(prev2);
|
|
50631
50688
|
next2.delete(filename);
|
|
@@ -50637,7 +50694,7 @@ function DiffView({
|
|
|
50637
50694
|
console.error("Failed to revert file:", err);
|
|
50638
50695
|
});
|
|
50639
50696
|
},
|
|
50640
|
-
[adapter2, workspaceId, diffMode]
|
|
50697
|
+
[adapter2, workspaceId, diffMode, compareBranch]
|
|
50641
50698
|
);
|
|
50642
50699
|
reactExports.useEffect(() => {
|
|
50643
50700
|
const getWorkspaceDiffSummary = adapter2.getWorkspaceDiffSummary;
|
|
@@ -50650,7 +50707,7 @@ function DiffView({
|
|
|
50650
50707
|
expandedFilesRef.current = /* @__PURE__ */ new Set();
|
|
50651
50708
|
prevFingerprintRef.current = "";
|
|
50652
50709
|
const fetchSummary = (forceRefresh = false) => {
|
|
50653
|
-
getWorkspaceDiffSummary.call(adapter2, workspaceId, diffMode).then((result) => {
|
|
50710
|
+
getWorkspaceDiffSummary.call(adapter2, workspaceId, diffMode, compareBranch ?? void 0).then((result) => {
|
|
50654
50711
|
if (!cancelled) {
|
|
50655
50712
|
const fingerprint = JSON.stringify({
|
|
50656
50713
|
fileStatuses: result.fileStatuses,
|
|
@@ -50662,7 +50719,6 @@ function DiffView({
|
|
|
50662
50719
|
summaryRef.current = result;
|
|
50663
50720
|
if (dataChanged) {
|
|
50664
50721
|
setSummary(result);
|
|
50665
|
-
setBaseBranch(result.baseBranch);
|
|
50666
50722
|
}
|
|
50667
50723
|
setError(null);
|
|
50668
50724
|
if (forceRefresh || dataChanged) {
|
|
@@ -50709,24 +50765,70 @@ function DiffView({
|
|
|
50709
50765
|
fetchSummaryRef.current = null;
|
|
50710
50766
|
unsubscribe?.();
|
|
50711
50767
|
};
|
|
50712
|
-
}, [adapter2, workspaceId, active, onStatsChange, diffMode, fetchFileDiff]);
|
|
50768
|
+
}, [adapter2, workspaceId, active, onStatsChange, diffMode, compareBranch, fetchFileDiff]);
|
|
50769
|
+
const summaryCompareBranch = summary?.compareBranch ?? null;
|
|
50770
|
+
const defaultBranch = summary?.defaultBranch ?? availableDefaultBranch ?? null;
|
|
50771
|
+
const branchOptions = availableBranches.length > 0 ? availableBranches : summaryCompareBranch ? [summaryCompareBranch] : [];
|
|
50772
|
+
const targetBranch = compareBranch ?? branchOptions[0] ?? summaryCompareBranch;
|
|
50773
|
+
const topSectionBranches = [];
|
|
50774
|
+
if (targetBranch) {
|
|
50775
|
+
topSectionBranches.push(targetBranch);
|
|
50776
|
+
}
|
|
50777
|
+
if (defaultBranch && defaultBranch !== targetBranch && branchOptions.includes(defaultBranch)) {
|
|
50778
|
+
topSectionBranches.push(defaultBranch);
|
|
50779
|
+
}
|
|
50780
|
+
const otherBranches = branchOptions.filter((b2) => !topSectionBranches.includes(b2)).sort((a2, b2) => a2.localeCompare(b2));
|
|
50781
|
+
const diffSelectValue = diffMode === "uncommitted" ? UNCOMMITTED_VALUE : targetBranch ?? UNCOMMITTED_VALUE;
|
|
50782
|
+
const handleDiffSelectChange = (value) => {
|
|
50783
|
+
if (value === UNCOMMITTED_VALUE) {
|
|
50784
|
+
setDiffMode("uncommitted");
|
|
50785
|
+
} else {
|
|
50786
|
+
setDiffMode("branch");
|
|
50787
|
+
setCompareBranch(value);
|
|
50788
|
+
}
|
|
50789
|
+
};
|
|
50790
|
+
const renderDiffSelect = () => /* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: diffSelectValue, onValueChange: handleDiffSelectChange, children: [
|
|
50791
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-6 w-auto gap-1 rounded-md border-0 bg-transparent px-1.5 text-xs font-medium text-foreground shadow-none hover:bg-accent", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, {}) }),
|
|
50792
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
50793
|
+
topSectionBranches.map((branch) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: branch, children: branch }, branch)),
|
|
50794
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: UNCOMMITTED_VALUE, children: "Uncommitted" }),
|
|
50795
|
+
otherBranches.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SelectSeparator, {}),
|
|
50796
|
+
otherBranches.map((branch) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: branch, children: branch }, branch))
|
|
50797
|
+
] })
|
|
50798
|
+
] });
|
|
50713
50799
|
if (loading) {
|
|
50714
50800
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full items-center justify-center text-sm text-muted-foreground", children: "Loading changes..." });
|
|
50715
50801
|
}
|
|
50716
50802
|
if (error) {
|
|
50717
50803
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full items-center justify-center text-sm text-destructive", children: error });
|
|
50718
50804
|
}
|
|
50805
|
+
const ghostBtnClass = "hidden size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground md:inline-flex";
|
|
50806
|
+
const ghostBtnAlwaysClass = "inline-flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground";
|
|
50807
|
+
const renderSidebarToggle = () => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50808
|
+
"button",
|
|
50809
|
+
{
|
|
50810
|
+
type: "button",
|
|
50811
|
+
onClick: () => setSidebarOpen(!sidebarOpen),
|
|
50812
|
+
className: ghostBtnClass,
|
|
50813
|
+
title: sidebarOpen ? "Hide file tree" : "Show file tree",
|
|
50814
|
+
"aria-label": sidebarOpen ? "Hide file tree" : "Show file tree",
|
|
50815
|
+
"aria-pressed": sidebarOpen,
|
|
50816
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-3.5" })
|
|
50817
|
+
}
|
|
50818
|
+
);
|
|
50819
|
+
const renderBranchIndicator = (headBranchLabel) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1.5 text-xs text-muted-foreground sm:flex", children: [
|
|
50820
|
+
headBranchLabel && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
50821
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children: headBranchLabel }),
|
|
50822
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "size-3", "aria-hidden": true })
|
|
50823
|
+
] }),
|
|
50824
|
+
renderDiffSelect()
|
|
50825
|
+
] });
|
|
50719
50826
|
if (!summary || summary.stats.filesChanged === 0) {
|
|
50720
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
50721
|
-
|
|
50722
|
-
|
|
50723
|
-
|
|
50724
|
-
|
|
50725
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "branch", children: baseBranch ?? "base" })
|
|
50726
|
-
] })
|
|
50727
|
-
] }) }),
|
|
50728
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-1 items-center justify-center text-sm text-muted-foreground", children: "No changes" })
|
|
50729
|
-
] });
|
|
50827
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full flex-col overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-8 shrink-0 items-center gap-3 border-b border-border pl-2 pr-3", children: [
|
|
50828
|
+
renderSidebarToggle(),
|
|
50829
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-muted-foreground", children: "No changes" }),
|
|
50830
|
+
renderBranchIndicator(summary?.headBranch)
|
|
50831
|
+
] }) });
|
|
50730
50832
|
}
|
|
50731
50833
|
const fileStatuses = summary.fileStatuses || {};
|
|
50732
50834
|
const filenames = flattenFileTreeOrder(buildFileTree(fileStatuses));
|
|
@@ -50739,19 +50841,7 @@ function DiffView({
|
|
|
50739
50841
|
className: "hidden shrink-0 flex-col md:flex",
|
|
50740
50842
|
style: { width: sidebarWidth },
|
|
50741
50843
|
children: [
|
|
50742
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
50743
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Files" }),
|
|
50744
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50745
|
-
"button",
|
|
50746
|
-
{
|
|
50747
|
-
type: "button",
|
|
50748
|
-
onClick: () => setSidebarOpen(false),
|
|
50749
|
-
className: "rounded p-0.5 text-muted-foreground hover:bg-accent/50 hover:text-foreground",
|
|
50750
|
-
title: "Hide file tree",
|
|
50751
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-3.5" })
|
|
50752
|
-
}
|
|
50753
|
-
)
|
|
50754
|
-
] }),
|
|
50844
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-8 shrink-0 items-center border-b border-border px-3", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Files" }) }),
|
|
50755
50845
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto py-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50756
50846
|
ChangesFileTree,
|
|
50757
50847
|
{
|
|
@@ -50771,48 +50861,20 @@ function DiffView({
|
|
|
50771
50861
|
}
|
|
50772
50862
|
),
|
|
50773
50863
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 flex-1 flex-col overflow-hidden", children: [
|
|
50774
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center justify-between border-b border-border
|
|
50775
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-
|
|
50776
|
-
|
|
50777
|
-
|
|
50778
|
-
{
|
|
50779
|
-
type: "button",
|
|
50780
|
-
onClick: () => setSidebarOpen(true),
|
|
50781
|
-
className: "hidden items-center rounded-md border border-border/50 bg-muted/50 px-2 py-1 text-xs text-muted-foreground transition-colors hover:text-foreground md:inline-flex",
|
|
50782
|
-
title: "Show file tree",
|
|
50783
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-3.5" })
|
|
50784
|
-
}
|
|
50785
|
-
),
|
|
50786
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
50787
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-sm text-muted-foreground", children: [
|
|
50788
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children: summary.stats.filesChanged }),
|
|
50789
|
-
" ",
|
|
50790
|
-
summary.stats.filesChanged === 1 ? "file" : "files",
|
|
50791
|
-
" changed",
|
|
50792
|
-
summary.stats.insertions > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-2 text-green-600 dark:text-green-400", children: [
|
|
50793
|
-
"+",
|
|
50794
|
-
summary.stats.insertions
|
|
50795
|
-
] }),
|
|
50796
|
-
summary.stats.deletions > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-1 text-red-600 dark:text-red-400", children: [
|
|
50797
|
-
"-",
|
|
50798
|
-
summary.stats.deletions
|
|
50799
|
-
] })
|
|
50800
|
-
] }),
|
|
50801
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-0.5 text-xs text-muted-foreground", children: [
|
|
50802
|
-
summary.baseBranch,
|
|
50803
|
-
" ← ",
|
|
50804
|
-
summary.headBranch
|
|
50805
|
-
] })
|
|
50806
|
-
] })
|
|
50864
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-8 shrink-0 items-center justify-between gap-3 border-b border-border pl-2 pr-3", children: [
|
|
50865
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
50866
|
+
renderSidebarToggle(),
|
|
50867
|
+
renderBranchIndicator(summary.headBranch)
|
|
50807
50868
|
] }),
|
|
50808
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-
|
|
50869
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
50809
50870
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50810
50871
|
"button",
|
|
50811
50872
|
{
|
|
50812
50873
|
type: "button",
|
|
50813
50874
|
onClick: () => fetchSummaryRef.current?.(true),
|
|
50814
|
-
className:
|
|
50875
|
+
className: ghostBtnAlwaysClass,
|
|
50815
50876
|
title: "Reload changes",
|
|
50877
|
+
"aria-label": "Reload changes",
|
|
50816
50878
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" })
|
|
50817
50879
|
}
|
|
50818
50880
|
),
|
|
@@ -50821,8 +50883,9 @@ function DiffView({
|
|
|
50821
50883
|
{
|
|
50822
50884
|
type: "button",
|
|
50823
50885
|
onClick: search2.handleOpenSearch,
|
|
50824
|
-
className:
|
|
50886
|
+
className: ghostBtnAlwaysClass,
|
|
50825
50887
|
title: "Find in changes (⌘F)",
|
|
50888
|
+
"aria-label": "Find in changes",
|
|
50826
50889
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Search, { className: "size-3.5" })
|
|
50827
50890
|
}
|
|
50828
50891
|
),
|
|
@@ -50831,26 +50894,23 @@ function DiffView({
|
|
|
50831
50894
|
{
|
|
50832
50895
|
type: "button",
|
|
50833
50896
|
onClick: () => setExpandAll(!expandAll),
|
|
50834
|
-
className:
|
|
50897
|
+
className: `${ghostBtnAlwaysClass} ${expandAll ? "bg-accent text-foreground" : ""}`,
|
|
50835
50898
|
title: expandAll ? "Collapse all files" : "Expand all files",
|
|
50899
|
+
"aria-label": expandAll ? "Collapse all files" : "Expand all files",
|
|
50900
|
+
"aria-pressed": expandAll,
|
|
50836
50901
|
children: expandAll ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronsDownUp, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronsUpDown, { className: "size-3.5" })
|
|
50837
50902
|
}
|
|
50838
50903
|
),
|
|
50839
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
50840
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-7 w-auto gap-1 rounded-md border-border/50 bg-muted/50 px-2.5 text-xs", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, {}) }),
|
|
50841
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
50842
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "uncommitted", children: "Uncommitted" }),
|
|
50843
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "branch", children: baseBranch ?? "base" })
|
|
50844
|
-
] })
|
|
50845
|
-
] }),
|
|
50846
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center rounded-md border border-border/50 bg-muted/50 md:flex", children: [
|
|
50904
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center md:flex", children: [
|
|
50847
50905
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
50848
50906
|
"button",
|
|
50849
50907
|
{
|
|
50850
50908
|
type: "button",
|
|
50851
50909
|
onClick: () => setViewMode("unified"),
|
|
50852
|
-
className:
|
|
50910
|
+
className: `${ghostBtnAlwaysClass} ${viewMode === "unified" ? "bg-accent text-foreground" : ""}`,
|
|
50853
50911
|
title: "Unified view",
|
|
50912
|
+
"aria-label": "Unified view",
|
|
50913
|
+
"aria-pressed": viewMode === "unified",
|
|
50854
50914
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Rows2, { className: "size-3.5" })
|
|
50855
50915
|
}
|
|
50856
50916
|
),
|
|
@@ -50859,8 +50919,10 @@ function DiffView({
|
|
|
50859
50919
|
{
|
|
50860
50920
|
type: "button",
|
|
50861
50921
|
onClick: () => setViewMode("split"),
|
|
50862
|
-
className:
|
|
50922
|
+
className: `${ghostBtnAlwaysClass} ${viewMode === "split" ? "bg-accent text-foreground" : ""}`,
|
|
50863
50923
|
title: "Split view",
|
|
50924
|
+
"aria-label": "Split view",
|
|
50925
|
+
"aria-pressed": viewMode === "split",
|
|
50864
50926
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Columns2, { className: "size-3.5" })
|
|
50865
50927
|
}
|
|
50866
50928
|
)
|
|
@@ -50901,7 +50963,22 @@ function DiffView({
|
|
|
50901
50963
|
onEditorViews: handleEditorViews
|
|
50902
50964
|
},
|
|
50903
50965
|
filename
|
|
50904
|
-
)) }) })
|
|
50966
|
+
)) }) }),
|
|
50967
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-8 shrink-0 items-center border-t border-border px-3 text-sm text-muted-foreground", children: [
|
|
50968
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children: summary.stats.filesChanged }),
|
|
50969
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-1", children: [
|
|
50970
|
+
summary.stats.filesChanged === 1 ? "file" : "files",
|
|
50971
|
+
" changed"
|
|
50972
|
+
] }),
|
|
50973
|
+
summary.stats.insertions > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-2 text-green-600 dark:text-green-400", children: [
|
|
50974
|
+
"+",
|
|
50975
|
+
summary.stats.insertions
|
|
50976
|
+
] }),
|
|
50977
|
+
summary.stats.deletions > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-1 text-red-600 dark:text-red-400", children: [
|
|
50978
|
+
"-",
|
|
50979
|
+
summary.stats.deletions
|
|
50980
|
+
] })
|
|
50981
|
+
] })
|
|
50905
50982
|
] })
|
|
50906
50983
|
] });
|
|
50907
50984
|
}
|
|
@@ -58530,19 +58607,24 @@ class WebDashboardAdapter {
|
|
|
58530
58607
|
async installCli(opts) {
|
|
58531
58608
|
await this.trpc.cli.install.mutate(opts);
|
|
58532
58609
|
}
|
|
58533
|
-
async getWorkspaceDiff(workspaceId, contextLines, diffMode) {
|
|
58610
|
+
async getWorkspaceDiff(workspaceId, contextLines, diffMode, compareBranch) {
|
|
58534
58611
|
return await this.trpc.workspace.getDiff.query({
|
|
58535
58612
|
workspaceId,
|
|
58536
58613
|
contextLines,
|
|
58537
|
-
diffMode
|
|
58614
|
+
diffMode,
|
|
58615
|
+
compareBranch
|
|
58538
58616
|
});
|
|
58539
58617
|
}
|
|
58540
|
-
async getWorkspaceDiffSummary(workspaceId, diffMode) {
|
|
58618
|
+
async getWorkspaceDiffSummary(workspaceId, diffMode, compareBranch) {
|
|
58541
58619
|
return await this.trpc.workspace.getDiffSummary.query({
|
|
58542
58620
|
workspaceId,
|
|
58543
|
-
diffMode
|
|
58621
|
+
diffMode,
|
|
58622
|
+
compareBranch
|
|
58544
58623
|
});
|
|
58545
58624
|
}
|
|
58625
|
+
async listWorkspaceBranches(workspaceId) {
|
|
58626
|
+
return await this.trpc.workspace.listBranches.query({ workspaceId });
|
|
58627
|
+
}
|
|
58546
58628
|
async getFileDiff(workspaceId, filePath, mergeBase, contextLines) {
|
|
58547
58629
|
return await this.trpc.workspace.getFileDiff.query({
|
|
58548
58630
|
workspaceId,
|
|
@@ -58560,8 +58642,13 @@ class WebDashboardAdapter {
|
|
|
58560
58642
|
async saveWorkspaceFile(workspaceId, path2, content2) {
|
|
58561
58643
|
await this.trpc.workspace.saveFile.mutate({ workspaceId, path: path2, content: content2 });
|
|
58562
58644
|
}
|
|
58563
|
-
async revertFile(workspaceId, filePath, diffMode) {
|
|
58564
|
-
await this.trpc.workspace.revertFile.mutate({
|
|
58645
|
+
async revertFile(workspaceId, filePath, diffMode, compareBranch) {
|
|
58646
|
+
await this.trpc.workspace.revertFile.mutate({
|
|
58647
|
+
workspaceId,
|
|
58648
|
+
filePath,
|
|
58649
|
+
diffMode,
|
|
58650
|
+
compareBranch
|
|
58651
|
+
});
|
|
58565
58652
|
}
|
|
58566
58653
|
getWorkspaceFileUrl(workspaceId, path2) {
|
|
58567
58654
|
return `/api/workspace-file/${encodeURIComponent(workspaceId)}/${path2.split("/").map(encodeURIComponent).join("/")}`;
|
|
@@ -58605,17 +58692,14 @@ class WebCapabilities {
|
|
|
58605
58692
|
window.open(url, "_blank");
|
|
58606
58693
|
}
|
|
58607
58694
|
}
|
|
58608
|
-
function
|
|
58609
|
-
return typeof window !== "undefined" && "__TAURI_INTERNALS__" in window;
|
|
58610
|
-
}
|
|
58611
|
-
function isElectron$1() {
|
|
58695
|
+
function isElectron() {
|
|
58612
58696
|
return typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
|
|
58613
58697
|
}
|
|
58614
58698
|
function isDesktopShell() {
|
|
58615
|
-
return
|
|
58699
|
+
return isElectron();
|
|
58616
58700
|
}
|
|
58617
58701
|
function electronBridge$1() {
|
|
58618
|
-
if (!isElectron
|
|
58702
|
+
if (!isElectron()) return null;
|
|
58619
58703
|
const bridge = window.__BAND_DESKTOP__;
|
|
58620
58704
|
return bridge ?? null;
|
|
58621
58705
|
}
|
|
@@ -58624,13 +58708,9 @@ async function desktopInvoke(cmd2, args) {
|
|
|
58624
58708
|
if (bridge) {
|
|
58625
58709
|
return await bridge.invoke(cmd2, args);
|
|
58626
58710
|
}
|
|
58627
|
-
|
|
58628
|
-
const { invoke: invoke2 } = await import("./core-dG4_vufa.js");
|
|
58629
|
-
return invoke2(cmd2, args);
|
|
58630
|
-
}
|
|
58631
|
-
throw new Error(`desktopInvoke('${cmd2}') called outside a desktop shell`);
|
|
58711
|
+
throw new Error(`desktopInvoke('${cmd2}') called outside the desktop shell`);
|
|
58632
58712
|
}
|
|
58633
|
-
class
|
|
58713
|
+
class DesktopDashboardAdapter extends WebDashboardAdapter {
|
|
58634
58714
|
async installCli(opts) {
|
|
58635
58715
|
try {
|
|
58636
58716
|
await super.installCli();
|
|
@@ -58676,12 +58756,7 @@ class NativeShellCapabilities {
|
|
|
58676
58756
|
window.open(url, "_blank");
|
|
58677
58757
|
return;
|
|
58678
58758
|
}
|
|
58679
|
-
|
|
58680
|
-
await desktopInvoke("open_external", { url });
|
|
58681
|
-
return;
|
|
58682
|
-
}
|
|
58683
|
-
const { open: open2 } = await import("./index-jMSXp5h7.js");
|
|
58684
|
-
await open2(url);
|
|
58759
|
+
await desktopInvoke("open_external", { url });
|
|
58685
58760
|
}
|
|
58686
58761
|
}
|
|
58687
58762
|
function gt(e2, t2) {
|
|
@@ -60719,6 +60794,319 @@ function Qt$1({
|
|
|
60719
60794
|
);
|
|
60720
60795
|
}
|
|
60721
60796
|
Qt$1.displayName = "Separator";
|
|
60797
|
+
const isDesktop = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
|
|
60798
|
+
function electronBridge() {
|
|
60799
|
+
if (!isDesktop) return null;
|
|
60800
|
+
const bridge = window.__BAND_DESKTOP__;
|
|
60801
|
+
return bridge ?? null;
|
|
60802
|
+
}
|
|
60803
|
+
async function invoke(cmd2, args) {
|
|
60804
|
+
const bridge = electronBridge();
|
|
60805
|
+
if (bridge) {
|
|
60806
|
+
return await bridge.invoke(cmd2, args);
|
|
60807
|
+
}
|
|
60808
|
+
throw new Error(`invoke('${cmd2}') called outside the desktop shell`);
|
|
60809
|
+
}
|
|
60810
|
+
async function listen(event, cb) {
|
|
60811
|
+
const bridge = electronBridge();
|
|
60812
|
+
if (bridge) {
|
|
60813
|
+
return bridge.on(event, (payload) => cb({ payload }));
|
|
60814
|
+
}
|
|
60815
|
+
throw new Error(`listen('${event}') called outside the desktop shell`);
|
|
60816
|
+
}
|
|
60817
|
+
const androidStudioIcon = "/assets/android-studio-t3zZ7G0e.svg";
|
|
60818
|
+
const antigravityIcon = "/assets/antigravity-m-mWKI7R.svg";
|
|
60819
|
+
const cursorIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78947)'%3e%3cmask%20id='mask0_5436_78947'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='4'%20y='4'%20width='32'%20height='32'%3e%3cpath%20d='M4%204H36V36H4V4Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5436_78947)'%3e%3cpath%20d='M28.375%204H11.625C7.41383%204%204%207.41383%204%2011.625V28.375C4%2032.5862%207.41383%2036%2011.625%2036H28.375C32.5862%2036%2036%2032.5862%2036%2028.375V11.625C36%207.41383%2032.5862%204%2028.375%204Z'%20fill='black'/%3e%3c/g%3e%3cpath%20d='M29.6214%2014.2072L20.9502%209.12249C20.6718%208.95917%2020.3282%208.95917%2020.0498%209.12249L11.3786%2014.2072C11.1445%2014.3445%2011%2014.5984%2011%2014.8733V25.1267C11%2025.4012%2011.1445%2025.6555%2011.3786%2025.7928L20.0498%2030.8775C20.3282%2031.0408%2020.6718%2031.0408%2020.9502%2030.8775L29.6214%2025.7928C29.8555%2025.6555%2030%2025.4016%2030%2025.1267V14.8733C30%2014.5988%2029.8555%2014.3445%2029.6214%2014.2072ZM29.0767%2015.2843L20.706%2030.0101C20.6494%2030.1093%2020.5%2030.0688%2020.5%2029.9538V20.3115C20.5%2020.1189%2020.3986%2019.9407%2020.2342%2019.8439L12.0124%2015.0226C11.9147%2014.9651%2011.9546%2014.8134%2012.0678%2014.8134H28.8093C29.047%2014.8134%2029.1956%2015.0751%2029.0767%2015.2843Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5436_78947'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
60820
|
+
const finderIcon = "data:image/png;base64,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";
|
|
60821
|
+
const ghosttyIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79067)'%3e%3cpath%20d='M27.395%2036C26.1435%2035.9986%2024.9203%2035.6274%2023.879%2034.933C22.8374%2035.6273%2021.6139%2035.9985%2020.362%2036C19.113%2036%2017.882%2035.625%2016.846%2034.933C15.8189%2035.6241%2014.61%2035.9954%2013.372%2036H13.334C12.4944%2036.0006%2011.6633%2035.8321%2010.8902%2035.5047C10.1171%2035.1772%209.41781%2034.6975%208.83405%2034.094C7.65642%2032.8996%206.99679%2031.2893%206.99805%2029.612V17.362C7.00005%209.995%2012.994%204%2020.362%204C27.731%204%2033.725%209.994%2033.725%2017.363V29.616C33.725%2033.009%2031.099%2035.808%2027.747%2035.991C27.63%2035.998%2027.513%2036%2027.395%2036Z'%20fill='%233551F3'/%3e%3cpath%20d='M27.395%2034.5932C26.2752%2034.5924%2025.1889%2034.2104%2024.315%2033.5102C24.1961%2033.4145%2024.0476%2033.3632%2023.895%2033.3652C23.7174%2033.367%2023.5457%2033.4291%2023.408%2033.5412C22.5392%2034.2237%2021.4668%2034.5951%2020.362%2034.5962C19.2576%2034.5949%2018.1855%2034.2234%2017.317%2033.5412C17.1835%2033.4338%2017.0174%2033.3752%2016.846%2033.3752C16.6747%2033.3752%2016.5085%2033.4338%2016.375%2033.5412C15.518%2034.2199%2014.4581%2034.5914%2013.365%2034.5962H13.332C12.6806%2034.5961%2012.0359%2034.4649%2011.4362%2034.2102C10.8366%2033.9556%2010.2945%2033.5829%209.84201%2033.1142C8.92225%2032.1822%208.40639%2030.9256%208.40601%2029.6162V17.3672C8.40601%2010.7702%2013.77%205.40723%2020.363%205.40723C26.955%205.40723%2032.319%2010.7702%2032.319%2017.3632V29.6162C32.319%2032.2612%2030.277%2034.4432%2027.669%2034.5862C27.5777%2034.5909%2027.4864%2034.5932%2027.395%2034.5932Z'%20fill='black'/%3e%3cpath%20d='M30.912%2017.3635V29.6165C30.912%2031.4925%2029.465%2033.0795%2027.592%2033.1825C26.725%2033.2323%2025.8704%2032.9582%2025.194%2032.4135C24.416%2031.7875%2023.321%2031.8155%2022.536%2032.4345C21.9163%2032.9237%2021.1495%2033.1891%2020.36%2033.1875C19.5714%2033.1889%2018.8056%2032.9235%2018.187%2032.4345C17.8057%2032.1306%2017.3326%2031.9651%2016.845%2031.9651C16.3574%2031.9651%2015.8843%2032.1306%2015.503%2032.4345C14.8904%2032.9183%2014.1336%2033.1834%2013.353%2033.1875C11.405%2033.2015%209.81299%2031.5605%209.81299%2029.6125V17.3625C9.81299%2011.5375%2014.537%206.81348%2020.363%206.81348C26.188%206.81348%2030.912%2011.5375%2030.912%2017.3635Z'%20fill='white'/%3e%3cpath%20d='M18.28%2016.4366L14.35%2014.1666C14.104%2014.0248%2013.8117%2013.9865%2013.5374%2014.06C13.2632%2014.1335%2013.0292%2014.3128%2012.887%2014.5586C12.7452%2014.8045%2012.7067%2015.0966%2012.78%2015.3709C12.8533%2015.6452%2013.0324%2015.8792%2013.278%2016.0216L15.604%2017.3646L13.278%2018.7076C13.045%2018.8559%2012.8783%2019.0886%2012.8126%2019.3569C12.7469%2019.6252%2012.7873%2019.9085%2012.9255%2020.1478C13.0636%2020.387%2013.2887%2020.5637%2013.554%2020.641C13.8192%2020.7183%2014.104%2020.6902%2014.349%2020.5626L18.281%2018.2926C18.4436%2018.1985%2018.5786%2018.0633%2018.6724%2017.9006C18.7662%2017.7379%2018.8156%2017.5534%2018.8156%2017.3656C18.8156%2017.1777%2018.7662%2016.9932%2018.6724%2016.8305C18.5786%2016.6678%2018.4436%2016.5326%2018.281%2016.4386V16.4366H18.28ZM27.182%2016.2906H22.018C21.7338%2016.2906%2021.4613%2016.4034%2021.2604%2016.6044C21.0594%2016.8053%2020.9465%2017.0779%2020.9465%2017.3621C20.9465%2017.6462%2021.0594%2017.9188%2021.2604%2018.1197C21.4613%2018.3207%2021.7338%2018.4336%2022.018%2018.4336H27.182C27.4662%2018.4336%2027.7387%2018.3207%2027.9397%2018.1197C28.1406%2017.9188%2028.2535%2017.6462%2028.2535%2017.3621C28.2535%2017.0779%2028.1406%2016.8053%2027.9397%2016.6044C27.7387%2016.4034%2027.4662%2016.2906%2027.182%2016.2906Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79067'%3e%3crect%20width='27'%20height='32'%20fill='white'%20transform='translate(7%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
60822
|
+
const intellijIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0Y5N0ExMiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQzI5QjgiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPklKPC90ZXh0Pgo8L3N2Zz4K";
|
|
60823
|
+
const iterm2Icon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='4'%20y='4'%20width='32'%20height='32'%20rx='6.4'%20fill='url(%23paint0_linear_5437_79079)'/%3e%3crect%20x='4.80005'%20y='4.7998'%20width='30.4'%20height='30.4'%20rx='5.6'%20fill='black'/%3e%3crect%20x='7.19995'%20y='7.2002'%20width='25.6'%20height='25.6'%20rx='3.2'%20fill='%23202A2F'/%3e%3cpath%20d='M25.2454%208.85742H19.2454V20.8574H25.2454V8.85742Z'%20fill='%230EE827'%20fill-opacity='0.35'/%3e%3cpath%20d='M11.7895%2018.9218C11.4758%2018.8949%2011.1817%2018.85%2010.9072%2018.7872C10.6424%2018.7154%2010.3973%2018.6392%2010.1718%2018.5584C9.95613%2018.4776%209.76496%2018.4014%209.59829%2018.3296C9.44145%2018.2488%209.32378%2018.186%209.24536%2018.1412L9.87771%2016.9567C9.94631%2017.0016%2010.064%2017.0644%2010.2306%2017.1452C10.3973%2017.2259%2010.5836%2017.3111%2010.7895%2017.4009C11.0052%2017.4816%2011.2257%2017.5534%2011.4513%2017.6162C11.6768%2017.679%2011.8875%2017.7105%2012.0836%2017.7105C13.064%2017.7105%2013.5542%2017.3381%2013.5542%2016.5933C13.5542%2016.4138%2013.5199%2016.2658%2013.4512%2016.1492C13.3925%2016.0325%2013.2993%2015.9338%2013.1719%2015.853C13.0542%2015.7633%2012.9071%2015.687%2012.7307%2015.6242C12.564%2015.5525%2012.3729%2015.4806%2012.1571%2015.4089C11.7453%2015.2653%2011.3777%2015.1172%2011.0542%2014.9647C10.7405%2014.8032%2010.4708%2014.6237%2010.2454%2014.4263C10.0199%2014.2289%209.8483%2014.0046%209.73063%2013.7534C9.61303%2013.5021%209.5542%2013.2149%209.5542%2012.8919C9.5542%2012.6407%209.60812%2012.3984%209.71596%2012.1651C9.82379%2011.9318%209.97572%2011.7254%2010.1718%2011.546C10.3679%2011.3576%2010.6032%2011.2005%2010.8777%2011.0749C11.1522%2010.9403%2011.4562%2010.8461%2011.7895%2010.7922V8.85742H12.9954V10.7653C13.2503%2010.7922%2013.4954%2010.8326%2013.7307%2010.8865C13.966%2010.9403%2014.1767%2010.9986%2014.363%2011.0614C14.5493%2011.1242%2014.7062%2011.1871%2014.8336%2011.2499C14.9709%2011.3037%2015.0689%2011.3441%2015.1278%2011.371L14.5395%2012.4747C14.4611%2012.4388%2014.3483%2012.3939%2014.2012%2012.3401C14.064%2012.2773%2013.9072%2012.2144%2013.7307%2012.1517C13.5542%2012.0888%2013.363%2012.035%2013.1571%2011.9901C12.9513%2011.9453%2012.7454%2011.9228%2012.5395%2011.9228C12.2062%2011.9228%2011.9071%2011.9856%2011.6424%2012.1112C11.3875%2012.2279%2011.2601%2012.4298%2011.2601%2012.7169C11.2601%2012.8964%2011.2944%2013.058%2011.363%2013.2015C11.4414%2013.3361%2011.5493%2013.4573%2011.6865%2013.5649C11.8336%2013.6726%2012.0101%2013.7758%2012.2159%2013.8745C12.4316%2013.9642%2012.6768%2014.054%2012.9513%2014.1437C13.314%2014.2782%2013.6376%2014.4173%2013.9218%2014.5609C14.2062%2014.7045%2014.4463%2014.866%2014.6424%2015.0455C14.8385%2015.2249%2014.9856%2015.4313%2015.0836%2015.6646C15.1914%2015.8979%2015.2454%2016.1715%2015.2454%2016.4856C15.2454%2016.7548%2015.1964%2017.015%2015.0983%2017.2662C15.0101%2017.5175%2014.8679%2017.7508%2014.6718%2017.9661C14.4856%2018.1815%2014.2503%2018.3699%2013.966%2018.5315C13.6915%2018.684%2013.3679%2018.7962%2012.9954%2018.8679V20.8574H11.7895V18.9218Z'%20fill='%230EE827'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5437_79079'%20x1='20'%20y1='4'%20x2='20'%20y2='36'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23D4E6E8'/%3e%3cstop%20offset='1'%20stop-color='%23767573'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
|
|
60824
|
+
const kiroIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGOTkwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjY2MDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8dGV4dCB4PSI1NiIgeT0iMTc4IiBmaWxsPSIjZmZmIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYiIGZvbnQtd2VpZ2h0PSJib2xkIiBmb250LXNpemU9IjcyIj5LPC90ZXh0Pgo8L3N2Zz4K";
|
|
60825
|
+
const rustroverIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZDODAxRCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNCNzRDRjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPlJSPC90ZXh0Pgo8L3N2Zz4K";
|
|
60826
|
+
const sublimetextIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78897)'%3e%3cpath%20d='M35.911%2020.0773C35.911%2019.7026%2035.552%2019.4866%2035.1114%2019.5939L4.79962%2027.0055C4.35812%2027.1135%204%2027.5052%204%2027.8792V35.4541C4%2035.8288%204.35812%2036.0455%204.79962%2035.9375L35.1114%2028.5266C35.552%2028.4187%2035.911%2028.0269%2035.911%2027.6523V20.0774V20.0773Z'%20fill='url(%23paint0_linear_5436_78897)'/%3e%3cpath%20d='M4%2019.8353C4%2020.21%204.35812%2020.6016%204.79962%2020.7097L35.1159%2028.1219C35.5573%2028.2299%2035.9155%2028.0133%2035.9155%2027.6393V20.0637C35.9155%2019.6897%2035.5573%2019.298%2035.1159%2019.19L4.79962%2011.7778C4.35812%2011.6699%204%2011.8858%204%2012.2603V19.8353V19.8353Z'%20fill='%23FF9800'/%3e%3cpath%20d='M35.911%204.51106C35.911%204.1365%2035.552%203.91973%2035.1114%204.02778L4.79962%2011.4387C4.35812%2011.5466%204%2011.9383%204%2012.313V19.8879C4%2020.2626%204.35812%2020.4786%204.79962%2020.3712L35.1114%2012.9596C35.552%2012.8517%2035.911%2012.46%2035.911%2012.086V4.51106Z'%20fill='%23FF9800'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5436_78897'%20x1='1762.84'%20y1='981.852'%20x2='1845.15'%20y2='624.882'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FF9700'/%3e%3cstop%20offset='0.53'%20stop-color='%23F48E00'/%3e%3cstop%20offset='1'%20stop-color='%23D06F00'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_5436_78897'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
60827
|
+
const terminalIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAA0RJREFUeAHtmM9PE0EUx18pJCRaugUhQkuqXgi3eqDVpJFK+g9w8Ejkohcg4I8DFynECxdEAlz0gA0nNYF4kkODRDQmNQQ8NRhjbd1FrQHankja3XFm7DbN7rQMyS7l0E+y3dmZt/u+mffednYAatSoLpZKg9s//wawRUhKJj2/90QBLNgcocJt+EyvAQo/UBwv2qkeCm7o2P/ri+3OtOuSewcpEL7quvACTsJ2PC5sJf8sPQw9Rh2dnaigwPCjw9WJJmfm0FYyNUt8Ai+f4+Ls3dEHpgnTHndG76NoXFpiaanXdnz8Gh988+rl2LO5GXrd2NgILS0tUFdXB0aSy+Vgf3+fnp/PPYFztvODn2Lx8PXuyxuldroc/BD79u5WMBD4JYnQ0NAAbrfbcHEqiqKAKIpwdHQE7U4XvI683/B3X7lZaqPzLCV+eIg4Qmtrq2niqHP8bBIdAvEpJr57dDbajj1RLCar1Wot9i8vL0MwGAQzRKpgkXbduLZDlmVg4XQ6YXFxkR6kbQZKXtalnE4gwnnBYmhoCKLRKJ3F9fV1mJ6eNlwozkkExwlU5Dzz5lgsBgMDAzA+Pg6SJEF/fz8VOjw8DMYJ1EePO8Qqq6ur0NfXR2eT4PP5wChknhArZUKs4vV6acGQczabhUgkAkbBil693kguK2xkZISeCSsrK7CwsEDDbRSs/OcWqBYFCe38/HwxxEbCSi+9QIUtkAgis1ZO2O7uLpSjq6sLeGD51gnEicq8mVSv2XDNIFIqV3E5eGepEkjmeM0cV8VmIvMILBfi00DhmkFURYFIHz3GX10VBeZ5ZrCaApUzLhAXCcdqpopVjF9xxy8WZPmMVzGqqkCOKrbZbGm1fRqzWZpS2Pehdlwn0C7YdxwOB20fHByYmpPk2alUirYF7FMQhC9aG/1iQZanfNd8gbW3a/R7NZFIQFtbm+Gfn0Sc+uFOCAQCkM/nwlw3PwqFlnp7e09t6+MG9jUxMfGUpaWe1Wm1WO75/f40zomxzc1NyGQyYAaCYIeeHi9ZpYdxhCZZNhW33/AacBBvmd3OpA896WxW/aBHFry/hkr24TTXWrT7dNSmydaUdjQ37+DmFF6tb0CNGmeUfwIH0sS3Pm7dAAAAAElFTkSuQmCC";
|
|
60828
|
+
const textmateIcon = "data:image/png;base64,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";
|
|
60829
|
+
const vscodeIcon = "/assets/vscode-C5BXgFjm.svg";
|
|
60830
|
+
const warpIcon = "data:image/png;base64,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";
|
|
60831
|
+
const webstormIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzA3QzNGMiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwODdDRkEiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPldTPC90ZXh0Pgo8L3N2Zz4K";
|
|
60832
|
+
const windSurfIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20256%20256'%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='0'%20y1='0'%20x2='256'%20y2='256'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%230ACF83'/%3e%3cstop%20offset='1'%20stop-color='%2305A2C2'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='256'%20height='256'%20rx='48'%20fill='url(%23a)'/%3e%3cpath%20d='M80%2080%20L176%20128%20L80%20176Z'%20fill='%23fff'/%3e%3c/svg%3e";
|
|
60833
|
+
const xcodeIcon = "data:image/png;base64,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";
|
|
60834
|
+
const zedIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79109)'%3e%3cmask%20id='mask0_5437_79109'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79109)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='black'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79109'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
60835
|
+
const zedDarkIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79100)'%3e%3cmask%20id='mask0_5437_79100'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79100)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79100'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
60836
|
+
const APP_ICONS = {
|
|
60837
|
+
vscode: vscodeIcon,
|
|
60838
|
+
cursor: cursorIcon,
|
|
60839
|
+
zed: zedIcon,
|
|
60840
|
+
"zed-dark": zedDarkIcon,
|
|
60841
|
+
finder: finderIcon,
|
|
60842
|
+
terminal: terminalIcon,
|
|
60843
|
+
iterm2: iterm2Icon,
|
|
60844
|
+
ghostty: ghosttyIcon,
|
|
60845
|
+
warp: warpIcon,
|
|
60846
|
+
xcode: xcodeIcon,
|
|
60847
|
+
"android-studio": androidStudioIcon,
|
|
60848
|
+
antigravity: antigravityIcon,
|
|
60849
|
+
textmate: textmateIcon,
|
|
60850
|
+
"sublime-text": sublimetextIcon,
|
|
60851
|
+
intellij: intellijIcon,
|
|
60852
|
+
webstorm: webstormIcon,
|
|
60853
|
+
rustrover: rustroverIcon,
|
|
60854
|
+
windsurf: windSurfIcon,
|
|
60855
|
+
kiro: kiroIcon
|
|
60856
|
+
};
|
|
60857
|
+
function isDark$1() {
|
|
60858
|
+
return document.documentElement.classList.contains("dark");
|
|
60859
|
+
}
|
|
60860
|
+
function AppIcon({ id: id28, className }) {
|
|
60861
|
+
const [dark, setDark] = reactExports.useState(isDark$1);
|
|
60862
|
+
reactExports.useEffect(() => {
|
|
60863
|
+
const observer = new MutationObserver(() => setDark(isDark$1()));
|
|
60864
|
+
observer.observe(document.documentElement, {
|
|
60865
|
+
attributes: true,
|
|
60866
|
+
attributeFilter: ["class"]
|
|
60867
|
+
});
|
|
60868
|
+
return () => observer.disconnect();
|
|
60869
|
+
}, []);
|
|
60870
|
+
let src = APP_ICONS[id28];
|
|
60871
|
+
if (id28 === "zed" && dark) {
|
|
60872
|
+
src = APP_ICONS["zed-dark"];
|
|
60873
|
+
}
|
|
60874
|
+
if (!src) return null;
|
|
60875
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src, alt: "", draggable: false, className: className ?? "size-5" });
|
|
60876
|
+
}
|
|
60877
|
+
const MAC_APPS = [
|
|
60878
|
+
{ id: "vscode", label: "VS Code", icon: "vscode", openWith: "Visual Studio Code" },
|
|
60879
|
+
{ id: "cursor", label: "Cursor", icon: "cursor", openWith: "Cursor" },
|
|
60880
|
+
{ id: "zed", label: "Zed", icon: "zed", openWith: "Zed" },
|
|
60881
|
+
{ id: "windsurf", label: "Windsurf", icon: "windsurf", openWith: "Windsurf" },
|
|
60882
|
+
{ id: "kiro", label: "Kiro", icon: "kiro", openWith: "Kiro" },
|
|
60883
|
+
{ id: "xcode", label: "Xcode", icon: "xcode", openWith: "Xcode" },
|
|
60884
|
+
{ id: "antigravity", label: "Antigravity", icon: "antigravity", openWith: "Antigravity" },
|
|
60885
|
+
{ id: "textmate", label: "TextMate", icon: "textmate", openWith: "TextMate" },
|
|
60886
|
+
{ id: "sublime-text", label: "Sublime Text", icon: "sublime-text", openWith: "Sublime Text" },
|
|
60887
|
+
{ id: "intellij", label: "IntelliJ IDEA", icon: "intellij", openWith: "IntelliJ IDEA" },
|
|
60888
|
+
{ id: "webstorm", label: "WebStorm", icon: "webstorm", openWith: "WebStorm" },
|
|
60889
|
+
{ id: "rustrover", label: "RustRover", icon: "rustrover", openWith: "RustRover" },
|
|
60890
|
+
{ id: "iterm2", label: "iTerm2", icon: "iterm2", openWith: "iTerm" },
|
|
60891
|
+
{ id: "terminal", label: "Terminal", icon: "terminal", openWith: "Terminal" },
|
|
60892
|
+
{ id: "ghostty", label: "Ghostty", icon: "ghostty", openWith: "Ghostty" },
|
|
60893
|
+
{ id: "warp", label: "Warp", icon: "warp", openWith: "Warp" },
|
|
60894
|
+
{
|
|
60895
|
+
id: "android-studio",
|
|
60896
|
+
label: "Android Studio",
|
|
60897
|
+
icon: "android-studio",
|
|
60898
|
+
openWith: "Android Studio"
|
|
60899
|
+
}
|
|
60900
|
+
];
|
|
60901
|
+
function EditorPicker({ workspacePath, onCopyPath }) {
|
|
60902
|
+
const { settings } = useSettingsQuery();
|
|
60903
|
+
const updateSettings = useUpdateSettings();
|
|
60904
|
+
const [installed, setInstalled] = reactExports.useState({ finder: true });
|
|
60905
|
+
reactExports.useEffect(() => {
|
|
60906
|
+
if (!isDesktop) return;
|
|
60907
|
+
let cancelled = false;
|
|
60908
|
+
Promise.all(
|
|
60909
|
+
MAC_APPS.map(
|
|
60910
|
+
(app) => invoke("check_app_exists", { appName: app.openWith }).then((ok2) => [app.id, ok2]).catch(() => [app.id, false])
|
|
60911
|
+
)
|
|
60912
|
+
).then((entries2) => {
|
|
60913
|
+
if (cancelled) return;
|
|
60914
|
+
const map2 = { finder: true };
|
|
60915
|
+
for (const [id28, ok2] of entries2) {
|
|
60916
|
+
map2[id28] = ok2;
|
|
60917
|
+
}
|
|
60918
|
+
setInstalled(map2);
|
|
60919
|
+
});
|
|
60920
|
+
return () => {
|
|
60921
|
+
cancelled = true;
|
|
60922
|
+
};
|
|
60923
|
+
}, []);
|
|
60924
|
+
const options = reactExports.useMemo(() => {
|
|
60925
|
+
const finderItem = {
|
|
60926
|
+
id: "finder",
|
|
60927
|
+
label: "Finder",
|
|
60928
|
+
icon: "finder",
|
|
60929
|
+
openWith: "Finder"
|
|
60930
|
+
};
|
|
60931
|
+
const apps = MAC_APPS.filter((app) => installed[app.id]);
|
|
60932
|
+
return [finderItem, ...apps];
|
|
60933
|
+
}, [installed]);
|
|
60934
|
+
const selectedId = settings.defaultOpenApp;
|
|
60935
|
+
const current = reactExports.useMemo(
|
|
60936
|
+
() => options.find((o3) => o3.id === selectedId) ?? options[0],
|
|
60937
|
+
[options, selectedId]
|
|
60938
|
+
);
|
|
60939
|
+
const selectApp = reactExports.useCallback(
|
|
60940
|
+
(appId) => {
|
|
60941
|
+
updateSettings.mutate({
|
|
60942
|
+
...settings,
|
|
60943
|
+
defaultOpenApp: appId
|
|
60944
|
+
});
|
|
60945
|
+
},
|
|
60946
|
+
[settings, updateSettings]
|
|
60947
|
+
);
|
|
60948
|
+
const openWith = reactExports.useCallback(
|
|
60949
|
+
async (app) => {
|
|
60950
|
+
if (!isDesktop) return;
|
|
60951
|
+
if (app.id === "finder") {
|
|
60952
|
+
invoke("reveal_in_finder", { path: workspacePath }).catch(() => {
|
|
60953
|
+
});
|
|
60954
|
+
return;
|
|
60955
|
+
}
|
|
60956
|
+
invoke("open_with_app", {
|
|
60957
|
+
path: workspacePath,
|
|
60958
|
+
appName: app.openWith
|
|
60959
|
+
}).catch(() => {
|
|
60960
|
+
});
|
|
60961
|
+
},
|
|
60962
|
+
[workspacePath]
|
|
60963
|
+
);
|
|
60964
|
+
const handleMainClick = reactExports.useCallback(() => {
|
|
60965
|
+
openWith(current);
|
|
60966
|
+
}, [current, openWith]);
|
|
60967
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center rounded-md overflow-hidden border border-border/40", children: [
|
|
60968
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
60969
|
+
"button",
|
|
60970
|
+
{
|
|
60971
|
+
type: "button",
|
|
60972
|
+
onClick: handleMainClick,
|
|
60973
|
+
onMouseDown: (e2) => e2.stopPropagation(),
|
|
60974
|
+
className: "flex items-center justify-center px-1 py-0.5 hover:bg-accent/50 transition-colors",
|
|
60975
|
+
title: `Open in ${current.label}`,
|
|
60976
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AppIcon, { id: current.icon, className: "size-5" })
|
|
60977
|
+
}
|
|
60978
|
+
),
|
|
60979
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
60980
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
60981
|
+
"button",
|
|
60982
|
+
{
|
|
60983
|
+
type: "button",
|
|
60984
|
+
onMouseDown: (e2) => e2.stopPropagation(),
|
|
60985
|
+
className: "flex items-center justify-center px-0.5 py-0.5 hover:bg-accent/50 transition-colors border-l border-border/40",
|
|
60986
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-3.5 text-muted-foreground" })
|
|
60987
|
+
}
|
|
60988
|
+
) }),
|
|
60989
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", className: "min-w-[180px]", children: [
|
|
60990
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuLabel, { children: "Open in" }),
|
|
60991
|
+
options.map((app) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60992
|
+
DropdownMenuItem,
|
|
60993
|
+
{
|
|
60994
|
+
onClick: () => {
|
|
60995
|
+
selectApp(app.id);
|
|
60996
|
+
openWith(app);
|
|
60997
|
+
},
|
|
60998
|
+
className: "gap-2",
|
|
60999
|
+
children: [
|
|
61000
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AppIcon, { id: app.icon, className: "size-5 shrink-0" }),
|
|
61001
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: app.label }),
|
|
61002
|
+
current.id === app.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-muted-foreground" })
|
|
61003
|
+
]
|
|
61004
|
+
},
|
|
61005
|
+
app.id
|
|
61006
|
+
)),
|
|
61007
|
+
onCopyPath && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
61008
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuSeparator, {}),
|
|
61009
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: onCopyPath, className: "gap-2", children: [
|
|
61010
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "size-4 shrink-0 ml-0.5" }),
|
|
61011
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: "Copy path" })
|
|
61012
|
+
] })
|
|
61013
|
+
] })
|
|
61014
|
+
] })
|
|
61015
|
+
] })
|
|
61016
|
+
] });
|
|
61017
|
+
}
|
|
61018
|
+
const DRAG_STYLE = { WebkitAppRegion: "drag" };
|
|
61019
|
+
const NO_DRAG_STYLE = { WebkitAppRegion: "no-drag" };
|
|
61020
|
+
function DesktopTitleBar({
|
|
61021
|
+
title,
|
|
61022
|
+
onToggleSidebar,
|
|
61023
|
+
sidebarCollapsed,
|
|
61024
|
+
workspaceName,
|
|
61025
|
+
workspacePath,
|
|
61026
|
+
onCopyPath,
|
|
61027
|
+
panelItems,
|
|
61028
|
+
hiddenPanels,
|
|
61029
|
+
onTogglePanelVisibility
|
|
61030
|
+
}) {
|
|
61031
|
+
const [appTitle, setAppTitle] = reactExports.useState(title ?? "Band");
|
|
61032
|
+
reactExports.useEffect(() => {
|
|
61033
|
+
if (title) return;
|
|
61034
|
+
if (!isDesktop) return;
|
|
61035
|
+
invoke("get_app_title").then(setAppTitle).catch(() => {
|
|
61036
|
+
});
|
|
61037
|
+
}, [title]);
|
|
61038
|
+
const hasEditorPicker = workspaceName && workspacePath;
|
|
61039
|
+
const hasPanels = workspaceName && panelItems && panelItems.length > 0 && onTogglePanelVisibility;
|
|
61040
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
61041
|
+
"div",
|
|
61042
|
+
{
|
|
61043
|
+
className: "h-[38px] shrink-0 flex items-center justify-center relative border-b border-border",
|
|
61044
|
+
style: DRAG_STYLE,
|
|
61045
|
+
children: [
|
|
61046
|
+
onToggleSidebar && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
61047
|
+
"button",
|
|
61048
|
+
{
|
|
61049
|
+
type: "button",
|
|
61050
|
+
onClick: onToggleSidebar,
|
|
61051
|
+
style: NO_DRAG_STYLE,
|
|
61052
|
+
className: "absolute left-[80px] top-1/2 -translate-y-1/2 flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors pointer-events-auto",
|
|
61053
|
+
title: sidebarCollapsed ? "Show sidebar" : "Hide sidebar",
|
|
61054
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-5" })
|
|
61055
|
+
}
|
|
61056
|
+
),
|
|
61057
|
+
workspaceName ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground select-none pointer-events-none truncate max-w-[50%]", children: workspaceName }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium text-muted-foreground select-none pointer-events-none", children: appTitle }),
|
|
61058
|
+
(hasEditorPicker || hasPanels) && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
61059
|
+
"div",
|
|
61060
|
+
{
|
|
61061
|
+
className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1 pointer-events-auto",
|
|
61062
|
+
style: NO_DRAG_STYLE,
|
|
61063
|
+
children: [
|
|
61064
|
+
hasEditorPicker && /* @__PURE__ */ jsxRuntimeExports.jsx(EditorPicker, { workspacePath, onCopyPath }),
|
|
61065
|
+
hasPanels && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
61066
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
61067
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
61068
|
+
"button",
|
|
61069
|
+
{
|
|
61070
|
+
type: "button",
|
|
61071
|
+
className: "flex items-center justify-center rounded-md p-1 text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors",
|
|
61072
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelTop, { className: "size-5" })
|
|
61073
|
+
}
|
|
61074
|
+
) }) }),
|
|
61075
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "Switch Panel" })
|
|
61076
|
+
] }),
|
|
61077
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuContent, { align: "end", children: panelItems?.map((item) => {
|
|
61078
|
+
const Icon2 = item.icon;
|
|
61079
|
+
const isChat = item.id === "chat";
|
|
61080
|
+
const isVisible = isChat || !hiddenPanels?.includes(item.id);
|
|
61081
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
61082
|
+
DropdownMenuCheckboxItem,
|
|
61083
|
+
{
|
|
61084
|
+
checked: isVisible,
|
|
61085
|
+
disabled: isChat,
|
|
61086
|
+
onCheckedChange: () => {
|
|
61087
|
+
if (isChat) return;
|
|
61088
|
+
onTogglePanelVisibility?.(item.id);
|
|
61089
|
+
},
|
|
61090
|
+
children: [
|
|
61091
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "size-4" }),
|
|
61092
|
+
item.label,
|
|
61093
|
+
item.shortcut && /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuShortcut, { children: item.shortcut })
|
|
61094
|
+
]
|
|
61095
|
+
},
|
|
61096
|
+
item.id
|
|
61097
|
+
);
|
|
61098
|
+
}) })
|
|
61099
|
+
] })
|
|
61100
|
+
]
|
|
61101
|
+
}
|
|
61102
|
+
)
|
|
61103
|
+
]
|
|
61104
|
+
}
|
|
61105
|
+
);
|
|
61106
|
+
}
|
|
61107
|
+
function DesktopDragRegion() {
|
|
61108
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-[38px] shrink-0", style: DRAG_STYLE });
|
|
61109
|
+
}
|
|
60722
61110
|
function parseWorkspaceFromPath(pathname) {
|
|
60723
61111
|
const match = pathname.match(/^\/workspace\/([^/]+)/);
|
|
60724
61112
|
return match ? decodeURIComponent(match[1]) : null;
|
|
@@ -72153,47 +72541,6 @@ function useRecentFiles(workspaceId) {
|
|
|
72153
72541
|
);
|
|
72154
72542
|
return { recentFiles, trackFile };
|
|
72155
72543
|
}
|
|
72156
|
-
const isTauri = typeof window !== "undefined" && "__TAURI_INTERNALS__" in window;
|
|
72157
|
-
const isElectron = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
|
|
72158
|
-
const isDesktop = isTauri || isElectron;
|
|
72159
|
-
function electronBridge() {
|
|
72160
|
-
if (!isElectron) return null;
|
|
72161
|
-
const bridge = window.__BAND_DESKTOP__;
|
|
72162
|
-
return bridge ?? null;
|
|
72163
|
-
}
|
|
72164
|
-
async function invoke(cmd2, args) {
|
|
72165
|
-
const bridge = electronBridge();
|
|
72166
|
-
if (bridge) {
|
|
72167
|
-
return await bridge.invoke(cmd2, args);
|
|
72168
|
-
}
|
|
72169
|
-
if (isTauri) {
|
|
72170
|
-
const { invoke: tauriInvoke } = await import("./core-dG4_vufa.js");
|
|
72171
|
-
return tauriInvoke(cmd2, args);
|
|
72172
|
-
}
|
|
72173
|
-
throw new Error(`invoke('${cmd2}') called outside a desktop shell`);
|
|
72174
|
-
}
|
|
72175
|
-
async function listen(event, cb) {
|
|
72176
|
-
const bridge = electronBridge();
|
|
72177
|
-
if (bridge) {
|
|
72178
|
-
return bridge.on(event, (payload) => cb({ payload }));
|
|
72179
|
-
}
|
|
72180
|
-
if (isTauri) {
|
|
72181
|
-
const { listen: tauriListen } = await import("./event-2oMkw_LQ.js");
|
|
72182
|
-
return tauriListen(event, cb);
|
|
72183
|
-
}
|
|
72184
|
-
throw new Error(`listen('${event}') called outside a desktop shell`);
|
|
72185
|
-
}
|
|
72186
|
-
async function startDragging() {
|
|
72187
|
-
const bridge = electronBridge();
|
|
72188
|
-
if (bridge) {
|
|
72189
|
-
await bridge.startDragging();
|
|
72190
|
-
return;
|
|
72191
|
-
}
|
|
72192
|
-
if (isTauri) {
|
|
72193
|
-
const { getCurrentWindow } = await import("./window-Qr88gZCE.js");
|
|
72194
|
-
await getCurrentWindow().startDragging();
|
|
72195
|
-
}
|
|
72196
|
-
}
|
|
72197
72544
|
const wsClient = createWSClient({
|
|
72198
72545
|
url: () => {
|
|
72199
72546
|
const proto2 = location.protocol === "https:" ? "wss:" : "ws:";
|
|
@@ -111773,7 +112120,7 @@ const luminance = (color2) => {
|
|
|
111773
112120
|
const isLight = (color2) => {
|
|
111774
112121
|
return luminance(color2) >= 0.5;
|
|
111775
112122
|
};
|
|
111776
|
-
const isDark
|
|
112123
|
+
const isDark = (color2) => {
|
|
111777
112124
|
return !isLight(color2);
|
|
111778
112125
|
};
|
|
111779
112126
|
const adjustChannel = (color2, channel, amount) => {
|
|
@@ -113095,7 +113442,7 @@ var Theme2 = (_b2 = class {
|
|
|
113095
113442
|
this.quadrant2TextFill = this.quadrant2TextFill || adjust(this.primaryTextColor, { r: -5, g: -5, b: -5 });
|
|
113096
113443
|
this.quadrant3TextFill = this.quadrant3TextFill || adjust(this.primaryTextColor, { r: -10, g: -10, b: -10 });
|
|
113097
113444
|
this.quadrant4TextFill = this.quadrant4TextFill || adjust(this.primaryTextColor, { r: -15, g: -15, b: -15 });
|
|
113098
|
-
this.quadrantPointFill = this.quadrantPointFill || isDark
|
|
113445
|
+
this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);
|
|
113099
113446
|
this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;
|
|
113100
113447
|
this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;
|
|
113101
113448
|
this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;
|
|
@@ -113395,7 +113742,7 @@ var Theme22 = (_c = class {
|
|
|
113395
113742
|
this.quadrant2TextFill = this.quadrant2TextFill || adjust(this.primaryTextColor, { r: -5, g: -5, b: -5 });
|
|
113396
113743
|
this.quadrant3TextFill = this.quadrant3TextFill || adjust(this.primaryTextColor, { r: -10, g: -10, b: -10 });
|
|
113397
113744
|
this.quadrant4TextFill = this.quadrant4TextFill || adjust(this.primaryTextColor, { r: -15, g: -15, b: -15 });
|
|
113398
|
-
this.quadrantPointFill = this.quadrantPointFill || isDark
|
|
113745
|
+
this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);
|
|
113399
113746
|
this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;
|
|
113400
113747
|
this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;
|
|
113401
113748
|
this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;
|
|
@@ -113713,7 +114060,7 @@ var Theme3 = (_d = class {
|
|
|
113713
114060
|
this.quadrant2TextFill = this.quadrant2TextFill || adjust(this.primaryTextColor, { r: -5, g: -5, b: -5 });
|
|
113714
114061
|
this.quadrant3TextFill = this.quadrant3TextFill || adjust(this.primaryTextColor, { r: -10, g: -10, b: -10 });
|
|
113715
114062
|
this.quadrant4TextFill = this.quadrant4TextFill || adjust(this.primaryTextColor, { r: -15, g: -15, b: -15 });
|
|
113716
|
-
this.quadrantPointFill = this.quadrantPointFill || isDark
|
|
114063
|
+
this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);
|
|
113717
114064
|
this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;
|
|
113718
114065
|
this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;
|
|
113719
114066
|
this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;
|
|
@@ -114014,7 +114361,7 @@ var Theme4 = (_e2 = class {
|
|
|
114014
114361
|
this.quadrant2TextFill = this.quadrant2TextFill || adjust(this.primaryTextColor, { r: -5, g: -5, b: -5 });
|
|
114015
114362
|
this.quadrant3TextFill = this.quadrant3TextFill || adjust(this.primaryTextColor, { r: -10, g: -10, b: -10 });
|
|
114016
114363
|
this.quadrant4TextFill = this.quadrant4TextFill || adjust(this.primaryTextColor, { r: -15, g: -15, b: -15 });
|
|
114017
|
-
this.quadrantPointFill = this.quadrantPointFill || isDark
|
|
114364
|
+
this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);
|
|
114018
114365
|
this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;
|
|
114019
114366
|
this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;
|
|
114020
114367
|
this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;
|
|
@@ -114335,7 +114682,7 @@ var Theme5 = (_f = class {
|
|
|
114335
114682
|
this.quadrant2TextFill = this.quadrant2TextFill || adjust(this.primaryTextColor, { r: -5, g: -5, b: -5 });
|
|
114336
114683
|
this.quadrant3TextFill = this.quadrant3TextFill || adjust(this.primaryTextColor, { r: -10, g: -10, b: -10 });
|
|
114337
114684
|
this.quadrant4TextFill = this.quadrant4TextFill || adjust(this.primaryTextColor, { r: -15, g: -15, b: -15 });
|
|
114338
|
-
this.quadrantPointFill = this.quadrantPointFill || isDark
|
|
114685
|
+
this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);
|
|
114339
114686
|
this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;
|
|
114340
114687
|
this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;
|
|
114341
114688
|
this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;
|
|
@@ -131995,12 +132342,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
131995
132342
|
registerLayoutLoaders([
|
|
131996
132343
|
{
|
|
131997
132344
|
name: "dagre",
|
|
131998
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
132345
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-Cefu204F.js"), "loader")
|
|
131999
132346
|
},
|
|
132000
132347
|
...[
|
|
132001
132348
|
{
|
|
132002
132349
|
name: "cose-bilkent",
|
|
132003
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
132350
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-_7cffNle.js"), "loader")
|
|
132004
132351
|
}
|
|
132005
132352
|
]
|
|
132006
132353
|
]);
|
|
@@ -132439,7 +132786,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
132439
132786
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
132440
132787
|
}, "detector");
|
|
132441
132788
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
132442
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
132789
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-D9aranD0.js");
|
|
132443
132790
|
return { id, diagram: diagram2 };
|
|
132444
132791
|
}, "loader");
|
|
132445
132792
|
var plugin = {
|
|
@@ -132456,7 +132803,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132456
132803
|
return /^\s*graph/.test(txt);
|
|
132457
132804
|
}, "detector");
|
|
132458
132805
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
132459
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
132806
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DkHr76XI.js");
|
|
132460
132807
|
return { id: id2, diagram: diagram2 };
|
|
132461
132808
|
}, "loader");
|
|
132462
132809
|
var plugin2 = {
|
|
@@ -132479,7 +132826,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132479
132826
|
return /^\s*flowchart/.test(txt);
|
|
132480
132827
|
}, "detector");
|
|
132481
132828
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
132482
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
132829
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DkHr76XI.js");
|
|
132483
132830
|
return { id: id3, diagram: diagram2 };
|
|
132484
132831
|
}, "loader");
|
|
132485
132832
|
var plugin3 = {
|
|
@@ -132493,7 +132840,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
132493
132840
|
return /^\s*erDiagram/.test(txt);
|
|
132494
132841
|
}, "detector");
|
|
132495
132842
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
132496
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
132843
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-9TUXBEEN.js");
|
|
132497
132844
|
return { id: id4, diagram: diagram2 };
|
|
132498
132845
|
}, "loader");
|
|
132499
132846
|
var plugin4 = {
|
|
@@ -132507,7 +132854,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
132507
132854
|
return /^\s*gitGraph/.test(txt);
|
|
132508
132855
|
}, "detector");
|
|
132509
132856
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
132510
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
132857
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-Cq6NrkS2.js");
|
|
132511
132858
|
return { id: id5, diagram: diagram2 };
|
|
132512
132859
|
}, "loader");
|
|
132513
132860
|
var plugin5 = {
|
|
@@ -132521,7 +132868,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
132521
132868
|
return /^\s*gantt/.test(txt);
|
|
132522
132869
|
}, "detector");
|
|
132523
132870
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
132524
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
132871
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-D62VSFN-.js");
|
|
132525
132872
|
return { id: id6, diagram: diagram2 };
|
|
132526
132873
|
}, "loader");
|
|
132527
132874
|
var plugin6 = {
|
|
@@ -132535,7 +132882,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
132535
132882
|
return /^\s*info/.test(txt);
|
|
132536
132883
|
}, "detector");
|
|
132537
132884
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
132538
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
132885
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-z48Ilxyy.js");
|
|
132539
132886
|
return { id: id7, diagram: diagram2 };
|
|
132540
132887
|
}, "loader");
|
|
132541
132888
|
var info = {
|
|
@@ -132548,7 +132895,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
132548
132895
|
return /^\s*pie/.test(txt);
|
|
132549
132896
|
}, "detector");
|
|
132550
132897
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
132551
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
132898
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-BDcmTNeb.js");
|
|
132552
132899
|
return { id: id8, diagram: diagram2 };
|
|
132553
132900
|
}, "loader");
|
|
132554
132901
|
var pie = {
|
|
@@ -132561,7 +132908,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
132561
132908
|
return /^\s*quadrantChart/.test(txt);
|
|
132562
132909
|
}, "detector");
|
|
132563
132910
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
132564
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
132911
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-DVfUAm25.js");
|
|
132565
132912
|
return { id: id9, diagram: diagram2 };
|
|
132566
132913
|
}, "loader");
|
|
132567
132914
|
var plugin7 = {
|
|
@@ -132575,7 +132922,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
132575
132922
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
132576
132923
|
}, "detector");
|
|
132577
132924
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
132578
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
132925
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-B8xp3EP5.js");
|
|
132579
132926
|
return { id: id10, diagram: diagram2 };
|
|
132580
132927
|
}, "loader");
|
|
132581
132928
|
var plugin8 = {
|
|
@@ -132589,7 +132936,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
132589
132936
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
132590
132937
|
}, "detector");
|
|
132591
132938
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
132592
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
132939
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-CQfWrrP_.js");
|
|
132593
132940
|
return { id: id11, diagram: diagram2 };
|
|
132594
132941
|
}, "loader");
|
|
132595
132942
|
var plugin9 = {
|
|
@@ -132603,7 +132950,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
132603
132950
|
return /^\s*sequenceDiagram/.test(txt);
|
|
132604
132951
|
}, "detector");
|
|
132605
132952
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
132606
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
132953
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-_VMzymo9.js");
|
|
132607
132954
|
return { id: id12, diagram: diagram2 };
|
|
132608
132955
|
}, "loader");
|
|
132609
132956
|
var plugin10 = {
|
|
@@ -132620,7 +132967,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132620
132967
|
return /^\s*classDiagram/.test(txt);
|
|
132621
132968
|
}, "detector");
|
|
132622
132969
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
132623
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
132970
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-B7uMu4wG.js");
|
|
132624
132971
|
return { id: id13, diagram: diagram2 };
|
|
132625
132972
|
}, "loader");
|
|
132626
132973
|
var plugin11 = {
|
|
@@ -132637,7 +132984,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132637
132984
|
return /^\s*classDiagram-v2/.test(txt);
|
|
132638
132985
|
}, "detector");
|
|
132639
132986
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
132640
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
132987
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-B7uMu4wG.js");
|
|
132641
132988
|
return { id: id14, diagram: diagram2 };
|
|
132642
132989
|
}, "loader");
|
|
132643
132990
|
var plugin12 = {
|
|
@@ -132654,7 +133001,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132654
133001
|
return /^\s*stateDiagram/.test(txt);
|
|
132655
133002
|
}, "detector");
|
|
132656
133003
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
132657
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
133004
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-P9tJlZ70.js");
|
|
132658
133005
|
return { id: id15, diagram: diagram2 };
|
|
132659
133006
|
}, "loader");
|
|
132660
133007
|
var plugin13 = {
|
|
@@ -132674,7 +133021,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
132674
133021
|
return false;
|
|
132675
133022
|
}, "detector");
|
|
132676
133023
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
132677
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
133024
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-Cb6P-c6h.js");
|
|
132678
133025
|
return { id: id16, diagram: diagram2 };
|
|
132679
133026
|
}, "loader");
|
|
132680
133027
|
var plugin14 = {
|
|
@@ -132688,7 +133035,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
132688
133035
|
return /^\s*journey/.test(txt);
|
|
132689
133036
|
}, "detector");
|
|
132690
133037
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
132691
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
133038
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-2_BMX1ei.js");
|
|
132692
133039
|
return { id: id17, diagram: diagram2 };
|
|
132693
133040
|
}, "loader");
|
|
132694
133041
|
var plugin15 = {
|
|
@@ -132755,7 +133102,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
132755
133102
|
return false;
|
|
132756
133103
|
}, "detector");
|
|
132757
133104
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
132758
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
133105
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DkHr76XI.js");
|
|
132759
133106
|
return { id: id18, diagram: diagram2 };
|
|
132760
133107
|
}, "loader");
|
|
132761
133108
|
var plugin16 = {
|
|
@@ -132769,7 +133116,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
132769
133116
|
return /^\s*timeline/.test(txt);
|
|
132770
133117
|
}, "detector");
|
|
132771
133118
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
132772
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI
|
|
133119
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-tuTHzmXv.js");
|
|
132773
133120
|
return { id: id19, diagram: diagram2 };
|
|
132774
133121
|
}, "loader");
|
|
132775
133122
|
var plugin17 = {
|
|
@@ -132783,7 +133130,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
132783
133130
|
return /^\s*mindmap/.test(txt);
|
|
132784
133131
|
}, "detector");
|
|
132785
133132
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
132786
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
133133
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-BbNEUTwc.js");
|
|
132787
133134
|
return { id: id20, diagram: diagram2 };
|
|
132788
133135
|
}, "loader");
|
|
132789
133136
|
var plugin18 = {
|
|
@@ -132797,7 +133144,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
132797
133144
|
return /^\s*kanban/.test(txt);
|
|
132798
133145
|
}, "detector");
|
|
132799
133146
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
132800
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
133147
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-YMu0hChh.js");
|
|
132801
133148
|
return { id: id21, diagram: diagram2 };
|
|
132802
133149
|
}, "loader");
|
|
132803
133150
|
var plugin19 = {
|
|
@@ -132811,7 +133158,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
132811
133158
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
132812
133159
|
}, "detector");
|
|
132813
133160
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
132814
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
133161
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-BW9xc6Gi.js");
|
|
132815
133162
|
return { id: id22, diagram: diagram2 };
|
|
132816
133163
|
}, "loader");
|
|
132817
133164
|
var plugin20 = {
|
|
@@ -132825,7 +133172,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
132825
133172
|
return /^\s*packet(-beta)?/.test(txt);
|
|
132826
133173
|
}, "detector");
|
|
132827
133174
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
132828
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
133175
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-CHWLN67z.js");
|
|
132829
133176
|
return { id: id23, diagram: diagram2 };
|
|
132830
133177
|
}, "loader");
|
|
132831
133178
|
var packet = {
|
|
@@ -132838,7 +133185,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
132838
133185
|
return /^\s*radar-beta/.test(txt);
|
|
132839
133186
|
}, "detector");
|
|
132840
133187
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
132841
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
133188
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-UNhxZG5g.js");
|
|
132842
133189
|
return { id: id24, diagram: diagram2 };
|
|
132843
133190
|
}, "loader");
|
|
132844
133191
|
var radar = {
|
|
@@ -132851,7 +133198,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
132851
133198
|
return /^\s*block(-beta)?/.test(txt);
|
|
132852
133199
|
}, "detector");
|
|
132853
133200
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
132854
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
133201
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-CnVWNic_.js");
|
|
132855
133202
|
return { id: id25, diagram: diagram2 };
|
|
132856
133203
|
}, "loader");
|
|
132857
133204
|
var plugin21 = {
|
|
@@ -132865,7 +133212,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
132865
133212
|
return /^\s*architecture/.test(txt);
|
|
132866
133213
|
}, "detector");
|
|
132867
133214
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
132868
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-
|
|
133215
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-ClVOs7P1.js");
|
|
132869
133216
|
return { id: id26, diagram: diagram2 };
|
|
132870
133217
|
}, "loader");
|
|
132871
133218
|
var architecture = {
|
|
@@ -132879,7 +133226,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
132879
133226
|
return /^\s*treemap/.test(txt);
|
|
132880
133227
|
}, "detector");
|
|
132881
133228
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
132882
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
133229
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-BeMp8Xfu.js");
|
|
132883
133230
|
return { id: id27, diagram: diagram2 };
|
|
132884
133231
|
}, "loader");
|
|
132885
133232
|
var treemap = {
|
|
@@ -148557,7 +148904,7 @@ var tn = f("block", "before:content-[counter(line)]", "before:inline-block", "be
|
|
|
148557
148904
|
var et2 = ({ className: e2, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e2), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
|
|
148558
148905
|
var Se = reactExports.createContext({ code: "" }), de = () => reactExports.useContext(Se);
|
|
148559
148906
|
var ot2 = ({ language: e2 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e2, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e2 }) });
|
|
148560
|
-
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
148907
|
+
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-f4qauOuN.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
|
|
148561
148908
|
let i2 = reactExports.useMemo(() => e2.replace(cn, ""), [e2]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
148562
148909
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
148563
148910
|
return jsxRuntimeExports.jsx(Se.Provider, { value: { code: e2 }, children: jsxRuntimeExports.jsxs(et2, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot2, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
|
|
@@ -148879,7 +149226,7 @@ var Dt = ({ children: e2, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
148879
149226
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e2 != null ? e2 : jsxRuntimeExports.jsx(Z, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
148880
149227
|
};
|
|
148881
149228
|
var Vt = ({ children: e2, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e2 }) })] });
|
|
148882
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
149229
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-nj6kJNsf.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
148883
149230
|
function ke(e2, t2) {
|
|
148884
149231
|
if (!(e2 != null && e2.position || t2 != null && t2.position)) return true;
|
|
148885
149232
|
if (!(e2 != null && e2.position && (t2 != null && t2.position))) return false;
|
|
@@ -149716,10 +150063,6 @@ function FileTabBar({
|
|
|
149716
150063
|
}
|
|
149717
150064
|
function openExternalUrl(url) {
|
|
149718
150065
|
if (isDesktop) {
|
|
149719
|
-
if (isTauri) {
|
|
149720
|
-
import("./index-jMSXp5h7.js").then(({ open: open2 }) => open2(url)).catch(() => window.open(url));
|
|
149721
|
-
return;
|
|
149722
|
-
}
|
|
149723
150066
|
invoke("open_external", { url }).catch(() => {
|
|
149724
150067
|
window.open(url, "_blank", "noopener");
|
|
149725
150068
|
});
|
|
@@ -163923,7 +164266,7 @@ const PANEL_SHORTCUTS = {
|
|
|
163923
164266
|
browser: "⌘B"
|
|
163924
164267
|
};
|
|
163925
164268
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
163926
|
-
() => import("./DockviewTerminalContainer-
|
|
164269
|
+
() => import("./DockviewTerminalContainer-B7m50Lcc.js").then((m2) => ({
|
|
163927
164270
|
default: m2.DockviewTerminalContainer
|
|
163928
164271
|
}))
|
|
163929
164272
|
);
|
|
@@ -164802,316 +165145,6 @@ function DockviewInstanceManager() {
|
|
|
164802
165145
|
);
|
|
164803
165146
|
}) });
|
|
164804
165147
|
}
|
|
164805
|
-
const androidStudioIcon = "/assets/android-studio-t3zZ7G0e.svg";
|
|
164806
|
-
const antigravityIcon = "/assets/antigravity-m-mWKI7R.svg";
|
|
164807
|
-
const cursorIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78947)'%3e%3cmask%20id='mask0_5436_78947'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='4'%20y='4'%20width='32'%20height='32'%3e%3cpath%20d='M4%204H36V36H4V4Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5436_78947)'%3e%3cpath%20d='M28.375%204H11.625C7.41383%204%204%207.41383%204%2011.625V28.375C4%2032.5862%207.41383%2036%2011.625%2036H28.375C32.5862%2036%2036%2032.5862%2036%2028.375V11.625C36%207.41383%2032.5862%204%2028.375%204Z'%20fill='black'/%3e%3c/g%3e%3cpath%20d='M29.6214%2014.2072L20.9502%209.12249C20.6718%208.95917%2020.3282%208.95917%2020.0498%209.12249L11.3786%2014.2072C11.1445%2014.3445%2011%2014.5984%2011%2014.8733V25.1267C11%2025.4012%2011.1445%2025.6555%2011.3786%2025.7928L20.0498%2030.8775C20.3282%2031.0408%2020.6718%2031.0408%2020.9502%2030.8775L29.6214%2025.7928C29.8555%2025.6555%2030%2025.4016%2030%2025.1267V14.8733C30%2014.5988%2029.8555%2014.3445%2029.6214%2014.2072ZM29.0767%2015.2843L20.706%2030.0101C20.6494%2030.1093%2020.5%2030.0688%2020.5%2029.9538V20.3115C20.5%2020.1189%2020.3986%2019.9407%2020.2342%2019.8439L12.0124%2015.0226C11.9147%2014.9651%2011.9546%2014.8134%2012.0678%2014.8134H28.8093C29.047%2014.8134%2029.1956%2015.0751%2029.0767%2015.2843Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5436_78947'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
164808
|
-
const finderIcon = "data:image/png;base64,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";
|
|
164809
|
-
const ghosttyIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79067)'%3e%3cpath%20d='M27.395%2036C26.1435%2035.9986%2024.9203%2035.6274%2023.879%2034.933C22.8374%2035.6273%2021.6139%2035.9985%2020.362%2036C19.113%2036%2017.882%2035.625%2016.846%2034.933C15.8189%2035.6241%2014.61%2035.9954%2013.372%2036H13.334C12.4944%2036.0006%2011.6633%2035.8321%2010.8902%2035.5047C10.1171%2035.1772%209.41781%2034.6975%208.83405%2034.094C7.65642%2032.8996%206.99679%2031.2893%206.99805%2029.612V17.362C7.00005%209.995%2012.994%204%2020.362%204C27.731%204%2033.725%209.994%2033.725%2017.363V29.616C33.725%2033.009%2031.099%2035.808%2027.747%2035.991C27.63%2035.998%2027.513%2036%2027.395%2036Z'%20fill='%233551F3'/%3e%3cpath%20d='M27.395%2034.5932C26.2752%2034.5924%2025.1889%2034.2104%2024.315%2033.5102C24.1961%2033.4145%2024.0476%2033.3632%2023.895%2033.3652C23.7174%2033.367%2023.5457%2033.4291%2023.408%2033.5412C22.5392%2034.2237%2021.4668%2034.5951%2020.362%2034.5962C19.2576%2034.5949%2018.1855%2034.2234%2017.317%2033.5412C17.1835%2033.4338%2017.0174%2033.3752%2016.846%2033.3752C16.6747%2033.3752%2016.5085%2033.4338%2016.375%2033.5412C15.518%2034.2199%2014.4581%2034.5914%2013.365%2034.5962H13.332C12.6806%2034.5961%2012.0359%2034.4649%2011.4362%2034.2102C10.8366%2033.9556%2010.2945%2033.5829%209.84201%2033.1142C8.92225%2032.1822%208.40639%2030.9256%208.40601%2029.6162V17.3672C8.40601%2010.7702%2013.77%205.40723%2020.363%205.40723C26.955%205.40723%2032.319%2010.7702%2032.319%2017.3632V29.6162C32.319%2032.2612%2030.277%2034.4432%2027.669%2034.5862C27.5777%2034.5909%2027.4864%2034.5932%2027.395%2034.5932Z'%20fill='black'/%3e%3cpath%20d='M30.912%2017.3635V29.6165C30.912%2031.4925%2029.465%2033.0795%2027.592%2033.1825C26.725%2033.2323%2025.8704%2032.9582%2025.194%2032.4135C24.416%2031.7875%2023.321%2031.8155%2022.536%2032.4345C21.9163%2032.9237%2021.1495%2033.1891%2020.36%2033.1875C19.5714%2033.1889%2018.8056%2032.9235%2018.187%2032.4345C17.8057%2032.1306%2017.3326%2031.9651%2016.845%2031.9651C16.3574%2031.9651%2015.8843%2032.1306%2015.503%2032.4345C14.8904%2032.9183%2014.1336%2033.1834%2013.353%2033.1875C11.405%2033.2015%209.81299%2031.5605%209.81299%2029.6125V17.3625C9.81299%2011.5375%2014.537%206.81348%2020.363%206.81348C26.188%206.81348%2030.912%2011.5375%2030.912%2017.3635Z'%20fill='white'/%3e%3cpath%20d='M18.28%2016.4366L14.35%2014.1666C14.104%2014.0248%2013.8117%2013.9865%2013.5374%2014.06C13.2632%2014.1335%2013.0292%2014.3128%2012.887%2014.5586C12.7452%2014.8045%2012.7067%2015.0966%2012.78%2015.3709C12.8533%2015.6452%2013.0324%2015.8792%2013.278%2016.0216L15.604%2017.3646L13.278%2018.7076C13.045%2018.8559%2012.8783%2019.0886%2012.8126%2019.3569C12.7469%2019.6252%2012.7873%2019.9085%2012.9255%2020.1478C13.0636%2020.387%2013.2887%2020.5637%2013.554%2020.641C13.8192%2020.7183%2014.104%2020.6902%2014.349%2020.5626L18.281%2018.2926C18.4436%2018.1985%2018.5786%2018.0633%2018.6724%2017.9006C18.7662%2017.7379%2018.8156%2017.5534%2018.8156%2017.3656C18.8156%2017.1777%2018.7662%2016.9932%2018.6724%2016.8305C18.5786%2016.6678%2018.4436%2016.5326%2018.281%2016.4386V16.4366H18.28ZM27.182%2016.2906H22.018C21.7338%2016.2906%2021.4613%2016.4034%2021.2604%2016.6044C21.0594%2016.8053%2020.9465%2017.0779%2020.9465%2017.3621C20.9465%2017.6462%2021.0594%2017.9188%2021.2604%2018.1197C21.4613%2018.3207%2021.7338%2018.4336%2022.018%2018.4336H27.182C27.4662%2018.4336%2027.7387%2018.3207%2027.9397%2018.1197C28.1406%2017.9188%2028.2535%2017.6462%2028.2535%2017.3621C28.2535%2017.0779%2028.1406%2016.8053%2027.9397%2016.6044C27.7387%2016.4034%2027.4662%2016.2906%2027.182%2016.2906Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79067'%3e%3crect%20width='27'%20height='32'%20fill='white'%20transform='translate(7%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
164810
|
-
const intellijIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0Y5N0ExMiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQzI5QjgiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPklKPC90ZXh0Pgo8L3N2Zz4K";
|
|
164811
|
-
const iterm2Icon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='4'%20y='4'%20width='32'%20height='32'%20rx='6.4'%20fill='url(%23paint0_linear_5437_79079)'/%3e%3crect%20x='4.80005'%20y='4.7998'%20width='30.4'%20height='30.4'%20rx='5.6'%20fill='black'/%3e%3crect%20x='7.19995'%20y='7.2002'%20width='25.6'%20height='25.6'%20rx='3.2'%20fill='%23202A2F'/%3e%3cpath%20d='M25.2454%208.85742H19.2454V20.8574H25.2454V8.85742Z'%20fill='%230EE827'%20fill-opacity='0.35'/%3e%3cpath%20d='M11.7895%2018.9218C11.4758%2018.8949%2011.1817%2018.85%2010.9072%2018.7872C10.6424%2018.7154%2010.3973%2018.6392%2010.1718%2018.5584C9.95613%2018.4776%209.76496%2018.4014%209.59829%2018.3296C9.44145%2018.2488%209.32378%2018.186%209.24536%2018.1412L9.87771%2016.9567C9.94631%2017.0016%2010.064%2017.0644%2010.2306%2017.1452C10.3973%2017.2259%2010.5836%2017.3111%2010.7895%2017.4009C11.0052%2017.4816%2011.2257%2017.5534%2011.4513%2017.6162C11.6768%2017.679%2011.8875%2017.7105%2012.0836%2017.7105C13.064%2017.7105%2013.5542%2017.3381%2013.5542%2016.5933C13.5542%2016.4138%2013.5199%2016.2658%2013.4512%2016.1492C13.3925%2016.0325%2013.2993%2015.9338%2013.1719%2015.853C13.0542%2015.7633%2012.9071%2015.687%2012.7307%2015.6242C12.564%2015.5525%2012.3729%2015.4806%2012.1571%2015.4089C11.7453%2015.2653%2011.3777%2015.1172%2011.0542%2014.9647C10.7405%2014.8032%2010.4708%2014.6237%2010.2454%2014.4263C10.0199%2014.2289%209.8483%2014.0046%209.73063%2013.7534C9.61303%2013.5021%209.5542%2013.2149%209.5542%2012.8919C9.5542%2012.6407%209.60812%2012.3984%209.71596%2012.1651C9.82379%2011.9318%209.97572%2011.7254%2010.1718%2011.546C10.3679%2011.3576%2010.6032%2011.2005%2010.8777%2011.0749C11.1522%2010.9403%2011.4562%2010.8461%2011.7895%2010.7922V8.85742H12.9954V10.7653C13.2503%2010.7922%2013.4954%2010.8326%2013.7307%2010.8865C13.966%2010.9403%2014.1767%2010.9986%2014.363%2011.0614C14.5493%2011.1242%2014.7062%2011.1871%2014.8336%2011.2499C14.9709%2011.3037%2015.0689%2011.3441%2015.1278%2011.371L14.5395%2012.4747C14.4611%2012.4388%2014.3483%2012.3939%2014.2012%2012.3401C14.064%2012.2773%2013.9072%2012.2144%2013.7307%2012.1517C13.5542%2012.0888%2013.363%2012.035%2013.1571%2011.9901C12.9513%2011.9453%2012.7454%2011.9228%2012.5395%2011.9228C12.2062%2011.9228%2011.9071%2011.9856%2011.6424%2012.1112C11.3875%2012.2279%2011.2601%2012.4298%2011.2601%2012.7169C11.2601%2012.8964%2011.2944%2013.058%2011.363%2013.2015C11.4414%2013.3361%2011.5493%2013.4573%2011.6865%2013.5649C11.8336%2013.6726%2012.0101%2013.7758%2012.2159%2013.8745C12.4316%2013.9642%2012.6768%2014.054%2012.9513%2014.1437C13.314%2014.2782%2013.6376%2014.4173%2013.9218%2014.5609C14.2062%2014.7045%2014.4463%2014.866%2014.6424%2015.0455C14.8385%2015.2249%2014.9856%2015.4313%2015.0836%2015.6646C15.1914%2015.8979%2015.2454%2016.1715%2015.2454%2016.4856C15.2454%2016.7548%2015.1964%2017.015%2015.0983%2017.2662C15.0101%2017.5175%2014.8679%2017.7508%2014.6718%2017.9661C14.4856%2018.1815%2014.2503%2018.3699%2013.966%2018.5315C13.6915%2018.684%2013.3679%2018.7962%2012.9954%2018.8679V20.8574H11.7895V18.9218Z'%20fill='%230EE827'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5437_79079'%20x1='20'%20y1='4'%20x2='20'%20y2='36'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23D4E6E8'/%3e%3cstop%20offset='1'%20stop-color='%23767573'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
|
|
164812
|
-
const kiroIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGOTkwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRjY2MDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8dGV4dCB4PSI1NiIgeT0iMTc4IiBmaWxsPSIjZmZmIiBmb250LWZhbWlseT0iQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYiIGZvbnQtd2VpZ2h0PSJib2xkIiBmb250LXNpemU9IjcyIj5LPC90ZXh0Pgo8L3N2Zz4K";
|
|
164813
|
-
const rustroverIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZDODAxRCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNCNzRDRjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPlJSPC90ZXh0Pgo8L3N2Zz4K";
|
|
164814
|
-
const sublimetextIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78897)'%3e%3cpath%20d='M35.911%2020.0773C35.911%2019.7026%2035.552%2019.4866%2035.1114%2019.5939L4.79962%2027.0055C4.35812%2027.1135%204%2027.5052%204%2027.8792V35.4541C4%2035.8288%204.35812%2036.0455%204.79962%2035.9375L35.1114%2028.5266C35.552%2028.4187%2035.911%2028.0269%2035.911%2027.6523V20.0774V20.0773Z'%20fill='url(%23paint0_linear_5436_78897)'/%3e%3cpath%20d='M4%2019.8353C4%2020.21%204.35812%2020.6016%204.79962%2020.7097L35.1159%2028.1219C35.5573%2028.2299%2035.9155%2028.0133%2035.9155%2027.6393V20.0637C35.9155%2019.6897%2035.5573%2019.298%2035.1159%2019.19L4.79962%2011.7778C4.35812%2011.6699%204%2011.8858%204%2012.2603V19.8353V19.8353Z'%20fill='%23FF9800'/%3e%3cpath%20d='M35.911%204.51106C35.911%204.1365%2035.552%203.91973%2035.1114%204.02778L4.79962%2011.4387C4.35812%2011.5466%204%2011.9383%204%2012.313V19.8879C4%2020.2626%204.35812%2020.4786%204.79962%2020.3712L35.1114%2012.9596C35.552%2012.8517%2035.911%2012.46%2035.911%2012.086V4.51106Z'%20fill='%23FF9800'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5436_78897'%20x1='1762.84'%20y1='981.852'%20x2='1845.15'%20y2='624.882'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FF9700'/%3e%3cstop%20offset='0.53'%20stop-color='%23F48E00'/%3e%3cstop%20offset='1'%20stop-color='%23D06F00'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_5436_78897'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
164815
|
-
const terminalIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAA0RJREFUeAHtmM9PE0EUx18pJCRaugUhQkuqXgi3eqDVpJFK+g9w8Ejkohcg4I8DFynECxdEAlz0gA0nNYF4kkODRDQmNQQ8NRhjbd1FrQHankja3XFm7DbN7rQMyS7l0E+y3dmZt/u+mffednYAatSoLpZKg9s//wawRUhKJj2/90QBLNgcocJt+EyvAQo/UBwv2qkeCm7o2P/ri+3OtOuSewcpEL7quvACTsJ2PC5sJf8sPQw9Rh2dnaigwPCjw9WJJmfm0FYyNUt8Ai+f4+Ls3dEHpgnTHndG76NoXFpiaanXdnz8Gh988+rl2LO5GXrd2NgILS0tUFdXB0aSy+Vgf3+fnp/PPYFztvODn2Lx8PXuyxuldroc/BD79u5WMBD4JYnQ0NAAbrfbcHEqiqKAKIpwdHQE7U4XvI683/B3X7lZaqPzLCV+eIg4Qmtrq2niqHP8bBIdAvEpJr57dDbajj1RLCar1Wot9i8vL0MwGAQzRKpgkXbduLZDlmVg4XQ6YXFxkR6kbQZKXtalnE4gwnnBYmhoCKLRKJ3F9fV1mJ6eNlwozkkExwlU5Dzz5lgsBgMDAzA+Pg6SJEF/fz8VOjw8DMYJ1EePO8Qqq6ur0NfXR2eT4PP5wChknhArZUKs4vV6acGQczabhUgkAkbBil693kguK2xkZISeCSsrK7CwsEDDbRSs/OcWqBYFCe38/HwxxEbCSi+9QIUtkAgis1ZO2O7uLpSjq6sLeGD51gnEicq8mVSv2XDNIFIqV3E5eGepEkjmeM0cV8VmIvMILBfi00DhmkFURYFIHz3GX10VBeZ5ZrCaApUzLhAXCcdqpopVjF9xxy8WZPmMVzGqqkCOKrbZbGm1fRqzWZpS2Pehdlwn0C7YdxwOB20fHByYmpPk2alUirYF7FMQhC9aG/1iQZanfNd8gbW3a/R7NZFIQFtbm+Gfn0Sc+uFOCAQCkM/nwlw3PwqFlnp7e09t6+MG9jUxMfGUpaWe1Wm1WO75/f40zomxzc1NyGQyYAaCYIeeHi9ZpYdxhCZZNhW33/AacBBvmd3OpA896WxW/aBHFry/hkr24TTXWrT7dNSmydaUdjQ37+DmFF6tb0CNGmeUfwIH0sS3Pm7dAAAAAElFTkSuQmCC";
|
|
164816
|
-
const textmateIcon = "data:image/png;base64,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";
|
|
164817
|
-
const vscodeIcon = "/assets/vscode-C5BXgFjm.svg";
|
|
164818
|
-
const warpIcon = "data:image/png;base64,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";
|
|
164819
|
-
const webstormIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9IjAiIHkxPSIwIiB4Mj0iMjU2IiB5Mj0iMjU2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzA3QzNGMiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwODdDRkEiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiByeD0iNDgiIGZpbGw9InVybCgjYSkiLz4KICA8cmVjdCB4PSI0OCIgeT0iNDgiIHdpZHRoPSIxNjAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzAwMCIvPgogIDx0ZXh0IHg9IjYwIiB5PSIxNzgiIGZpbGw9IiNmZmYiIGZvbnQtZmFtaWx5PSJBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9ImJvbGQiIGZvbnQtc2l6ZT0iNTYiPldTPC90ZXh0Pgo8L3N2Zz4K";
|
|
164820
|
-
const windSurfIcon = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20256%20256'%3e%3cdefs%3e%3clinearGradient%20id='a'%20x1='0'%20y1='0'%20x2='256'%20y2='256'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%230ACF83'/%3e%3cstop%20offset='1'%20stop-color='%2305A2C2'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='256'%20height='256'%20rx='48'%20fill='url(%23a)'/%3e%3cpath%20d='M80%2080%20L176%20128%20L80%20176Z'%20fill='%23fff'/%3e%3c/svg%3e";
|
|
164821
|
-
const xcodeIcon = "data:image/png;base64,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";
|
|
164822
|
-
const zedIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79109)'%3e%3cmask%20id='mask0_5437_79109'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79109)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='black'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79109'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
164823
|
-
const zedDarkIcon = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79100)'%3e%3cmask%20id='mask0_5437_79100'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79100)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79100'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
164824
|
-
const APP_ICONS = {
|
|
164825
|
-
vscode: vscodeIcon,
|
|
164826
|
-
cursor: cursorIcon,
|
|
164827
|
-
zed: zedIcon,
|
|
164828
|
-
"zed-dark": zedDarkIcon,
|
|
164829
|
-
finder: finderIcon,
|
|
164830
|
-
terminal: terminalIcon,
|
|
164831
|
-
iterm2: iterm2Icon,
|
|
164832
|
-
ghostty: ghosttyIcon,
|
|
164833
|
-
warp: warpIcon,
|
|
164834
|
-
xcode: xcodeIcon,
|
|
164835
|
-
"android-studio": androidStudioIcon,
|
|
164836
|
-
antigravity: antigravityIcon,
|
|
164837
|
-
textmate: textmateIcon,
|
|
164838
|
-
"sublime-text": sublimetextIcon,
|
|
164839
|
-
intellij: intellijIcon,
|
|
164840
|
-
webstorm: webstormIcon,
|
|
164841
|
-
rustrover: rustroverIcon,
|
|
164842
|
-
windsurf: windSurfIcon,
|
|
164843
|
-
kiro: kiroIcon
|
|
164844
|
-
};
|
|
164845
|
-
function isDark() {
|
|
164846
|
-
return document.documentElement.classList.contains("dark");
|
|
164847
|
-
}
|
|
164848
|
-
function AppIcon({ id: id28, className }) {
|
|
164849
|
-
const [dark, setDark] = reactExports.useState(isDark);
|
|
164850
|
-
reactExports.useEffect(() => {
|
|
164851
|
-
const observer = new MutationObserver(() => setDark(isDark()));
|
|
164852
|
-
observer.observe(document.documentElement, {
|
|
164853
|
-
attributes: true,
|
|
164854
|
-
attributeFilter: ["class"]
|
|
164855
|
-
});
|
|
164856
|
-
return () => observer.disconnect();
|
|
164857
|
-
}, []);
|
|
164858
|
-
let src = APP_ICONS[id28];
|
|
164859
|
-
if (id28 === "zed" && dark) {
|
|
164860
|
-
src = APP_ICONS["zed-dark"];
|
|
164861
|
-
}
|
|
164862
|
-
if (!src) return null;
|
|
164863
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src, alt: "", draggable: false, className: className ?? "size-5" });
|
|
164864
|
-
}
|
|
164865
|
-
const MAC_APPS = [
|
|
164866
|
-
{ id: "vscode", label: "VS Code", icon: "vscode", openWith: "Visual Studio Code" },
|
|
164867
|
-
{ id: "cursor", label: "Cursor", icon: "cursor", openWith: "Cursor" },
|
|
164868
|
-
{ id: "zed", label: "Zed", icon: "zed", openWith: "Zed" },
|
|
164869
|
-
{ id: "windsurf", label: "Windsurf", icon: "windsurf", openWith: "Windsurf" },
|
|
164870
|
-
{ id: "kiro", label: "Kiro", icon: "kiro", openWith: "Kiro" },
|
|
164871
|
-
{ id: "xcode", label: "Xcode", icon: "xcode", openWith: "Xcode" },
|
|
164872
|
-
{ id: "antigravity", label: "Antigravity", icon: "antigravity", openWith: "Antigravity" },
|
|
164873
|
-
{ id: "textmate", label: "TextMate", icon: "textmate", openWith: "TextMate" },
|
|
164874
|
-
{ id: "sublime-text", label: "Sublime Text", icon: "sublime-text", openWith: "Sublime Text" },
|
|
164875
|
-
{ id: "intellij", label: "IntelliJ IDEA", icon: "intellij", openWith: "IntelliJ IDEA" },
|
|
164876
|
-
{ id: "webstorm", label: "WebStorm", icon: "webstorm", openWith: "WebStorm" },
|
|
164877
|
-
{ id: "rustrover", label: "RustRover", icon: "rustrover", openWith: "RustRover" },
|
|
164878
|
-
{ id: "iterm2", label: "iTerm2", icon: "iterm2", openWith: "iTerm" },
|
|
164879
|
-
{ id: "terminal", label: "Terminal", icon: "terminal", openWith: "Terminal" },
|
|
164880
|
-
{ id: "ghostty", label: "Ghostty", icon: "ghostty", openWith: "Ghostty" },
|
|
164881
|
-
{ id: "warp", label: "Warp", icon: "warp", openWith: "Warp" },
|
|
164882
|
-
{
|
|
164883
|
-
id: "android-studio",
|
|
164884
|
-
label: "Android Studio",
|
|
164885
|
-
icon: "android-studio",
|
|
164886
|
-
openWith: "Android Studio"
|
|
164887
|
-
}
|
|
164888
|
-
];
|
|
164889
|
-
function EditorPicker({ workspacePath, onCopyPath }) {
|
|
164890
|
-
const { settings } = useSettingsQuery();
|
|
164891
|
-
const updateSettings = useUpdateSettings();
|
|
164892
|
-
const [installed, setInstalled] = reactExports.useState({ finder: true });
|
|
164893
|
-
reactExports.useEffect(() => {
|
|
164894
|
-
if (!isDesktop) return;
|
|
164895
|
-
let cancelled = false;
|
|
164896
|
-
Promise.all(
|
|
164897
|
-
MAC_APPS.map(
|
|
164898
|
-
(app) => invoke("check_app_exists", { appName: app.openWith }).then((ok2) => [app.id, ok2]).catch(() => [app.id, false])
|
|
164899
|
-
)
|
|
164900
|
-
).then((entries2) => {
|
|
164901
|
-
if (cancelled) return;
|
|
164902
|
-
const map2 = { finder: true };
|
|
164903
|
-
for (const [id28, ok2] of entries2) {
|
|
164904
|
-
map2[id28] = ok2;
|
|
164905
|
-
}
|
|
164906
|
-
setInstalled(map2);
|
|
164907
|
-
});
|
|
164908
|
-
return () => {
|
|
164909
|
-
cancelled = true;
|
|
164910
|
-
};
|
|
164911
|
-
}, []);
|
|
164912
|
-
const options = reactExports.useMemo(() => {
|
|
164913
|
-
const finderItem = {
|
|
164914
|
-
id: "finder",
|
|
164915
|
-
label: "Finder",
|
|
164916
|
-
icon: "finder",
|
|
164917
|
-
openWith: "Finder"
|
|
164918
|
-
};
|
|
164919
|
-
const apps = MAC_APPS.filter((app) => installed[app.id]);
|
|
164920
|
-
return [finderItem, ...apps];
|
|
164921
|
-
}, [installed]);
|
|
164922
|
-
const selectedId = settings.defaultOpenApp;
|
|
164923
|
-
const current = reactExports.useMemo(
|
|
164924
|
-
() => options.find((o3) => o3.id === selectedId) ?? options[0],
|
|
164925
|
-
[options, selectedId]
|
|
164926
|
-
);
|
|
164927
|
-
const selectApp = reactExports.useCallback(
|
|
164928
|
-
(appId) => {
|
|
164929
|
-
updateSettings.mutate({
|
|
164930
|
-
...settings,
|
|
164931
|
-
defaultOpenApp: appId
|
|
164932
|
-
});
|
|
164933
|
-
},
|
|
164934
|
-
[settings, updateSettings]
|
|
164935
|
-
);
|
|
164936
|
-
const openWith = reactExports.useCallback(
|
|
164937
|
-
async (app) => {
|
|
164938
|
-
if (!isDesktop) return;
|
|
164939
|
-
if (app.id === "finder") {
|
|
164940
|
-
invoke("reveal_in_finder", { path: workspacePath }).catch(() => {
|
|
164941
|
-
});
|
|
164942
|
-
return;
|
|
164943
|
-
}
|
|
164944
|
-
invoke("open_with_app", {
|
|
164945
|
-
path: workspacePath,
|
|
164946
|
-
appName: app.openWith
|
|
164947
|
-
}).catch(() => {
|
|
164948
|
-
});
|
|
164949
|
-
},
|
|
164950
|
-
[workspacePath]
|
|
164951
|
-
);
|
|
164952
|
-
const handleMainClick = reactExports.useCallback(() => {
|
|
164953
|
-
openWith(current);
|
|
164954
|
-
}, [current, openWith]);
|
|
164955
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center rounded-md overflow-hidden border border-border/40", children: [
|
|
164956
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
164957
|
-
"button",
|
|
164958
|
-
{
|
|
164959
|
-
type: "button",
|
|
164960
|
-
onClick: handleMainClick,
|
|
164961
|
-
onMouseDown: (e2) => e2.stopPropagation(),
|
|
164962
|
-
className: "flex items-center justify-center px-1 py-0.5 hover:bg-accent/50 transition-colors",
|
|
164963
|
-
title: `Open in ${current.label}`,
|
|
164964
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AppIcon, { id: current.icon, className: "size-5" })
|
|
164965
|
-
}
|
|
164966
|
-
),
|
|
164967
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
164968
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
164969
|
-
"button",
|
|
164970
|
-
{
|
|
164971
|
-
type: "button",
|
|
164972
|
-
onMouseDown: (e2) => e2.stopPropagation(),
|
|
164973
|
-
className: "flex items-center justify-center px-0.5 py-0.5 hover:bg-accent/50 transition-colors border-l border-border/40",
|
|
164974
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-3.5 text-muted-foreground" })
|
|
164975
|
-
}
|
|
164976
|
-
) }),
|
|
164977
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", className: "min-w-[180px]", children: [
|
|
164978
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuLabel, { children: "Open in" }),
|
|
164979
|
-
options.map((app) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
164980
|
-
DropdownMenuItem,
|
|
164981
|
-
{
|
|
164982
|
-
onClick: () => {
|
|
164983
|
-
selectApp(app.id);
|
|
164984
|
-
openWith(app);
|
|
164985
|
-
},
|
|
164986
|
-
className: "gap-2",
|
|
164987
|
-
children: [
|
|
164988
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(AppIcon, { id: app.icon, className: "size-5 shrink-0" }),
|
|
164989
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: app.label }),
|
|
164990
|
-
current.id === app.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-muted-foreground" })
|
|
164991
|
-
]
|
|
164992
|
-
},
|
|
164993
|
-
app.id
|
|
164994
|
-
)),
|
|
164995
|
-
onCopyPath && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
164996
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuSeparator, {}),
|
|
164997
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: onCopyPath, className: "gap-2", children: [
|
|
164998
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "size-4 shrink-0 ml-0.5" }),
|
|
164999
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: "Copy path" })
|
|
165000
|
-
] })
|
|
165001
|
-
] })
|
|
165002
|
-
] })
|
|
165003
|
-
] })
|
|
165004
|
-
] });
|
|
165005
|
-
}
|
|
165006
|
-
function useDesktopDrag(ref) {
|
|
165007
|
-
reactExports.useEffect(() => {
|
|
165008
|
-
const el = ref.current;
|
|
165009
|
-
if (!el) return;
|
|
165010
|
-
if (!isDesktop) return;
|
|
165011
|
-
const onMouseDown = (e2) => {
|
|
165012
|
-
if (e2.buttons !== 1) return;
|
|
165013
|
-
startDragging().catch(() => {
|
|
165014
|
-
});
|
|
165015
|
-
};
|
|
165016
|
-
el.addEventListener("mousedown", onMouseDown);
|
|
165017
|
-
return () => el.removeEventListener("mousedown", onMouseDown);
|
|
165018
|
-
}, [ref]);
|
|
165019
|
-
}
|
|
165020
|
-
function TauriTitleBar({
|
|
165021
|
-
title,
|
|
165022
|
-
onToggleSidebar,
|
|
165023
|
-
sidebarCollapsed,
|
|
165024
|
-
workspaceName,
|
|
165025
|
-
workspacePath,
|
|
165026
|
-
onCopyPath,
|
|
165027
|
-
panelItems,
|
|
165028
|
-
hiddenPanels,
|
|
165029
|
-
onTogglePanelVisibility
|
|
165030
|
-
}) {
|
|
165031
|
-
const [appTitle, setAppTitle] = reactExports.useState(title ?? "Band");
|
|
165032
|
-
const ref = reactExports.useRef(null);
|
|
165033
|
-
reactExports.useEffect(() => {
|
|
165034
|
-
if (title) return;
|
|
165035
|
-
if (!isDesktop) return;
|
|
165036
|
-
invoke("get_app_title").then(setAppTitle).catch(() => {
|
|
165037
|
-
});
|
|
165038
|
-
}, [title]);
|
|
165039
|
-
useDesktopDrag(ref);
|
|
165040
|
-
const hasEditorPicker = workspaceName && workspacePath;
|
|
165041
|
-
const hasPanels = workspaceName && panelItems && panelItems.length > 0 && onTogglePanelVisibility;
|
|
165042
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
165043
|
-
"div",
|
|
165044
|
-
{
|
|
165045
|
-
ref,
|
|
165046
|
-
"data-tauri-drag-region": true,
|
|
165047
|
-
className: "h-[38px] shrink-0 flex items-center justify-center relative border-b border-border",
|
|
165048
|
-
children: [
|
|
165049
|
-
onToggleSidebar && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
165050
|
-
"button",
|
|
165051
|
-
{
|
|
165052
|
-
type: "button",
|
|
165053
|
-
onClick: onToggleSidebar,
|
|
165054
|
-
onMouseDown: (e2) => e2.stopPropagation(),
|
|
165055
|
-
className: "absolute left-[80px] top-1/2 -translate-y-1/2 flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors pointer-events-auto",
|
|
165056
|
-
title: sidebarCollapsed ? "Show sidebar" : "Hide sidebar",
|
|
165057
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-5" })
|
|
165058
|
-
}
|
|
165059
|
-
),
|
|
165060
|
-
workspaceName ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground select-none pointer-events-none truncate max-w-[50%]", children: workspaceName }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium text-muted-foreground select-none pointer-events-none", children: appTitle }),
|
|
165061
|
-
(hasEditorPicker || hasPanels) && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
165062
|
-
"div",
|
|
165063
|
-
{
|
|
165064
|
-
className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1 pointer-events-auto",
|
|
165065
|
-
onMouseDown: (e2) => e2.stopPropagation(),
|
|
165066
|
-
children: [
|
|
165067
|
-
hasEditorPicker && /* @__PURE__ */ jsxRuntimeExports.jsx(EditorPicker, { workspacePath, onCopyPath }),
|
|
165068
|
-
hasPanels && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
165069
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
165070
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
165071
|
-
"button",
|
|
165072
|
-
{
|
|
165073
|
-
type: "button",
|
|
165074
|
-
className: "flex items-center justify-center rounded-md p-1 text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors",
|
|
165075
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelTop, { className: "size-5" })
|
|
165076
|
-
}
|
|
165077
|
-
) }) }),
|
|
165078
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "bottom", children: "Switch Panel" })
|
|
165079
|
-
] }),
|
|
165080
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuContent, { align: "end", children: panelItems?.map((item) => {
|
|
165081
|
-
const Icon2 = item.icon;
|
|
165082
|
-
const isChat = item.id === "chat";
|
|
165083
|
-
const isVisible = isChat || !hiddenPanels?.includes(item.id);
|
|
165084
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
165085
|
-
DropdownMenuCheckboxItem,
|
|
165086
|
-
{
|
|
165087
|
-
checked: isVisible,
|
|
165088
|
-
disabled: isChat,
|
|
165089
|
-
onCheckedChange: () => {
|
|
165090
|
-
if (isChat) return;
|
|
165091
|
-
onTogglePanelVisibility?.(item.id);
|
|
165092
|
-
},
|
|
165093
|
-
children: [
|
|
165094
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "size-4" }),
|
|
165095
|
-
item.label,
|
|
165096
|
-
item.shortcut && /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuShortcut, { children: item.shortcut })
|
|
165097
|
-
]
|
|
165098
|
-
},
|
|
165099
|
-
item.id
|
|
165100
|
-
);
|
|
165101
|
-
}) })
|
|
165102
|
-
] })
|
|
165103
|
-
]
|
|
165104
|
-
}
|
|
165105
|
-
)
|
|
165106
|
-
]
|
|
165107
|
-
}
|
|
165108
|
-
);
|
|
165109
|
-
}
|
|
165110
|
-
function TauriDragRegion() {
|
|
165111
|
-
const ref = reactExports.useRef(null);
|
|
165112
|
-
useDesktopDrag(ref);
|
|
165113
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, "data-tauri-drag-region": true, className: "h-[38px] shrink-0" });
|
|
165114
|
-
}
|
|
165115
165148
|
const HEALTH_POLL_INTERVAL = 3e4;
|
|
165116
165149
|
function useTunnel() {
|
|
165117
165150
|
const adapter2 = useAdapter();
|
|
@@ -167628,7 +167661,7 @@ function saveSidebarWidth(width) {
|
|
|
167628
167661
|
}
|
|
167629
167662
|
const SIDEBAR_MIN_SIZE = "15rem";
|
|
167630
167663
|
const SIDEBAR_MAX_SIZE = "60%";
|
|
167631
|
-
const adapter = isDesktop ? new
|
|
167664
|
+
const adapter = isDesktop ? new DesktopDashboardAdapter() : new WebDashboardAdapter();
|
|
167632
167665
|
const capabilities = isDesktop ? new NativeShellCapabilities() : new WebCapabilities();
|
|
167633
167666
|
const Route$8 = createRootRoute({
|
|
167634
167667
|
head: () => ({
|
|
@@ -167807,7 +167840,7 @@ function AppShell() {
|
|
|
167807
167840
|
}
|
|
167808
167841
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ToolbarOverflowProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col h-dvh w-full overflow-hidden bg-background text-foreground", children: [
|
|
167809
167842
|
isDesktop && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
167810
|
-
|
|
167843
|
+
DesktopTitleBar,
|
|
167811
167844
|
{
|
|
167812
167845
|
onToggleSidebar: toggleSidebar,
|
|
167813
167846
|
sidebarCollapsed,
|
|
@@ -167876,11 +167909,11 @@ function RootLayout() {
|
|
|
167876
167909
|
] })
|
|
167877
167910
|
] });
|
|
167878
167911
|
}
|
|
167879
|
-
const $$splitComponentImporter$7 = () => import("./index-
|
|
167912
|
+
const $$splitComponentImporter$7 = () => import("./index-ClnAaUnc.js");
|
|
167880
167913
|
const Route$7 = createFileRoute("/")({
|
|
167881
167914
|
component: lazyRouteComponent($$splitComponentImporter$7, "component")
|
|
167882
167915
|
});
|
|
167883
|
-
const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-
|
|
167916
|
+
const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-Ca5XltsV.js");
|
|
167884
167917
|
const Route$6 = createFileRoute("/workspace/$workspaceId")({
|
|
167885
167918
|
component: lazyRouteComponent($$splitComponentImporter$6, "component")
|
|
167886
167919
|
});
|
|
@@ -167899,11 +167932,11 @@ const FindInFileContext = reactExports.createContext({
|
|
|
167899
167932
|
function useFindInFileContext() {
|
|
167900
167933
|
return reactExports.useContext(FindInFileContext);
|
|
167901
167934
|
}
|
|
167902
|
-
const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-
|
|
167935
|
+
const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-C2U_2sVz.js");
|
|
167903
167936
|
const Route$5 = createFileRoute("/workspace/$workspaceId/")({
|
|
167904
167937
|
component: lazyRouteComponent($$splitComponentImporter$5, "component")
|
|
167905
167938
|
});
|
|
167906
|
-
const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-
|
|
167939
|
+
const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-i2FfY7JG.js");
|
|
167907
167940
|
const Route$4 = createFileRoute("/workspace/$workspaceId/terminal")({
|
|
167908
167941
|
component: lazyRouteComponent($$splitComponentImporter$4, "component")
|
|
167909
167942
|
});
|
|
@@ -167911,15 +167944,15 @@ const $$splitComponentImporter$3 = () => import("./workspace._workspaceId.code-C
|
|
|
167911
167944
|
const Route$3 = createFileRoute("/workspace/$workspaceId/code")({
|
|
167912
167945
|
component: lazyRouteComponent($$splitComponentImporter$3, "component")
|
|
167913
167946
|
});
|
|
167914
|
-
const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-
|
|
167947
|
+
const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-z2xCX4Ct.js");
|
|
167915
167948
|
const Route$2 = createFileRoute("/workspace/$workspaceId/changes")({
|
|
167916
167949
|
component: lazyRouteComponent($$splitComponentImporter$2, "component")
|
|
167917
167950
|
});
|
|
167918
|
-
const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-
|
|
167951
|
+
const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-DTziHng0.js");
|
|
167919
167952
|
const Route$1 = createFileRoute("/workspace/$workspaceId/code/")({
|
|
167920
167953
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
167921
167954
|
});
|
|
167922
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-
|
|
167955
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-DQTK_1av.js");
|
|
167923
167956
|
const Route2 = createFileRoute("/workspace/$workspaceId/code/$")({
|
|
167924
167957
|
component: lazyRouteComponent($$splitComponentImporter, "component")
|
|
167925
167958
|
});
|
|
@@ -168049,7 +168082,7 @@ export {
|
|
|
168049
168082
|
curveBasis as aN,
|
|
168050
168083
|
generateId$1 as aO,
|
|
168051
168084
|
setupGraphViewbox as aP,
|
|
168052
|
-
isDark
|
|
168085
|
+
isDark as aQ,
|
|
168053
168086
|
lighten as aR,
|
|
168054
168087
|
darken as aS,
|
|
168055
168088
|
commonDb_exports as aT,
|
|
@@ -168096,7 +168129,7 @@ export {
|
|
|
168096
168129
|
FolderOpen as b5,
|
|
168097
168130
|
Route$6 as b6,
|
|
168098
168131
|
useDashboardStore as b7,
|
|
168099
|
-
|
|
168132
|
+
DesktopDragRegion as b8,
|
|
168100
168133
|
ArrowLeft as b9,
|
|
168101
168134
|
useQuery as bA,
|
|
168102
168135
|
DockviewReact as bB,
|