@chrisjowen/wheelhouse 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +112 -2
- package/build/client/_app/immutable/assets/0.DaQhCSel.css +1 -0
- package/build/client/_app/immutable/assets/0.DaQhCSel.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DaQhCSel.css.gz +0 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css +1 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css.br +0 -0
- package/build/client/_app/immutable/assets/12.DT1C9nmd.css.gz +0 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css +1 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.br +0 -0
- package/build/client/_app/immutable/assets/14.CjNfSPQ6.css.gz +0 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css +1 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.br +0 -0
- package/build/client/_app/immutable/assets/15.KLSHp5Yu.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css +1 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css.br +0 -0
- package/build/client/_app/immutable/assets/2.DvyEOdRq.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css +1 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css.br +0 -0
- package/build/client/_app/immutable/assets/4.5dJKCkOT.css.gz +0 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css +1 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css.br +2 -0
- package/build/client/_app/immutable/assets/MicButton.Dga9zAug.css.gz +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-ext-wght-italic.B5xAaiFk.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-wght-italic.DzZdc28x.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-ext-wght-italic.DcOpz6Lw.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-wght-italic.CILZdfAp.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-ext-wght-italic.0pjOp8NU.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-wght-italic.DpCbqKDY.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-vietnamese-wght-italic.K3WlGtc8.woff2 +0 -0
- package/build/client/_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2 +0 -0
- package/build/client/_app/immutable/assets/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-ext-wght-italic.DFS986qL.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-wght-italic.Bxi8ein9.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-latin-wght-normal.CCVVNp6i.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-vietnamese-wght-italic.xAqemagA.woff2 +0 -0
- package/build/client/_app/immutable/assets/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2 +0 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js +1 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js.br +0 -0
- package/build/client/_app/immutable/chunks/36FDwM1G.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js +16 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-qIQCd3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js +1 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1XxiJam.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js +1 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js.br +0 -0
- package/build/client/_app/immutable/chunks/B2wEHue2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js +2 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAurN1n6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js +1 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEAYWcbT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js +1 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js.br +4 -0
- package/build/client/_app/immutable/chunks/BGINfGsV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js +1 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BHsdHLbF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js +1 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js.br +0 -0
- package/build/client/_app/immutable/chunks/BR5v76-T.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js +1 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BUo4hMcM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js +1 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js.br +0 -0
- package/build/client/_app/immutable/chunks/BVVO3JPx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js +1 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js.br +2 -0
- package/build/client/_app/immutable/chunks/BXN538J3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js +1 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BZm5e4fE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js +1 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bfi4vm-w.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js +1 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiTivU7x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js +1 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiuLIp4b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js +1 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bns_F-QV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js +1 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js.br +0 -0
- package/build/client/_app/immutable/chunks/Brlpgp90.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js +1 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BunkbzFG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js +1 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwOfqJw9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js +1 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-xrRA1Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js +7 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2_XZrIO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js +1 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js.br +0 -0
- package/build/client/_app/immutable/chunks/C2d4bDYU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js +62 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js.br +0 -0
- package/build/client/_app/immutable/chunks/C6BQPSOs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js +1 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDphfOBv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js +1 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CHoQMvOZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js +1 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js.br +0 -0
- package/build/client/_app/immutable/chunks/CIE0U5Ih.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js +1 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLs9Rkbg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js +1 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js.br +0 -0
- package/build/client/_app/immutable/chunks/COQ3aAYj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js +1 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js.br +0 -0
- package/build/client/_app/immutable/chunks/COiIt96y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js +1 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js.br +2 -0
- package/build/client/_app/immutable/chunks/CQ7gIAH8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js +1 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQlHU-Rx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js +1 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR7y1ULG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js +1 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXfdgbLv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js +1 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js.br +0 -0
- package/build/client/_app/immutable/chunks/CeYIQAXD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js +14 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js.br +0 -0
- package/build/client/_app/immutable/chunks/CewXGI4o.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js +1 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js.br +0 -0
- package/build/client/_app/immutable/chunks/CfdzAfq2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js +1 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js.br +0 -0
- package/build/client/_app/immutable/chunks/CkFDaaNz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js +1 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CkLriSVx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js +5 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js.br +0 -0
- package/build/client/_app/immutable/chunks/Clzs_eXS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js +1 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrCQ2NNA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js +1 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrgqcyB_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js +1 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtlVBKf-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js +1 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4aeBIhU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js +1 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7IP_ZEm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js +1 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js.br +3 -0
- package/build/client/_app/immutable/chunks/D8Hx-_mj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js +1 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DC8T2WRZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js +2 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGy76IbW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js +1 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIABVMrA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js +1 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js.br +0 -0
- package/build/client/_app/immutable/chunks/DKQe4Tss.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js +1 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DLith9Yi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js +1 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPTtvukI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js +1 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js.br +1 -0
- package/build/client/_app/immutable/chunks/DX4qG4td.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js +1 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js.br +0 -0
- package/build/client/_app/immutable/chunks/Da92_52d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js +1 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Db0WMrvR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js +2 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dlb_KqyS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js +1 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmcreR7o.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js +1 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dq9kJk5R.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js +1 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js.br +2 -0
- package/build/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js +1 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxGQT-Hz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js +1 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js.br +0 -0
- package/build/client/_app/immutable/chunks/ET-O1REu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js +1 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ewrw42Vq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js +1 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js.br +0 -0
- package/build/client/_app/immutable/chunks/FQ69txbU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js +2 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js.br +0 -0
- package/build/client/_app/immutable/chunks/L-6wuY5f.js.gz +0 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js +1 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js.br +1 -0
- package/build/client/_app/immutable/chunks/M201SoVK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js +1 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js.br +0 -0
- package/build/client/_app/immutable/chunks/OeqXO44y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js +1 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js.br +0 -0
- package/build/client/_app/immutable/chunks/PPVm8Dsz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js +1 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js.br +0 -0
- package/build/client/_app/immutable/chunks/QAFSHLn2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js +1 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js.br +0 -0
- package/build/client/_app/immutable/chunks/Tm9AblHs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js +4 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js.br +0 -0
- package/build/client/_app/immutable/chunks/bvY4yrzM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js +1 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js.br +0 -0
- package/build/client/_app/immutable/chunks/cAfuCUf-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js +1 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js.br +0 -0
- package/build/client/_app/immutable/chunks/eMSiEzFi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js +1 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js.br +0 -0
- package/build/client/_app/immutable/chunks/iVpzjqp1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js +1 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js.br +0 -0
- package/build/client/_app/immutable/chunks/m3YfhLk1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js +1 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js.br +0 -0
- package/build/client/_app/immutable/chunks/p7x6PRF0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js +74 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js.br +0 -0
- package/build/client/_app/immutable/chunks/t4rxsdjl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js +1 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js.br +4 -0
- package/build/client/_app/immutable/chunks/uD7-7yV9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js +2 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D22_AlD8.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js +1 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js.br +0 -0
- package/build/client/_app/immutable/entry/start.xwa7znED.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js +5 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DsfUbybd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js +1 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.9tnApS8T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js +14 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CbyVViLq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js +77 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.xg5UTCOx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js +32 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.C6hLGaov.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js +5 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.DHbTeLkm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js +1 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.BMIOGjF-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js +10 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.DYSMqa5A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js +6 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.B0mX0t_j.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js +4 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CSYV0jmk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js +5 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.X5qqsIUa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js +3 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Di4k8SR2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js +7 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DMFYTxVa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js +4 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.6yDAURLV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js +1 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.xxvMU05c.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js +1 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.GSaWotW8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js +1 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CEiUwDDg.js.gz +0 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/favicon.svg +1 -0
- package/build/client/favicon.svg.br +0 -0
- package/build/client/favicon.svg.gz +0 -0
- package/build/env.js +70 -0
- package/build/handler.js +23 -0
- package/build/index.js +146 -0
- package/build/server/chunks/chunks/AllowanceMeter.js-C9jRsAGU.js +42 -0
- package/build/server/chunks/chunks/DecisionCard.js-u1VQ9s_v.js +350 -0
- package/build/server/chunks/chunks/DictateTextarea.js-BlEnOzcN.js +85 -0
- package/build/server/chunks/chunks/EtaLine.js-Pa4_VV6V.js +79 -0
- package/build/server/chunks/chunks/Icon.js-D7CY3joB.js +129 -0
- package/build/server/chunks/chunks/InsightsNav.js-BlxFBJfj.js +22 -0
- package/build/server/chunks/chunks/MicButton.js-BZSQAyuM.js +336 -0
- package/build/server/chunks/chunks/QuestionList.js-DglKezUe.js +259 -0
- package/build/server/chunks/chunks/SlotContent.js-YqZXXtRz.js +1977 -0
- package/build/server/chunks/chunks/StageTrack.js-BaorW-yk.js +59 -0
- package/build/server/chunks/chunks/TimeBar.js-k38rc7ZI.js +32 -0
- package/build/server/chunks/chunks/TimeLegend.js-BQVvgsvs.js +29 -0
- package/build/server/chunks/chunks/access.js-CS2pJasF.js +816 -0
- package/build/server/chunks/chunks/anchor.js-ByXDBfbi.js +20 -0
- package/build/server/chunks/chunks/arrow-down.js-DXDJc9EE.js +18 -0
- package/build/server/chunks/chunks/arrow-left.js-6Yey35CE.js +18 -0
- package/build/server/chunks/chunks/arrow-right.js-CfbPWRqu.js +18 -0
- package/build/server/chunks/chunks/arrow-up.js-AhghNbhW.js +18 -0
- package/build/server/chunks/chunks/bell.js-CAlv92RY.js +143 -0
- package/build/server/chunks/chunks/blocks.js-BL9jLCe-.js +710 -0
- package/build/server/chunks/chunks/buildlog.js-BCKtSKOt.js +55 -0
- package/build/server/chunks/chunks/bus.svelte.js-DRTptEhF.js +9 -0
- package/build/server/chunks/chunks/button.js-HeBqLheH.js +7311 -0
- package/build/server/chunks/chunks/chat.svelte.js-Cgdbtjbw.js +537 -0
- package/build/server/chunks/chunks/check.js-bmUhmMEz.js +15 -0
- package/build/server/chunks/chunks/checks.js-BnIxIaus.js +175 -0
- package/build/server/chunks/chunks/chevron-down.js-D75hVSIe.js +15 -0
- package/build/server/chunks/chunks/chevron-right.js-yhLg_GaH.js +15 -0
- package/build/server/chunks/chunks/circle-dashed.js-Bm3gZCXK.js +24 -0
- package/build/server/chunks/chunks/client.js-BUNengrw.js +24 -0
- package/build/server/chunks/chunks/clock.js-D7JTvRbC.js +18 -0
- package/build/server/chunks/chunks/compass.js-Tq6uiG8I.js +23 -0
- package/build/server/chunks/chunks/detail.js-CSjOmiVi.js +133 -0
- package/build/server/chunks/chunks/exports.js-BZBK1HC9.js +161 -0
- package/build/server/chunks/chunks/external-link.js-WxVF0xXO.js +24 -0
- package/build/server/chunks/chunks/file-text.js-CAo3vdqd.js +26 -0
- package/build/server/chunks/chunks/format.js-D3lWEg6U.js +70 -0
- package/build/server/chunks/chunks/gauge.js-Dw9bgE72.js +35 -0
- package/build/server/chunks/chunks/git-pull-request.js-Cx1w8BQr.js +20 -0
- package/build/server/chunks/chunks/hammer.js-fp_Kidfj.js +24 -0
- package/build/server/chunks/chunks/hand.js-xkYPYJZj.js +37 -0
- package/build/server/chunks/chunks/harbour.js-xu7EfIHk.js +113 -0
- package/build/server/chunks/chunks/http.js-TzZuOtxn.js +25 -0
- package/build/server/chunks/chunks/http2.js-Cr9xuMRL.js +26 -0
- package/build/server/chunks/chunks/inbox.js-CW2sFmx9.js +114 -0
- package/build/server/chunks/chunks/inbox.svelte.js-OoKhjjWM.js +134 -0
- package/build/server/chunks/chunks/index-server.js-CtyUzIGY.js +17 -0
- package/build/server/chunks/chunks/index-server2.js-DMc-UvjC.js +19 -0
- package/build/server/chunks/chunks/index.js-Bn6j9diM.js +1524 -0
- package/build/server/chunks/chunks/index2.js-CXaRTuov.js +46 -0
- package/build/server/chunks/chunks/insights.js-CzzfyHGp.js +100 -0
- package/build/server/chunks/chunks/internal.js-Co-6PAQm.js +146 -0
- package/build/server/chunks/chunks/keys.js-CdtCzv-v.js +20 -0
- package/build/server/chunks/chunks/live.svelte.js-BRUTNc9D.js +196 -0
- package/build/server/chunks/chunks/loader-circle.js-IYRaUYWq.js +16 -0
- package/build/server/chunks/chunks/message-circle-question-mark.js-DwrMi0ty.js +25 -0
- package/build/server/chunks/chunks/message-square-text.js-N5uEmy8L.js +25 -0
- package/build/server/chunks/chunks/message-square.js-Hp-6BHgG.js +22 -0
- package/build/server/chunks/chunks/messages.js-CFyGKoqq.js +4 -0
- package/build/server/chunks/chunks/minus.js-bsfnwE-h.js +15 -0
- package/build/server/chunks/chunks/monitor-play.js-B7qbbPH6.js +28 -0
- package/build/server/chunks/chunks/passage-meta.js-uvNUyJkg.js +232 -0
- package/build/server/chunks/chunks/plain.js-Dc97sYaJ.js +101 -0
- package/build/server/chunks/chunks/preview.js-CVD-Kwks.js +68 -0
- package/build/server/chunks/chunks/prreview.js-C5XxDIu2.js +85 -0
- package/build/server/chunks/chunks/root.js-CQzYN4Pu.js +3105 -0
- package/build/server/chunks/chunks/runtime.js-C0n924wq.js +13280 -0
- package/build/server/chunks/chunks/scale.js-vP4G0lZM.js +21 -0
- package/build/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
- package/build/server/chunks/chunks/shield-check.js-PJLnCKD9.js +23 -0
- package/build/server/chunks/chunks/slots.svelte.js-0Ejhe-hS.js +34 -0
- package/build/server/chunks/chunks/spec.js-B0yI1XqG.js +307 -0
- package/build/server/chunks/chunks/split.js-BsCU24rQ.js +20 -0
- package/build/server/chunks/chunks/square-terminal.js-D5Z4Sl2-.js +47 -0
- package/build/server/chunks/chunks/tone.js-r2qFVrZC.js +30 -0
- package/build/server/chunks/chunks/trash.js-DYFbRevY.js +46 -0
- package/build/server/chunks/chunks/triangle-alert.js-DuE40HSU.js +38 -0
- package/build/server/chunks/chunks/utils.js-DTSGDHlH.js +2956 -0
- package/build/server/chunks/chunks/utils2.js-BQzn9ikS.js +38 -0
- package/build/server/chunks/chunks/view.js-BtcLmKUY.js +76 -0
- package/build/server/chunks/chunks/view2.js-BdUXqNlY.js +87 -0
- package/build/server/chunks/chunks/views.js-B0wP-tuB.js +137 -0
- package/build/server/chunks/chunks/waypoints.js-D3HN7bje.js +67 -0
- package/build/server/chunks/chunks/x.js-tlds9Ooz.js +18 -0
- package/build/server/chunks/entries/endpoints/api/events/_server.ts.js-DNHG661Q.js +93 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/chat/_server.ts.js-XBUQePMq.js +74 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/commands/_server.ts.js-D1tzpRWy.js +110 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/input/_server.ts.js-DqhQUZUA.js +42 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/interrupt/_server.ts.js-LsZer0Bi.js +35 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/messages/_server.ts.js-DQob0XkJ.js +57 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/pick/_server.ts.js-DgFjtYYL.js +45 -0
- package/build/server/chunks/entries/endpoints/api/firstmate/start/_server.ts.js-DOoA4rRW.js +35 -0
- package/build/server/chunks/entries/endpoints/api/fleet/_server.ts.js-DZQsFY87.js +27 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-DuSzTlq5.js +27 -0
- package/build/server/chunks/entries/endpoints/api/inbox/_server.ts.js-C15XwPXH.js +51 -0
- package/build/server/chunks/entries/endpoints/api/insights/_server.ts.js--gavJO4f.js +27 -0
- package/build/server/chunks/entries/endpoints/api/plugins/_server.ts.js-CsTy_jT6.js +27 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/_server.ts.js-BWOcGtOU.js +32 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/commands/_server.ts.js-Kjwbc2wm.js +41 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/consent/_server.ts.js-BTIb8CUb.js +53 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/draft/_server.ts.js-Vh52yDJ9.js +40 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/file/_server.ts.js-LJDJLrpB.js +63 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/passage/test/_server.ts.js-CdDBYH6K.js +46 -0
- package/build/server/chunks/entries/endpoints/api/services/_server.ts.js-DoElFmWK.js +46 -0
- package/build/server/chunks/entries/endpoints/api/slots/_server.ts.js-KiiPnPLF.js +35 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/_server.ts.js-LMXTPr04.js +59 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/build-request/_server.ts.js-bqjJGIjt.js +47 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_comment_/_server.ts.js-DD1qQE9w.js +36 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/comments/_server.ts.js-Bby1xkpH.js +57 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_name_/_server.ts.js-CPX8OLQa.js +49 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/images/_server.ts.js-BjBV4SVl.js +55 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/sent/_server.ts.js-BAqm0IW0.js +36 -0
- package/build/server/chunks/entries/endpoints/api/specs/_id_/turn/_server.ts.js-CNFIHA70.js +82 -0
- package/build/server/chunks/entries/endpoints/api/specs/_server.ts.js-Bix9PKKr.js +40 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/_server.ts.js-CT7cLDQU.js +32 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/artifacts/_...name_/_server.ts.js-zCsm8UJT.js +51 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/diff/_server.ts.js-ccyEPbua.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/output/_server.ts.js-eZPQtK6T.js +84 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/preview/_server.ts.js-CW76hSLW.js +102 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/_server.ts.js-Cjuig1dr.js +34 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/ask/_server.ts.js-C04r1OFS.js +40 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/check/_server.ts.js-Ca5VNJtJ.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/guide/_server.ts.js-BKLIKSUM.js +39 -0
- package/build/server/chunks/entries/endpoints/api/tasks/_id_/review/runs/_run_/stop/_server.ts.js-C-D9zXgK.js +32 -0
- package/build/server/chunks/entries/fallbacks/error.svelte.js-DlN_tCrh.js +15 -0
- package/build/server/chunks/entries/hooks.server.js-Cgq1_RNe.js +40 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-B7EWMhm1.js +20 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-BJuZaosz.js +10454 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-CrjekE3C.js +16 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-BI4c5H0n.js +3699 -0
- package/build/server/chunks/entries/pages/decisions/_page.server.ts.js-Olm_zS-k.js +11 -0
- package/build/server/chunks/entries/pages/decisions/_page.svelte.js-ClTz3O_K.js +167 -0
- package/build/server/chunks/entries/pages/harbour/_page.server.ts.js-CVhhNUGy.js +20 -0
- package/build/server/chunks/entries/pages/harbour/_page.svelte.js-43FRNSVK.js +1346 -0
- package/build/server/chunks/entries/pages/headroom/_page.server.ts.js-Bv8GukD1.js +11 -0
- package/build/server/chunks/entries/pages/headroom/_page.svelte.js-zmKQdAwy.js +135 -0
- package/build/server/chunks/entries/pages/inbox/_page.svelte.js-wTvAFPNM.js +175 -0
- package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.server.ts.js-BJRmRxez.js +15 -0
- package/build/server/chunks/entries/pages/plugins/_plugin_/_page_/_page.svelte.js-DfAqJJ3i.js +55 -0
- package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.server.ts.js-DawJ61h-.js +15 -0
- package/build/server/chunks/entries/pages/projects/_id_/_plugin_/_tab_/_page.svelte.js-B472Pugu.js +66 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/_page.server.ts.js-Cm-4qkeb.js +14 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/_page.svelte.js-CWjEArXY.js +394 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.server.ts.js-DWNW8L5o.js +15 -0
- package/build/server/chunks/entries/pages/projects/_id_/passage/edit/_page.svelte.js-iHacn81K.js +1859 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-BVDM5Frg.js +37 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-B_NQ-Wg3.js +270 -0
- package/build/server/chunks/entries/pages/spec/_page.server.ts.js-B3atEUDm.js +31 -0
- package/build/server/chunks/entries/pages/spec/_page.svelte.js-BJjweG9u.js +1561 -0
- package/build/server/chunks/entries/pages/tasks/_id_/_page.server.ts.js-BDQIO7Ft.js +25 -0
- package/build/server/chunks/entries/pages/tasks/_id_/_page.svelte.js-Dr2wwDJG.js +2063 -0
- package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.server.ts.js-Bw-3fcQ6.js +24 -0
- package/build/server/chunks/entries/pages/tasks/_id_/doc/_page.svelte.js-DOyZ1QzI.js +145 -0
- package/build/server/chunks/entries/pages/tasks/_id_/review/_page.server.ts.js-CJek9uLa.js +15 -0
- package/build/server/chunks/entries/pages/tasks/_id_/review/_page.svelte.js-BDaRELgE.js +692 -0
- package/build/server/chunks/entries/pages/time/_page.server.ts.js-An6F-Ydg.js +11 -0
- package/build/server/chunks/entries/pages/time/_page.svelte.js-CSXGxvVs.js +107 -0
- package/build/server/chunks/handler-BnRz5A8m.js +1474 -0
- package/build/server/chunks/index.js-C8djlQGs.js +4296 -0
- package/build/server/chunks/manifest.js-YAglwkb0.js +434 -0
- package/build/server/chunks/nodes/0.js-lkzICUiD.js +32 -0
- package/build/server/chunks/nodes/1.js-BJHI215Q.js +9 -0
- package/build/server/chunks/nodes/10.js-BWB-fD67.js +33 -0
- package/build/server/chunks/nodes/11.js-DWkXu85W.js +33 -0
- package/build/server/chunks/nodes/12.js-CKTx5eRx.js +37 -0
- package/build/server/chunks/nodes/13.js-C9YUj8Wf.js +33 -0
- package/build/server/chunks/nodes/14.js-CvfRHrCy.js +33 -0
- package/build/server/chunks/nodes/15.js-D_eEoMQb.js +33 -0
- package/build/server/chunks/nodes/16.js-BQhgpvij.js +32 -0
- package/build/server/chunks/nodes/2.js-C-3t-e-a.js +32 -0
- package/build/server/chunks/nodes/3.js-DgwKYi6C.js +32 -0
- package/build/server/chunks/nodes/4.js-DRDQ1cZ6.js +34 -0
- package/build/server/chunks/nodes/5.js-Bn5aoN6C.js +32 -0
- package/build/server/chunks/nodes/6.js-lazTWxVv.js +9 -0
- package/build/server/chunks/nodes/7.js-PUjlFfxr.js +32 -0
- package/build/server/chunks/nodes/8.js-DYPhaWV-.js +34 -0
- package/build/server/chunks/nodes/9.js-C2q_Jaiu.js +32 -0
- package/build/shims.js +33 -0
- package/dist/cli.js +534 -0
- package/package.json +96 -5
|
@@ -0,0 +1,1346 @@
|
|
|
1
|
+
import { af as head, ah as attr_class, aj as escape_html, ai as attr, aa as ensure_array_like, ak as stringify, _ as derived, ap as attr_style, ae as spread_props } from '../../../chunks/index.js-Bn6j9diM.js';
|
|
2
|
+
import { p as page } from '../../../chunks/index2.js-CXaRTuov.js';
|
|
3
|
+
import { l as live, a as currentFleet } from '../../../chunks/live.svelte.js-BRUTNc9D.js';
|
|
4
|
+
import { s as slots } from '../../../chunks/slots.svelte.js-0Ejhe-hS.js';
|
|
5
|
+
import { b as projectTabHref, s as slotKey } from '../../../chunks/keys.js-CdtCzv-v.js';
|
|
6
|
+
import { S as SlotContent } from '../../../chunks/SlotContent.js-YqZXXtRz.js';
|
|
7
|
+
import { c as clock, w as workerName, a as ago, p as plural, b as agentLine, d as consoleInImage, n as nowLine } from '../../../chunks/format.js-D3lWEg6U.js';
|
|
8
|
+
import { b as headline, h as harbour, s as shelfOf, d as shelf, e as chartColumns, p as progress, L as LANDED_RECENT_MS, i as isCompleted, c as completedAt, l as landedAt, n as needsYou, a as isTrouble } from '../../../chunks/harbour.js-xu7EfIHk.js';
|
|
9
|
+
import { B as Button } from '../../../chunks/button.js-HeBqLheH.js';
|
|
10
|
+
import { M as Messages_square, C as ConsoleWindow, a as awaitingReview, r as reviewView, L as Lightbox, Q as QuestionList } from '../../../chunks/QuestionList.js-DglKezUe.js';
|
|
11
|
+
import { h as hintLine, a as roundLine } from '../../../chunks/buildlog.js-BCKtSKOt.js';
|
|
12
|
+
import '../../../chunks/exports.js-BZBK1HC9.js';
|
|
13
|
+
import '../../../chunks/utils2.js-BQzn9ikS.js';
|
|
14
|
+
import '../../../chunks/utils.js-DTSGDHlH.js';
|
|
15
|
+
import '../../../chunks/root.js-CQzYN4Pu.js';
|
|
16
|
+
import { M as Monitor_play } from '../../../chunks/monitor-play.js-B7qbbPH6.js';
|
|
17
|
+
import { C as Chevron_down } from '../../../chunks/chevron-down.js-D75hVSIe.js';
|
|
18
|
+
import { S as StageTrack } from '../../../chunks/StageTrack.js-BaorW-yk.js';
|
|
19
|
+
import { I as Icon } from '../../../chunks/Icon.js-D7CY3joB.js';
|
|
20
|
+
import { H as Hand } from '../../../chunks/hand.js-xkYPYJZj.js';
|
|
21
|
+
import { F as File_text } from '../../../chunks/file-text.js-CAo3vdqd.js';
|
|
22
|
+
import { G as Git_pull_request } from '../../../chunks/git-pull-request.js-Cx1w8BQr.js';
|
|
23
|
+
import { S as Square_terminal } from '../../../chunks/square-terminal.js-D5Z4Sl2-.js';
|
|
24
|
+
import { E as External_link } from '../../../chunks/external-link.js-WxVF0xXO.js';
|
|
25
|
+
import { C as Compass } from '../../../chunks/compass.js-Tq6uiG8I.js';
|
|
26
|
+
import { b as tone, d as dotClass, t as textClass } from '../../../chunks/tone.js-r2qFVrZC.js';
|
|
27
|
+
import { A as Arrow_right } from '../../../chunks/arrow-right.js-CfbPWRqu.js';
|
|
28
|
+
import { a as showsChecks } from '../../../chunks/checks.js-BnIxIaus.js';
|
|
29
|
+
import { C as ChecksStrip, E as EtaLine } from '../../../chunks/EtaLine.js-Pa4_VV6V.js';
|
|
30
|
+
import { M as Message_circle_question_mark } from '../../../chunks/message-circle-question-mark.js-DwrMi0ty.js';
|
|
31
|
+
import { T as TASK_FIRST_DIR, w as waitingOn, s as sortTasks, u as updatedAt, V as VIEW_COOKIE } from '../../../chunks/views.js-B0wP-tuB.js';
|
|
32
|
+
import { V as ViewToggle, S as SortHeader, L as List, r as rememberView } from '../../../chunks/view2.js-BdUXqNlY.js';
|
|
33
|
+
import { L as Layout_grid, W as Waypoints, R as Radar } from '../../../chunks/waypoints.js-D3HN7bje.js';
|
|
34
|
+
import '../../../chunks/blocks.js-BL9jLCe-.js';
|
|
35
|
+
import 'yaml';
|
|
36
|
+
import '../../../chunks/index-server2.js-DMc-UvjC.js';
|
|
37
|
+
import '../../../chunks/anchor.js-ByXDBfbi.js';
|
|
38
|
+
import '../../../chunks/triangle-alert.js-DuE40HSU.js';
|
|
39
|
+
import '../../../chunks/split.js-BsCU24rQ.js';
|
|
40
|
+
import '../../../chunks/message-square-text.js-N5uEmy8L.js';
|
|
41
|
+
import '../../../chunks/check.js-bmUhmMEz.js';
|
|
42
|
+
import '../../../chunks/x.js-tlds9Ooz.js';
|
|
43
|
+
import '../../../chunks/loader-circle.js-IYRaUYWq.js';
|
|
44
|
+
import '../../../chunks/circle-dashed.js-Bm3gZCXK.js';
|
|
45
|
+
import '../../../chunks/chevron-right.js-yhLg_GaH.js';
|
|
46
|
+
import '../../../chunks/insights.js-CzzfyHGp.js';
|
|
47
|
+
import '../../../chunks/clock.js-D7JTvRbC.js';
|
|
48
|
+
import '../../../chunks/arrow-up.js-AhghNbhW.js';
|
|
49
|
+
import '../../../chunks/arrow-down.js-DXDJc9EE.js';
|
|
50
|
+
|
|
51
|
+
function Grid_3x3($$renderer, $$props) {
|
|
52
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
53
|
+
const iconData = {
|
|
54
|
+
"name": "grid-3x3",
|
|
55
|
+
"size": 24,
|
|
56
|
+
"node": [
|
|
57
|
+
[
|
|
58
|
+
"rect",
|
|
59
|
+
{ "width": "18", "height": "18", "x": "3", "y": "3", "rx": "2" }
|
|
60
|
+
],
|
|
61
|
+
["path", { "d": "M3 9h18" }],
|
|
62
|
+
["path", { "d": "M3 15h18" }],
|
|
63
|
+
["path", { "d": "M9 3v18" }],
|
|
64
|
+
["path", { "d": "M15 3v18" }]
|
|
65
|
+
],
|
|
66
|
+
"aliases": ["grid", "grid-3-x-3"]
|
|
67
|
+
};
|
|
68
|
+
Icon($$renderer, spread_props([props, { icon: iconData }]));
|
|
69
|
+
}
|
|
70
|
+
function Hourglass($$renderer, $$props) {
|
|
71
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
72
|
+
const iconData = {
|
|
73
|
+
"name": "hourglass",
|
|
74
|
+
"size": 24,
|
|
75
|
+
"node": [
|
|
76
|
+
["path", { "d": "M5 22h14" }],
|
|
77
|
+
["path", { "d": "M5 2h14" }],
|
|
78
|
+
[
|
|
79
|
+
"path",
|
|
80
|
+
{
|
|
81
|
+
"d": "M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
[
|
|
85
|
+
"path",
|
|
86
|
+
{
|
|
87
|
+
"d": "M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
]
|
|
91
|
+
};
|
|
92
|
+
Icon($$renderer, spread_props([props, { icon: iconData }]));
|
|
93
|
+
}
|
|
94
|
+
function Images($$renderer, $$props) {
|
|
95
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
96
|
+
const iconData = {
|
|
97
|
+
"name": "images",
|
|
98
|
+
"size": 24,
|
|
99
|
+
"node": [
|
|
100
|
+
[
|
|
101
|
+
"path",
|
|
102
|
+
{ "d": "m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16" }
|
|
103
|
+
],
|
|
104
|
+
[
|
|
105
|
+
"path",
|
|
106
|
+
{ "d": "M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2" }
|
|
107
|
+
],
|
|
108
|
+
[
|
|
109
|
+
"circle",
|
|
110
|
+
{ "cx": "13", "cy": "7", "r": "1", "fill": "currentColor" }
|
|
111
|
+
],
|
|
112
|
+
[
|
|
113
|
+
"rect",
|
|
114
|
+
{ "x": "8", "y": "2", "width": "14", "height": "14", "rx": "2" }
|
|
115
|
+
]
|
|
116
|
+
]
|
|
117
|
+
};
|
|
118
|
+
Icon($$renderer, spread_props([props, { icon: iconData }]));
|
|
119
|
+
}
|
|
120
|
+
function Rectangle_horizontal($$renderer, $$props) {
|
|
121
|
+
let { $$slots, $$events, ...props } = $$props;
|
|
122
|
+
const iconData = {
|
|
123
|
+
"name": "rectangle-horizontal",
|
|
124
|
+
"size": 24,
|
|
125
|
+
"node": [
|
|
126
|
+
[
|
|
127
|
+
"rect",
|
|
128
|
+
{ "width": "20", "height": "12", "x": "2", "y": "6", "rx": "2" }
|
|
129
|
+
]
|
|
130
|
+
]
|
|
131
|
+
};
|
|
132
|
+
Icon($$renderer, spread_props([props, { icon: iconData }]));
|
|
133
|
+
}
|
|
134
|
+
function CardPreview($$renderer, $$props) {
|
|
135
|
+
$$renderer.component(($$renderer2) => {
|
|
136
|
+
let { task } = $$props;
|
|
137
|
+
let open = false;
|
|
138
|
+
$$renderer2.push(`<div class="relative z-10 mt-3" data-card-preview=""><button type="button" class="inline-flex items-center gap-1.5 rounded-md text-xs font-medium text-sea hover:underline"${attr("aria-expanded", open)}>`);
|
|
139
|
+
Monitor_play($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
140
|
+
$$renderer2.push(`<!---->${escape_html("Show live preview")}`);
|
|
141
|
+
Chevron_down($$renderer2, {
|
|
142
|
+
class: `size-3.5 transition-transform ${""}`,
|
|
143
|
+
"aria-hidden": "true"
|
|
144
|
+
});
|
|
145
|
+
$$renderer2.push(`<!----></button> `);
|
|
146
|
+
{
|
|
147
|
+
$$renderer2.push("<!--[-1-->");
|
|
148
|
+
}
|
|
149
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function ShotStrip($$renderer, $$props) {
|
|
153
|
+
$$renderer.component(($$renderer2) => {
|
|
154
|
+
let { shots, total, skip = 0 } = $$props;
|
|
155
|
+
let enlarged = null;
|
|
156
|
+
const shown = derived(() => shots.slice(skip));
|
|
157
|
+
const more = derived(() => total - shots.length);
|
|
158
|
+
let $$settled = true;
|
|
159
|
+
let $$inner_renderer;
|
|
160
|
+
function $$render_inner($$renderer3) {
|
|
161
|
+
if (shown().length) {
|
|
162
|
+
$$renderer3.push(`<!--[0--><div class="relative z-10 mt-2 flex flex-wrap gap-1.5" data-card-shots=""><!--[-->`);
|
|
163
|
+
const each_array = ensure_array_like(shown());
|
|
164
|
+
for (let i = 0, $$length = each_array.length; i < $$length; i++) {
|
|
165
|
+
let s = each_array[i];
|
|
166
|
+
$$renderer3.push(`<button type="button" class="w-20 shrink-0 cursor-zoom-in"${attr("aria-label", `Enlarge screenshot ${stringify(s.name)}`)}${attr("title", s.name)}><img${attr("src", s.url)}${attr("alt", s.name)} loading="lazy" class="aspect-[16/10] w-full rounded-md border object-cover object-top"/></button>`);
|
|
167
|
+
}
|
|
168
|
+
$$renderer3.push(`<!--]--></div> `);
|
|
169
|
+
if (more() > 0) {
|
|
170
|
+
$$renderer3.push(`<!--[0--><p class="mt-1 text-xs text-muted-foreground">+${escape_html(more())} more on the task page</p>`);
|
|
171
|
+
} else {
|
|
172
|
+
$$renderer3.push("<!--[-1-->");
|
|
173
|
+
}
|
|
174
|
+
$$renderer3.push(`<!--]--> `);
|
|
175
|
+
Lightbox($$renderer3, {
|
|
176
|
+
shots,
|
|
177
|
+
get index() {
|
|
178
|
+
return enlarged;
|
|
179
|
+
},
|
|
180
|
+
set index($$value) {
|
|
181
|
+
enlarged = $$value;
|
|
182
|
+
$$settled = false;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
$$renderer3.push(`<!---->`);
|
|
186
|
+
} else {
|
|
187
|
+
$$renderer3.push("<!--[-1-->");
|
|
188
|
+
}
|
|
189
|
+
$$renderer3.push(`<!--]-->`);
|
|
190
|
+
}
|
|
191
|
+
do {
|
|
192
|
+
$$settled = true;
|
|
193
|
+
$$inner_renderer = $$renderer2.copy();
|
|
194
|
+
$$render_inner($$inner_renderer);
|
|
195
|
+
} while (!$$settled);
|
|
196
|
+
$$renderer2.subsume($$inner_renderer);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
function Thumb($$renderer, $$props) {
|
|
200
|
+
$$renderer.component(($$renderer2) => {
|
|
201
|
+
let { task, class: cls = "" } = $$props;
|
|
202
|
+
const thumb = derived(() => task.thumb);
|
|
203
|
+
const max = derived(() => thumb().kind === "diff" ? Math.max(1, ...thumb().files.map((f) => f.additions + f.deletions)) : 1);
|
|
204
|
+
$$renderer2.push(`<div${attr_class(`relative aspect-[16/10] overflow-hidden rounded-lg border bg-muted/40 ${stringify(cls)}`)}>`);
|
|
205
|
+
if (thumb().kind === "screenshot") {
|
|
206
|
+
$$renderer2.push(`<!--[0--><img${attr("src", thumb().url)}${attr("alt", `Latest screenshot: ${stringify(thumb().name)}`)} loading="lazy" class="size-full object-cover object-top"/>`);
|
|
207
|
+
} else if (thumb().kind === "diff") {
|
|
208
|
+
$$renderer2.push(`<!--[1--><div class="flex size-full flex-col justify-center gap-1.5 p-4" aria-label="Files changed"><!--[-->`);
|
|
209
|
+
const each_array = ensure_array_like(thumb().files);
|
|
210
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
211
|
+
let f = each_array[$$index];
|
|
212
|
+
$$renderer2.push(`<div class="flex items-center gap-2"><span class="w-0 flex-1 truncate font-mono text-xs text-muted-foreground">${escape_html(f.path.split("/").pop())}</span> <span class="flex h-1.5 w-20 overflow-hidden rounded-full bg-border/60"><span class="bg-success/80"${attr_style(`width:${stringify(f.additions / max() * 100)}%`)}></span> <span class="bg-danger/80"${attr_style(`width:${stringify(f.deletions / max() * 100)}%`)}></span></span></div>`);
|
|
213
|
+
}
|
|
214
|
+
$$renderer2.push(`<!--]--> `);
|
|
215
|
+
if (thumb().totalFiles > thumb().files.length) {
|
|
216
|
+
$$renderer2.push(`<!--[0--><p class="font-mono text-xs text-muted-foreground">+${escape_html(thumb().totalFiles - thumb().files.length)} more</p>`);
|
|
217
|
+
} else {
|
|
218
|
+
$$renderer2.push("<!--[-1-->");
|
|
219
|
+
}
|
|
220
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
221
|
+
} else {
|
|
222
|
+
$$renderer2.push(`<!--[-1--><div class="grid size-full place-items-center text-muted-foreground/50">`);
|
|
223
|
+
if (task.status === "queued") {
|
|
224
|
+
$$renderer2.push("<!--[0-->");
|
|
225
|
+
Hourglass($$renderer2, { class: "size-6", "aria-hidden": "true" });
|
|
226
|
+
} else if (task.attention?.kind === "decision") {
|
|
227
|
+
$$renderer2.push("<!--[1-->");
|
|
228
|
+
Hand($$renderer2, { class: "size-6", "aria-hidden": "true" });
|
|
229
|
+
} else if (task.hasReport) {
|
|
230
|
+
$$renderer2.push("<!--[2-->");
|
|
231
|
+
File_text($$renderer2, { class: "size-6", "aria-hidden": "true" });
|
|
232
|
+
} else if (task.pr) {
|
|
233
|
+
$$renderer2.push("<!--[3-->");
|
|
234
|
+
Git_pull_request($$renderer2, { class: "size-6", "aria-hidden": "true" });
|
|
235
|
+
} else {
|
|
236
|
+
$$renderer2.push("<!--[-1-->");
|
|
237
|
+
Square_terminal($$renderer2, { class: "size-6", "aria-hidden": "true" });
|
|
238
|
+
}
|
|
239
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
240
|
+
}
|
|
241
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
function MoveCard($$renderer, $$props) {
|
|
245
|
+
$$renderer.component(($$renderer2) => {
|
|
246
|
+
let { task, projectName = null } = $$props;
|
|
247
|
+
const a = derived(() => task.attention);
|
|
248
|
+
const href = derived(() => `/tasks/${encodeURIComponent(task.id)}`);
|
|
249
|
+
const review = derived(() => awaitingReview(task));
|
|
250
|
+
const rv = derived(() => reviewView(task));
|
|
251
|
+
const who = derived(() => agentLine(task.worker));
|
|
252
|
+
const hint = derived(() => hintLine(task.build));
|
|
253
|
+
$$renderer2.push(`<article class="flex min-w-0 flex-col rounded-lg border border-t-2 border-t-sea bg-card p-3"><a${attr("href", href())} tabindex="-1" aria-hidden="true" class="relative block">`);
|
|
254
|
+
Thumb($$renderer2, { task, class: "rounded-sm" });
|
|
255
|
+
$$renderer2.push(`<!----> `);
|
|
256
|
+
if (review() && task.screenshots > 0) {
|
|
257
|
+
$$renderer2.push(`<!--[0--><span class="absolute right-2 bottom-2 inline-flex items-center gap-1 rounded-md bg-background/90 px-1.5 py-0.5 text-xs font-medium shadow-sm">`);
|
|
258
|
+
Images($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
259
|
+
$$renderer2.push(`<!---->${escape_html(task.screenshots)}</span>`);
|
|
260
|
+
} else {
|
|
261
|
+
$$renderer2.push("<!--[-1-->");
|
|
262
|
+
}
|
|
263
|
+
$$renderer2.push(`<!--]--></a> `);
|
|
264
|
+
ShotStrip($$renderer2, {
|
|
265
|
+
shots: task.shots,
|
|
266
|
+
total: task.screenshots,
|
|
267
|
+
skip: task.thumb.kind === "screenshot" ? 1 : 0
|
|
268
|
+
});
|
|
269
|
+
$$renderer2.push(`<!----> <div class="flex flex-1 flex-col px-1 pt-4 pb-1">`);
|
|
270
|
+
if (projectName || who()) {
|
|
271
|
+
$$renderer2.push(`<!--[0--><p class="truncate text-xs text-muted-foreground">`);
|
|
272
|
+
if (projectName) {
|
|
273
|
+
$$renderer2.push(`<!--[0--><span class="font-medium tracking-wide text-sea">${escape_html(projectName)}</span>${escape_html(who() ? " · " : "")}`);
|
|
274
|
+
} else {
|
|
275
|
+
$$renderer2.push("<!--[-1-->");
|
|
276
|
+
}
|
|
277
|
+
$$renderer2.push(`<!--]-->${escape_html(who() ?? "")}</p>`);
|
|
278
|
+
} else {
|
|
279
|
+
$$renderer2.push("<!--[-1-->");
|
|
280
|
+
}
|
|
281
|
+
$$renderer2.push(`<!--]--> <a${attr("href", href())} class="mt-0.5 text-lg leading-snug font-semibold hover:underline"${attr("title", task.title)}>${escape_html(task.shortTitle)}</a> <p class="mt-2 line-clamp-3 flex-1 text-sm leading-relaxed text-muted-foreground">${escape_html(a().text)}</p> `);
|
|
282
|
+
if (review()) {
|
|
283
|
+
$$renderer2.push(`<!--[0--><ul class="mt-3 space-y-1 text-xs text-muted-foreground" aria-label="Review evidence"><li class="flex items-center gap-1.5" data-review="screenshots">`);
|
|
284
|
+
Images($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
285
|
+
$$renderer2.push(`<!---->${escape_html(rv().shotsText)}</li> <li class="flex items-center gap-1.5" data-review="preview">`);
|
|
286
|
+
Monitor_play($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
287
|
+
$$renderer2.push(`<!---->`);
|
|
288
|
+
if (rv().preview) {
|
|
289
|
+
$$renderer2.push(`<!--[0--><a${attr("href", rv().preview.url)} target="_blank" rel="noreferrer" class="truncate text-sea hover:underline">${escape_html(rv().preview.url)}</a>`);
|
|
290
|
+
} else {
|
|
291
|
+
$$renderer2.push(`<!--[-1-->${escape_html(rv().previewText)}`);
|
|
292
|
+
}
|
|
293
|
+
$$renderer2.push(`<!--]--></li></ul>`);
|
|
294
|
+
} else {
|
|
295
|
+
$$renderer2.push("<!--[-1-->");
|
|
296
|
+
}
|
|
297
|
+
$$renderer2.push(`<!--]--> `);
|
|
298
|
+
if (hint()) {
|
|
299
|
+
$$renderer2.push(`<!--[0--><p class="mt-1 flex items-center gap-1.5 text-xs text-muted-foreground" data-build-hint="">`);
|
|
300
|
+
Messages_square($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
301
|
+
$$renderer2.push(`<!----><span>${escape_html(hint().questions ?? "")}`);
|
|
302
|
+
if (hint().questions && hint().docs) {
|
|
303
|
+
$$renderer2.push(`<!--[0--> · `);
|
|
304
|
+
} else {
|
|
305
|
+
$$renderer2.push("<!--[-1-->");
|
|
306
|
+
}
|
|
307
|
+
$$renderer2.push(`<!--]-->`);
|
|
308
|
+
if (hint().docs) {
|
|
309
|
+
$$renderer2.push(`<!--[0--><a${attr("href", `${href()}?tab=docs`)} class="hover:text-foreground hover:underline" data-build-docs="">${escape_html(hint().docs)}</a>`);
|
|
310
|
+
} else {
|
|
311
|
+
$$renderer2.push("<!--[-1-->");
|
|
312
|
+
}
|
|
313
|
+
$$renderer2.push(`<!--]--></span></p>`);
|
|
314
|
+
} else {
|
|
315
|
+
$$renderer2.push("<!--[-1-->");
|
|
316
|
+
}
|
|
317
|
+
$$renderer2.push(`<!--]--> `);
|
|
318
|
+
if (task.preview) {
|
|
319
|
+
$$renderer2.push("<!--[0-->");
|
|
320
|
+
CardPreview($$renderer2, { task });
|
|
321
|
+
} else {
|
|
322
|
+
$$renderer2.push("<!--[-1-->");
|
|
323
|
+
}
|
|
324
|
+
$$renderer2.push(`<!--]--> <div class="mt-4">`);
|
|
325
|
+
StageTrack($$renderer2, { task });
|
|
326
|
+
$$renderer2.push(`<!----></div> <div class="mt-5 flex flex-wrap gap-2">`);
|
|
327
|
+
if (review() && rv().preview) {
|
|
328
|
+
$$renderer2.push("<!--[0-->");
|
|
329
|
+
Button($$renderer2, {
|
|
330
|
+
class: "flex-1",
|
|
331
|
+
href: rv().preview.url,
|
|
332
|
+
target: "_blank",
|
|
333
|
+
rel: "noreferrer",
|
|
334
|
+
children: ($$renderer3) => {
|
|
335
|
+
$$renderer3.push(`<!---->Open preview`);
|
|
336
|
+
External_link($$renderer3, {});
|
|
337
|
+
$$renderer3.push(`<!---->`);
|
|
338
|
+
},
|
|
339
|
+
$$slots: { default: true }
|
|
340
|
+
});
|
|
341
|
+
$$renderer2.push(`<!----> `);
|
|
342
|
+
if (rv().pr) {
|
|
343
|
+
$$renderer2.push("<!--[0-->");
|
|
344
|
+
Button($$renderer2, {
|
|
345
|
+
variant: "outline",
|
|
346
|
+
href: `${href()}/review`,
|
|
347
|
+
"data-review-pr": true,
|
|
348
|
+
children: ($$renderer3) => {
|
|
349
|
+
Compass($$renderer3, {});
|
|
350
|
+
$$renderer3.push(`<!---->Review PR`);
|
|
351
|
+
},
|
|
352
|
+
$$slots: { default: true }
|
|
353
|
+
});
|
|
354
|
+
} else {
|
|
355
|
+
$$renderer2.push("<!--[-1-->");
|
|
356
|
+
}
|
|
357
|
+
$$renderer2.push(`<!--]-->`);
|
|
358
|
+
} else if (review() && rv().pr) {
|
|
359
|
+
$$renderer2.push("<!--[1-->");
|
|
360
|
+
Button($$renderer2, {
|
|
361
|
+
class: "flex-1",
|
|
362
|
+
href: `${href()}/review`,
|
|
363
|
+
"data-review-pr": true,
|
|
364
|
+
children: ($$renderer3) => {
|
|
365
|
+
Compass($$renderer3, {});
|
|
366
|
+
$$renderer3.push(`<!---->Review PR`);
|
|
367
|
+
},
|
|
368
|
+
$$slots: { default: true }
|
|
369
|
+
});
|
|
370
|
+
$$renderer2.push(`<!----> `);
|
|
371
|
+
Button($$renderer2, {
|
|
372
|
+
variant: "outline",
|
|
373
|
+
href: rv().pr.url,
|
|
374
|
+
target: "_blank",
|
|
375
|
+
rel: "noreferrer",
|
|
376
|
+
children: ($$renderer3) => {
|
|
377
|
+
$$renderer3.push(`<!---->On GitHub`);
|
|
378
|
+
External_link($$renderer3, {});
|
|
379
|
+
$$renderer3.push(`<!---->`);
|
|
380
|
+
},
|
|
381
|
+
$$slots: { default: true }
|
|
382
|
+
});
|
|
383
|
+
$$renderer2.push(`<!---->`);
|
|
384
|
+
} else if (review()) {
|
|
385
|
+
$$renderer2.push("<!--[2-->");
|
|
386
|
+
Button($$renderer2, {
|
|
387
|
+
class: "flex-1",
|
|
388
|
+
href: href(),
|
|
389
|
+
children: ($$renderer3) => {
|
|
390
|
+
$$renderer3.push(`<!---->Review the work`);
|
|
391
|
+
},
|
|
392
|
+
$$slots: { default: true }
|
|
393
|
+
});
|
|
394
|
+
} else {
|
|
395
|
+
$$renderer2.push("<!--[-1-->");
|
|
396
|
+
Button($$renderer2, {
|
|
397
|
+
class: "flex-1",
|
|
398
|
+
href: href(),
|
|
399
|
+
children: ($$renderer3) => {
|
|
400
|
+
$$renderer3.push(`<!---->Read the decision`);
|
|
401
|
+
},
|
|
402
|
+
$$slots: { default: true }
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
$$renderer2.push(`<!--]--> `);
|
|
406
|
+
Button($$renderer2, {
|
|
407
|
+
variant: "outline",
|
|
408
|
+
href: href(),
|
|
409
|
+
children: ($$renderer3) => {
|
|
410
|
+
$$renderer3.push(`<!---->Details`);
|
|
411
|
+
},
|
|
412
|
+
$$slots: { default: true }
|
|
413
|
+
});
|
|
414
|
+
$$renderer2.push(`<!----></div></div></article>`);
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
function PassageChart($$renderer, $$props) {
|
|
418
|
+
$$renderer.component(($$renderer2) => {
|
|
419
|
+
let { tasks, projects } = $$props;
|
|
420
|
+
const cols = derived(() => chartColumns(tasks));
|
|
421
|
+
const template = derived(() => `minmax(12rem,18rem) repeat(${cols().length}, minmax(0,1fr))`);
|
|
422
|
+
const rank = (t) => (tone(t) === "you" ? -10 : 0) - progress(t);
|
|
423
|
+
$$renderer2.push(`<div class="overflow-x-auto"><div class="min-w-[52rem]"><div class="grid border-b pb-2 text-xs text-muted-foreground"${attr_style(`grid-template-columns: ${template()}`)}><span></span> <!--[-->`);
|
|
424
|
+
const each_array = ensure_array_like(cols());
|
|
425
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
426
|
+
let c = each_array[$$index];
|
|
427
|
+
$$renderer2.push(`<span class="text-center">${escape_html(c.label)}</span>`);
|
|
428
|
+
}
|
|
429
|
+
$$renderer2.push(`<!--]--></div> <!--[-->`);
|
|
430
|
+
const each_array_1 = ensure_array_like(projects);
|
|
431
|
+
for (let $$index_3 = 0, $$length = each_array_1.length; $$index_3 < $$length; $$index_3++) {
|
|
432
|
+
let p = each_array_1[$$index_3];
|
|
433
|
+
const rows = tasks.filter((t) => t.projectId === p.id).toSorted((a, b) => rank(a) - rank(b));
|
|
434
|
+
if (rows.length) {
|
|
435
|
+
$$renderer2.push(`<!--[0--><h2 class="pt-6 pb-2 text-sm font-medium">${escape_html(p.name)}</h2> <!--[-->`);
|
|
436
|
+
const each_array_2 = ensure_array_like(rows);
|
|
437
|
+
for (let $$index_2 = 0, $$length2 = each_array_2.length; $$index_2 < $$length2; $$index_2++) {
|
|
438
|
+
let t = each_array_2[$$index_2];
|
|
439
|
+
const tn = tone(t);
|
|
440
|
+
const byCol = new Map(t.passage.steps.map((s, i) => [s.column, { s, i }]));
|
|
441
|
+
const cur = cols().findIndex((c) => c.key === t.passage.steps[t.passage.current]?.column);
|
|
442
|
+
const failed = t.passage.steps[t.passage.current]?.failed ?? false;
|
|
443
|
+
$$renderer2.push(`<a${attr("href", `/tasks/${stringify(encodeURIComponent(t.id))}`)} class="grid items-center rounded-lg py-3 hover:bg-accent/50"${attr_style(`grid-template-columns: ${template()}`)}${attr("aria-label", `${stringify(t.title)}: ${stringify(t.passage.steps[t.passage.current]?.label)}${failed ? " failed" : ""}, ${stringify(t.statusLabel)}`)}><div class="min-w-0 pr-4 pl-2"><p class="truncate font-medium">${escape_html(t.title)}</p> <p${attr_class(`truncate text-xs ${stringify(tn === "normal" || tn === "landed" ? "text-muted-foreground" : textClass[tn])}`)}>${escape_html(tn === "normal" ? workerName(t.worker) ?? t.statusLabel : t.statusLabel)}</p></div> <!--[-->`);
|
|
444
|
+
const each_array_3 = ensure_array_like(cols());
|
|
445
|
+
for (let i = 0, $$length3 = each_array_3.length; i < $$length3; i++) {
|
|
446
|
+
let col = each_array_3[i];
|
|
447
|
+
const step = byCol.get(col.key);
|
|
448
|
+
$$renderer2.push(`<div class="relative flex h-6 items-center justify-center"${attr("title", step?.s.note ?? void 0)}>`);
|
|
449
|
+
if (i > 0) {
|
|
450
|
+
$$renderer2.push(`<!--[0--><span${attr_class(`absolute top-1/2 right-1/2 left-[-50%] h-0.5 -translate-y-1/2 ${i <= cur ? "bg-foreground/50" : "bg-border"}`)}></span>`);
|
|
451
|
+
} else {
|
|
452
|
+
$$renderer2.push("<!--[-1-->");
|
|
453
|
+
}
|
|
454
|
+
$$renderer2.push(`<!--]--> `);
|
|
455
|
+
if (i === cur) {
|
|
456
|
+
$$renderer2.push(`<!--[0--><span${attr_class(`relative z-10 grid size-5 place-items-center rounded-full ring-4 ring-background ${stringify(failed ? "bg-danger" : dotClass[tn])}`)}>`);
|
|
457
|
+
if (tn === "you") {
|
|
458
|
+
$$renderer2.push(`<!--[0--><span class="size-1.5 rounded-full bg-background"></span>`);
|
|
459
|
+
} else {
|
|
460
|
+
$$renderer2.push("<!--[-1-->");
|
|
461
|
+
}
|
|
462
|
+
$$renderer2.push(`<!--]--></span>`);
|
|
463
|
+
} else if (!step || step.s.state === "skipped") {
|
|
464
|
+
$$renderer2.push(`<!--[1--><span class="relative z-10 size-2 rounded-full border border-dashed border-muted-foreground/40 bg-background"></span>`);
|
|
465
|
+
} else if (step.s.state === "done") {
|
|
466
|
+
$$renderer2.push(`<!--[2--><span class="relative z-10 size-2 rounded-full bg-foreground/50"></span>`);
|
|
467
|
+
} else {
|
|
468
|
+
$$renderer2.push(`<!--[-1--><span class="relative z-10 size-2 rounded-full border border-border bg-background"></span>`);
|
|
469
|
+
}
|
|
470
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
471
|
+
}
|
|
472
|
+
$$renderer2.push(`<!--]--></a>`);
|
|
473
|
+
}
|
|
474
|
+
$$renderer2.push(`<!--]-->`);
|
|
475
|
+
} else {
|
|
476
|
+
$$renderer2.push("<!--[-1-->");
|
|
477
|
+
}
|
|
478
|
+
$$renderer2.push(`<!--]-->`);
|
|
479
|
+
}
|
|
480
|
+
$$renderer2.push(`<!--]--></div></div>`);
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
const LANES = [
|
|
484
|
+
{ key: "queued", label: "Queued", hint: "Waiting its turn" },
|
|
485
|
+
{ key: "building", label: "Building", hint: "The crew is writing it" },
|
|
486
|
+
{ key: "testing", label: "Testing", hint: "Checks and review" },
|
|
487
|
+
{ key: "pr", label: "Pull request", hint: "In CI or with you" },
|
|
488
|
+
{ key: "landed", label: "Landed", hint: "In the last day" }
|
|
489
|
+
];
|
|
490
|
+
const COLUMN_LANE = {
|
|
491
|
+
queued: "queued",
|
|
492
|
+
building: "building",
|
|
493
|
+
checks: "testing",
|
|
494
|
+
pr: "pr",
|
|
495
|
+
review: "pr",
|
|
496
|
+
landed: "landed"
|
|
497
|
+
};
|
|
498
|
+
function laneOf(t) {
|
|
499
|
+
if (t.status === "queued") return "queued";
|
|
500
|
+
if (t.status === "landed") return "landed";
|
|
501
|
+
const steps = t.passage.steps;
|
|
502
|
+
for (let i = Math.min(t.passage.current, steps.length - 1); i >= 0; i--) {
|
|
503
|
+
const lane = COLUMN_LANE[steps[i].column] ?? COLUMN_LANE[steps[i].key];
|
|
504
|
+
if (lane) return lane;
|
|
505
|
+
}
|
|
506
|
+
return "building";
|
|
507
|
+
}
|
|
508
|
+
const SIGNAL_LABEL = {
|
|
509
|
+
you: "Waiting on you",
|
|
510
|
+
stuck: "Stuck",
|
|
511
|
+
firstmate: "With Firstmate",
|
|
512
|
+
busy: "Busy",
|
|
513
|
+
idle: "Idle",
|
|
514
|
+
landed: "Landed"
|
|
515
|
+
};
|
|
516
|
+
function signalOf(t) {
|
|
517
|
+
if (t.status === "landed") return "landed";
|
|
518
|
+
if (needsYou(t)) return "you";
|
|
519
|
+
if (isTrouble(t) || t.passage.steps[t.passage.current]?.failed || t.pipeline?.outcome === "failed")
|
|
520
|
+
return "stuck";
|
|
521
|
+
if (t.status === "with-firstmate") return "firstmate";
|
|
522
|
+
if (t.busy) return "busy";
|
|
523
|
+
return "idle";
|
|
524
|
+
}
|
|
525
|
+
const SIGNAL_ORDER = {
|
|
526
|
+
you: 0,
|
|
527
|
+
stuck: 1,
|
|
528
|
+
firstmate: 2,
|
|
529
|
+
busy: 3,
|
|
530
|
+
idle: 4,
|
|
531
|
+
landed: 5
|
|
532
|
+
};
|
|
533
|
+
const ms = (iso) => {
|
|
534
|
+
const t = iso ? Date.parse(iso) : NaN;
|
|
535
|
+
return Number.isNaN(t) ? null : t;
|
|
536
|
+
};
|
|
537
|
+
function laneSince(t, lane = laneOf(t)) {
|
|
538
|
+
if (lane === "landed") return landedAt(t);
|
|
539
|
+
if (lane === "testing") return ms(t.pipeline?.startedAt);
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
function track(prev, tasks, at) {
|
|
543
|
+
const next = /* @__PURE__ */ new Map();
|
|
544
|
+
for (const t of tasks) {
|
|
545
|
+
const lane = laneOf(t);
|
|
546
|
+
const step = t.passage.steps[t.passage.current]?.key ?? null;
|
|
547
|
+
const was = prev.get(t.id);
|
|
548
|
+
if (!was || was.lane !== lane) {
|
|
549
|
+
next.set(
|
|
550
|
+
t.id,
|
|
551
|
+
was ? { lane, step, laneSince: at, stepSince: at } : { lane, step, laneSince: laneSince(t, lane), stepSince: null }
|
|
552
|
+
);
|
|
553
|
+
continue;
|
|
554
|
+
}
|
|
555
|
+
const since = was.laneSince ?? laneSince(t, lane);
|
|
556
|
+
next.set(
|
|
557
|
+
t.id,
|
|
558
|
+
was.step !== step ? { ...was, step, laneSince: since, stepSince: at } : since !== was.laneSince ? { ...was, laneSince: since } : was
|
|
559
|
+
);
|
|
560
|
+
}
|
|
561
|
+
return next;
|
|
562
|
+
}
|
|
563
|
+
const LANDED_BRIGHT_MS = 3600 * 1e3;
|
|
564
|
+
const LANDED_FAINTEST = 0.35;
|
|
565
|
+
function landedFade(at, now) {
|
|
566
|
+
if (at === null) return LANDED_FAINTEST;
|
|
567
|
+
const age = now - at;
|
|
568
|
+
if (age <= LANDED_BRIGHT_MS) return 1;
|
|
569
|
+
const k = Math.min(1, (age - LANDED_BRIGHT_MS) / (LANDED_RECENT_MS - LANDED_BRIGHT_MS));
|
|
570
|
+
return 1 - (1 - LANDED_FAINTEST) * k;
|
|
571
|
+
}
|
|
572
|
+
function radar(tasks, now, entries) {
|
|
573
|
+
const byLane = new Map(LANES.map((l) => [l.key, []]));
|
|
574
|
+
const counts = {
|
|
575
|
+
you: 0,
|
|
576
|
+
stuck: 0,
|
|
577
|
+
firstmate: 0,
|
|
578
|
+
busy: 0,
|
|
579
|
+
idle: 0,
|
|
580
|
+
landed: 0
|
|
581
|
+
};
|
|
582
|
+
let landedOlder = 0;
|
|
583
|
+
for (const t of tasks) {
|
|
584
|
+
const lane = laneOf(t);
|
|
585
|
+
const entry = entries?.get(t.id);
|
|
586
|
+
const since = entry ? entry.laneSince : laneSince(t, lane);
|
|
587
|
+
const signal = signalOf(t);
|
|
588
|
+
if (t.status === "landed") {
|
|
589
|
+
if (since === null || now - since > LANDED_RECENT_MS) {
|
|
590
|
+
landedOlder++;
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
counts[signal]++;
|
|
595
|
+
byLane.get(lane).push({
|
|
596
|
+
id: t.id,
|
|
597
|
+
task: t,
|
|
598
|
+
lane,
|
|
599
|
+
signal,
|
|
600
|
+
since,
|
|
601
|
+
stepSince: entry?.stepSince ?? null,
|
|
602
|
+
opacity: signal === "landed" ? landedFade(since, now) : 1
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
const order = (a, b) => a.lane === "landed" ? (b.since ?? 0) - (a.since ?? 0) : SIGNAL_ORDER[a.signal] - SIGNAL_ORDER[b.signal] || (a.since ?? Infinity) - (b.since ?? Infinity) || a.id.localeCompare(b.id);
|
|
606
|
+
return {
|
|
607
|
+
lanes: LANES.map((l) => ({ ...l, blips: byLane.get(l.key).sort(order) })),
|
|
608
|
+
landedOlder,
|
|
609
|
+
counts
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
const laneLabel = (lane) => LANES.find((l) => l.key === lane).label;
|
|
613
|
+
function stay(since, now) {
|
|
614
|
+
if (since === null) return "unknown";
|
|
615
|
+
const m = Math.max(0, Math.round((now - since) / 6e4));
|
|
616
|
+
if (m < 1) return "under a minute";
|
|
617
|
+
if (m < 60) return `${m} min`;
|
|
618
|
+
const h = Math.round(m / 60);
|
|
619
|
+
if (h < 48) return `${h} h`;
|
|
620
|
+
return `${Math.round(h / 24)} days`;
|
|
621
|
+
}
|
|
622
|
+
function RadarBoard($$renderer, $$props) {
|
|
623
|
+
$$renderer.component(($$renderer2) => {
|
|
624
|
+
let { tasks, projects, now, connection = "open" } = $$props;
|
|
625
|
+
let seen = /* @__PURE__ */ new Map();
|
|
626
|
+
const entries = derived(() => seen = track(seen, tasks, Date.now()));
|
|
627
|
+
const r = derived(() => radar(tasks, now, entries()));
|
|
628
|
+
const projectName = (id) => projects.find((p) => p.id === id)?.name ?? id;
|
|
629
|
+
const shown = derived(() => {
|
|
630
|
+
return null;
|
|
631
|
+
});
|
|
632
|
+
const SHAPE = {
|
|
633
|
+
busy: "rounded-full bg-sea",
|
|
634
|
+
idle: "rounded-full border-2 border-sea bg-card",
|
|
635
|
+
you: "rounded-full bg-amber ring-[3px] ring-amber/35",
|
|
636
|
+
stuck: "rotate-45 rounded-[2px] bg-danger",
|
|
637
|
+
firstmate: "rounded-full border-2 border-brass bg-card",
|
|
638
|
+
landed: "rounded-full bg-success"
|
|
639
|
+
};
|
|
640
|
+
const LEGEND = ["busy", "idle", "you", "stuck", "firstmate", "landed"];
|
|
641
|
+
const TEXT = {
|
|
642
|
+
busy: "text-sea",
|
|
643
|
+
idle: "text-muted-foreground",
|
|
644
|
+
you: "text-warning",
|
|
645
|
+
stuck: "text-danger",
|
|
646
|
+
firstmate: "text-muted-foreground",
|
|
647
|
+
landed: "text-success"
|
|
648
|
+
};
|
|
649
|
+
const total = derived(() => r().lanes.reduce((n, l) => n + l.blips.length, 0));
|
|
650
|
+
const summary = derived(() => {
|
|
651
|
+
const c = r().counts;
|
|
652
|
+
const parts = [
|
|
653
|
+
c.busy && `${c.busy} busy`,
|
|
654
|
+
c.you && `${c.you} waiting on you`,
|
|
655
|
+
c.stuck && `${c.stuck} stuck`,
|
|
656
|
+
c.firstmate && `${c.firstmate} with Firstmate`,
|
|
657
|
+
c.landed && `${c.landed} landed in the last day`
|
|
658
|
+
].filter(Boolean);
|
|
659
|
+
return parts.length ? parts.join(", ") : "Nothing on the radar";
|
|
660
|
+
});
|
|
661
|
+
function dot($$renderer3, signal, size = "size-3.5") {
|
|
662
|
+
$$renderer3.push(`<span${attr_class(`relative inline-flex shrink-0 ${stringify(size)}`, "svelte-1qpvlew")} aria-hidden="true">`);
|
|
663
|
+
if (signal === "busy") {
|
|
664
|
+
$$renderer3.push(`<!--[0--><span class="radar-ping absolute inset-0 rounded-full bg-sea svelte-1qpvlew"></span>`);
|
|
665
|
+
} else {
|
|
666
|
+
$$renderer3.push("<!--[-1-->");
|
|
667
|
+
}
|
|
668
|
+
$$renderer3.push(`<!--]--> <span${attr_class(`relative block size-full ${stringify(SHAPE[signal])}`, "svelte-1qpvlew")}></span></span>`);
|
|
669
|
+
}
|
|
670
|
+
$$renderer2.push(`<div class="flex flex-wrap items-center justify-between gap-x-6 gap-y-2 svelte-1qpvlew"><p class="text-sm text-muted-foreground svelte-1qpvlew"><span class="text-foreground svelte-1qpvlew" aria-live="polite">${escape_html(summary())}.</span> `);
|
|
671
|
+
if (r().landedOlder) {
|
|
672
|
+
$$renderer2.push(`<!--[0-->${escape_html(r().landedOlder)} landed earlier ${escape_html(r().landedOlder === 1 ? "is" : "are")} off the radar.`);
|
|
673
|
+
} else {
|
|
674
|
+
$$renderer2.push("<!--[-1-->");
|
|
675
|
+
}
|
|
676
|
+
$$renderer2.push(`<!--]--></p> <p class="flex items-center gap-2 text-sm text-muted-foreground svelte-1qpvlew" aria-live="off"><span${attr_class(
|
|
677
|
+
`size-2 rounded-full ${connection === "open" ? "bg-success" : connection === "lost" ? "bg-danger" : "bg-warning"}`,
|
|
678
|
+
"svelte-1qpvlew"
|
|
679
|
+
)} aria-hidden="true"></span> ${escape_html(connection === "open" ? "Live" : connection === "lost" ? "Lost contact with Wheelhouse" : "Reconnecting…")}</p></div> <ul class="mt-4 flex flex-wrap gap-x-5 gap-y-2 text-sm text-muted-foreground svelte-1qpvlew" aria-label="Key"><!--[-->`);
|
|
680
|
+
const each_array = ensure_array_like(LEGEND);
|
|
681
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
682
|
+
let s = each_array[$$index];
|
|
683
|
+
$$renderer2.push(`<li class="flex items-center gap-2 svelte-1qpvlew">`);
|
|
684
|
+
dot($$renderer2, s, "size-3");
|
|
685
|
+
$$renderer2.push(`<!---->${escape_html(SIGNAL_LABEL[s])}</li>`);
|
|
686
|
+
}
|
|
687
|
+
$$renderer2.push(`<!--]--></ul> <div class="@container relative mt-5 svelte-1qpvlew"><ol class="grid overflow-hidden rounded-md border border-hair @4xl:grid-cols-5 svelte-1qpvlew"${attr("aria-label", `Fleet radar, ${stringify(total())} ${total() === 1 ? "task" : "tasks"}`)}><!--[-->`);
|
|
688
|
+
const each_array_1 = ensure_array_like(r().lanes);
|
|
689
|
+
for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
|
|
690
|
+
let lane = each_array_1[i];
|
|
691
|
+
$$renderer2.push(`<li class="radar-lane flex min-w-0 gap-3 border-t border-hair p-3 first:border-t-0 @4xl:flex-col @4xl:border-t-0 @4xl:border-l @4xl:first:border-l-0 svelte-1qpvlew"${attr("aria-label", `${stringify(lane.label)}, ${stringify(lane.blips.length)}`)}><div class="w-[8.5rem] shrink-0 @4xl:w-auto svelte-1qpvlew"><h3 class="radar-lane-label truncate svelte-1qpvlew"><span class="tabular text-brass svelte-1qpvlew" aria-hidden="true">${escape_html(i + 1)}</span> ${escape_html(lane.label)}</h3> <p class="mt-0.5 flex items-center gap-2 text-xs text-muted-foreground svelte-1qpvlew"><span class="tabular rounded-full bg-muted px-1.5 leading-5 font-medium text-foreground svelte-1qpvlew" aria-hidden="true">${escape_html(lane.blips.length)}</span> <span class="min-w-0 svelte-1qpvlew">${escape_html(lane.hint)}</span></p></div> <ul class="flex min-h-14 flex-1 flex-wrap content-start gap-x-1 gap-y-2 @4xl:min-h-[max(16rem,calc(100dvh-22rem))] svelte-1qpvlew"><!--[-->`);
|
|
692
|
+
const each_array_2 = ensure_array_like(lane.blips);
|
|
693
|
+
for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {
|
|
694
|
+
let b = each_array_2[$$index_1];
|
|
695
|
+
$$renderer2.push(`<li class="w-[6.25rem] svelte-1qpvlew"${attr_style(`opacity: ${stringify(b.opacity)}`)}><button type="button"${attr("data-blip", b.id)}${attr_class(`flex w-full flex-col items-center gap-1.5 rounded-md px-1 py-1.5 outline-none hover:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring ${shown()?.id === b.id ? "bg-muted" : ""}`, "svelte-1qpvlew")}${attr("aria-label", `${stringify(b.task.shortTitle)}: ${stringify(lane.label)}, ${stringify(SIGNAL_LABEL[b.signal].toLowerCase())}${b.since === null ? "" : `, ${stay(b.since, now)} in the lane`}`)}${attr("aria-expanded", shown()?.id === b.id)}>`);
|
|
696
|
+
dot($$renderer2, b.signal, "size-4");
|
|
697
|
+
$$renderer2.push(`<!----> <span class="line-clamp-2 w-full text-center text-xs leading-tight break-words svelte-1qpvlew">${escape_html(b.task.shortTitle)}</span></button></li>`);
|
|
698
|
+
}
|
|
699
|
+
$$renderer2.push(`<!--]--></ul></li>`);
|
|
700
|
+
}
|
|
701
|
+
$$renderer2.push(`<!--]--></ol> `);
|
|
702
|
+
if (shown()) {
|
|
703
|
+
$$renderer2.push("<!--[0-->");
|
|
704
|
+
const t = shown().task;
|
|
705
|
+
const step = t.passage.steps[t.passage.current];
|
|
706
|
+
$$renderer2.push(`<div data-radar-card="" role="region"${attr("aria-label", `${stringify(t.shortTitle)} details`)} class="z-10 mt-3 rounded-md border border-hair bg-popover p-4 text-popover-foreground shadow-lg @4xl:absolute @4xl:mt-0 @4xl:w-80 svelte-1qpvlew"${attr_style(void 0)}><p class="text-xs tracking-wide text-muted-foreground uppercase svelte-1qpvlew">${escape_html(projectName(t.projectId))}</p> <p class="mt-1 leading-snug font-medium svelte-1qpvlew">${escape_html(t.shortTitle)}</p> <dl class="mt-3 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-sm svelte-1qpvlew"><dt class="text-muted-foreground svelte-1qpvlew">Step</dt> <dd class="svelte-1qpvlew">${escape_html(step?.label ?? laneLabel(shown().lane))}${escape_html(step?.failed ? ", failed" : "")}</dd> <dt class="text-muted-foreground svelte-1qpvlew">In lane</dt> <dd class="tabular svelte-1qpvlew">${escape_html(stay(shown().since, now))}</dd> `);
|
|
707
|
+
if (shown().stepSince !== null && shown().stepSince !== shown().since) {
|
|
708
|
+
$$renderer2.push(`<!--[0--><dt class="text-muted-foreground svelte-1qpvlew">In step</dt> <dd class="tabular svelte-1qpvlew">${escape_html(stay(shown().stepSince, now))}</dd>`);
|
|
709
|
+
} else {
|
|
710
|
+
$$renderer2.push("<!--[-1-->");
|
|
711
|
+
}
|
|
712
|
+
$$renderer2.push(`<!--]--> <dt class="text-muted-foreground svelte-1qpvlew">State</dt> <dd${attr_class(`flex items-center gap-2 ${stringify(TEXT[shown().signal])}`, "svelte-1qpvlew")}>`);
|
|
713
|
+
dot($$renderer2, shown().signal, "size-2.5");
|
|
714
|
+
$$renderer2.push(`<!---->${escape_html(SIGNAL_LABEL[shown().signal])}</dd></dl> `);
|
|
715
|
+
if (t.attention?.owner === "captain" || t.activity || t.summary) {
|
|
716
|
+
$$renderer2.push(`<!--[0--><p class="mt-3 text-sm text-muted-foreground svelte-1qpvlew">${escape_html(t.attention?.owner === "captain" ? t.attention.text : t.activity?.text ?? t.summary)}</p>`);
|
|
717
|
+
} else {
|
|
718
|
+
$$renderer2.push("<!--[-1-->");
|
|
719
|
+
}
|
|
720
|
+
$$renderer2.push(`<!--]--> <a${attr("href", `/tasks/${stringify(encodeURIComponent(t.id))}`)} class="mt-3 inline-flex items-center gap-1.5 text-sm font-medium text-sea hover:underline svelte-1qpvlew">Open the task`);
|
|
721
|
+
Arrow_right($$renderer2, { class: "size-4", "aria-hidden": "true" });
|
|
722
|
+
$$renderer2.push(`<!----></a></div>`);
|
|
723
|
+
} else {
|
|
724
|
+
$$renderer2.push("<!--[-1-->");
|
|
725
|
+
}
|
|
726
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
function TaskCard($$renderer, $$props) {
|
|
730
|
+
$$renderer.component(($$renderer2) => {
|
|
731
|
+
let { task, projectName = null } = $$props;
|
|
732
|
+
const t = derived(() => tone(task));
|
|
733
|
+
const hint = derived(() => hintLine(task.build));
|
|
734
|
+
const files = derived(() => task.filesChanged ? `${task.filesChanged} ${plural(task.filesChanged, "file", "files")} changed` : null);
|
|
735
|
+
const round = derived(() => task.build?.rounds[0] ?? null);
|
|
736
|
+
let showQuestions = false;
|
|
737
|
+
const panelId = derived(() => `questions-${task.id}`);
|
|
738
|
+
const questions = derived(() => round() ? {
|
|
739
|
+
expanded: showQuestions,
|
|
740
|
+
controls: panelId(),
|
|
741
|
+
toggle: () => showQuestions = !showQuestions
|
|
742
|
+
} : null);
|
|
743
|
+
const lineAsks = derived(() => !!round() && (round().status === "waiting" || !!task.pipeline?.answered || !!task.pipeline?.gate));
|
|
744
|
+
let sample = null;
|
|
745
|
+
const showConsole = derived(() => consoleInImage(task));
|
|
746
|
+
const now = derived(() => nowLine(task, showConsole() ? sample : null, live.now));
|
|
747
|
+
const who = derived(() => agentLine(task.worker) ?? (task.status === "queued" ? "Not started" : "Crew unknown"));
|
|
748
|
+
const lead = derived(() => t() === "trouble" || t() === "firstmate" ? task.statusLabel : null);
|
|
749
|
+
const age = derived(() => !now()?.at ? null : now().source === "console" ? "live" : now().source === "pipeline" ? `started ${ago(now().at, live.now)}` : ago(now().at, live.now));
|
|
750
|
+
$$renderer2.push(`<article class="group relative min-w-0 rounded-lg border bg-card p-3 transition-colors duration-200 hover:border-input hover:shadow-[0_1px_0_var(--hair)] has-[a[data-card-link]:focus-visible]:ring-3 has-[a[data-card-link]:focus-visible]:ring-ring/50">`);
|
|
751
|
+
if (showConsole()) {
|
|
752
|
+
$$renderer2.push("<!--[0-->");
|
|
753
|
+
ConsoleWindow($$renderer2, { task, onsample: (s) => sample = s, class: "rounded-sm" });
|
|
754
|
+
} else {
|
|
755
|
+
$$renderer2.push("<!--[-1-->");
|
|
756
|
+
Thumb($$renderer2, { task, class: "rounded-sm" });
|
|
757
|
+
}
|
|
758
|
+
$$renderer2.push(`<!--]--> `);
|
|
759
|
+
ShotStrip($$renderer2, {
|
|
760
|
+
shots: task.shots,
|
|
761
|
+
total: task.screenshots,
|
|
762
|
+
skip: !showConsole() && task.thumb.kind === "screenshot" ? 1 : 0
|
|
763
|
+
});
|
|
764
|
+
$$renderer2.push(`<!----> <div class="px-1 pt-4 pb-1"><p class="truncate text-xs text-muted-foreground"${attr("title", who())}>`);
|
|
765
|
+
if (projectName) {
|
|
766
|
+
$$renderer2.push(`<!--[0--><span class="text-sea">${escape_html(projectName)}</span> ·`);
|
|
767
|
+
} else {
|
|
768
|
+
$$renderer2.push("<!--[-1-->");
|
|
769
|
+
}
|
|
770
|
+
$$renderer2.push(`<!--]-->${escape_html(who())}</p> <a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}`)} data-card-link="" class="mt-0.5 line-clamp-2 leading-snug font-medium group-hover:underline after:absolute after:inset-0 after:rounded-lg after:content-[''] focus-visible:outline-none"${attr("title", task.title)}>${escape_html(task.shortTitle)}</a> `);
|
|
771
|
+
if (showsChecks(task)) {
|
|
772
|
+
$$renderer2.push(`<!--[0--><div class="mt-2">`);
|
|
773
|
+
ChecksStrip($$renderer2, {
|
|
774
|
+
pipeline: task.pipeline,
|
|
775
|
+
busy: task.busy,
|
|
776
|
+
lead: lead(),
|
|
777
|
+
leadClass: textClass[t()],
|
|
778
|
+
questions: lineAsks() ? questions() : null
|
|
779
|
+
});
|
|
780
|
+
$$renderer2.push(`<!----></div>`);
|
|
781
|
+
} else if (now()) {
|
|
782
|
+
$$renderer2.push(`<!--[1--><p${attr_class(`mt-1 line-clamp-2 text-sm ${stringify(lead() ? textClass[t()] : "text-muted-foreground")}`)}${attr("data-now", now().source)}>`);
|
|
783
|
+
if (lead()) {
|
|
784
|
+
$$renderer2.push(`<!--[0--><span class="font-medium">${escape_html(lead())}.</span>`);
|
|
785
|
+
} else {
|
|
786
|
+
$$renderer2.push("<!--[-1-->");
|
|
787
|
+
}
|
|
788
|
+
$$renderer2.push(`<!--]--> <span${attr_class(`font-medium ${lead() ? "" : "text-foreground/80"}`)}>Now:</span> ${escape_html(now().text)}`);
|
|
789
|
+
if (age()) {
|
|
790
|
+
$$renderer2.push(`<!--[0--><span class="text-muted-foreground">${escape_html(` · ${age()}`)}</span>`);
|
|
791
|
+
} else {
|
|
792
|
+
$$renderer2.push("<!--[-1-->");
|
|
793
|
+
}
|
|
794
|
+
$$renderer2.push(`<!--]--></p>`);
|
|
795
|
+
} else {
|
|
796
|
+
$$renderer2.push(`<!--[-1--><p${attr_class(`mt-1 line-clamp-1 text-sm ${stringify(lead() ? textClass[t()] : "text-muted-foreground")}`)}${attr("title", task.summary ?? void 0)}>${escape_html(lead() ?? task.summary ?? task.statusLabel)}</p>`);
|
|
797
|
+
}
|
|
798
|
+
$$renderer2.push(`<!--]--> <div class="mt-4">`);
|
|
799
|
+
StageTrack($$renderer2, { task });
|
|
800
|
+
$$renderer2.push(`<!----></div> `);
|
|
801
|
+
if (task.eta) {
|
|
802
|
+
$$renderer2.push(`<!--[0--><div class="mt-3">`);
|
|
803
|
+
EtaLine($$renderer2, { eta: task.eta });
|
|
804
|
+
$$renderer2.push(`<!----></div>`);
|
|
805
|
+
} else {
|
|
806
|
+
$$renderer2.push("<!--[-1-->");
|
|
807
|
+
}
|
|
808
|
+
$$renderer2.push(`<!--]--> `);
|
|
809
|
+
if (files() || hint()) {
|
|
810
|
+
$$renderer2.push(`<!--[0--><p class="tabular mt-3 text-xs text-muted-foreground"${attr("data-build-hint", hint() ? "" : void 0)}>`);
|
|
811
|
+
if (files()) {
|
|
812
|
+
$$renderer2.push(`<!--[0-->${escape_html(files())}`);
|
|
813
|
+
} else {
|
|
814
|
+
$$renderer2.push("<!--[-1-->");
|
|
815
|
+
}
|
|
816
|
+
$$renderer2.push(`<!--]-->`);
|
|
817
|
+
if (files() && hint()?.questions) {
|
|
818
|
+
$$renderer2.push(`<!--[0--> · `);
|
|
819
|
+
} else {
|
|
820
|
+
$$renderer2.push("<!--[-1-->");
|
|
821
|
+
}
|
|
822
|
+
$$renderer2.push(`<!--]-->`);
|
|
823
|
+
if (hint()?.questions) {
|
|
824
|
+
$$renderer2.push("<!--[0-->");
|
|
825
|
+
if (questions()) {
|
|
826
|
+
$$renderer2.push(`<!--[0--><button type="button" class="relative z-10 cursor-pointer underline decoration-muted-foreground/40 underline-offset-2 hover:text-foreground hover:decoration-foreground"${attr("aria-expanded", questions().expanded)}${attr("aria-controls", panelId())} data-build-questions="">${escape_html(hint().questions)}</button>`);
|
|
827
|
+
} else {
|
|
828
|
+
$$renderer2.push(`<!--[-1--><a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}?tab=talk`)} class="relative z-10 hover:text-foreground hover:underline" data-build-questions="">${escape_html(hint().questions)}</a>`);
|
|
829
|
+
}
|
|
830
|
+
$$renderer2.push(`<!--]-->`);
|
|
831
|
+
} else {
|
|
832
|
+
$$renderer2.push("<!--[-1-->");
|
|
833
|
+
}
|
|
834
|
+
$$renderer2.push(`<!--]-->`);
|
|
835
|
+
if ((files() || hint()?.questions) && hint()?.docs) {
|
|
836
|
+
$$renderer2.push(`<!--[0--> · `);
|
|
837
|
+
} else {
|
|
838
|
+
$$renderer2.push("<!--[-1-->");
|
|
839
|
+
}
|
|
840
|
+
$$renderer2.push(`<!--]-->`);
|
|
841
|
+
if (hint()?.docs) {
|
|
842
|
+
$$renderer2.push(`<!--[0--><a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}?tab=docs`)} class="relative z-10 hover:text-foreground hover:underline" data-build-docs="">${escape_html(hint().docs)}</a>`);
|
|
843
|
+
} else {
|
|
844
|
+
$$renderer2.push("<!--[-1-->");
|
|
845
|
+
}
|
|
846
|
+
$$renderer2.push(`<!--]--></p>`);
|
|
847
|
+
} else {
|
|
848
|
+
$$renderer2.push("<!--[-1-->");
|
|
849
|
+
}
|
|
850
|
+
$$renderer2.push(`<!--]--> `);
|
|
851
|
+
if (round() && showQuestions) {
|
|
852
|
+
$$renderer2.push(`<!--[0--><section${attr("id", panelId())} class="relative z-10 mt-3 rounded-md border border-hair bg-panel p-2.5" aria-label="Questions for Firstmate" data-card-questions=""><p class="text-xs font-medium">Questions for Firstmate</p> <p class="mt-0.5 mb-2 text-xs text-muted-foreground">${escape_html(roundLine(round(), live.now))}</p> `);
|
|
853
|
+
QuestionList($$renderer2, { questions: round().questions, size: "card" });
|
|
854
|
+
$$renderer2.push(`<!----> <a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}?tab=talk`)} class="mt-2 inline-block text-xs text-muted-foreground hover:text-foreground hover:underline">${escape_html(task.build && task.build.rounds.length > 1 ? `Earlier questions are in the conversation` : "Open the conversation")}</a></section>`);
|
|
855
|
+
} else {
|
|
856
|
+
$$renderer2.push("<!--[-1-->");
|
|
857
|
+
}
|
|
858
|
+
$$renderer2.push(`<!--]--> `);
|
|
859
|
+
if (task.pr) {
|
|
860
|
+
$$renderer2.push(`<!--[0--><a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}/review`)} class="relative z-10 mt-3 inline-flex items-center gap-1.5 text-xs text-sea hover:underline" data-review-pr="">`);
|
|
861
|
+
Compass($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
862
|
+
$$renderer2.push(`<!---->Review PR${escape_html(task.pr.number ? ` #${task.pr.number}` : "")}</a>`);
|
|
863
|
+
} else {
|
|
864
|
+
$$renderer2.push("<!--[-1-->");
|
|
865
|
+
}
|
|
866
|
+
$$renderer2.push(`<!--]--> `);
|
|
867
|
+
if (task.preview) {
|
|
868
|
+
$$renderer2.push("<!--[0-->");
|
|
869
|
+
CardPreview($$renderer2, { task });
|
|
870
|
+
} else {
|
|
871
|
+
$$renderer2.push("<!--[-1-->");
|
|
872
|
+
}
|
|
873
|
+
$$renderer2.push(`<!--]--></div></article>`);
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
function CompactCard($$renderer, $$props) {
|
|
877
|
+
$$renderer.component(($$renderer2) => {
|
|
878
|
+
let { task, projectName } = $$props;
|
|
879
|
+
const t = derived(() => tone(task));
|
|
880
|
+
const asked = derived(() => task.build?.questions ?? 0);
|
|
881
|
+
const open = derived(() => task.build?.open ?? 0);
|
|
882
|
+
$$renderer2.push(`<article${attr_class(`group relative flex min-w-0 flex-col rounded-lg border bg-card px-3.5 pt-3 pb-3.5 transition-colors duration-200 hover:border-input hover:shadow-[0_1px_0_var(--hair)] has-[a[data-card-link]:focus-visible]:ring-3 has-[a[data-card-link]:focus-visible]:ring-ring/50 ${t() === "you" ? "border-t-2 border-t-sea" : ""}`)} data-compact-card=""><div class="flex min-w-0 items-center justify-between gap-2 text-xs"><span class="min-w-0 truncate rounded-sm border border-hair bg-panel px-1.5 py-0.5 text-sea"${attr("title", projectName)}>${escape_html(projectName)}</span> <span${attr_class(`flex shrink-0 items-center gap-1.5 ${stringify(textClass[t()])}`)}><span${attr_class(`size-1.5 rounded-full ${stringify(dotClass[t()])}`)} aria-hidden="true"></span>${escape_html(task.statusLabel)}</span></div> <a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}`)} data-card-link="" class="mt-2 line-clamp-2 leading-snug font-medium group-hover:underline after:absolute after:inset-0 after:rounded-lg after:content-[''] focus-visible:outline-none"${attr("title", task.title)}>${escape_html(task.shortTitle)}</a> <div class="mt-auto pt-3.5">`);
|
|
883
|
+
StageTrack($$renderer2, { task });
|
|
884
|
+
$$renderer2.push(`<!----></div> `);
|
|
885
|
+
if (asked()) {
|
|
886
|
+
$$renderer2.push(`<!--[0--><p class="tabular mt-3 flex items-center gap-1.5 text-xs text-muted-foreground">`);
|
|
887
|
+
Message_circle_question_mark($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
888
|
+
$$renderer2.push(`<!----> ${escape_html(asked())}
|
|
889
|
+
${escape_html(plural(asked(), "question", "questions"))}`);
|
|
890
|
+
if (open()) {
|
|
891
|
+
$$renderer2.push(`<!--[0--><span class="text-warning">${escape_html(` · ${open()} open`)}</span>`);
|
|
892
|
+
} else {
|
|
893
|
+
$$renderer2.push("<!--[-1-->");
|
|
894
|
+
}
|
|
895
|
+
$$renderer2.push(`<!--]--></p>`);
|
|
896
|
+
} else {
|
|
897
|
+
$$renderer2.push("<!--[-1-->");
|
|
898
|
+
}
|
|
899
|
+
$$renderer2.push(`<!--]--> `);
|
|
900
|
+
if (task.pr) {
|
|
901
|
+
$$renderer2.push(`<!--[0--><a${attr("href", `/tasks/${stringify(encodeURIComponent(task.id))}/review`)} class="relative z-10 mt-2 inline-flex items-center gap-1.5 self-start text-xs text-sea hover:underline" data-review-pr="">`);
|
|
902
|
+
Compass($$renderer2, { class: "size-3.5", "aria-hidden": "true" });
|
|
903
|
+
$$renderer2.push(`<!---->Review PR${escape_html(task.pr.number ? ` #${task.pr.number}` : "")}</a>`);
|
|
904
|
+
} else {
|
|
905
|
+
$$renderer2.push("<!--[-1-->");
|
|
906
|
+
}
|
|
907
|
+
$$renderer2.push(`<!--]--></article>`);
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
function TaskTable($$renderer, $$props) {
|
|
911
|
+
$$renderer.component(($$renderer2) => {
|
|
912
|
+
let { tasks, projectName, sort, onsort, now, label } = $$props;
|
|
913
|
+
const rows = derived(() => sortTasks(tasks, sort, projectName));
|
|
914
|
+
const when = (t) => isCompleted(t) ? completedAt(t) : updatedAt(t);
|
|
915
|
+
const iso = (ms2) => ms2 === null ? null : new Date(ms2).toISOString();
|
|
916
|
+
const COLUMNS = [
|
|
917
|
+
{ key: "task", label: "Task" },
|
|
918
|
+
{
|
|
919
|
+
key: "project",
|
|
920
|
+
label: "Project",
|
|
921
|
+
class: "hidden w-[10%] md:table-cell"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
key: "stage",
|
|
925
|
+
label: "Stage",
|
|
926
|
+
class: "hidden w-[16%] sm:table-cell"
|
|
927
|
+
},
|
|
928
|
+
{ key: "status", label: "Status", class: "w-[45%] sm:w-[19%]" },
|
|
929
|
+
{
|
|
930
|
+
key: "waiting",
|
|
931
|
+
label: "Waiting on",
|
|
932
|
+
class: "hidden w-[11%] lg:table-cell"
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
key: "updated",
|
|
936
|
+
label: "Updated",
|
|
937
|
+
class: "hidden w-[12%] md:table-cell"
|
|
938
|
+
}
|
|
939
|
+
];
|
|
940
|
+
$$renderer2.push(`<div class="overflow-hidden rounded-lg border bg-card"><table class="w-full table-fixed text-sm"${attr("aria-label", label)} data-task-table=""><thead class="border-b border-hair bg-panel text-xs text-muted-foreground"><tr><!--[-->`);
|
|
941
|
+
const each_array = ensure_array_like(COLUMNS);
|
|
942
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
943
|
+
let c = each_array[$$index];
|
|
944
|
+
SortHeader($$renderer2, {
|
|
945
|
+
label: c.label,
|
|
946
|
+
column: c.key,
|
|
947
|
+
sort,
|
|
948
|
+
firstDir: TASK_FIRST_DIR[c.key],
|
|
949
|
+
onsort,
|
|
950
|
+
class: c.class
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
$$renderer2.push(`<!--]--></tr></thead><tbody><!--[-->`);
|
|
954
|
+
const each_array_1 = ensure_array_like(rows());
|
|
955
|
+
for (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {
|
|
956
|
+
let t = each_array_1[$$index_2];
|
|
957
|
+
const tn = tone(t);
|
|
958
|
+
const step = t.passage.steps[t.passage.current];
|
|
959
|
+
const w = waitingOn(t);
|
|
960
|
+
const at = iso(when(t));
|
|
961
|
+
$$renderer2.push(`<tr class="border-b border-hair last:border-0 hover:bg-accent/40"><td class="py-2.5 pr-3 pl-4"><a${attr("href", `/tasks/${stringify(encodeURIComponent(t.id))}`)} class="block truncate font-medium hover:underline focus-visible:underline focus-visible:outline-none"${attr("title", t.title)}>${escape_html(t.shortTitle)}</a></td><td class="hidden px-3 py-2.5 md:table-cell"><span class="block truncate text-sea">${escape_html(projectName(t))}</span></td><td class="hidden px-3 py-2.5 sm:table-cell"><span class="flex min-w-0 items-center gap-2"${attr("title", `Step ${stringify(t.passage.current + 1)} of ${stringify(t.passage.steps.length)}`)}><span class="flex shrink-0 items-center gap-0.5" aria-hidden="true"><!--[-->`);
|
|
962
|
+
const each_array_2 = ensure_array_like(t.passage.steps);
|
|
963
|
+
for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {
|
|
964
|
+
let s = each_array_2[$$index_1];
|
|
965
|
+
$$renderer2.push(`<span${attr_class(`size-1.5 rounded-full ${stringify(s.state === "current" ? s.failed ? "bg-danger" : dotClass[tn] : s.state === "done" ? "bg-foreground/45" : "border border-border")}`)}></span>`);
|
|
966
|
+
}
|
|
967
|
+
$$renderer2.push(`<!--]--></span> <span${attr_class(`truncate ${step?.failed ? "text-danger" : ""}`)}>${escape_html(step?.label ?? "")}${escape_html(step?.failed ? " failed" : "")}</span></span></td><td class="px-3 py-2.5"><span${attr_class(`flex min-w-0 items-center gap-1.5 ${stringify(textClass[tn])}`)}><span${attr_class(`size-1.5 shrink-0 rounded-full ${stringify(dotClass[tn])}`)} aria-hidden="true"></span><span class="truncate">${escape_html(t.statusLabel)}</span></span></td><td${attr_class(`hidden truncate px-3 py-2.5 lg:table-cell ${w.who === "you" ? "font-medium text-sea" : "text-muted-foreground"}`)}>${escape_html(w.label)}</td><td class="tabular hidden truncate py-2.5 pr-4 pl-3 text-muted-foreground md:table-cell"${attr("title", at ? new Date(at).toLocaleString() : void 0)}>${escape_html(at ? ago(at, now) : "—")}</td></tr>`);
|
|
968
|
+
}
|
|
969
|
+
$$renderer2.push(`<!--]--></tbody></table></div>`);
|
|
970
|
+
});
|
|
971
|
+
}
|
|
972
|
+
function projectName_($$renderer, p) {
|
|
973
|
+
$$renderer.push(`<a${attr("href", `/?project=${stringify(encodeURIComponent(p.id))}`)} class="hover:underline"><h2${attr("id", `proj-${stringify(p.id)}`)} class="font-display text-[1.45rem] font-medium">${escape_html(p.name)}</h2></a>`);
|
|
974
|
+
}
|
|
975
|
+
function projectDescription($$renderer, p) {
|
|
976
|
+
$$renderer.push(`<span class="text-sm text-muted-foreground">${escape_html(p.description)}</span>`);
|
|
977
|
+
}
|
|
978
|
+
function projectPassage($$renderer, p) {
|
|
979
|
+
$$renderer.push(`<a${attr("href", `/projects/${stringify(encodeURIComponent(p.id))}/passage`)}${attr_class(`text-sm hover:underline ${p.passage?.problems ? "text-danger" : p.passage?.needsConsent ? "text-sea" : "text-muted-foreground"}`)}>${escape_html(p.passage?.problems ? "Passage file has problems" : p.passage?.needsConsent ? "Passage checks need enabling" : p.passage?.custom ? "Custom passage" : "Passage")}</a>`);
|
|
980
|
+
}
|
|
981
|
+
function projectPath($$renderer, p) {
|
|
982
|
+
$$renderer.push(`<span class="ml-auto truncate font-mono text-xs text-muted-foreground">${escape_html(p.path)}</span>`);
|
|
983
|
+
}
|
|
984
|
+
function _page($$renderer, $$props) {
|
|
985
|
+
$$renderer.component(($$renderer2) => {
|
|
986
|
+
let { data } = $$props;
|
|
987
|
+
const fleet = derived(currentFleet);
|
|
988
|
+
const view = derived(() => {
|
|
989
|
+
const v = page.url.searchParams.get("view");
|
|
990
|
+
return v === "passage" || v === "radar" ? v : "cards";
|
|
991
|
+
});
|
|
992
|
+
const showing = derived(() => shelfOf(page.url.searchParams.get("view")));
|
|
993
|
+
const scope = derived(() => page.url.searchParams.get("project"));
|
|
994
|
+
const projects = derived(() => fleet()?.projects ?? []);
|
|
995
|
+
const scoped = derived(() => scope() ? projects().find((p) => p.id === scope()) ?? null : null);
|
|
996
|
+
const tasks = derived(() => (fleet()?.tasks ?? []).filter((t) => !scope() || t.projectId === scope()));
|
|
997
|
+
const report = derived(() => harbour(tasks(), live.now));
|
|
998
|
+
const open = derived(() => shelf(tasks(), "under-way"));
|
|
999
|
+
const h = derived(() => harbour(open(), live.now));
|
|
1000
|
+
const completed = derived(() => shelf(tasks(), "completed"));
|
|
1001
|
+
const projectName = (t) => scope() ? null : projects().find((p) => p.id === t.projectId)?.name ?? t.projectId;
|
|
1002
|
+
const nameOf = (t) => projects().find((p) => p.id === t.projectId)?.name ?? t.projectId;
|
|
1003
|
+
let picked = null;
|
|
1004
|
+
const layout = derived(() => picked ?? data.layout);
|
|
1005
|
+
const LAYOUTS = [
|
|
1006
|
+
{ value: "large", label: "Large", icon: Rectangle_horizontal },
|
|
1007
|
+
{ value: "compact", label: "Compact", icon: Grid_3x3 },
|
|
1008
|
+
{ value: "list", label: "List", icon: List }
|
|
1009
|
+
];
|
|
1010
|
+
function pickLayout(v) {
|
|
1011
|
+
picked = v;
|
|
1012
|
+
rememberView(VIEW_COOKIE.harbour, v);
|
|
1013
|
+
}
|
|
1014
|
+
let sort = { key: "status", dir: "asc" };
|
|
1015
|
+
const entries = (p) => slots.entries(slotKey.project(p.id), data.slots, data.slotsAt);
|
|
1016
|
+
const tabs = (p) => entries(p).filter((e) => e.slot === "project.tab");
|
|
1017
|
+
const cards = (p) => entries(p).filter((e) => e.slot === "harbour.card");
|
|
1018
|
+
const tabHref = (p, e) => projectTabHref(p.id, e);
|
|
1019
|
+
const headerParts = (p) => [
|
|
1020
|
+
{ id: "name", render: projectName_, show: true },
|
|
1021
|
+
{
|
|
1022
|
+
id: "description",
|
|
1023
|
+
render: projectDescription,
|
|
1024
|
+
show: !!p.description
|
|
1025
|
+
},
|
|
1026
|
+
{ id: "tabs", render: projectTabs, show: tabs(p).length > 0 },
|
|
1027
|
+
{
|
|
1028
|
+
id: "passage",
|
|
1029
|
+
render: projectPassage,
|
|
1030
|
+
show: p.id !== "unassigned"
|
|
1031
|
+
},
|
|
1032
|
+
{ id: "path", render: projectPath, show: !!p.path }
|
|
1033
|
+
].filter((x) => x.show);
|
|
1034
|
+
let showOlder = false;
|
|
1035
|
+
const href = (v) => {
|
|
1036
|
+
const q = [
|
|
1037
|
+
scope() ? `project=${encodeURIComponent(scope())}` : null,
|
|
1038
|
+
v ? `view=${encodeURIComponent(v)}` : null
|
|
1039
|
+
].filter(Boolean);
|
|
1040
|
+
return q.length ? `/harbour?${q.join("&")}` : "/harbour";
|
|
1041
|
+
};
|
|
1042
|
+
function board($$renderer3, list, label, kind = "task") {
|
|
1043
|
+
if (layout() === "list") {
|
|
1044
|
+
$$renderer3.push("<!--[0-->");
|
|
1045
|
+
TaskTable($$renderer3, {
|
|
1046
|
+
tasks: list,
|
|
1047
|
+
projectName: nameOf,
|
|
1048
|
+
sort,
|
|
1049
|
+
onsort: (s) => sort = s,
|
|
1050
|
+
now: live.now,
|
|
1051
|
+
label
|
|
1052
|
+
});
|
|
1053
|
+
} else if (layout() === "compact") {
|
|
1054
|
+
$$renderer3.push(`<!--[1--><div class="grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5"><!--[-->`);
|
|
1055
|
+
const each_array = ensure_array_like(list);
|
|
1056
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
1057
|
+
let t = each_array[$$index];
|
|
1058
|
+
CompactCard($$renderer3, { task: t, projectName: nameOf(t) });
|
|
1059
|
+
}
|
|
1060
|
+
$$renderer3.push(`<!--]--></div>`);
|
|
1061
|
+
} else if (kind === "move") {
|
|
1062
|
+
$$renderer3.push(`<!--[2--><div class="grid gap-5 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4"><!--[-->`);
|
|
1063
|
+
const each_array_1 = ensure_array_like(list);
|
|
1064
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
1065
|
+
let t = each_array_1[$$index_1];
|
|
1066
|
+
MoveCard($$renderer3, { task: t, projectName: projectName(t) });
|
|
1067
|
+
}
|
|
1068
|
+
$$renderer3.push(`<!--]--></div>`);
|
|
1069
|
+
} else {
|
|
1070
|
+
$$renderer3.push(`<!--[-1--><div class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4"><!--[-->`);
|
|
1071
|
+
const each_array_2 = ensure_array_like(list);
|
|
1072
|
+
for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
|
|
1073
|
+
let t = each_array_2[$$index_2];
|
|
1074
|
+
TaskCard($$renderer3, {
|
|
1075
|
+
task: t,
|
|
1076
|
+
projectName: kind === "named" ? projectName(t) : null
|
|
1077
|
+
});
|
|
1078
|
+
}
|
|
1079
|
+
$$renderer3.push(`<!--]--></div>`);
|
|
1080
|
+
}
|
|
1081
|
+
$$renderer3.push(`<!--]-->`);
|
|
1082
|
+
}
|
|
1083
|
+
function work($$renderer3, list) {
|
|
1084
|
+
const under = h().underWay.filter((t) => list.includes(t));
|
|
1085
|
+
const queued = h().queued.filter((t) => list.includes(t));
|
|
1086
|
+
const landed = h().landedRecent.filter((t) => list.includes(t));
|
|
1087
|
+
const older = h().landedOlder.filter((t) => list.includes(t));
|
|
1088
|
+
if (under.length) {
|
|
1089
|
+
$$renderer3.push(`<!--[0--><h3 class="section-label mb-3">Under way <span class="tabular">${escape_html(under.length)}</span></h3> `);
|
|
1090
|
+
board($$renderer3, under, "Under way");
|
|
1091
|
+
$$renderer3.push(`<!---->`);
|
|
1092
|
+
} else {
|
|
1093
|
+
$$renderer3.push("<!--[-1-->");
|
|
1094
|
+
}
|
|
1095
|
+
$$renderer3.push(`<!--]--> `);
|
|
1096
|
+
if (queued.length) {
|
|
1097
|
+
$$renderer3.push(`<!--[0--><p class="mt-4 text-sm text-muted-foreground">Queued next: <!--[-->`);
|
|
1098
|
+
const each_array_3 = ensure_array_like(queued);
|
|
1099
|
+
for (let i = 0, $$length = each_array_3.length; i < $$length; i++) {
|
|
1100
|
+
let t = each_array_3[i];
|
|
1101
|
+
$$renderer3.push(`<a class="hover:text-foreground hover:underline"${attr("href", `/tasks/${stringify(encodeURIComponent(t.id))}`)}>${escape_html(t.shortTitle)}</a>${escape_html(i < queued.length - 1 ? ", " : ".")}`);
|
|
1102
|
+
}
|
|
1103
|
+
$$renderer3.push(`<!--]--></p>`);
|
|
1104
|
+
} else {
|
|
1105
|
+
$$renderer3.push("<!--[-1-->");
|
|
1106
|
+
}
|
|
1107
|
+
$$renderer3.push(`<!--]--> `);
|
|
1108
|
+
if (landed.length || showOlder) {
|
|
1109
|
+
$$renderer3.push(`<!--[0--><h3 class="section-label mt-8 mb-3">Landed <span class="tabular">${escape_html(landed.length + 0)}</span></h3> `);
|
|
1110
|
+
board($$renderer3, landed, "Landed");
|
|
1111
|
+
$$renderer3.push(`<!---->`);
|
|
1112
|
+
} else {
|
|
1113
|
+
$$renderer3.push("<!--[-1-->");
|
|
1114
|
+
}
|
|
1115
|
+
$$renderer3.push(`<!--]--> `);
|
|
1116
|
+
if (older.length && !showOlder) {
|
|
1117
|
+
$$renderer3.push(`<!--[0--><button class="mt-4 text-sm text-muted-foreground hover:text-foreground hover:underline">Show ${escape_html(older.length)} older landed ${escape_html(older.length === 1 ? "task" : "tasks")}</button>`);
|
|
1118
|
+
} else {
|
|
1119
|
+
$$renderer3.push("<!--[-1-->");
|
|
1120
|
+
}
|
|
1121
|
+
$$renderer3.push(`<!--]--> `);
|
|
1122
|
+
if (!under.length && !queued.length && !landed.length && !older.length) {
|
|
1123
|
+
$$renderer3.push(`<!--[0--><p class="text-sm text-muted-foreground">Nothing else in harbour right now.</p>`);
|
|
1124
|
+
} else {
|
|
1125
|
+
$$renderer3.push("<!--[-1-->");
|
|
1126
|
+
}
|
|
1127
|
+
$$renderer3.push(`<!--]-->`);
|
|
1128
|
+
}
|
|
1129
|
+
function done($$renderer3, list) {
|
|
1130
|
+
board($$renderer3, list, "Completed");
|
|
1131
|
+
}
|
|
1132
|
+
function projectTabs($$renderer3, p) {
|
|
1133
|
+
$$renderer3.push(`<span class="flex flex-wrap gap-1.5" data-slot="project.tab"><!--[-->`);
|
|
1134
|
+
const each_array_4 = ensure_array_like(tabs(p));
|
|
1135
|
+
for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {
|
|
1136
|
+
let e = each_array_4[$$index_4];
|
|
1137
|
+
$$renderer3.push(`<a${attr("href", tabHref(p, e))} class="rounded-md border px-2 py-0.5 text-xs text-muted-foreground hover:bg-accent hover:text-foreground">${escape_html(e.title)}</a>`);
|
|
1138
|
+
}
|
|
1139
|
+
$$renderer3.push(`<!--]--></span>`);
|
|
1140
|
+
}
|
|
1141
|
+
function harbourCards($$renderer3, p) {
|
|
1142
|
+
const list = cards(p);
|
|
1143
|
+
if (list.length) {
|
|
1144
|
+
$$renderer3.push(`<!--[0--><div class="mb-8 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4"><!--[-->`);
|
|
1145
|
+
const each_array_5 = ensure_array_like(list);
|
|
1146
|
+
for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
|
|
1147
|
+
let e = each_array_5[$$index_5];
|
|
1148
|
+
$$renderer3.push(`<div class="min-w-0 rounded-xl border bg-card px-4 py-3" data-slot="harbour.card"><p class="mb-2 text-xs font-medium text-muted-foreground">${escape_html(e.title)}</p> `);
|
|
1149
|
+
SlotContent($$renderer3, { entry: e, now: live.now });
|
|
1150
|
+
$$renderer3.push(`<!----></div>`);
|
|
1151
|
+
}
|
|
1152
|
+
$$renderer3.push(`<!--]--></div>`);
|
|
1153
|
+
} else {
|
|
1154
|
+
$$renderer3.push("<!--[-1-->");
|
|
1155
|
+
}
|
|
1156
|
+
$$renderer3.push(`<!--]-->`);
|
|
1157
|
+
}
|
|
1158
|
+
function scopedTabs($$renderer3, p) {
|
|
1159
|
+
const list = tabs(p);
|
|
1160
|
+
if (list.length) {
|
|
1161
|
+
$$renderer3.push(`<!--[0--><nav class="mt-8 flex gap-1 border-b text-sm"${attr("aria-label", `${stringify(p.name)} views`)}><a${attr("href", href(null))} aria-current="page" class="-mb-px border-b-2 border-foreground px-3 py-2 font-medium">Work</a> <!--[-->`);
|
|
1162
|
+
const each_array_6 = ensure_array_like(list);
|
|
1163
|
+
for (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {
|
|
1164
|
+
let e = each_array_6[$$index_6];
|
|
1165
|
+
$$renderer3.push(`<a${attr("href", tabHref(p, e))} class="-mb-px border-b-2 border-transparent px-3 py-2 text-muted-foreground hover:text-foreground">${escape_html(e.title)}</a>`);
|
|
1166
|
+
}
|
|
1167
|
+
$$renderer3.push(`<!--]--></nav>`);
|
|
1168
|
+
} else {
|
|
1169
|
+
$$renderer3.push("<!--[-1-->");
|
|
1170
|
+
}
|
|
1171
|
+
$$renderer3.push(`<!--]-->`);
|
|
1172
|
+
}
|
|
1173
|
+
function section($$renderer3, p, list) {
|
|
1174
|
+
$$renderer3.push(`<section class="surface mt-6 p-5 sm:p-6"${attr("aria-labelledby", `proj-${stringify(p.id)}`)}><div class="mb-6 flex flex-wrap items-baseline gap-x-3 gap-y-1"><!--[-->`);
|
|
1175
|
+
const each_array_7 = ensure_array_like(headerParts(p));
|
|
1176
|
+
for (let $$index_7 = 0, $$length = each_array_7.length; $$index_7 < $$length; $$index_7++) {
|
|
1177
|
+
let part = each_array_7[$$index_7];
|
|
1178
|
+
part.render($$renderer3, p);
|
|
1179
|
+
$$renderer3.push(`<!---->`);
|
|
1180
|
+
}
|
|
1181
|
+
$$renderer3.push(`<!--]--></div> `);
|
|
1182
|
+
harbourCards($$renderer3, p);
|
|
1183
|
+
$$renderer3.push(`<!----> `);
|
|
1184
|
+
work($$renderer3, list);
|
|
1185
|
+
$$renderer3.push(`<!----></section>`);
|
|
1186
|
+
}
|
|
1187
|
+
head("162hjno", $$renderer2, ($$renderer3) => {
|
|
1188
|
+
$$renderer3.title(($$renderer4) => {
|
|
1189
|
+
$$renderer4.push(`<title>${escape_html(scoped() ? `${scoped().name} · ` : "")}Harbour · Wheelhouse</title>`);
|
|
1190
|
+
});
|
|
1191
|
+
});
|
|
1192
|
+
$$renderer2.push(`<main class="px-4 pt-6 pb-24 sm:px-6 lg:px-10"><header${attr_class(`surface px-5 sm:px-6 ${view() === "radar" ? "py-4" : "py-6"}`)}><div${attr_class(`flex flex-wrap items-end justify-between ${view() === "radar" ? "gap-3" : "gap-6"}`)}><div class="max-w-3xl"><p class="font-display text-base text-muted-foreground italic">${escape_html(scoped() ? scoped().name : "All projects")}, watch report${escape_html(fleet()?.collectedAt ? ` at ${clock(fleet().collectedAt)}` : "")}`);
|
|
1193
|
+
if (scoped() && scoped().id !== "unassigned") {
|
|
1194
|
+
$$renderer2.push(`<!--[0--> · `);
|
|
1195
|
+
projectPassage($$renderer2, scoped());
|
|
1196
|
+
$$renderer2.push(`<!---->`);
|
|
1197
|
+
} else {
|
|
1198
|
+
$$renderer2.push("<!--[-1-->");
|
|
1199
|
+
}
|
|
1200
|
+
$$renderer2.push(`<!--]--></p> `);
|
|
1201
|
+
if (fleet()?.collectedAt) {
|
|
1202
|
+
$$renderer2.push(`<!--[0--><h1${attr_class(`leading-tight text-balance ${view() === "radar" ? "mt-1 text-xl" : "mt-2 text-[2.1rem]"}`)}>${escape_html(headline(report()))}</h1>`);
|
|
1203
|
+
} else {
|
|
1204
|
+
$$renderer2.push(`<!--[-1--><h1 class="mt-2 text-[2.1rem] leading-tight text-balance text-muted-foreground">Waiting for the first read of Firstmate…</h1>`);
|
|
1205
|
+
}
|
|
1206
|
+
$$renderer2.push(`<!--]--></div> <div class="flex rounded-md border bg-card p-0.5 text-sm" role="tablist" aria-label="View"><a${attr("href", href(null))} role="tab"${attr("aria-selected", view() === "cards")}${attr_class(`inline-flex items-center gap-1.5 rounded-sm px-3 py-1.5 ${view() === "cards" ? "bg-primary font-medium text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`)}>`);
|
|
1207
|
+
Layout_grid($$renderer2, { class: "size-4" });
|
|
1208
|
+
$$renderer2.push(`<!---->Harbour</a> <a${attr("href", href("passage"))} role="tab"${attr("aria-selected", view() === "passage")}${attr_class(`inline-flex items-center gap-1.5 rounded-sm px-3 py-1.5 ${view() === "passage" ? "bg-primary font-medium text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`)}>`);
|
|
1209
|
+
Waypoints($$renderer2, { class: "size-4" });
|
|
1210
|
+
$$renderer2.push(`<!---->Passage</a> <a${attr("href", href("radar"))} role="tab"${attr("aria-selected", view() === "radar")}${attr_class(`inline-flex items-center gap-1.5 rounded-sm px-3 py-1.5 ${view() === "radar" ? "bg-primary font-medium text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`)}>`);
|
|
1211
|
+
Radar($$renderer2, { class: "size-4" });
|
|
1212
|
+
$$renderer2.push(`<!---->Radar</a></div></div> `);
|
|
1213
|
+
if (scoped() && view() === "cards") {
|
|
1214
|
+
$$renderer2.push("<!--[0-->");
|
|
1215
|
+
scopedTabs($$renderer2, scoped());
|
|
1216
|
+
} else {
|
|
1217
|
+
$$renderer2.push("<!--[-1-->");
|
|
1218
|
+
}
|
|
1219
|
+
$$renderer2.push(`<!--]--> `);
|
|
1220
|
+
if (view() === "cards") {
|
|
1221
|
+
$$renderer2.push(`<!--[0--><div class="mt-8 flex flex-wrap items-center justify-between gap-3"><div class="flex rounded-md border bg-card p-0.5 text-sm max-sm:w-full" role="tablist" aria-label="Show"><!--[-->`);
|
|
1222
|
+
const each_array_8 = ensure_array_like([
|
|
1223
|
+
["under-way", "Under way", null],
|
|
1224
|
+
["completed", "Completed", "completed"]
|
|
1225
|
+
]);
|
|
1226
|
+
for (let $$index_8 = 0, $$length = each_array_8.length; $$index_8 < $$length; $$index_8++) {
|
|
1227
|
+
let [s, label, v] = each_array_8[$$index_8];
|
|
1228
|
+
$$renderer2.push(`<a${attr("href", href(v))} role="tab"${attr("aria-selected", showing() === s)}${attr_class(`flex-1 rounded-sm px-3 py-1.5 text-center whitespace-nowrap ${showing() === s ? "bg-primary font-medium text-primary-foreground" : "text-muted-foreground hover:text-foreground"}`)}>${escape_html(label)}</a>`);
|
|
1229
|
+
}
|
|
1230
|
+
$$renderer2.push(`<!--]--></div> `);
|
|
1231
|
+
ViewToggle($$renderer2, {
|
|
1232
|
+
options: LAYOUTS,
|
|
1233
|
+
value: layout(),
|
|
1234
|
+
onchange: pickLayout,
|
|
1235
|
+
label: "Layout"
|
|
1236
|
+
});
|
|
1237
|
+
$$renderer2.push(`<!----></div>`);
|
|
1238
|
+
} else {
|
|
1239
|
+
$$renderer2.push("<!--[-1-->");
|
|
1240
|
+
}
|
|
1241
|
+
$$renderer2.push(`<!--]--></header> `);
|
|
1242
|
+
if (view() === "passage") {
|
|
1243
|
+
$$renderer2.push(`<!--[0--><div class="surface mt-6 p-5 sm:p-6">`);
|
|
1244
|
+
PassageChart($$renderer2, { tasks: tasks(), projects: scoped() ? [scoped()] : projects() });
|
|
1245
|
+
$$renderer2.push(`<!----></div>`);
|
|
1246
|
+
} else if (view() === "radar") {
|
|
1247
|
+
$$renderer2.push(`<!--[1--><section class="surface mt-4 p-4 sm:p-5" aria-labelledby="radar"><h2 id="radar" class="section-label mb-3">Fleet radar</h2> `);
|
|
1248
|
+
RadarBoard($$renderer2, {
|
|
1249
|
+
tasks: tasks(),
|
|
1250
|
+
projects: projects(),
|
|
1251
|
+
now: live.now,
|
|
1252
|
+
connection: live.connection
|
|
1253
|
+
});
|
|
1254
|
+
$$renderer2.push(`<!----></section>`);
|
|
1255
|
+
} else if (showing() === "completed") {
|
|
1256
|
+
$$renderer2.push("<!--[2-->");
|
|
1257
|
+
if (scoped()) {
|
|
1258
|
+
$$renderer2.push(`<!--[0--><section class="surface mt-6 p-5 sm:p-6">`);
|
|
1259
|
+
done($$renderer2, completed());
|
|
1260
|
+
$$renderer2.push(`<!----></section>`);
|
|
1261
|
+
} else {
|
|
1262
|
+
$$renderer2.push(`<!--[-1--><!--[-->`);
|
|
1263
|
+
const each_array_9 = ensure_array_like(projects());
|
|
1264
|
+
for (let $$index_10 = 0, $$length = each_array_9.length; $$index_10 < $$length; $$index_10++) {
|
|
1265
|
+
let p = each_array_9[$$index_10];
|
|
1266
|
+
const list = completed().filter((t) => t.projectId === p.id);
|
|
1267
|
+
if (list.length) {
|
|
1268
|
+
$$renderer2.push(`<!--[0--><section class="surface mt-6 p-5 sm:p-6"${attr("aria-labelledby", `proj-${stringify(p.id)}`)}><div class="mb-6 flex flex-wrap items-baseline gap-x-3 gap-y-1"><!--[-->`);
|
|
1269
|
+
const each_array_10 = ensure_array_like(headerParts(p));
|
|
1270
|
+
for (let $$index_9 = 0, $$length2 = each_array_10.length; $$index_9 < $$length2; $$index_9++) {
|
|
1271
|
+
let part = each_array_10[$$index_9];
|
|
1272
|
+
part.render($$renderer2, p);
|
|
1273
|
+
$$renderer2.push(`<!---->`);
|
|
1274
|
+
}
|
|
1275
|
+
$$renderer2.push(`<!--]--></div> `);
|
|
1276
|
+
done($$renderer2, list);
|
|
1277
|
+
$$renderer2.push(`<!----></section>`);
|
|
1278
|
+
} else {
|
|
1279
|
+
$$renderer2.push("<!--[-1-->");
|
|
1280
|
+
}
|
|
1281
|
+
$$renderer2.push(`<!--]-->`);
|
|
1282
|
+
}
|
|
1283
|
+
$$renderer2.push(`<!--]-->`);
|
|
1284
|
+
}
|
|
1285
|
+
$$renderer2.push(`<!--]--> `);
|
|
1286
|
+
if (fleet()?.collectedAt && !completed().length) {
|
|
1287
|
+
$$renderer2.push(`<!--[0--><p class="surface mt-6 p-5 text-muted-foreground sm:p-6">Nothing completed${escape_html(scoped() ? " in this project" : "")} yet.</p>`);
|
|
1288
|
+
} else {
|
|
1289
|
+
$$renderer2.push("<!--[-1-->");
|
|
1290
|
+
}
|
|
1291
|
+
$$renderer2.push(`<!--]-->`);
|
|
1292
|
+
} else {
|
|
1293
|
+
$$renderer2.push("<!--[-1-->");
|
|
1294
|
+
if (h().needsYou.length) {
|
|
1295
|
+
$$renderer2.push(`<!--[0--><section class="surface mt-6 p-5 sm:p-6" aria-labelledby="your-move"><h2 id="your-move" class="section-label mb-4 text-sea">Your move</h2> `);
|
|
1296
|
+
board($$renderer2, h().needsYou, "Your move", "move");
|
|
1297
|
+
$$renderer2.push(`<!----></section>`);
|
|
1298
|
+
} else {
|
|
1299
|
+
$$renderer2.push("<!--[-1-->");
|
|
1300
|
+
}
|
|
1301
|
+
$$renderer2.push(`<!--]--> `);
|
|
1302
|
+
if (h().waitingOnFirstmate.length) {
|
|
1303
|
+
$$renderer2.push(`<!--[0--><section class="surface mt-6 p-5 sm:p-6" aria-labelledby="with-firstmate"><h2 id="with-firstmate" class="section-label">Waiting on Firstmate</h2> <p class="mt-1 mb-4 text-sm text-muted-foreground">A worker raised a decision. Firstmate handles it first and brings it to you if it needs
|
|
1304
|
+
you.</p> `);
|
|
1305
|
+
board($$renderer2, h().waitingOnFirstmate, "Waiting on Firstmate", "named");
|
|
1306
|
+
$$renderer2.push(`<!----></section>`);
|
|
1307
|
+
} else {
|
|
1308
|
+
$$renderer2.push("<!--[-1-->");
|
|
1309
|
+
}
|
|
1310
|
+
$$renderer2.push(`<!--]--> `);
|
|
1311
|
+
if (scoped()) {
|
|
1312
|
+
$$renderer2.push(`<!--[0--><section class="surface mt-6 p-5 sm:p-6">`);
|
|
1313
|
+
harbourCards($$renderer2, scoped());
|
|
1314
|
+
$$renderer2.push(`<!---->`);
|
|
1315
|
+
work($$renderer2, open());
|
|
1316
|
+
$$renderer2.push(`<!----></section>`);
|
|
1317
|
+
} else {
|
|
1318
|
+
$$renderer2.push(`<!--[-1--><!--[-->`);
|
|
1319
|
+
const each_array_11 = ensure_array_like(projects());
|
|
1320
|
+
for (let $$index_11 = 0, $$length = each_array_11.length; $$index_11 < $$length; $$index_11++) {
|
|
1321
|
+
let p = each_array_11[$$index_11];
|
|
1322
|
+
const list = open().filter((t) => t.projectId === p.id);
|
|
1323
|
+
if (list.some((t) => !h().needsYou.includes(t) && !h().waitingOnFirstmate.includes(t))) {
|
|
1324
|
+
$$renderer2.push("<!--[0-->");
|
|
1325
|
+
section($$renderer2, p, list);
|
|
1326
|
+
} else {
|
|
1327
|
+
$$renderer2.push("<!--[-1-->");
|
|
1328
|
+
}
|
|
1329
|
+
$$renderer2.push(`<!--]-->`);
|
|
1330
|
+
}
|
|
1331
|
+
$$renderer2.push(`<!--]-->`);
|
|
1332
|
+
}
|
|
1333
|
+
$$renderer2.push(`<!--]--> `);
|
|
1334
|
+
if (fleet()?.collectedAt && !open().length) {
|
|
1335
|
+
$$renderer2.push(`<!--[0--><p class="surface mt-6 p-5 text-muted-foreground sm:p-6">Nothing under way${escape_html(scoped() ? " in this project" : "")} right now.</p>`);
|
|
1336
|
+
} else {
|
|
1337
|
+
$$renderer2.push("<!--[-1-->");
|
|
1338
|
+
}
|
|
1339
|
+
$$renderer2.push(`<!--]-->`);
|
|
1340
|
+
}
|
|
1341
|
+
$$renderer2.push(`<!--]--></main>`);
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
export { _page as default };
|
|
1346
|
+
//# sourceMappingURL=_page.svelte.js-43FRNSVK.js.map
|