prreviewbuddy 0.46.0 → 0.49.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/CHANGELOG.md +87 -0
- package/dist/{delete_review-lmVdoybL.js → delete_review-BBjXPfMV.js} +183 -32
- package/dist/main.js +1 -3
- package/dist/server.js +596 -184
- package/package.json +1 -1
- package/static/chunk-BeqgAIrQ.js +1 -1
- package/static/chunk-vvGSmhmc.js +1 -0
- package/static/reviews.js +1 -1
- package/static/settings.js +1 -1
- package/static/shell.css +259 -157
- package/static/workspace.js +62 -62
- package/static/chunk-CmPWaXhU.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prreviewbuddy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Review a branch or pull request in an isolated checkout, from your terminal, with the coding agent you already have installed.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://prreviewbuddy.com",
|
package/static/chunk-BeqgAIrQ.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-DdkvfxwB.js","chunk-DsF7k-Jl.js","chunk-BWjKdrB5.js","chunk-hePW80VL.js","chunk-CN9Gw02i.js","workspace.js","chunk-BeL0x-wt.js","chunk-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-DdkvfxwB.js","chunk-DsF7k-Jl.js","chunk-BWjKdrB5.js","chunk-hePW80VL.js","chunk-CN9Gw02i.js","workspace.js","chunk-BeL0x-wt.js","chunk-vvGSmhmc.js","chunk-DJ4Pz6CG.js","chunk-B2kMZj3m.js","chunk-DN473Oml.js","chunk-DwZ_OKDV.js","chunk-CFLfawWY.js","chunk-Wc3Sd0cy.js","chunk-Dy-Kn_BL.js","chunk-CUxm3YXF.js","chunk-tz4nb_gp.js","chunk-BsaS8BTP.js","chunk-fybaL0A-.js","chunk-BifhSqXX.js","chunk-DS17s2tU.js","chunk-BvO9qrHb.js","chunk-nU5620mN.js","chunk-Bh1X0--a.js","chunk-Br7K6EJO.js","chunk-CGd-uY3x.js","chunk-CmOPaNov.js","chunk-C3zyi6X6.js","chunk-DOebnhRz.js","chunk-yqeNYXbH.js","chunk-CG_wK_-W.js","chunk-i2ycf8WY.js","chunk-Dx2-dNbd.js","chunk-DDhk861e.js","chunk-Wi1hfKnY.js","chunk-BYPUwVJd.js","chunk-B0sWk9pb.js","chunk-xyBkudn9.js","chunk-CU_yc7c0.js","chunk-DHwB1DNv.js","chunk-C6X32c5Y.js","chunk-DxSMoRAg.js","chunk-COmCkMOw.js","chunk-D1rSZHoG.js","chunk-BFoDCU3G.js","chunk-C-OQMol4.js","chunk-BwpXVz85.js","chunk-BKQNYMf0.js","chunk-CQhDWCuO.js","chunk-CLNPO3K2.js","chunk-gyMXflOg.js","chunk-B6QMLbPb.js","chunk-CNECTSY3.js","chunk-BveIbUwm.js","chunk-Bz6J7zHc.js","chunk-DmCmlw77.js","chunk-BNE4vRAl.js","chunk-Dgyv2z85.js","chunk-BgAz67x8.js","chunk-DYSi9-67.js","chunk-PhC9V0kv.js","chunk-CNG5uajc.js","chunk-CWJTY3LS.js","chunk-BLYKMRgX.js","chunk-B-z83rju.js","chunk-DYi0PdOM.js","chunk-I02WWcy5.js","chunk-CVHEykQZ.js","chunk-Tk2BGjOK.js","chunk-745C7DWL.js","chunk-BhOdd-9U.js","chunk-2cPIwDyu.js","chunk-CVKo9lqM.js","chunk-IT8Wx1rP.js","chunk-BOGxj-MG.js","chunk-DecH1K7C.js","chunk-BFC1myXj.js","chunk-CqXMuRFL.js","chunk-Cuz7gAE5.js","chunk-DFxPlKZ4.js","chunk-Dlx_va8c.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{t as e}from"./workspace.js";import{n as t}from"./chunk-DsF7k-Jl.js";import{h as n,m as r,p as i}from"./chunk-BWjKdrB5.js";import{$ as a,C as o,E as s,I as c,L as l,N as u,P as d,Q as f,S as p,T as m,V as h,W as g,X as _,Z as v,_ as y,b,c as x,g as S,l as C,m as w,n as T,p as E,q as D,r as O,s as k,t as A,u as j,x as M}from"./chunk-CN9Gw02i.js";import{S as N,a as ee,d as P,f as F,g as I,h as L,i as R,o as te,v as ne,x as re,y as ie}from"./chunk-DJ4Pz6CG.js";import{r as ae}from"./chunk-DN473Oml.js";import{i as oe}from"./chunk-DwZ_OKDV.js";import"./chunk-CFLfawWY.js";import{a as se}from"./chunk-Wc3Sd0cy.js";import{i as ce,n as le,r as ue,t as de}from"./chunk-CUxm3YXF.js";import{a as fe,c as pe,i as z,l as B,n as me,r as he,s as ge,t as _e}from"./chunk-tz4nb_gp.js";import{t as ve}from"./chunk-DS17s2tU.js";import{n as ye,t as be}from"./chunk-nU5620mN.js";var xe=t(e=>{let{securityLevel:t}=M(),n=i(`body`);if(t===`sandbox`){let t=i(`#i${e}`).node()?.contentDocument??document;n=i(t.body)}return n.select(`#${e}`)},`selectSvgElement`);function Se(e){let t=e?.constructor;return e===(typeof t==`function`?t.prototype:Object.prototype)}function Ce(e){if(e==null)return!0;if(re(e))return typeof e.splice!=`function`&&typeof e!=`string`&&!N(e)&&!ne(e)&&!ie(e)?!1:e.length===0;if(typeof e==`object`||typeof e==`function`){if(e instanceof Map||e instanceof Set)return e.size===0;let t=Object.keys(e);return Se(e)?t.filter(e=>e!==`constructor`).length===0:t.length===0}return!0}var we={common:k,getConfig:b,insertCluster:ye,insertEdge:z,insertEdgeLabel:fe,insertMarkers:ge,insertNode:ue,interpolateToCurve:P,labelHelper:se,log:r,positionEdgeLabel:pe},Te={},Ee=t(e=>{for(let t of e)Te[t.name]=t},`registerLayoutLoaders`);t(()=>{Ee([{name:`dagre`,loader:t(async()=>await e(()=>import(`./chunk-DdkvfxwB.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),`loader`)},{name:`swimlane`,loader:t(async()=>await e(()=>import(`./chunk-Bh1X0--a.js`),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,22])),`loader`)},{name:`cose-bilkent`,loader:t(async()=>await e(()=>import(`./chunk-Br7K6EJO.js`),__vite__mapDeps([24,3,1,2,25])),`loader`)}])},`registerDefaultLayoutLoaders`)();var De=t(async(e,t)=>{if(!(e.layoutAlgorithm in Te))throw Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(let t of e.nodes){let n=t.domId||t.id;t.domId=`${e.diagramId}-${n}`}let n=Te[e.layoutAlgorithm],r=await n.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:o,gradientStart:s,gradientStop:c}=a,l=t.attr(`id`);if(t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow`).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow-small`).attr(`height`,`150%`).attr(`width`,`150%`).append(`feDropShadow`).attr(`dx`,`2`).attr(`dy`,`2`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),o){let e=t.append(`linearGradient`).attr(`id`,t.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);e.append(`svg:stop`).attr(`offset`,`0%`).attr(`stop-color`,s).attr(`stop-opacity`,1),e.append(`svg:stop`).attr(`offset`,`100%`).attr(`stop-color`,c).attr(`stop-opacity`,1)}return r.render(e,t,we,{algorithm:n.algorithm})},`render`),Oe=t((e=``,{fallback:t=`dagre`}={})=>{if(e in Te)return e;if(t in Te)return r.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw Error(`Both layout algorithms ${e} and ${t} are not registered.`)},`getRegisteredLayoutAlgorithm`);function ke(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}t(ke,`createLayoutElementGroups`);async function Ae(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await se(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}t(Ae,`measureGroupLabel`);async function je(e,t,n){let r=await ue(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}t(je,`insertMeasuredNode`);async function Me(t,n){let r=new ve({multigraph:!0,compound:!0}),i=[...n.edges],a=M(),o=ke(t),{edgeLabels:s,nodes:c}=o,l=new Map,u=t.node()!=null;await Promise.all(n.nodes.map(async e=>{if(e.isGroup)u&&await Ae(c,e),r.setNode(e.id,{...e});else{if(u){let t=await je(c,e,{config:a,dir:e.dir});l.set(e.id,t)}r.setNode(e.id,{...e})}}));for(let e of i)u&&he(e)&&await fe(s,e),r.setEdge(e.start,e.end,{...e},e.id),n.edges.some(t=>t.id===e.id)||n.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await e(async()=>{let{captureNodeSizes:e}=await import(`./chunk-CmOPaNov.js`);return{captureNodeSizes:e}},__vite__mapDeps([26,1]));r(t,n)}return{graph:r,groups:o,nodeElements:l}}t(Me,`createGraphWithElements`);var V=new Map,H=new Map,Ne=new Map,Pe=t(()=>{H.clear(),Ne.clear(),V.clear()},`clear`),Fe=t((e,t)=>{let n=H.get(t)||[];return r.trace(`In isDescendant`,t,` `,e,` = `,n.includes(e)),n.includes(e)},`isDescendant`),Ie=t((e,t)=>{let n=H.get(t)||[];return r.info(`Descendants of `,t,` is `,n),r.info(`Edge is `,e),e.v===t||e.w===t?!1:n?n.includes(e.v)||Fe(e.v,t)||Fe(e.w,t)||n.includes(e.w):(r.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),Le=t((e,t,n,i)=>{r.debug(`Copying children of `,e,`root`,i,`data`,t.node(e),i);let a=t.children(e)||[];e!==i&&a.push(e),r.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(t.children(a).length>0)Le(a,t,n,i);else{let o=t.node(a);r.info(`cp `,a,` to `,i,` with parent `,e),n.setNode(a,o),i!==t.parent(a)&&(r.debug(`Setting parent`,a,t.parent(a)),n.setParent(a,t.parent(a))),e!==i&&a!==e?(r.debug(`Setting parent`,a,e),n.setParent(a,e)):(r.info(`In copy `,e,`root`,i,`data`,t.node(e),i),r.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=t.edges(a);r.debug(`Copying Edges`,s),s.forEach(a=>{r.info(`Edge`,a);let o=t.edge(a.v,a.w,a.name);r.info(`Edge data`,o,i);try{Ie(a,i)?(r.info(`Copying as `,a.v,a.w,o,a.name),n.setEdge(a.v,a.w,o,a.name),r.info(`newGraph edges `,n.edges(),n.edge(n.edges()[0]))):r.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){r.error(e)}})}r.debug(`Removing node`,a),t.removeNode(a)})},`copy`),Re=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)Ne.set(i,e),r=[...r,...Re(i,t)];return r},`extractDescendants`),ze=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),Be=t((e,t,n)=>{let i=t.children(e);if(r.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let r=Be(e,t,n),i=ze(t,n,r);if(r){if(i.length>0)a=r;else return r}}return a},`findNonClusterChild`),Ve=t(e=>!V.has(e)||!V.get(e).externalConnections?e:V.has(e)?V.get(e).id:e,`getAnchorId`),He=t((e,t)=>{if(!e||t>10){r.debug(`Opting out, no graph `);return}r.debug(`Opting in, graph `),e.nodes().forEach(function(t){e.children(t).length>0&&(r.debug(`Cluster identified`,t,` Replacement id in edges: `,Be(t,e,t)),H.set(t,Re(t,e)),V.set(t,{id:Be(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),i=e.edges();n.length>0?(r.debug(`Cluster identified`,t,H),i.forEach(e=>{Fe(e.v,t)^Fe(e.w,t)&&(r.debug(`Edge: `,e,` leaves cluster `,t),r.debug(`Descendants of XXX `,t,`: `,H.get(t)),V.get(t).externalConnections=!0)})):r.debug(`Not a cluster `,t,H)});for(let t of V.keys()){let n=V.get(t).id,r=e.parent(n);r!==t&&V.has(r)&&!V.get(r).externalConnections&&(V.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&V.get(t)?.externalConnections&&i&&Ke(e,n,t)){let r=qe(e,t,e.parent(n));r&&(V.get(t).id=r)}}e.edges().forEach(function(t){let n=e.edge(t);r.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),r.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let i=t.v,a=t.w;if(r.debug(`Fix XXX`,V,`ids:`,t.v,t.w,`Translating: `,V.get(t.v),` --- `,V.get(t.w)),V.get(t.v)||V.get(t.w)){if(r.debug(`Fixing and trying - removing XXX`,t.v,t.w,t.name),i=Ve(t.v),a=Ve(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){let r=e.parent(i);V.get(r).externalConnections=!0,n.fromCluster=t.v}if(a!==t.w){let r=e.parent(a);V.get(r).externalConnections=!0,n.toCluster=t.w}r.debug(`Fix Replacing with XXX`,i,a,t.name),e.setEdge(i,a,n,t.name)}}),Ue(e,0),r.trace(V)},`adjustClustersAndEdges`),Ue=t((e,t)=>{if(t>10){r.error(`Bailing out`);return}let n=e.nodes(),i=!1;for(let t of n){let n=e.children(t);i||=n.length>0}if(!i){r.debug(`Done, no node has children`,e.nodes());return}r.debug(`Nodes = `,n,t);for(let i of n)if(r.debug(`Extracting node`,i,V,V.has(i)&&!V.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,t),!V.has(i))r.debug(`Not a cluster`,i,t);else if(!V.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){r.debug(`Cluster without external connections, without a parent and with children`,i,t);let n=e.graph().rankdir===`TB`?`LR`:`TB`;V.get(i)?.clusterData?.dir&&(n=V.get(i).clusterData.dir,r.debug(`Fixing dir`,V.get(i).clusterData.dir,n));let a=new ve({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Le(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:V.get(i).clusterData,label:V.get(i).label,graph:a})}else r.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!V.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),t),r.debug(V);n=e.nodes(),r.debug(`New list of nodes`,n);for(let i of n){let n=e.node(i);r.debug(` Now next level`,i,n),n?.clusterNode&&Ue(n.graph,t+1)}},`extractor`),We=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=We(e,e.children(t));n=[...n,...r]}),n},`sorter`),Ge=t(e=>We(e,e.children()),`sortNodesByHierarchy`),Ke=t((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=V.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),qe=t((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||Fe(i,n))continue;let r=Be(i,e,t);if(r&&!Ke(e,r,t))return r}return null},`findSafeAnchorNode`);function Je({prepareLayout:e,measureLayout:n,runLayoutCore:r,paintLayout:i,afterPaint:a,paintOptions:o}){let s=n??Xe;return t(async function(t,n,c,l){let u=n.select(`g`);(c?.insertMarkers??ge)(u,t.markers,t.type,t.diagramId),Ye();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await r(t,d),m={...d,measure:f};i?await i(t,m,p):await Ze(t,m,o),await a?.(t,m,p)},`render`)}t(Je,`createCommonLayoutRenderer`);function Ye(){de(),_e(),be(),Pe()}t(Ye,`clearLayoutRenderState`);async function Xe(e,{element:t}){return await Me(t,e)}t(Xe,`defaultMeasureLayout`);async function Ze(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await Qe(i,r,t,n);let a=et(e.nodes);for(let r of e.edges)tt(r,n)||await nt(i,r,a,e,n,t)}t(Ze,`paintLayoutData`);async function Qe(e,t,n,r){t.clusterNode?ce(t):$e(t,n,r)?await ye(e.clusters,t):ce(t)}t(Qe,`paintLayoutNode`);function $e(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}t($e,`shouldPaintAsCluster`);function et(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}t(et,`buildNodeLookup`);function tt(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}t(tt,`shouldSkipPaintEdge`);async function nt(e,t,n,r,i,a){let o=z(e.edgePaths,{...t},i.clusterDb??new Map,r.type,rt(t.start,t,n,a,i),rt(t.end,t,n,a,i),r.diagramId,it(t,i));he(t)&&(me.has(t.id)||await fe(e.edgeLabels,t),at(t,o))}t(nt,`paintLayoutEdge`);function rt(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}t(rt,`getRenderedNode`);function it(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}t(it,`shouldSkipIntersect`);function at(e,t){let n=t?.updatedPath??t?.originalPath,i=b(),{subGraphTitleTotalMargin:a}=le({flowchart:i.flowchart??{}});if(e.label){let i=me.get(e.id),o=e.x,s=e.y;if(n){let i=I.calcLabelPosition(n);r.debug(`Moving label `+e.label+` from (`,o,`,`,s,`) to (`,i.x,`,`,i.y,`) abc88`),t?.updatedPath&&(o=i.x,s=i.y)}i.attr(`transform`,`translate(${o}, ${s+a/2})`)}if(e?.startLabelLeft){let t=B.get(e.id).startLeft,r=e?.x,i=e?.y;if(n){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.startLabelRight){let t=B.get(e.id).startRight,r=e.x,i=e.y;if(n){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=B.get(e.id).endLeft,r=e.x,i=e.y;if(n){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelRight){let t=B.get(e.id).endRight,r=e.x,i=e.y;if(n){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}}t(at,`positionRenderedEdgeLabel`);function ot(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}t(ot,`getDefaultExportFromCjs`);var U={},st={},W={},ct;function G(){if(ct)return W;ct=1;function e(e){return e==null}t(e,`isNothing`);function n(e){return typeof e==`object`&&!!e}t(n,`isObject`);function r(t){return Array.isArray(t)?t:e(t)?[]:[t]}t(r,`toArray`);function i(e,t){if(t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r+=1){let i=n[r];e[i]=t[i]}}return e}t(i,`extend`);function a(e,t){let n=``;for(let r=0;r<t;r+=1)n+=e;return n}t(a,`repeat`);function o(e){return e===0&&1/e==-1/0}return t(o,`isNegativeZero`),W.isNothing=e,W.isObject=n,W.toArray=r,W.repeat=a,W.isNegativeZero=o,W.extend=i,W}t(G,`requireCommon`);var lt,ut;function dt(){if(ut)return lt;ut=1;function e(e,t){let n=``,r=e.reason||`(unknown reason)`;return e.mark?(e.mark.name&&(n+=`in "`+e.mark.name+`" `),n+=`(`+(e.mark.line+1)+`:`+(e.mark.column+1)+`)`,!t&&e.mark.snippet&&(n+=`
|
|
3
3
|
|
|
4
4
|
`+e.mark.snippet),r+` `+n):r}t(e,`formatError`);function n(t,n){Error.call(this),this.name=`YAMLException`,this.reason=t,this.mark=n,this.message=e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||``}return t(n,`YAMLException2`),n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n.prototype.toString=t(function(t){return this.name+`: `+e(this,t)},`toString`),lt=n,lt}t(dt,`requireException`);var ft,pt;function mt(){if(pt)return ft;pt=1;let e=G();function n(e,t,n,r,i){let a=``,o=``,s=Math.floor(i/2)-1;return r-t>s&&(a=` ... `,t=r-s+a.length),n-r>s&&(o=` ...`,n=r+s-o.length),{str:a+e.slice(t,n).replace(/\t/g,`→`)+o,pos:r-t+a.length}}t(n,`getLine`);function r(t,n){return e.repeat(` `,n-t.length)+t}t(r,`padStart`);function i(t,i){if(i=Object.create(i||null),!t.buffer)return null;i.maxLength||(i.maxLength=79),typeof i.indent!=`number`&&(i.indent=1),typeof i.linesBefore!=`number`&&(i.linesBefore=3),typeof i.linesAfter!=`number`&&(i.linesAfter=2);let a=/\r?\n|\r|\0/g,o=[0],s=[],c,l=-1;for(;c=a.exec(t.buffer);)s.push(c.index),o.push(c.index+c[0].length),t.position<=c.index&&l<0&&(l=o.length-2);l<0&&(l=o.length-1);let u=``,d=Math.min(t.line+i.linesAfter,s.length).toString().length,f=i.maxLength-(i.indent+d+3);for(let a=1;a<=i.linesBefore&&!(l-a<0);a++){let c=n(t.buffer,o[l-a],s[l-a],t.position-(o[l]-o[l-a]),f);u=e.repeat(` `,i.indent)+r((t.line-a+1).toString(),d)+` | `+c.str+`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`prb-scroll-keep`;function t(t,r){let i=()=>`${t.location.pathname}${t.location.hash}`;t.addEventListener(`pagehide`,()=>{let n={key:i(),pane:r?.scrollTop??0,window:t.scrollY};try{t.sessionStorage.setItem(e,JSON.stringify(n))}catch{}});let a=null;try{let n=t.sessionStorage.getItem(e);t.sessionStorage.removeItem(e),a=n?JSON.parse(n):null}catch{return}if(!a||a.key!==i()||!n(t))return;try{t.history.scrollRestoration=`manual`}catch{}r&&(r.scrollTop=a.pane),a.window&&t.scrollTo(0,a.window);let o=r?.scrollTop??0,s=a.pane;t.addEventListener(`load`,()=>{r&&r.scrollTop===o&&o!==s&&(r.scrollTop=s)},{once:!0})}function n(e){return e.performance?.getEntriesByType?.(`navigation`)[0]?.type===`reload`}async function r(e,t){try{await navigator.clipboard.writeText(t);let n=e.textContent;e.textContent=`Copied`,window.setTimeout(()=>{e.textContent=n},1200)}catch{let n=document.createElement(`input`);n.type=`text`,n.readOnly=!0,n.value=t,n.className=`prb-menu-id`,n.setAttribute(`data-id-field`,``),e.after(n),n.select()}}function i(e){return e<3e4?1e3:e<12e4?3e3:e<6e5?8e3:15e3}var a=[`all`,`queue`,`saved`,`in-progress`,`complete`],o=[`any`,`open`,`merged`,`closed`];function s(e,t){let n=`${e} review${e===1?``:`s`}`;return e===t?n:`${n} · ${t} branch${t===1?``:`es`}`}function c(e,t,n){let r={active:{shown:[],total:0},waiting:{shown:[],total:0},done:{shown:[],total:0}};for(let i of e){let e=t(i),a=r[e];a.total<n[e]&&a.shown.push(i),a.total+=1}return r}function l(){return{active:15,waiting:15,done:15}}function u(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=t.get(`f`)??``,r=t.get(`pr`)??``;return{query:t.get(`q`)??``,filter:a.includes(n)?n:`all`,author:t.get(`by`)??``,pr:o.includes(r)?r:`any`}}function d(e){let t=new URLSearchParams;e.query!==``&&t.set(`q`,e.query),e.filter!==`all`&&t.set(`f`,e.filter),e.author!==``&&t.set(`by`,e.author),e.pr!==`any`&&t.set(`pr`,e.pr);let n=t.toString();return n===``?``:`#${n}`}function f(e,t){return t===`all`||t===`queue`?!0:t===`saved`?e.pinned===!0:e.status===t}function p(e,t){return t===`any`||e.prState===t}function m(e,t){return t===``||e===t}function h(e){return e===`complete`?`Mark reviewed`:`Mark in progress`}function g(e){return e?`Remove from saved`:`Save review`}function _(e){return e?`Remove from review queue`:`Add to review queue`}function v(e,t){let n=t.query.trim().toLowerCase();return y(e.filter(e=>(!n||e.searchText.includes(n))&&f(e,t.filter)&&m(e.author,t.author)&&p(e,t.pr)),t.filter)}function y(e,t){return t===`queue`?e.filter(e=>e.queue!==void 0).sort((e,t)=>(e.queue??0)-(t.queue??0)):e}function b(e){return e===0?`Queue`:`Queue (${e})`}function x(e){return e===`complete`?`Reviewed`:e===`in-progress`?`In progress`:`New`}function S(e,t){if(e===0)return`Nothing selected`;let n=`${e} selected`;return t>0?`${n} · ${t} not shown`:n}function C(e){return e===0?`Select all`:`Select all ${e}`}function w(e){return e===0?`Delete`:`Delete ${e} review${e===1?``:`s`}`}function T(e){return`${w(e)}?`}function E(e,t,n){return e===``||t===``||t===e?`wait`:n?`hold`:`reload`}var D=[{id:`active`,name:`Active`,action:`Move to active`},{id:`waiting`,name:`Waiting`,action:`Mark waiting`},{id:`done`,name:`Done`,action:`Mark done`}];function O(e){if(typeof e!=`object`||!e)return;let{state:t,at:n}=e;if(!(t!==`waiting`&&t!==`done`||typeof n!=`number`||!Number.isFinite(n)))return{state:t,at:n}}function k(e,t){if(!e)return;let n=j(e,t);return n===void 0?{text:D.find(t=>t.id===e.state).name,changed:!1}:{text:n,changed:!0}}function A(e,t){return!e||e.state===`waiting`&&M(e,t)?`active`:e.state}function j(e,t){if(!(!e||!M(e,t)))return e.state===`waiting`?`Changed while waiting`:`Changed since done`}function M(e,t){return t!==void 0&&t.kind!==`created`&&t.at>e.at}function N(e,t,n){return j(t,n)!==void 0||e!==(t?.state??`active`)}export{r as C,i as S,g as _,A as a,S as b,T as c,l as d,h as f,E as g,b as h,O as i,v as l,_ as m,k as n,s as o,u as p,N as r,w as s,j as t,d as u,c as v,t as w,x,C as y};
|
package/static/reviews.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,n as r,t as i}from"./chunk-BeL0x-wt.js";import{_ as a,a as o,c as ee,f as te,g as ne,h as re,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,s as de,t as fe,u as pe}from"./chunk-CmPWaXhU.js";function me(e,t){t.forEach((t,n)=>{e.children[n]!==t&&e.insertBefore(t,e.children[n]??null)})}var s=`Fetch updates`,he=`Fetch selected`;function c(e){return`${e} ${e===1?`repository`:`repositories`}`}function ge(e){return`Fetching ${c(e)}…`}function _e(e){return e.fetched===0?`Could not fetch ${c(e.repositories)}`:e.fetched===e.repositories?`Fetched ${c(e.repositories)}`:`Fetched ${e.fetched} of ${c(e.repositories)}`}function ve(e,t){let n=new Set,r=new Set;for(let i of e)for(let e of i.lineage){let i=t[e];i!==void 0&&(n.add(e),r.add(i))}return{ids:[...n],repositories:r.size}}i(`/restart`);var l=[...document.querySelectorAll(`[data-card]`)],ye=document.querySelector(`[data-cards]`),u=document.querySelector(`.prb-index`);function be(e){return{id:e.dataset.id??``,queue:e.dataset.queue===void 0?void 0:Number(e.dataset.queue),status:e.dataset.status??`new`,pinned:e.dataset.pinned===`true`,prState:e.dataset.prState}}var d=document.querySelector(`[data-search]`),f=document.querySelector(`[data-status-filter]`),p=document.querySelector(`[data-author-filter]`),m=document.querySelector(`[data-pr-filter]`),h=document.querySelector(`[data-no-matches]`),g=document.querySelector(`[data-count]`),_=document.querySelector(`[data-pager]`),v=document.querySelector(`[data-pages]`),y=document.querySelector(`[data-bulk]`),b=document.querySelector(`[data-bulk-count]`),x=document.querySelector(`[data-bulk-delete]`),S=document.querySelector(`[data-bulk-question]`),C=document.querySelector(`[data-bulk-confirm]`),w=document.querySelector(`[data-bulk-actions]`),T=document.querySelector(`[data-bulk-error]`),E=document.querySelector(`[data-bulk-select-all]`),D=ee(window.location.hash),O=new Set,k=!1,A=document.querySelector(`[data-fetch-updates]`),j=document.querySelector(`[data-bulk-fetch]`),M={},N=[],P=!1;function F(){let e=D.query.trim().toLowerCase();D.author!==``&&![...p?.options??[]].some(e=>e.value===D.author)&&(D.author=``);let t=ie(l.map(e=>({...be(e),searchText:e.dataset.searchText??``,author:e.dataset.author,card:e})),{...D,query:e}).map(e=>e.card);N=t;let n=de(t.length,D.page);D.page=n.page;let r=t.slice(n.from,n.to),i=new Set(r);for(let e of l)e.hidden=!i.has(e);if(ye&&me(ye,r),d&&d.value!==D.query&&(d.value=D.query),p&&(p.value=D.author,D.author===``?delete p.dataset.active:p.dataset.active=``),m||(D.pr=`any`),m&&(m.value=D.pr,D.pr===`any`?delete m.dataset.active:m.dataset.active=``),f&&(f.value=D.filter,D.filter===`all`?delete f.dataset.active:f.dataset.active=``),g){let e=t.reduce((e,t)=>e+Number(t.dataset.reviews??1),0);g.textContent=fe(e,t.length)}h&&(h.hidden=t.length>0||l.length===0),xe(n),Ee(t),Me()}function xe(e){if(!(!_||!v)&&(_.hidden=e.pages<2,v.textContent=``,!_.hidden)){for(let t=1;t<=e.pages;t+=1){let n=document.createElement(`button`);n.type=`button`,n.className=`prb-index-page`,n.dataset.page=String(t),n.textContent=String(t),n.setAttribute(`aria-label`,`Page ${t}`),t===e.page&&n.setAttribute(`aria-current`,`page`),v.append(n)}for(let t of _.querySelectorAll(`[data-page-step]`)){let n=e.page+Number(t.dataset.pageStep);t.disabled=n<1||n>e.pages}}}function I(e,t){D={...D,...e},F();let n=`${window.location.pathname}${window.location.search}${o(D)}`;t===`push`?window.history.pushState(null,``,n):window.history.replaceState(null,``,n)}function Se(){let e=document.querySelector(`.prb-shell > main`);e&&(e.scrollTop=0)}d?.addEventListener(`input`,()=>I({query:d.value,page:1},`replace`)),d?.addEventListener(`keydown`,e=>{e.key===`Escape`&&d.value!==``&&(e.preventDefault(),I({query:``,page:1},`replace`))}),f?.addEventListener(`change`,()=>{I({filter:f.value,page:1},`push`)}),p?.addEventListener(`change`,()=>{I({author:p.value,page:1},`push`)}),m?.addEventListener(`change`,()=>{I({pr:m.value,page:1},`push`)}),_?.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-page]`),r=t.closest(`[data-page-step]`);!n&&!r||(I({page:n?Number(n.dataset.page):D.page+Number(r?.dataset.pageStep??0)},`push`),Se())});for(let e of[`popstate`,`hashchange`])window.addEventListener(e,()=>{D=ee(window.location.hash),F()});document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-pin]`);if(!t?.dataset.pin)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`aria-pressed`)!==`true`;t.setAttribute(`aria-pressed`,String(n)),t.innerHTML=n?`★`:`☆`,t.setAttribute(`aria-label`,`${n?`Unsave`:`Save`} this review`);let r=t.closest(`[data-card]`);r&&(r.dataset.pinned=String(n)),fetch(`/pin`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:t.dataset.pin,pinned:n})}).catch(()=>{})});async function Ce(e,t){let n;try{let r=await fetch(`/queue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:e,action:t})});if(!r.ok)return;n=(await r.json()).queue}catch{return}we(n),F()}function we(e){let t=new Map(e.map((e,t)=>[e,t]));for(let e of l){let n=t.get(e.dataset.id??``);n===void 0?delete e.dataset.queue:e.dataset.queue=String(n)}for(let e of document.querySelectorAll(`[data-queue-action][data-queue-id]`)){let n=t.has(e.dataset.queueId??``);e.dataset.queueAction=n?`remove`:`add`,e.textContent=n?`Remove from review queue`:`Add to review queue`}let n=document.querySelector(`[data-queue-option]`);n&&(n.textContent=ae(e.length))}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-history-toggle]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.parentElement?.querySelector(`[data-history-list]`);if(!n)return;let r=n.hidden;n.hidden=!r,t.setAttribute(`aria-expanded`,String(r))}),F();function L(e){for(let t of document.querySelectorAll(`[data-menu]`)){if(t===e)continue;let n=t.querySelector(`[data-menu-panel]`),r=t.querySelector(`[data-menu-trigger]`);n&&(n.hidden=!0),r?.setAttribute(`aria-expanded`,`false`),R(t)}}function R(e){let t=e.querySelector(`[data-menu-items]`),n=e.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!1),n&&(n.hidden=!0),e.querySelector(`[data-menu-error]`)?.remove(),e.querySelector(`[data-id-field]`)?.remove()}document.addEventListener(`keydown`,e=>{e.key===`Escape`&&L()}),document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-menu]`);if(!n)return void L();let r=t.closest(`[data-menu-trigger]`);if(r){e.preventDefault(),e.stopPropagation();let t=n.querySelector(`[data-menu-panel]`);if(!t)return;let i=t.hidden;L(n),R(n),t.hidden=!i,r.setAttribute(`aria-expanded`,String(i));return}let i=t.closest(`[data-copy-id]`);if(i?.dataset.copyId){e.preventDefault(),e.stopPropagation(),ne(i,i.dataset.copyId);return}let a=t.closest(`[data-mark-status]`);if(a?.dataset.markId){e.preventDefault(),e.stopPropagation(),L(),Oe(a.dataset.markId,a.dataset.markStatus===`complete`);return}let o=t.closest(`[data-queue-action]`);if(o?.dataset.queueId){e.preventDefault(),e.stopPropagation(),L(),Ce(o.dataset.queueId,o.dataset.queueAction===`remove`?`remove`:`add`);return}if(t.closest(`[data-delete]`)){e.preventDefault(),e.stopPropagation();let t=n.querySelector(`[data-menu-items]`),r=n.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!0),r&&(r.hidden=!1);return}if(t.closest(`[data-cancel-delete]`)){e.preventDefault(),e.stopPropagation(),R(n);return}if(t.closest(`[data-confirm-delete]`)){e.preventDefault(),e.stopPropagation(),Te(n);return}e.preventDefault(),e.stopPropagation()});async function Te(e){let t=e.querySelector(`[data-delete]`),n=t?.dataset.delete;if(!n)return;let r=e.querySelector(`[data-menu-confirm]`),i=e.querySelector(`[data-confirm-delete]`);i&&(i.disabled=!0,i.textContent=`Deleting`);try{let r=await fetch(`/delete`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:n,scope:t?.dataset.scope??`review`})});if(r.ok)return void window.location.reload();z(e,(await r.json().catch(()=>null))?.error??`That could not be deleted.`)}catch{z(e,`The workspace server did not answer. It may have stopped.`)}i&&(i.disabled=!1,i.textContent=`Delete`),r&&(r.hidden=!0);let a=e.querySelector(`[data-menu-items]`);a&&(a.hidden=!1)}function z(e,t){e.querySelector(`[data-menu-error]`)?.remove();let n=document.createElement(`p`);n.className=`prb-menu-error`,n.setAttribute(`data-menu-error`,``),n.textContent=t,e.querySelector(`[data-menu-panel]`)?.append(n)}function B(e){k=e,e||O.clear(),u&&(e?u.dataset.selecting=``:delete u.dataset.selecting),document.querySelector(`[data-select-mode]`)?.setAttribute(`aria-pressed`,String(e));for(let t of document.querySelectorAll(`.prb-card-link`))e?t.setAttribute(`aria-disabled`,`true`):t.removeAttribute(`aria-disabled`);V(),F()}function V(){C&&(C.hidden=!0),w&&(w.hidden=!1),T&&(T.hidden=!0,T.textContent=``)}function Ee(e){for(let e of l){let t=O.has(e.dataset.id??``),n=e.querySelector(`[data-select]`);n&&(n.checked=t),t?e.dataset.selected=``:delete e.dataset.selected}if(!y||(y.hidden=!k,!k))return;let t=new Set(e.map(e=>e.dataset.id)),n=[...O].filter(e=>!t.has(e)).length;b&&(b.textContent=le(O.size,n)),E&&(E.textContent=te(e.length),E.disabled=e.every(e=>O.has(e.dataset.id??``))),x&&(x.textContent=se(W()));for(let e of y.querySelectorAll(`[data-bulk-mark], [data-bulk-queue], [data-bulk-delete]`))e.disabled=O.size===0;j&&!P&&(j.disabled=Y(U()).repositories===0)}document.querySelector(`[data-select-mode]`)?.addEventListener(`click`,()=>{B(!k)}),E?.addEventListener(`click`,()=>{for(let e of N)e.dataset.id&&O.add(e.dataset.id);V(),F()});function H(e){O.has(e)?O.delete(e):O.add(e),V(),F()}document.addEventListener(`change`,e=>{let t=e.target.closest(`[data-select]`);t?.dataset.select&&H(t.dataset.select)}),document.addEventListener(`click`,e=>{if(!k)return;let t=e.target,n=t.closest(`[data-card]`);n?.dataset.id&&(t.closest(`[data-select], [data-pin], [data-menu], [data-history-toggle]`)||(e.preventDefault(),H(n.dataset.id)))}),document.addEventListener(`keydown`,e=>{if(!k||e.key!==`Enter`)return;let t=e.target.closest(`.prb-card-link`)?.closest(`[data-card]`);t?.dataset.id&&(e.preventDefault(),H(t.dataset.id))});function U(){return l.filter(e=>O.has(e.dataset.id??``))}function W(){return U().reduce((e,t)=>e+Number(t.dataset.reviews??1),0)}function G(e){T&&(T.textContent=e,T.hidden=!1)}function K(e){for(let t of y?.querySelectorAll(`button`)??[])t.disabled=e}async function De(e){let t=[...O];if(t.length!==0){K(!0);try{if(!(await fetch(`/status`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:t,complete:e})})).ok)return K(!1),G(`That could not be saved. The workspace server refused it.`)}catch{return K(!1),G(`The workspace server did not answer. It may have stopped.`)}q(U(),e),K(!1),B(!1)}}function q(e,t){let n=t?`complete`:`in-progress`,r=t?`in-progress`:`complete`;for(let t of e){t.dataset.status=n;let e=t.querySelector(`.prb-card-status`);e&&(e.dataset.status=n,e.textContent=oe(n));let i=t.querySelector(`[data-mark-status]`);i&&(i.dataset.markStatus=r,i.textContent=ce(r))}}async function Oe(e,t){try{if(!(await fetch(`/status`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:[e],complete:t})})).ok)return}catch{return}q(l.filter(t=>t.dataset.id===e),t),F()}async function ke(){let e=[...O];if(e.length===0)return;K(!0);let t=null;try{let n=await fetch(`/delete`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:e})});if(t=n.ok?await n.json().catch(()=>null):null,!t)return K(!1),V(),G(`Nothing was deleted. The workspace server refused it.`)}catch{return K(!1),V(),G(`The workspace server did not answer. It may have stopped.`)}let n=t.blocked??[],r=new Set(n.map(e=>e.id));for(let e of U())r.has(e.dataset.id??``)||e.remove();l=l.filter(e=>e.isConnected),O.clear();for(let e of r)O.add(e);if(K(!1),V(),n.length===0)return B(!1);F(),G([...new Set(n.map(e=>e.error))].join(` `))}async function Ae(){let e=U().map(e=>e.dataset.id??``).filter(Boolean);if(e.length===0)return;K(!0);let t=null;try{let n=await fetch(`/queue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:e,action:`add`})});t=n.ok?await n.json().catch(()=>null):null}catch{return K(!1),V(),G(`The workspace server did not answer. It may have stopped.`)}if(!t?.queue)return K(!1),V(),G(`Nothing was added. The workspace server refused it.`);we(t.queue);let n=t.refused??[];O.clear();for(let e of n)O.add(e.id);if(K(!1),V(),n.length===0)return B(!1);F(),G([...new Set(n.map(e=>e.error))].join(` `))}y?.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-bulk-queue]`))return void Ae();let n=t.closest(`[data-bulk-mark]`);if(n)return void De(n.dataset.bulkMark===`complete`);if(t.closest(`[data-bulk-delete]`)){S&&(S.textContent=ue(W())),w&&(w.hidden=!0),C&&(C.hidden=!1);return}if(t.closest(`[data-bulk-confirm-delete]`))return void ke();if(t.closest(`[data-bulk-cancel-delete]`))return V();if(t.closest(`[data-bulk-cancel]`))return B(!1)}),t(window,()=>window.location.reload()),a(window,document.querySelector(`.prb-shell > main`));var J=`prb-fetch-summary`,je=4e3;function Y(e){return ve(e.map(e=>({lineage:(e.dataset.lineage??e.dataset.id??``).split(` `).filter(Boolean)})),M)}function Me(){A&&!P&&(A.disabled=Y(N).repositories===0)}function Ne(e,t,n){e.textContent=t,window.setTimeout(()=>{P||(e.textContent=n)},je)}async function Pe(){try{let e=await fetch(`/fetch-updates`);if(!e.ok)return;M=(await e.json()).targets??{}}catch{return}F()}async function Fe(e,t,n){let r=Y(n);if(P||r.repositories===0)return;P=!0;for(let e of[A,j])e&&(e.disabled=!0);e.textContent=ge(r.repositories);let i=null;try{let e=await fetch(`/fetch-updates`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:r.ids})});e.ok&&(i=await e.json())}catch{}P=!1,F();let a=_e(i||{repositories:r.repositories,fetched:0,failed:[],moved:0});if((i?.moved??0)>0||Z){try{window.sessionStorage.setItem(J,a)}catch{}if(!Q())return void window.location.reload();Z=!0}Ne(e,a,t)}try{let e=window.sessionStorage.getItem(J);e&&(window.sessionStorage.removeItem(J),A&&Ne(A,e,s))}catch{}A?.addEventListener(`click`,()=>void Fe(A,s,N)),j?.addEventListener(`click`,()=>void Fe(j,he,U())),Pe();var Ie=document.body.dataset.indexRevision??``,X=document.body.dataset.live===`true`?Date.now():0,Z=!1;function Q(){return O.size>0||document.activeElement===d||P}function Le(){Z&&!Q()&&window.location.reload()}async function $(){try{let t=await fetch(`/revision`);if(t.ok){e(document,!0);let n=await t.json();r(document,n),n.live&&X===0&&(X=Date.now()),n.live||(X=0);let i=pe(Ie,n.revision??``,Q());if(i===`reload`)return void window.location.reload();i===`hold`&&(Z=!0)}}catch{e(document,!1)}window.setTimeout(()=>void $(),re(X===0?2**53-1:Date.now()-X))}$(),d?.addEventListener(`blur`,Le),document.addEventListener(`click`,()=>window.setTimeout(Le,0)),n();
|
|
1
|
+
import{a as e,c as t,i as n,n as r,t as i}from"./chunk-BeL0x-wt.js";import{C as a,S as o,a as s,b as c,c as ee,d as l,f as te,g as ne,h as re,i as ie,l as ae,m as oe,o as se,p as u,r as ce,s as le,t as ue,u as de,v as fe,w as pe,x as me,y as he}from"./chunk-vvGSmhmc.js";function ge(e,t){t.forEach((t,n)=>{e.children[n]!==t&&e.insertBefore(t,e.children[n]??null)})}var _e=`Fetch updates`,ve=`Fetch selected`;function d(e){return`${e} ${e===1?`repository`:`repositories`}`}function ye(e){return`Fetching ${d(e)}…`}function be(e){return e.fetched===0?`Could not fetch ${d(e.repositories)}`:e.fetched===e.repositories?`Fetched ${d(e.repositories)}`:`Fetched ${e.fetched} of ${d(e.repositories)}`}function xe(e,t){let n=new Set,r=new Set;for(let i of e)for(let e of i.lineage){let i=t[e];i!==void 0&&(n.add(e),r.add(i))}return{ids:[...n],repositories:r.size}}i(`/restart`);var f=[...document.querySelectorAll(`[data-card]`)].sort((e,t)=>Number(e.dataset.rank)-Number(t.dataset.rank)),p=[`active`,`waiting`,`done`],Se=Object.fromEntries(p.map(e=>[e,document.querySelector(`[data-cards="${e}"]`)])),m=document.querySelector(`.prb-index`);function Ce(e){return{id:e.dataset.id??``,queue:e.dataset.queue===void 0?void 0:Number(e.dataset.queue),status:e.dataset.status??`new`,pinned:e.dataset.pinned===`true`,prState:e.dataset.prState}}var h=document.querySelector(`[data-search]`),g=document.querySelector(`[data-status-filter]`),_=document.querySelector(`[data-author-filter]`),v=document.querySelector(`[data-pr-filter]`),we=document.querySelector(`[data-no-matches]`),Te=document.querySelector(`[data-count]`),y=l();function b(e){return{stored:ie({state:e.dataset.lifecycle,at:Number(e.dataset.lifecycleAt)}),activity:{at:Number(e.dataset.activityAt??0),kind:e.dataset.activityKind??`created`}}}function x(e){let{stored:t,activity:n}=b(e);return s(t,n)}var S=document.querySelector(`[data-bulk]`),C=document.querySelector(`[data-bulk-count]`),Ee=document.querySelector(`[data-bulk-delete]`),De=document.querySelector(`[data-bulk-question]`),w=document.querySelector(`[data-bulk-confirm]`),T=document.querySelector(`[data-bulk-actions]`),E=document.querySelector(`[data-bulk-error]`),D=document.querySelector(`[data-bulk-select-all]`),O=u(window.location.hash),k=new Set,A=!1,j=document.querySelector(`[data-fetch-updates]`),M=document.querySelector(`[data-bulk-fetch]`),N={},P=[],F=!1;function I(){let e=O.query.trim().toLowerCase();O.author!==``&&![..._?.options??[]].some(e=>e.value===O.author)&&(O.author=``);let t=ae(f.map(e=>({...Ce(e),searchText:e.dataset.searchText??``,author:e.dataset.author,card:e})),{...O,query:e}).map(e=>e.card);P=t;let n=fe(t,x,y),r=new Set(p.flatMap(e=>n[e].shown));for(let e of f)e.hidden=!r.has(e);for(let e of p){let t=Se[e];t&&ge(t,n[e].shown);let r=document.querySelector(`[data-load-more="${e}"]`);if(r&&(r.hidden=n[e].total<=n[e].shown.length),e===`active`)continue;let i=document.querySelector(`[data-section="${e}"]`);i&&(i.hidden=n[e].total===0);let a=i?.querySelector(`[data-section-count]`);a&&(a.textContent=String(n[e].total))}if(h&&h.value!==O.query&&(h.value=O.query),_&&(_.value=O.author,O.author===``?delete _.dataset.active:_.dataset.active=``),v||(O.pr=`any`),v&&(v.value=O.pr,O.pr===`any`?delete v.dataset.active:v.dataset.active=``),g&&(g.value=O.filter,O.filter===`all`?delete g.dataset.active:g.dataset.active=``),Te){let e=t.filter(e=>x(e)===`active`),n=e.reduce((e,t)=>e+Number(t.dataset.reviews??1),0);Te.textContent=se(n,e.length)}we&&(we.hidden=t.length>0||f.length===0),W(t),Ve()}function L(e,t){O={...O,...e},y=l(),I();let n=`${window.location.pathname}${window.location.search}${de(O)}`;t===`push`?window.history.pushState(null,``,n):window.history.replaceState(null,``,n)}h?.addEventListener(`input`,()=>L({query:h.value},`replace`)),h?.addEventListener(`keydown`,e=>{e.key===`Escape`&&h.value!==``&&(e.preventDefault(),L({query:``},`replace`))}),g?.addEventListener(`change`,()=>{L({filter:g.value},`push`)}),_?.addEventListener(`change`,()=>{L({author:_.value},`push`)}),v?.addEventListener(`change`,()=>{L({pr:v.value},`push`)}),document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-load-more]`)?.dataset.loadMore;!t||!p.includes(t)||(y={...y,[t]:y[t]+15},I())});for(let e of[`popstate`,`hashchange`])window.addEventListener(e,()=>{O=u(window.location.hash),y=l(),I()});document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-pin]`);if(!t?.dataset.pin)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`aria-pressed`)!==`true`;t.setAttribute(`aria-pressed`,String(n)),t.innerHTML=n?`★`:`☆`,t.setAttribute(`aria-label`,`${n?`Unsave`:`Save`} this review`);let r=t.closest(`[data-card]`);r&&(r.dataset.pinned=String(n)),fetch(`/pin`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:t.dataset.pin,pinned:n})}).catch(()=>{})});async function Oe(e,t){let n;try{let r=await fetch(`/queue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:e,action:t})});if(!r.ok)return;n=(await r.json()).queue}catch{return}R(n),I()}function R(e){let t=new Map(e.map((e,t)=>[e,t]));for(let e of f){let n=t.get(e.dataset.id??``);n===void 0?delete e.dataset.queue:e.dataset.queue=String(n),n!==void 0&&e.dataset.lifecycle!==`active`&&(e.dataset.lifecycle=`active`,delete e.dataset.lifecycleAt,Ie(e))}for(let e of document.querySelectorAll(`[data-queue-action][data-queue-id]`)){let n=t.has(e.dataset.queueId??``);e.dataset.queueAction=n?`remove`:`add`,e.textContent=oe(n)}let n=document.querySelector(`[data-queue-option]`);n&&(n.textContent=re(e.length))}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-history-toggle]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.parentElement?.querySelector(`[data-history-list]`);if(!n)return;let r=n.hidden;n.hidden=!r,t.setAttribute(`aria-expanded`,String(r))}),I();function z(e){for(let t of document.querySelectorAll(`[data-menu]`)){if(t===e)continue;let n=t.querySelector(`[data-menu-panel]`),r=t.querySelector(`[data-menu-trigger]`);n&&(n.hidden=!0),r?.setAttribute(`aria-expanded`,`false`),B(t)}}function B(e){let t=e.querySelector(`[data-menu-items]`),n=e.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!1),n&&(n.hidden=!0),e.querySelector(`[data-menu-error]`)?.remove(),e.querySelector(`[data-id-field]`)?.remove()}document.addEventListener(`keydown`,e=>{e.key===`Escape`&&z()}),document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-menu]`);if(!n)return void z();let r=t.closest(`[data-menu-trigger]`);if(r){e.preventDefault(),e.stopPropagation();let t=n.querySelector(`[data-menu-panel]`);if(!t)return;let i=t.hidden;z(n),B(n),t.hidden=!i,r.setAttribute(`aria-expanded`,String(i));return}let i=t.closest(`[data-copy-id]`);if(i?.dataset.copyId){e.preventDefault(),e.stopPropagation(),a(i,i.dataset.copyId);return}let o=t.closest(`[data-mark-status]`);if(o?.dataset.markId){e.preventDefault(),e.stopPropagation(),z(),Pe(o.dataset.markId,o.dataset.markStatus===`complete`);return}let s=t.closest(`[data-lifecycle-set]`);if(s?.dataset.lifecycleId){e.preventDefault(),e.stopPropagation(),z(),Fe([s.dataset.lifecycleId],s.dataset.lifecycleSet);return}let c=t.closest(`[data-queue-action]`);if(c?.dataset.queueId){e.preventDefault(),e.stopPropagation(),z(),Oe(c.dataset.queueId,c.dataset.queueAction===`remove`?`remove`:`add`);return}if(t.closest(`[data-delete]`)){e.preventDefault(),e.stopPropagation();let t=n.querySelector(`[data-menu-items]`),r=n.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!0),r&&(r.hidden=!1);return}if(t.closest(`[data-cancel-delete]`)){e.preventDefault(),e.stopPropagation(),B(n);return}if(t.closest(`[data-confirm-delete]`)){e.preventDefault(),e.stopPropagation(),ke(n);return}e.preventDefault(),e.stopPropagation()});async function ke(e){let t=e.querySelector(`[data-delete]`),n=t?.dataset.delete;if(!n)return;let r=e.querySelector(`[data-menu-confirm]`),i=e.querySelector(`[data-confirm-delete]`);i&&(i.disabled=!0,i.textContent=`Deleting`);try{let r=await fetch(`/delete`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:n,scope:t?.dataset.scope??`review`})});if(r.ok)return void window.location.reload();V(e,(await r.json().catch(()=>null))?.error??`That could not be deleted.`)}catch{V(e,`The workspace server did not answer. It may have stopped.`)}i&&(i.disabled=!1,i.textContent=`Delete`),r&&(r.hidden=!0);let a=e.querySelector(`[data-menu-items]`);a&&(a.hidden=!1)}function V(e,t){e.querySelector(`[data-menu-error]`)?.remove();let n=document.createElement(`p`);n.className=`prb-menu-error`,n.setAttribute(`data-menu-error`,``),n.textContent=t,e.querySelector(`[data-menu-panel]`)?.append(n)}function H(e){A=e,e||k.clear(),m&&(e?m.dataset.selecting=``:delete m.dataset.selecting),document.querySelector(`[data-select-mode]`)?.setAttribute(`aria-pressed`,String(e));for(let t of document.querySelectorAll(`.prb-card-link`))e?t.setAttribute(`aria-disabled`,`true`):t.removeAttribute(`aria-disabled`);U(),I()}function U(){w&&(w.hidden=!0),T&&(T.hidden=!1),E&&(E.hidden=!0,E.textContent=``)}function W(e){for(let e of f){let t=k.has(e.dataset.id??``),n=e.querySelector(`[data-select]`);n&&(n.checked=t),t?e.dataset.selected=``:delete e.dataset.selected}if(!S||(S.hidden=!A,!A))return;let t=new Set(e.filter(Ae).map(e=>e.dataset.id)),n=[...k].filter(e=>!t.has(e)).length;C&&(C.textContent=c(k.size,n)),D&&(D.textContent=he(e.length),D.disabled=e.every(e=>k.has(e.dataset.id??``))),Ee&&(Ee.textContent=le(je()));for(let e of S.querySelectorAll(`[data-bulk-mark], [data-bulk-lifecycle], [data-bulk-queue], [data-bulk-delete]`))e.disabled=k.size===0;M&&!F&&(M.disabled=X(K()).repositories===0)}function Ae(e){return!e.hidden&&e.closest(`details`)?.open!==!1}for(let e of document.querySelectorAll(`details[data-section]`))e.addEventListener(`toggle`,()=>W(P));document.querySelector(`[data-select-mode]`)?.addEventListener(`click`,()=>{H(!A)}),D?.addEventListener(`click`,()=>{for(let e of P)e.dataset.id&&k.add(e.dataset.id);U(),I()});function G(e){k.has(e)?k.delete(e):k.add(e),U(),I()}document.addEventListener(`change`,e=>{let t=e.target.closest(`[data-select]`);t?.dataset.select&&G(t.dataset.select)}),document.addEventListener(`click`,e=>{if(!A)return;let t=e.target,n=t.closest(`[data-card]`);n?.dataset.id&&(t.closest(`[data-select], [data-pin], [data-menu], [data-history-toggle]`)||(e.preventDefault(),G(n.dataset.id)))}),document.addEventListener(`keydown`,e=>{if(!A||e.key!==`Enter`)return;let t=e.target.closest(`.prb-card-link`)?.closest(`[data-card]`);t?.dataset.id&&(e.preventDefault(),G(t.dataset.id))});function K(){return f.filter(e=>k.has(e.dataset.id??``))}function je(){return K().reduce((e,t)=>e+Number(t.dataset.reviews??1),0)}function q(e){E&&(E.textContent=e,E.hidden=!1)}function J(e){for(let t of S?.querySelectorAll(`button`)??[])t.disabled=e}async function Me(e){let t=[...k];if(t.length!==0){J(!0);try{if(!(await fetch(`/status`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:t,complete:e})})).ok)return J(!1),q(`That could not be saved. The workspace server refused it.`)}catch{return J(!1),q(`The workspace server did not answer. It may have stopped.`)}Ne(K(),e),J(!1),H(!1)}}function Ne(e,t){let n=t?`complete`:`in-progress`,r=t?`in-progress`:`complete`;for(let t of e){t.dataset.status=n;let e=t.querySelector(`.prb-card-status`);e&&(e.dataset.status=n,e.textContent=me(n));let i=t.querySelector(`[data-mark-status]`);i&&(i.dataset.markStatus=r,i.textContent=te(r))}}async function Pe(e,t){try{if(!(await fetch(`/status`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:[e],complete:t})})).ok)return}catch{return}Ne(f.filter(t=>t.dataset.id===e),t),I()}async function Fe(e,t){let n;try{let r=await fetch(`/lifecycle`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:e,state:t})});n=r.ok?await r.json().catch(()=>null):null}catch{n=null}if(!n)return!1;let r=new Set(e);for(let e of f)r.has(e.dataset.id??``)&&(e.dataset.lifecycle=t,t===`active`?delete e.dataset.lifecycleAt:e.dataset.lifecycleAt=String(n.at),Ie(e));return R(n.queue),I(),!0}function Ie(e){let{stored:t,activity:n}=b(e),r=e.querySelector(`[data-lifecycle-chip]`);if(r){let e=ue(t,n);r.textContent=e??``,r.hidden=e===void 0}for(let r of e.querySelectorAll(`[data-lifecycle-set]`))r.hidden=!ce(r.dataset.lifecycleSet,t,n)}async function Le(e){let t=[...k];if(t.length===0)return;J(!0);let n=await Fe(t,e);if(J(!1),!n)return q(`That could not be saved. The workspace server refused it or did not answer.`);H(!1)}async function Re(){let e=[...k];if(e.length===0)return;J(!0);let t=null;try{let n=await fetch(`/delete`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:e})});if(t=n.ok?await n.json().catch(()=>null):null,!t)return J(!1),U(),q(`Nothing was deleted. The workspace server refused it.`)}catch{return J(!1),U(),q(`The workspace server did not answer. It may have stopped.`)}let n=t.blocked??[],r=new Set(n.map(e=>e.id));for(let e of K())r.has(e.dataset.id??``)||e.remove();f=f.filter(e=>e.isConnected),k.clear();for(let e of r)k.add(e);if(J(!1),U(),n.length===0)return H(!1);I(),q([...new Set(n.map(e=>e.error))].join(` `))}async function ze(){let e=K().map(e=>e.dataset.id??``).filter(Boolean);if(e.length===0)return;J(!0);let t=null;try{let n=await fetch(`/queue`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:e,action:`add`})});t=n.ok?await n.json().catch(()=>null):null}catch{return J(!1),U(),q(`The workspace server did not answer. It may have stopped.`)}if(!t?.queue)return J(!1),U(),q(`Nothing was added. The workspace server refused it.`);R(t.queue);let n=t.refused??[];k.clear();for(let e of n)k.add(e.id);if(J(!1),U(),n.length===0)return H(!1);I(),q([...new Set(n.map(e=>e.error))].join(` `))}S?.addEventListener(`click`,e=>{let t=e.target;if(t.closest(`[data-bulk-queue]`))return void ze();let n=t.closest(`[data-bulk-mark]`);if(n)return void Me(n.dataset.bulkMark===`complete`);let r=t.closest(`[data-bulk-lifecycle]`);if(r)return void Le(r.dataset.bulkLifecycle);if(t.closest(`[data-bulk-delete]`)){De&&(De.textContent=ee(je())),T&&(T.hidden=!0),w&&(w.hidden=!1);return}if(t.closest(`[data-bulk-confirm-delete]`))return void Re();if(t.closest(`[data-bulk-cancel-delete]`))return U();if(t.closest(`[data-bulk-cancel]`))return H(!1)}),t(window,()=>window.location.reload()),pe(window,document.querySelector(`.prb-shell > main`));var Y=`prb-fetch-summary`,Be=4e3;function X(e){return xe(e.map(e=>({lineage:(e.dataset.lineage??e.dataset.id??``).split(` `).filter(Boolean)})),N)}function Ve(){j&&!F&&(j.disabled=X(P).repositories===0)}function He(e,t,n){e.textContent=t,window.setTimeout(()=>{F||(e.textContent=n)},Be)}async function Ue(){try{let e=await fetch(`/fetch-updates`);if(!e.ok)return;N=(await e.json()).targets??{}}catch{return}I()}async function We(e,t,n){let r=X(n);if(F||r.repositories===0)return;F=!0;for(let e of[j,M])e&&(e.disabled=!0);e.textContent=ye(r.repositories);let i=null;try{let e=await fetch(`/fetch-updates`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({ids:r.ids})});e.ok&&(i=await e.json())}catch{}F=!1,I();let a=be(i||{repositories:r.repositories,fetched:0,failed:[],moved:0});if((i?.moved??0)>0||Q){try{window.sessionStorage.setItem(Y,a)}catch{}if(!$())return void window.location.reload();Q=!0}He(e,a,t)}try{let e=window.sessionStorage.getItem(Y);e&&(window.sessionStorage.removeItem(Y),j&&He(j,e,_e))}catch{}j?.addEventListener(`click`,()=>void We(j,_e,P)),M?.addEventListener(`click`,()=>void We(M,ve,K())),Ue();var Ge=document.body.dataset.indexRevision??``,Z=document.body.dataset.live===`true`?Date.now():0,Q=!1;function $(){return k.size>0||document.activeElement===h||F}function Ke(){Q&&!$()&&window.location.reload()}async function qe(){try{let t=await fetch(`/revision`);if(t.ok){e(document,!0);let n=await t.json();r(document,n),n.live&&Z===0&&(Z=Date.now()),n.live||(Z=0);let i=ne(Ge,n.revision??``,$());if(i===`reload`)return void window.location.reload();i===`hold`&&(Q=!0)}}catch{e(document,!1)}window.setTimeout(()=>void qe(),o(Z===0?2**53-1:Date.now()-Z))}qe(),h?.addEventListener(`blur`,Ke),document.addEventListener(`click`,()=>window.setTimeout(Ke,0)),n();
|
package/static/settings.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t,o as n,t as r}from"./chunk-BeL0x-wt.js";function i(e,t){if(e===``)return null;try{let n=new URL(e);return n.origin===t&&/^\/r\/[^/]+$/.test(n.pathname)?n.href:null}catch{return null}}function a(e){let t=[...document.querySelectorAll(`[data-shutdown]`)],n=document.querySelector(`[data-shutdown-dialog]`),r=document.querySelector(`[data-shutdown-confirm]`);for(let e of t)e.addEventListener(`click`,()=>n?.showModal());document.querySelector(`[data-shutdown-cancel]`)?.addEventListener(`click`,()=>n?.close()),r?.addEventListener(`click`,()=>{r.disabled=!0,r.textContent=`Stopping…`,fetch(e,{method:`POST`}).then(e=>{if(!e.ok)throw Error(`Shutdown refused: ${e.status}`);n?.close(),o(t)}).catch(()=>{r.disabled=!1,r.textContent=`Stop server`})})}function o(e){document.body.dataset.serverStopped=`true`,n(document,`unreachable`);let t=document.createElement(`div`);t.className=`prb-stopped-notice`,t.setAttribute(`role`,`status`);let r=document.body.dataset.wayBack;t.textContent=r?`Workspace server stopped. This page is no longer being served. Run ${r} to bring it back.`:`Workspace server stopped. This page is no longer being served.`,document.body.prepend(t);for(let t of e)t.disabled=!0,t.classList.contains(`prb-strip-action`)||(t.textContent=`Server stopped`)}a(`/shutdown`),r(`/restart`);function
|
|
1
|
+
import{c as e,i as t,o as n,t as r}from"./chunk-BeL0x-wt.js";function i(e,t){if(e===``)return null;try{let n=new URL(e);return n.origin===t&&/^\/r\/[^/]+$/.test(n.pathname)?n.href:null}catch{return null}}function a(e){let t=[...document.querySelectorAll(`[data-shutdown]`)],n=document.querySelector(`[data-shutdown-dialog]`),r=document.querySelector(`[data-shutdown-confirm]`);for(let e of t)e.addEventListener(`click`,()=>n?.showModal());document.querySelector(`[data-shutdown-cancel]`)?.addEventListener(`click`,()=>n?.close()),r?.addEventListener(`click`,()=>{r.disabled=!0,r.textContent=`Stopping…`,fetch(e,{method:`POST`}).then(e=>{if(!e.ok)throw Error(`Shutdown refused: ${e.status}`);n?.close(),o(t)}).catch(()=>{r.disabled=!1,r.textContent=`Stop server`})})}function o(e){document.body.dataset.serverStopped=`true`,n(document,`unreachable`);let t=document.createElement(`div`);t.className=`prb-stopped-notice`,t.setAttribute(`role`,`status`);let r=document.body.dataset.wayBack;t.textContent=r?`Workspace server stopped. This page is no longer being served. Run ${r} to bring it back.`:`Workspace server stopped. This page is no longer being served.`,document.body.prepend(t);for(let t of e)t.disabled=!0,t.classList.contains(`prb-strip-action`)||(t.textContent=`Server stopped`)}var s=[{id:`system`,label:`System`,help:`Follow your device setting`},{id:`light`,label:`Light`,help:`Always use light mode`},{id:`dark`,label:`Dark`,help:`Always use dark mode`}];function c(e){return s.some(t=>t.id===e)}function l(e){let t=e.querySelector(`[data-settings-theme]:checked`)?.value;return c(t)?t:void 0}function u(e,t){e.documentElement.dataset.theme=t}function d(e){for(let t of e.querySelectorAll(`[data-settings-theme]`))t.addEventListener(`change`,()=>{let t=l(e);t&&u(e,t)})}a(`/shutdown`),r(`/restart`);function f(){let e=document.querySelector(`[data-settings-back]`),t=i(document.referrer,window.location.origin);if(!e||t===null)return;e.href=t,e.textContent=``;let n=document.createElement(`span`);n.setAttribute(`aria-hidden`,`true`),n.textContent=`‹`,e.append(n,` Back to the review`)}f(),d(document);var p=document.querySelector(`[data-settings-save]`),m=document.querySelector(`[data-settings-status]`),h=document.querySelector(`[data-settings-port]`),g=document.querySelector(`[data-settings-port-error]`),_=document.querySelector(`[data-settings-agent]`);function v(){let e=document.querySelector(`[data-settings-usage]:checked`);return e?e.value===`on`:void 0}function y(e,t){m&&(m.textContent=e,m.dataset.kind=t)}function b(e){g&&(g.textContent=e??``),h&&(e?(h.setAttribute(`aria-invalid`,`true`),h.focus(),h.select()):h.removeAttribute(`aria-invalid`))}async function x(){if(!p)return;let e=v(),t=l(document),n={...h?{port:h.value.trim()}:{},..._?{agent:_.value}:{},...e===void 0?{}:{usageCounts:e},...t===void 0?{}:{theme:t}};p.disabled=!0,p.textContent=`Saving`;try{let e=await(await fetch(`/settings`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)})).json().catch(()=>null);if(!e){y(`Nothing was saved. The workspace server did not answer.`,`error`);return}if(e.error){b(e.error),y(`Nothing was saved.`,`error`);return}b(null),h&&(h.value=String(e.port.configured)),u(document,e.theme),y(e.restartRequired?`Saved. This page is served on port ${e.port.current}; the workspace moves to ${e.port.configured} the next time it starts.`:`Saved.`,`saved`)}catch{y(`Nothing was saved. The workspace server could not be reached.`,`error`)}finally{p.disabled=!1,p.textContent=`Save changes`}}p?.addEventListener(`click`,()=>void x()),t(),e(window,()=>window.location.reload());
|