@juspay/shooter 1.6.2 → 1.7.1
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/build/client/_app/immutable/assets/0.B5tfAY8Y.css +1 -0
- package/build/client/_app/immutable/assets/0.B5tfAY8Y.css.br +0 -0
- package/build/client/_app/immutable/assets/0.B5tfAY8Y.css.gz +0 -0
- package/build/client/_app/immutable/assets/1.B_AnTlN1.css +1 -0
- package/build/client/_app/immutable/assets/1.B_AnTlN1.css.br +0 -0
- package/build/client/_app/immutable/assets/1.B_AnTlN1.css.gz +0 -0
- package/build/client/_app/immutable/assets/{2.Bxu934IC.css → 2.DjiwkLqE.css} +1 -1
- package/build/client/_app/immutable/assets/2.DjiwkLqE.css.br +0 -0
- package/build/client/_app/immutable/assets/2.DjiwkLqE.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.D4EDSN4H.css +1 -0
- package/build/client/_app/immutable/assets/4.D4EDSN4H.css.br +0 -0
- package/build/client/_app/immutable/assets/4.D4EDSN4H.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.DzV0p3l-.css +1 -0
- package/build/client/_app/immutable/assets/6.DzV0p3l-.css.br +0 -0
- package/build/client/_app/immutable/assets/6.DzV0p3l-.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CEbRAOOf.css +1 -0
- package/build/client/_app/immutable/assets/7.CEbRAOOf.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CEbRAOOf.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.BhoBXADL.css +1 -0
- package/build/client/_app/immutable/assets/8.BhoBXADL.css.br +0 -0
- package/build/client/_app/immutable/assets/8.BhoBXADL.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.v5KA95xm.css +1 -0
- package/build/client/_app/immutable/assets/9.v5KA95xm.css.br +0 -0
- package/build/client/_app/immutable/assets/9.v5KA95xm.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatView.Bnlg-oAF.css +1 -0
- package/build/client/_app/immutable/assets/ChatView.Bnlg-oAF.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatView.Bnlg-oAF.css.gz +0 -0
- package/build/client/_app/immutable/assets/ColorPicker.Hf6zQzuB.css +1 -0
- package/build/client/_app/immutable/assets/ColorPicker.Hf6zQzuB.css.br +0 -0
- package/build/client/_app/immutable/assets/ColorPicker.Hf6zQzuB.css.gz +0 -0
- package/build/client/_app/immutable/chunks/3MMtouT7.js +2 -0
- package/build/client/_app/immutable/chunks/3MMtouT7.js.br +0 -0
- package/build/client/_app/immutable/chunks/3MMtouT7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CGMJxf7r.js → B-XSrufh.js} +1 -1
- package/build/client/_app/immutable/chunks/B-XSrufh.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-XSrufh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BCwT4WOg.js +60 -0
- package/build/client/_app/immutable/chunks/BCwT4WOg.js.br +0 -0
- package/build/client/_app/immutable/chunks/BCwT4WOg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BTu-2gkj.js +21 -0
- package/build/client/_app/immutable/chunks/BTu-2gkj.js.br +0 -0
- package/build/client/_app/immutable/chunks/BTu-2gkj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bkcn25gz.js +3 -0
- package/build/client/_app/immutable/chunks/Bkcn25gz.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bkcn25gz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bn-6X1BO.js +5 -0
- package/build/client/_app/immutable/chunks/Bn-6X1BO.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bn-6X1BO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BsNWiLas.js +1 -0
- package/build/client/_app/immutable/chunks/BsNWiLas.js.br +0 -0
- package/build/client/_app/immutable/chunks/BsNWiLas.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CAWtH3Iy.js → CBvZimn-.js} +1 -1
- package/build/client/_app/immutable/chunks/CBvZimn-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBvZimn-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CG453M9q.js +5 -0
- package/build/client/_app/immutable/chunks/CG453M9q.js.br +0 -0
- package/build/client/_app/immutable/chunks/CG453M9q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMQw-Fc-.js +1 -0
- package/build/client/_app/immutable/chunks/CMQw-Fc-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CMQw-Fc-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRXYOhph.js +5 -0
- package/build/client/_app/immutable/chunks/CRXYOhph.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRXYOhph.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CSjf4fBs.js +2 -0
- package/build/client/_app/immutable/chunks/CSjf4fBs.js.br +0 -0
- package/build/client/_app/immutable/chunks/CSjf4fBs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CJFjKwJ7.js → Ce0VRwE1.js} +1 -1
- package/build/client/_app/immutable/chunks/Ce0VRwE1.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ce0VRwE1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B7UYUXav.js → D347PuJK.js} +1 -1
- package/build/client/_app/immutable/chunks/D347PuJK.js.br +0 -0
- package/build/client/_app/immutable/chunks/D347PuJK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DFPEaIHz.js +1 -0
- package/build/client/_app/immutable/chunks/DFPEaIHz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DFPEaIHz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DQM017d5.js +1 -0
- package/build/client/_app/immutable/chunks/DQM017d5.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQM017d5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js +1 -0
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DzuS5Nbr.js +6 -0
- package/build/client/_app/immutable/chunks/DzuS5Nbr.js.br +0 -0
- package/build/client/_app/immutable/chunks/DzuS5Nbr.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.C_IPOstn.js +2 -0
- package/build/client/_app/immutable/entry/app.C_IPOstn.js.br +0 -0
- package/build/client/_app/immutable/entry/app.C_IPOstn.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js +1 -0
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DRy3hSaJ.js +7 -0
- package/build/client/_app/immutable/nodes/0.DRy3hSaJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DRy3hSaJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BL16K8Rb.js +1 -0
- package/build/client/_app/immutable/nodes/1.BL16K8Rb.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BL16K8Rb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.iOKTlmTJ.js +13 -0
- package/build/client/_app/immutable/nodes/2.iOKTlmTJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.iOKTlmTJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.CYU2wJvk.js → 3.GuF9Fr8V.js} +3 -3
- package/build/client/_app/immutable/nodes/3.GuF9Fr8V.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.GuF9Fr8V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BcK1571T.js +16 -0
- package/build/client/_app/immutable/nodes/4.BcK1571T.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BcK1571T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DRvLQ5NR.js +1 -0
- package/build/client/_app/immutable/nodes/5.DRvLQ5NR.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DRvLQ5NR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DSC53pZZ.js +1 -0
- package/build/client/_app/immutable/nodes/6.DSC53pZZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DSC53pZZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js +4 -0
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Dn1iVaxc.js +2 -0
- package/build/client/_app/immutable/nodes/8.Dn1iVaxc.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dn1iVaxc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.D3nURtQJ.js +2 -0
- package/build/client/_app/immutable/nodes/9.D3nURtQJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.D3nURtQJ.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-JnYsOPFg.js → 0-D82zFKZh.js} +4 -4
- package/build/server/chunks/0-D82zFKZh.js.map +1 -0
- package/build/server/chunks/1-BmaGmZUH.js +9 -0
- package/build/server/chunks/1-BmaGmZUH.js.map +1 -0
- package/build/server/chunks/2-T5uLjTgt.js +21 -0
- package/build/server/chunks/2-T5uLjTgt.js.map +1 -0
- package/build/server/chunks/3-D6FHwoMf.js +21 -0
- package/build/server/chunks/3-D6FHwoMf.js.map +1 -0
- package/build/server/chunks/4-DXZnoGK3.js +23 -0
- package/build/server/chunks/4-DXZnoGK3.js.map +1 -0
- package/build/server/chunks/{5-7A7zBuKk.js → 5-Bj49x3to.js} +4 -4
- package/build/server/chunks/5-Bj49x3to.js.map +1 -0
- package/build/server/chunks/6-Yh_tXC7x.js +9 -0
- package/build/server/chunks/6-Yh_tXC7x.js.map +1 -0
- package/build/server/chunks/7-Dmz1unig.js +9 -0
- package/build/server/chunks/7-Dmz1unig.js.map +1 -0
- package/build/server/chunks/8-Bf6s5ssE.js +9 -0
- package/build/server/chunks/8-Bf6s5ssE.js.map +1 -0
- package/build/server/chunks/9-AHy0sACd.js +9 -0
- package/build/server/chunks/9-AHy0sACd.js.map +1 -0
- package/build/server/chunks/{Button-DdjxOkSZ.js → Button-DPcpECFE.js} +18 -11
- package/build/server/chunks/Button-DPcpECFE.js.map +1 -0
- package/build/server/chunks/Icon-C2-613_Z.js +29 -0
- package/build/server/chunks/Icon-C2-613_Z.js.map +1 -0
- package/build/server/chunks/{close-DAiakm6B.js → Input-M7rFN1IJ.js} +25 -14
- package/build/server/chunks/Input-M7rFN1IJ.js.map +1 -0
- package/build/server/chunks/Pill-CbH1G79Z.js +57 -0
- package/build/server/chunks/Pill-CbH1G79Z.js.map +1 -0
- package/build/server/chunks/Shimmer-BrakrBeG.js +10 -0
- package/build/server/chunks/Shimmer-BrakrBeG.js.map +1 -0
- package/build/server/chunks/{_error.svelte-B3eSa4PI.js → _error.svelte-BfckZRui.js} +24 -6
- package/build/server/chunks/_error.svelte-BfckZRui.js.map +1 -0
- package/build/server/chunks/_layout.svelte-B6wbenkT.js +73 -0
- package/build/server/chunks/_layout.svelte-B6wbenkT.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DYhv6WTT.js → _page.svelte-BRz-x9-s.js} +9 -9
- package/build/server/chunks/_page.svelte-BRz-x9-s.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DQZWJdHb.js → _page.svelte-CKydRPy6.js} +5 -5
- package/build/server/chunks/_page.svelte-CKydRPy6.js.map +1 -0
- package/build/server/chunks/{_page.svelte-vwYD3-TB.js → _page.svelte-COFpm-S2.js} +31 -26
- package/build/server/chunks/_page.svelte-COFpm-S2.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DZK06z97.js → _page.svelte-CwCypx0G.js} +36 -37
- package/build/server/chunks/_page.svelte-CwCypx0G.js.map +1 -0
- package/build/server/chunks/{_page.svelte-qNZy4ITB.js → _page.svelte-D1Iaycsm.js} +11 -11
- package/build/server/chunks/_page.svelte-D1Iaycsm.js.map +1 -0
- package/build/server/chunks/_page.svelte-DKdaYz0t.js +70 -0
- package/build/server/chunks/_page.svelte-DKdaYz0t.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D4TBiar7.js → _page.svelte-DfZBq0p5.js} +58 -52
- package/build/server/chunks/_page.svelte-DfZBq0p5.js.map +1 -0
- package/build/server/chunks/_page.svelte-io210vyT.js +117 -0
- package/build/server/chunks/_page.svelte-io210vyT.js.map +1 -0
- package/build/server/chunks/cache-tQqq4VCX.js +35 -0
- package/build/server/chunks/cache-tQqq4VCX.js.map +1 -0
- package/build/server/chunks/{client-CHdjSh4H.js → client-Do_WijF3.js} +4 -4
- package/build/server/chunks/{client-CHdjSh4H.js.map → client-Do_WijF3.js.map} +1 -1
- package/build/server/chunks/client2-DQ2fYrJe.js +7 -0
- package/build/server/chunks/{client2-BTUnRGQp.js.map → client2-DQ2fYrJe.js.map} +1 -1
- package/build/server/chunks/close-DR469d4F.js +4 -0
- package/build/server/chunks/close-DR469d4F.js.map +1 -0
- package/build/server/chunks/{index-C2COL4R7.js → index-BHoOpAe1.js} +2 -2
- package/build/server/chunks/{index-C2COL4R7.js.map → index-BHoOpAe1.js.map} +1 -1
- package/build/server/chunks/{index-server-Cpgjzv_S.js → index-server-BVf8_1QW.js} +2 -2
- package/build/server/chunks/{index-server-Cpgjzv_S.js.map → index-server-BVf8_1QW.js.map} +1 -1
- package/build/server/chunks/{index2-CKXBGyRH.js → index2-CKh4I94n.js} +2 -2
- package/build/server/chunks/{index2-CKXBGyRH.js.map → index2-CKh4I94n.js.map} +1 -1
- package/build/server/chunks/{root-CeOG24Ij.js → root-CW7Ox2wn.js} +2 -2
- package/build/server/chunks/{root-CeOG24Ij.js.map → root-CW7Ox2wn.js.map} +1 -1
- package/build/server/chunks/settings-Dv3Esboo.js +4 -0
- package/build/server/chunks/settings-Dv3Esboo.js.map +1 -0
- package/build/server/chunks/{state.svelte-BMNP49Le.js → state.svelte-Cg5VK5nH.js} +3 -3
- package/build/server/chunks/{state.svelte-BMNP49Le.js.map → state.svelte-Cg5VK5nH.js.map} +1 -1
- package/build/server/chunks/{stores-NzQ5oCpr.js → stores-D6TajUdj.js} +4 -4
- package/build/server/chunks/{stores-NzQ5oCpr.js.map → stores-D6TajUdj.js.map} +1 -1
- package/build/server/index.js +4 -4
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +11 -11
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/src/app.css +105 -2
- package/src/lib/assets/icons/dashboard.svg +6 -0
- package/src/lib/modules/client/common/index.ts +0 -5
- package/src/lib/modules/client/terminal/ChatView.svelte +20 -37
- package/src/lib/modules/client/terminal/ConnectionStatus.svelte +7 -17
- package/src/lib/modules/client/terminal/LaunchSheet.svelte +83 -153
- package/src/lib/modules/client/terminal/QuickKeys.svelte +4 -4
- package/src/lib/theme.css +130 -5
- package/src/lib/types/terminal-client.ts +1 -1
- package/src/routes/+error.svelte +9 -25
- package/src/routes/+layout.svelte +52 -78
- package/src/routes/+page.svelte +12 -55
- package/src/routes/config/+page.svelte +13 -28
- package/src/routes/project/+page.svelte +12 -9
- package/src/routes/session/[id]/+page.svelte +12 -38
- package/src/routes/terminals/+page.svelte +22 -118
- package/src/routes/terminals/[id]/+page.svelte +33 -42
- package/build/client/_app/immutable/assets/0.BXHU1bFd.css +0 -1
- package/build/client/_app/immutable/assets/0.BXHU1bFd.css.br +0 -0
- package/build/client/_app/immutable/assets/0.BXHU1bFd.css.gz +0 -0
- package/build/client/_app/immutable/assets/1.BYutk3aU.css +0 -1
- package/build/client/_app/immutable/assets/1.BYutk3aU.css.br +0 -0
- package/build/client/_app/immutable/assets/1.BYutk3aU.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.Bxu934IC.css.br +0 -0
- package/build/client/_app/immutable/assets/2.Bxu934IC.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.D5l1JxgO.css +0 -1
- package/build/client/_app/immutable/assets/4.D5l1JxgO.css.br +0 -0
- package/build/client/_app/immutable/assets/4.D5l1JxgO.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.BFUut--w.css +0 -1
- package/build/client/_app/immutable/assets/6.BFUut--w.css.br +0 -0
- package/build/client/_app/immutable/assets/6.BFUut--w.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BTOx7yt7.css +0 -1
- package/build/client/_app/immutable/assets/7.BTOx7yt7.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BTOx7yt7.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.eZGZN-BF.css +0 -1
- package/build/client/_app/immutable/assets/8.eZGZN-BF.css.br +0 -0
- package/build/client/_app/immutable/assets/8.eZGZN-BF.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.DwS5ZHBh.css +0 -1
- package/build/client/_app/immutable/assets/9.DwS5ZHBh.css.br +0 -0
- package/build/client/_app/immutable/assets/9.DwS5ZHBh.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css +0 -1
- package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css.gz +0 -0
- package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css +0 -1
- package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css.br +0 -0
- package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css.gz +0 -0
- package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css +0 -1
- package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css.br +0 -0
- package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css.gz +0 -0
- package/build/client/_app/immutable/chunks/1mEchsPO.js +0 -1
- package/build/client/_app/immutable/chunks/1mEchsPO.js.br +0 -0
- package/build/client/_app/immutable/chunks/1mEchsPO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7UYUXav.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7UYUXav.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7X-vhXI.js +0 -1
- package/build/client/_app/immutable/chunks/B7X-vhXI.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7X-vhXI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BRkqKgVG.js +0 -1
- package/build/client/_app/immutable/chunks/BRkqKgVG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRkqKgVG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js +0 -1
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.br +0 -2
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CAWtH3Iy.js.br +0 -0
- package/build/client/_app/immutable/chunks/CAWtH3Iy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CGMJxf7r.js.br +0 -0
- package/build/client/_app/immutable/chunks/CGMJxf7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CJFjKwJ7.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJFjKwJ7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CNH2HlKj.js +0 -20
- package/build/client/_app/immutable/chunks/CNH2HlKj.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNH2HlKj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js +0 -1
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js.br +0 -0
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CaiJSUi3.js +0 -1
- package/build/client/_app/immutable/chunks/CaiJSUi3.js.br +0 -0
- package/build/client/_app/immutable/chunks/CaiJSUi3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CmczWE_d.js +0 -41
- package/build/client/_app/immutable/chunks/CmczWE_d.js.br +0 -0
- package/build/client/_app/immutable/chunks/CmczWE_d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js +0 -1
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CtrCjGZT.js +0 -1
- package/build/client/_app/immutable/chunks/CtrCjGZT.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtrCjGZT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDiOVAd8.js +0 -61
- package/build/client/_app/immutable/chunks/DDiOVAd8.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDiOVAd8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DMGoTOyn.js +0 -3
- package/build/client/_app/immutable/chunks/DMGoTOyn.js.br +0 -0
- package/build/client/_app/immutable/chunks/DMGoTOyn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVl0sebP.js +0 -2
- package/build/client/_app/immutable/chunks/DVl0sebP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVl0sebP.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DLyiS7a7.js +0 -2
- package/build/client/_app/immutable/entry/app.DLyiS7a7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DLyiS7a7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.iu831vTf.js +0 -1
- package/build/client/_app/immutable/entry/start.iu831vTf.js.br +0 -2
- package/build/client/_app/immutable/entry/start.iu831vTf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.B76xpgU3.js +0 -1
- package/build/client/_app/immutable/nodes/0.B76xpgU3.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.B76xpgU3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.C8HQaM7E.js +0 -1
- package/build/client/_app/immutable/nodes/1.C8HQaM7E.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C8HQaM7E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BAtXcLWF.js +0 -13
- package/build/client/_app/immutable/nodes/2.BAtXcLWF.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BAtXcLWF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CYU2wJvk.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CYU2wJvk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js +0 -4
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js +0 -1
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.C_uZdnK8.js +0 -1
- package/build/client/_app/immutable/nodes/6.C_uZdnK8.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.C_uZdnK8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Cuv-AoHz.js +0 -4
- package/build/client/_app/immutable/nodes/7.Cuv-AoHz.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Cuv-AoHz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.jzwOIQUM.js +0 -2
- package/build/client/_app/immutable/nodes/8.jzwOIQUM.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.jzwOIQUM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BDETv_rs.js +0 -2
- package/build/client/_app/immutable/nodes/9.BDETv_rs.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BDETv_rs.js.gz +0 -0
- package/build/server/chunks/0-JnYsOPFg.js.map +0 -1
- package/build/server/chunks/1-uXVmLPvu.js +0 -9
- package/build/server/chunks/1-uXVmLPvu.js.map +0 -1
- package/build/server/chunks/2-CVN3QR62.js +0 -21
- package/build/server/chunks/2-CVN3QR62.js.map +0 -1
- package/build/server/chunks/3-BGXBcTfb.js +0 -21
- package/build/server/chunks/3-BGXBcTfb.js.map +0 -1
- package/build/server/chunks/4-DOCzBx63.js +0 -23
- package/build/server/chunks/4-DOCzBx63.js.map +0 -1
- package/build/server/chunks/5-7A7zBuKk.js.map +0 -1
- package/build/server/chunks/6-DWdCl-Zi.js +0 -9
- package/build/server/chunks/6-DWdCl-Zi.js.map +0 -1
- package/build/server/chunks/7-DUY-pQp0.js +0 -9
- package/build/server/chunks/7-DUY-pQp0.js.map +0 -1
- package/build/server/chunks/8-vdkbC7-0.js +0 -9
- package/build/server/chunks/8-vdkbC7-0.js.map +0 -1
- package/build/server/chunks/9-Bo4T88xL.js +0 -9
- package/build/server/chunks/9-Bo4T88xL.js.map +0 -1
- package/build/server/chunks/Button-DdjxOkSZ.js.map +0 -1
- package/build/server/chunks/EmptyState-Do0HSexX.js +0 -26
- package/build/server/chunks/EmptyState-Do0HSexX.js.map +0 -1
- package/build/server/chunks/Icon-CmfQpMj8.js +0 -36
- package/build/server/chunks/Icon-CmfQpMj8.js.map +0 -1
- package/build/server/chunks/Shimmer-5rSdw-ut.js +0 -10
- package/build/server/chunks/Shimmer-5rSdw-ut.js.map +0 -1
- package/build/server/chunks/_error.svelte-B3eSa4PI.js.map +0 -1
- package/build/server/chunks/_layout.svelte-DIibCT-o.js +0 -62
- package/build/server/chunks/_layout.svelte-DIibCT-o.js.map +0 -1
- package/build/server/chunks/_page.svelte-BCVxxMg-.js +0 -118
- package/build/server/chunks/_page.svelte-BCVxxMg-.js.map +0 -1
- package/build/server/chunks/_page.svelte-BnIJOtvm.js +0 -102
- package/build/server/chunks/_page.svelte-BnIJOtvm.js.map +0 -1
- package/build/server/chunks/_page.svelte-D4TBiar7.js.map +0 -1
- package/build/server/chunks/_page.svelte-DQZWJdHb.js.map +0 -1
- package/build/server/chunks/_page.svelte-DYhv6WTT.js.map +0 -1
- package/build/server/chunks/_page.svelte-DZK06z97.js.map +0 -1
- package/build/server/chunks/_page.svelte-qNZy4ITB.js.map +0 -1
- package/build/server/chunks/_page.svelte-vwYD3-TB.js.map +0 -1
- package/build/server/chunks/client2-BTUnRGQp.js +0 -7
- package/build/server/chunks/close-DAiakm6B.js.map +0 -1
- package/build/server/chunks/html-FW6Ia4bL.js +0 -8
- package/build/server/chunks/html-FW6Ia4bL.js.map +0 -1
- package/src/lib/modules/client/common/Card.svelte +0 -19
- package/src/lib/modules/client/common/EmptyState.svelte +0 -18
- package/src/lib/modules/client/common/Icon.svelte +0 -57
- package/src/lib/modules/client/common/StatusBadge.svelte +0 -36
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
import { browser } from '$app/environment';
|
|
7
7
|
import { goto } from '$app/navigation';
|
|
8
8
|
import { page } from '$app/stores';
|
|
9
|
-
import
|
|
9
|
+
import BellSvg from '$lib/assets/icons/bell.svg?raw';
|
|
10
|
+
import DashboardSvg from '$lib/assets/icons/dashboard.svg?raw';
|
|
11
|
+
import SettingsSvg from '$lib/assets/icons/settings.svg?raw';
|
|
12
|
+
import TerminalSvg from '$lib/assets/icons/terminal.svg?raw';
|
|
13
|
+
import { Button, Icon, Pill } from '@juspay/svelte-ui-components';
|
|
10
14
|
import { onMount, type Snippet } from 'svelte';
|
|
11
15
|
|
|
12
16
|
const { children, data }: { children: Snippet; data: LayoutData } = $props();
|
|
@@ -27,6 +31,19 @@
|
|
|
27
31
|
|
|
28
32
|
let systemStatus = $state<'degraded' | 'error' | 'healthy' | 'unknown'>('unknown');
|
|
29
33
|
|
|
34
|
+
const statusLabels: Record<string, string> = {
|
|
35
|
+
degraded: 'Degraded',
|
|
36
|
+
error: 'Offline',
|
|
37
|
+
healthy: 'Online',
|
|
38
|
+
unknown: 'Checking',
|
|
39
|
+
};
|
|
40
|
+
const statusClasses: Record<string, string> = {
|
|
41
|
+
degraded: 'pill-status-degraded',
|
|
42
|
+
error: 'pill-status-offline',
|
|
43
|
+
healthy: 'pill-status-online',
|
|
44
|
+
unknown: 'pill-status-unknown',
|
|
45
|
+
};
|
|
46
|
+
|
|
30
47
|
onMount(() => {
|
|
31
48
|
void checkSystemStatus();
|
|
32
49
|
const interval = setInterval(() => {
|
|
@@ -65,30 +82,19 @@
|
|
|
65
82
|
</a>
|
|
66
83
|
|
|
67
84
|
<div class="nav-right">
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
|
|
85
|
+
<Pill
|
|
86
|
+
text={statusLabels[systemStatus] || 'Checking'}
|
|
87
|
+
classes={statusClasses[systemStatus] || 'pill-status-unknown'}
|
|
88
|
+
/>
|
|
89
|
+
<Button
|
|
90
|
+
classes="btn-gear {$page.url.pathname === '/config' ? 'btn-gear-active' : ''}"
|
|
71
91
|
onclick={(): void => {
|
|
72
92
|
void goto('/config');
|
|
73
93
|
}}
|
|
74
|
-
|
|
94
|
+
ariaLabel="Settings"
|
|
75
95
|
>
|
|
76
|
-
<svg
|
|
77
|
-
|
|
78
|
-
height="18"
|
|
79
|
-
viewBox="0 0 24 24"
|
|
80
|
-
fill="none"
|
|
81
|
-
stroke="currentColor"
|
|
82
|
-
stroke-width="2"
|
|
83
|
-
stroke-linecap="round"
|
|
84
|
-
stroke-linejoin="round"
|
|
85
|
-
>
|
|
86
|
-
<circle cx="12" cy="12" r="3"></circle>
|
|
87
|
-
<path
|
|
88
|
-
d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"
|
|
89
|
-
></path>
|
|
90
|
-
</svg>
|
|
91
|
-
</button>
|
|
96
|
+
{#snippet icon()}<Icon svg={SettingsSvg} classes="icon-18" />{/snippet}
|
|
97
|
+
</Button>
|
|
92
98
|
</div>
|
|
93
99
|
</div>
|
|
94
100
|
</header>
|
|
@@ -108,19 +114,7 @@
|
|
|
108
114
|
$page.url.pathname.startsWith('/project') ||
|
|
109
115
|
$page.url.pathname.startsWith('/session')}
|
|
110
116
|
>
|
|
111
|
-
<svg
|
|
112
|
-
viewBox="0 0 24 24"
|
|
113
|
-
fill="none"
|
|
114
|
-
stroke="currentColor"
|
|
115
|
-
stroke-width="1.8"
|
|
116
|
-
stroke-linecap="round"
|
|
117
|
-
stroke-linejoin="round"
|
|
118
|
-
>
|
|
119
|
-
<rect x="3" y="3" width="7" height="7"></rect>
|
|
120
|
-
<rect x="14" y="3" width="7" height="7"></rect>
|
|
121
|
-
<rect x="3" y="14" width="7" height="7"></rect>
|
|
122
|
-
<rect x="14" y="14" width="7" height="7"></rect>
|
|
123
|
-
</svg>
|
|
117
|
+
<Icon svg={DashboardSvg} classes="icon-26" />
|
|
124
118
|
<span>Dashboard</span>
|
|
125
119
|
</a>
|
|
126
120
|
<a
|
|
@@ -128,7 +122,7 @@
|
|
|
128
122
|
class="tab-item"
|
|
129
123
|
class:active={$page.url.pathname.startsWith('/activity')}
|
|
130
124
|
>
|
|
131
|
-
<Icon
|
|
125
|
+
<Icon svg={BellSvg} classes="icon-26" />
|
|
132
126
|
<span>Activity</span>
|
|
133
127
|
</a>
|
|
134
128
|
<a
|
|
@@ -136,17 +130,7 @@
|
|
|
136
130
|
class="tab-item"
|
|
137
131
|
class:active={$page.url.pathname.startsWith('/terminals')}
|
|
138
132
|
>
|
|
139
|
-
<svg
|
|
140
|
-
viewBox="0 0 24 24"
|
|
141
|
-
fill="none"
|
|
142
|
-
stroke="currentColor"
|
|
143
|
-
stroke-width="1.8"
|
|
144
|
-
stroke-linecap="round"
|
|
145
|
-
stroke-linejoin="round"
|
|
146
|
-
>
|
|
147
|
-
<polyline points="4 17 10 11 4 5"></polyline>
|
|
148
|
-
<line x1="12" y1="19" x2="20" y2="19"></line>
|
|
149
|
-
</svg>
|
|
133
|
+
<Icon svg={TerminalSvg} classes="icon-26" />
|
|
150
134
|
<span>Terminals</span>
|
|
151
135
|
</a>
|
|
152
136
|
</div>
|
|
@@ -160,30 +144,24 @@
|
|
|
160
144
|
gap: var(--space-2);
|
|
161
145
|
}
|
|
162
146
|
|
|
163
|
-
.btn-gear {
|
|
164
|
-
|
|
165
|
-
color: var(--text-muted);
|
|
166
|
-
border: none;
|
|
167
|
-
padding: 0;
|
|
168
|
-
height: 36px;
|
|
169
|
-
width: 36px;
|
|
170
|
-
border-radius: var(--radius-md);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
align-items: center;
|
|
174
|
-
justify-content: center;
|
|
147
|
+
:global(.btn-gear) {
|
|
148
|
+
--button-color: transparent;
|
|
149
|
+
--button-text-color: var(--text-muted);
|
|
150
|
+
--button-border: none;
|
|
151
|
+
--button-padding: 0;
|
|
152
|
+
--button-height: 36px;
|
|
153
|
+
--button-width: 36px;
|
|
154
|
+
--button-border-radius: var(--radius-md);
|
|
155
|
+
--button-hover-color: var(--component-bg);
|
|
156
|
+
--button-hover-text-color: var(--text-primary);
|
|
175
157
|
}
|
|
176
|
-
.btn-gear:
|
|
177
|
-
background: var(--component-bg);
|
|
178
|
-
color: var(--text-primary);
|
|
179
|
-
}
|
|
180
|
-
.btn-gear:focus-visible {
|
|
158
|
+
:global(.btn-gear:focus-visible) {
|
|
181
159
|
outline: 2px solid var(--ds-green-700);
|
|
182
160
|
outline-offset: 2px;
|
|
183
161
|
}
|
|
184
|
-
.btn-gear-active {
|
|
185
|
-
|
|
186
|
-
color: var(--text-primary);
|
|
162
|
+
:global(.btn-gear-active) {
|
|
163
|
+
--button-color: var(--component-bg);
|
|
164
|
+
--button-text-color: var(--text-primary);
|
|
187
165
|
}
|
|
188
166
|
|
|
189
167
|
.content-area {
|
|
@@ -234,17 +212,15 @@
|
|
|
234
212
|
.tab-item.active {
|
|
235
213
|
color: var(--ds-green-700);
|
|
236
214
|
}
|
|
237
|
-
.tab-item :global(
|
|
238
|
-
width: 26px;
|
|
239
|
-
height: 26px;
|
|
215
|
+
.tab-item :global(.icon) {
|
|
240
216
|
flex-shrink: 0;
|
|
241
217
|
}
|
|
242
218
|
|
|
243
219
|
/* Mobile: page headers stack vertically, buttons wrap */
|
|
244
220
|
@media (max-width: 480px) {
|
|
245
|
-
.btn-gear {
|
|
246
|
-
height: 44px;
|
|
247
|
-
width: 44px;
|
|
221
|
+
:global(.btn-gear) {
|
|
222
|
+
--button-height: 44px;
|
|
223
|
+
--button-width: 44px;
|
|
248
224
|
}
|
|
249
225
|
.bottom-tabs {
|
|
250
226
|
height: 60px;
|
|
@@ -255,14 +231,12 @@
|
|
|
255
231
|
gap: 3px;
|
|
256
232
|
min-height: 44px;
|
|
257
233
|
}
|
|
258
|
-
.tab-item :global(svg) {
|
|
259
|
-
width: 24px;
|
|
260
|
-
height: 24px;
|
|
261
|
-
}
|
|
262
234
|
|
|
263
|
-
:global(.status-
|
|
235
|
+
:global(.pill-status-online),
|
|
236
|
+
:global(.pill-status-offline),
|
|
237
|
+
:global(.pill-status-degraded),
|
|
238
|
+
:global(.pill-status-unknown) {
|
|
264
239
|
font-size: 10px;
|
|
265
|
-
padding: 0 8px;
|
|
266
240
|
height: 22px;
|
|
267
241
|
}
|
|
268
242
|
|
package/src/routes/+page.svelte
CHANGED
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
import type { DashboardCard, ProjectGroup, ShooterConfig } from '$lib/types';
|
|
3
3
|
|
|
4
4
|
import { goto } from '$app/navigation';
|
|
5
|
+
import BellSvg from '$lib/assets/icons/bell.svg?raw';
|
|
6
|
+
import RefreshSvg from '$lib/assets/icons/refresh.svg?raw';
|
|
7
|
+
import SettingsSvg from '$lib/assets/icons/settings.svg?raw';
|
|
5
8
|
import {
|
|
6
9
|
clearCache,
|
|
7
|
-
EmptyState,
|
|
8
10
|
formatRelativeTime,
|
|
9
11
|
getCached,
|
|
10
|
-
Icon,
|
|
11
12
|
isShooterConfig,
|
|
12
13
|
setCache,
|
|
13
14
|
} from '$lib/modules/client/common';
|
|
14
15
|
import { connect, DashboardView, disconnect, getCards } from '$lib/modules/client/dashboard';
|
|
15
|
-
import { Banner, Button, Pill, Shimmer } from '@juspay/svelte-ui-components';
|
|
16
|
+
import { Banner, Button, EmptyState, Icon, Pill, Shimmer } from '@juspay/svelte-ui-components';
|
|
16
17
|
import { onDestroy, onMount } from 'svelte';
|
|
17
18
|
|
|
18
19
|
const POLL_INTERVAL_MS = 10_000;
|
|
@@ -158,7 +159,7 @@
|
|
|
158
159
|
</div>
|
|
159
160
|
<div class="page-actions">
|
|
160
161
|
<Button classes="btn-secondary" onclick={forceRefresh} disabled={loading}>
|
|
161
|
-
<Icon
|
|
162
|
+
<Icon svg={RefreshSvg} classes="icon-14" />
|
|
162
163
|
Refresh
|
|
163
164
|
</Button>
|
|
164
165
|
</div>
|
|
@@ -195,10 +196,10 @@
|
|
|
195
196
|
</div>
|
|
196
197
|
{:else if !config?.apiKey}
|
|
197
198
|
<EmptyState
|
|
198
|
-
icon="settings"
|
|
199
199
|
title="Configuration Required"
|
|
200
200
|
description="Set up your API credentials to start tracking sessions"
|
|
201
201
|
>
|
|
202
|
+
{#snippet icon()}<Icon svg={SettingsSvg} classes="icon-24" />{/snippet}
|
|
202
203
|
<Button classes="btn-primary" onclick={navigateToConfig} text="Configure Settings" />
|
|
203
204
|
</EmptyState>
|
|
204
205
|
{:else}
|
|
@@ -223,10 +224,11 @@
|
|
|
223
224
|
</div>
|
|
224
225
|
{:else if totalSessionCount() === 0 && cards.length === 0}
|
|
225
226
|
<EmptyState
|
|
226
|
-
icon="bell"
|
|
227
227
|
title="No sessions yet"
|
|
228
228
|
description="Claude Code sessions will appear here once JSONL files are found"
|
|
229
|
-
|
|
229
|
+
>
|
|
230
|
+
{#snippet icon()}<Icon svg={BellSvg} classes="icon-24" />{/snippet}
|
|
231
|
+
</EmptyState>
|
|
230
232
|
{:else if projects.length > 0}
|
|
231
233
|
{#if cards.length > 0}
|
|
232
234
|
<h3 class="section-label">Sessions</h3>
|
|
@@ -263,36 +265,6 @@
|
|
|
263
265
|
</main>
|
|
264
266
|
|
|
265
267
|
<style>
|
|
266
|
-
.page-header {
|
|
267
|
-
margin-bottom: var(--space-6);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.page-header-content {
|
|
271
|
-
display: flex;
|
|
272
|
-
justify-content: space-between;
|
|
273
|
-
align-items: flex-start;
|
|
274
|
-
gap: var(--space-4);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
.page-title {
|
|
278
|
-
font-size: var(--text-2xl);
|
|
279
|
-
font-weight: 700;
|
|
280
|
-
letter-spacing: -0.03em;
|
|
281
|
-
color: var(--text-primary);
|
|
282
|
-
margin-bottom: var(--space-1);
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
.page-description {
|
|
286
|
-
font-size: var(--text-sm);
|
|
287
|
-
color: var(--text-secondary);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
.page-actions {
|
|
291
|
-
display: flex;
|
|
292
|
-
gap: var(--space-2);
|
|
293
|
-
flex-shrink: 0;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
268
|
.stats-bar {
|
|
297
269
|
display: flex;
|
|
298
270
|
gap: 10px;
|
|
@@ -310,8 +282,8 @@
|
|
|
310
282
|
}
|
|
311
283
|
|
|
312
284
|
.stat-chip-active {
|
|
313
|
-
background:
|
|
314
|
-
border-color:
|
|
285
|
+
background: var(--ds-green-alpha-200);
|
|
286
|
+
border-color: var(--ds-green-alpha-400);
|
|
315
287
|
}
|
|
316
288
|
|
|
317
289
|
.stat-value {
|
|
@@ -321,7 +293,7 @@
|
|
|
321
293
|
}
|
|
322
294
|
|
|
323
295
|
.stat-chip-active .stat-value {
|
|
324
|
-
color:
|
|
296
|
+
color: var(--ds-green-500);
|
|
325
297
|
}
|
|
326
298
|
|
|
327
299
|
.stat-label {
|
|
@@ -350,23 +322,8 @@
|
|
|
350
322
|
}
|
|
351
323
|
|
|
352
324
|
@media (max-width: 768px) {
|
|
353
|
-
.page-header-content {
|
|
354
|
-
flex-direction: column;
|
|
355
|
-
gap: var(--space-4);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
325
|
.stats-bar {
|
|
359
326
|
flex-wrap: wrap;
|
|
360
327
|
}
|
|
361
328
|
}
|
|
362
|
-
|
|
363
|
-
@media (max-width: 480px) {
|
|
364
|
-
.page-actions {
|
|
365
|
-
width: 100%;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
.page-actions :global(button) {
|
|
369
|
-
flex: 1;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
329
|
</style>
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
import type { ConfigPageData, NativeBridgeConfig, ShooterConfig } from '$lib/types';
|
|
3
3
|
|
|
4
4
|
import { browser } from '$app/environment';
|
|
5
|
+
import AlertTriangleSvg from '$lib/assets/icons/alert-triangle.svg?raw';
|
|
6
|
+
import CheckCircleSvg from '$lib/assets/icons/check-circle.svg?raw';
|
|
7
|
+
import PlaySvg from '$lib/assets/icons/play.svg?raw';
|
|
8
|
+
import XCircleSvg from '$lib/assets/icons/x-circle.svg?raw';
|
|
5
9
|
import {
|
|
6
|
-
Card,
|
|
7
10
|
hasScanner,
|
|
8
|
-
Icon,
|
|
9
11
|
isShooterConfig,
|
|
10
12
|
scanQR,
|
|
11
13
|
toErrorMessage,
|
|
12
14
|
} from '$lib/modules/client/common';
|
|
13
15
|
import { PROVIDERS } from '$lib/modules/client/neurolink/provider-config';
|
|
14
|
-
import { Banner, Button, Input, Stepper } from '@juspay/svelte-ui-components';
|
|
16
|
+
import { Banner, Button, Card, Icon, Input, Stepper } from '@juspay/svelte-ui-components';
|
|
15
17
|
import { onMount } from 'svelte';
|
|
16
18
|
|
|
17
19
|
const { data }: { data: ConfigPageData } = $props();
|
|
@@ -398,15 +400,15 @@
|
|
|
398
400
|
</Card>
|
|
399
401
|
|
|
400
402
|
{#if result}
|
|
401
|
-
{@const
|
|
403
|
+
{@const bannerSvg =
|
|
402
404
|
statusType === 'success'
|
|
403
|
-
?
|
|
405
|
+
? CheckCircleSvg
|
|
404
406
|
: statusType === 'error'
|
|
405
|
-
?
|
|
406
|
-
:
|
|
407
|
+
? XCircleSvg
|
|
408
|
+
: AlertTriangleSvg}
|
|
407
409
|
<Banner text={result} classes="banner-{statusType || 'info'}">
|
|
408
410
|
{#snippet icon()}
|
|
409
|
-
<Icon
|
|
411
|
+
<Icon svg={bannerSvg} classes="icon-16" />
|
|
410
412
|
{/snippet}
|
|
411
413
|
</Banner>
|
|
412
414
|
{/if}
|
|
@@ -418,7 +420,7 @@
|
|
|
418
420
|
disabled={loading || !apiKey.trim()}
|
|
419
421
|
>
|
|
420
422
|
{#if !loading}
|
|
421
|
-
<Icon
|
|
423
|
+
<Icon svg={PlaySvg} classes="icon-14" />
|
|
422
424
|
{/if}
|
|
423
425
|
Test Connection
|
|
424
426
|
</Button>
|
|
@@ -501,8 +503,8 @@
|
|
|
501
503
|
{#each PROVIDERS as provider (provider.id)}
|
|
502
504
|
<div class="provider-row">
|
|
503
505
|
<Icon
|
|
504
|
-
|
|
505
|
-
|
|
506
|
+
svg={data.aiProviders[provider.id] ? CheckCircleSvg : XCircleSvg}
|
|
507
|
+
classes="icon-14"
|
|
506
508
|
/>
|
|
507
509
|
<span class="provider-label">{provider.label}</span>
|
|
508
510
|
<span class="provider-status" class:configured={data.aiProviders[provider.id]}>
|
|
@@ -545,23 +547,6 @@
|
|
|
545
547
|
padding-bottom: var(--space-6);
|
|
546
548
|
}
|
|
547
549
|
|
|
548
|
-
.page-header {
|
|
549
|
-
margin-bottom: var(--space-8);
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
.page-title {
|
|
553
|
-
font-size: var(--text-2xl);
|
|
554
|
-
font-weight: 600;
|
|
555
|
-
letter-spacing: -0.03em;
|
|
556
|
-
color: var(--text-primary);
|
|
557
|
-
margin-bottom: var(--space-1);
|
|
558
|
-
}
|
|
559
|
-
|
|
560
|
-
.page-description {
|
|
561
|
-
font-size: var(--text-sm);
|
|
562
|
-
color: var(--text-secondary);
|
|
563
|
-
}
|
|
564
|
-
|
|
565
550
|
.settings-grid {
|
|
566
551
|
display: grid;
|
|
567
552
|
grid-template-columns: 1fr 320px;
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
|
|
4
4
|
import { goto } from '$app/navigation';
|
|
5
5
|
import { page } from '$app/state';
|
|
6
|
+
import AlertTriangleSvg from '$lib/assets/icons/alert-triangle.svg?raw';
|
|
7
|
+
import BellSvg from '$lib/assets/icons/bell.svg?raw';
|
|
8
|
+
import RefreshSvg from '$lib/assets/icons/refresh.svg?raw';
|
|
6
9
|
import {
|
|
7
10
|
clearCache,
|
|
8
|
-
EmptyState,
|
|
9
11
|
formatRelativeTime,
|
|
10
12
|
getCached,
|
|
11
|
-
Icon,
|
|
12
13
|
isShooterConfig,
|
|
13
14
|
setCache,
|
|
14
15
|
} from '$lib/modules/client/common';
|
|
15
|
-
import { Banner, Button, Pill, Shimmer } from '@juspay/svelte-ui-components';
|
|
16
|
+
import { Banner, Button, EmptyState, Icon, Pill, Shimmer } from '@juspay/svelte-ui-components';
|
|
16
17
|
import { onDestroy, onMount } from 'svelte';
|
|
17
18
|
|
|
18
19
|
const POLL_INTERVAL_MS = 15_000;
|
|
@@ -246,16 +247,17 @@
|
|
|
246
247
|
</a>
|
|
247
248
|
</div>
|
|
248
249
|
<EmptyState
|
|
249
|
-
icon="alert-triangle"
|
|
250
250
|
title="Project Not Found"
|
|
251
251
|
description="The requested project could not be found."
|
|
252
|
-
|
|
252
|
+
>
|
|
253
|
+
{#snippet icon()}<Icon svg={AlertTriangleSvg} classes="icon-24" />{/snippet}
|
|
254
|
+
</EmptyState>
|
|
253
255
|
{:else}
|
|
254
256
|
<div class="chat-session-header">
|
|
255
257
|
<div class="chat-session-header-top">
|
|
256
258
|
<a href="/" class="back-link">← Back to Projects</a>
|
|
257
259
|
<Button classes="btn-secondary" onclick={forceRefresh} disabled={loading}>
|
|
258
|
-
<Icon
|
|
260
|
+
<Icon svg={RefreshSvg} classes="icon-14" />
|
|
259
261
|
Refresh
|
|
260
262
|
</Button>
|
|
261
263
|
</div>
|
|
@@ -268,10 +270,11 @@
|
|
|
268
270
|
|
|
269
271
|
{#if project.sessions.length === 0}
|
|
270
272
|
<EmptyState
|
|
271
|
-
icon="bell"
|
|
272
273
|
title="No sessions yet"
|
|
273
274
|
description="Sessions for this project will appear here"
|
|
274
|
-
|
|
275
|
+
>
|
|
276
|
+
{#snippet icon()}<Icon svg={BellSvg} classes="icon-24" />{/snippet}
|
|
277
|
+
</EmptyState>
|
|
275
278
|
{:else}
|
|
276
279
|
<div class="sessions-container">
|
|
277
280
|
{#each visibleSessions as session (session.id)}
|
|
@@ -377,7 +380,7 @@
|
|
|
377
380
|
width: 6px;
|
|
378
381
|
height: 6px;
|
|
379
382
|
border-radius: 50%;
|
|
380
|
-
background:
|
|
383
|
+
background: var(--ds-green-500);
|
|
381
384
|
margin-right: 2px;
|
|
382
385
|
flex-shrink: 0;
|
|
383
386
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { page } from '$app/state';
|
|
13
13
|
import { getCached, setCache } from '$lib/modules/client/common';
|
|
14
14
|
import ChatView from '$lib/modules/client/terminal/ChatView.svelte';
|
|
15
|
-
import { Shimmer } from '@juspay/svelte-ui-components';
|
|
15
|
+
import { Button, Shimmer } from '@juspay/svelte-ui-components';
|
|
16
16
|
import { onMount } from 'svelte';
|
|
17
17
|
|
|
18
18
|
// --- State ---
|
|
@@ -584,9 +584,12 @@
|
|
|
584
584
|
<div class="session-chat-container">
|
|
585
585
|
{#if hasMoreMessages}
|
|
586
586
|
<div class="load-earlier-row">
|
|
587
|
-
<
|
|
588
|
-
{loadingMore ? 'Loading...' : 'Load earlier messages'}
|
|
589
|
-
|
|
587
|
+
<Button
|
|
588
|
+
text={loadingMore ? 'Loading...' : 'Load earlier messages'}
|
|
589
|
+
classes="btn-ghost btn-sm"
|
|
590
|
+
disabled={loadingMore}
|
|
591
|
+
onclick={loadEarlierMessages}
|
|
592
|
+
/>
|
|
590
593
|
</div>
|
|
591
594
|
{/if}
|
|
592
595
|
<ChatView
|
|
@@ -644,18 +647,8 @@
|
|
|
644
647
|
|
|
645
648
|
.resume-status {
|
|
646
649
|
font-size: 0.75rem;
|
|
647
|
-
color: var(--text-tertiary
|
|
648
|
-
animation: pulse 1.5s ease-in-out infinite;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
@keyframes pulse {
|
|
652
|
-
0%,
|
|
653
|
-
100% {
|
|
654
|
-
opacity: 1;
|
|
655
|
-
}
|
|
656
|
-
50% {
|
|
657
|
-
opacity: 0.4;
|
|
658
|
-
}
|
|
650
|
+
color: var(--text-tertiary);
|
|
651
|
+
animation: pulse-dot 1.5s ease-in-out infinite;
|
|
659
652
|
}
|
|
660
653
|
|
|
661
654
|
.connection-dot {
|
|
@@ -667,12 +660,12 @@
|
|
|
667
660
|
}
|
|
668
661
|
|
|
669
662
|
.connection-dot.connected {
|
|
670
|
-
background:
|
|
663
|
+
background: var(--ds-green-500);
|
|
671
664
|
}
|
|
672
665
|
|
|
673
666
|
.connection-dot.reconnecting {
|
|
674
|
-
background:
|
|
675
|
-
animation: pulse 1s ease-in-out infinite;
|
|
667
|
+
background: var(--ds-amber-700);
|
|
668
|
+
animation: pulse-dot 1s ease-in-out infinite;
|
|
676
669
|
}
|
|
677
670
|
|
|
678
671
|
/* Chat container fills remaining space */
|
|
@@ -692,23 +685,4 @@
|
|
|
692
685
|
border-bottom: 1px solid var(--border);
|
|
693
686
|
}
|
|
694
687
|
|
|
695
|
-
.load-earlier-btn {
|
|
696
|
-
font-size: 0.8rem;
|
|
697
|
-
color: var(--text-secondary);
|
|
698
|
-
background: none;
|
|
699
|
-
border: 1px solid var(--border);
|
|
700
|
-
border-radius: var(--radius-sm, 4px);
|
|
701
|
-
padding: 4px 12px;
|
|
702
|
-
cursor: pointer;
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
.load-earlier-btn:disabled {
|
|
706
|
-
opacity: 0.5;
|
|
707
|
-
cursor: not-allowed;
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
.load-earlier-btn:hover:not(:disabled) {
|
|
711
|
-
color: var(--text-primary);
|
|
712
|
-
border-color: var(--text-tertiary, #888);
|
|
713
|
-
}
|
|
714
688
|
</style>
|