pulse-dashboard
Version:
A Next.js Dashboard application for real-time monitoring and historical analysis of Playwright test executions. This component provides the UI for visualizing Playwright test results and can be run as a standalone CLI tool.
21 lines • 9.64 kB
JavaScript
exports.id=445,exports.ids=[445],exports.modules={4780:(e,t,r)=>{"use strict";r.d(t,{O:()=>l,c:()=>i,cn:()=>n});var o=r(49384),s=r(82348),a=r(17638);function n(...e){return(0,s.QP)((0,o.$)(e))}function i(e){if(!e)return"";let t={0:"color:inherit;font-weight:normal;font-style:normal;text-decoration:none;opacity:1;background-color:inherit;",1:"font-weight:bold",2:"opacity:0.6",3:"font-style:italic",4:"text-decoration:underline",30:"color:#000",31:"color:#d00",32:"color:#0a0",33:"color:#aa0",34:"color:#00d",35:"color:#a0a",36:"color:#0aa",37:"color:#aaa",39:"color:inherit",40:"background-color:#000",41:"background-color:#d00",42:"background-color:#0a0",43:"background-color:#aa0",44:"background-color:#00d",45:"background-color:#a0a",46:"background-color:#0aa",47:"background-color:#aaa",49:"background-color:inherit",90:"color:#555",91:"color:#f55",92:"color:#5f5",93:"color:#ff5",94:"color:#55f",95:"color:#f5f",96:"color:#5ff",97:"color:#fff"},r=[],o="",s=!1,a=()=>{if(s&&(o+="</span>",s=!1),r.length>0){let e=r.filter(e=>e).join(";");e&&(o+=`<span style="${e}">`,s=!0)}},n=e=>{let o=e.split(";");for(let e of(o.includes("0")&&(r=[],t["0"]&&r.push(t["0"])),o))if("0"!==e){if(t[e])"39"===e?(r=r.filter(e=>!e.startsWith("color:"))).push("color:inherit"):"49"===e?(r=r.filter(e=>!e.startsWith("background-color:"))).push("background-color:inherit"):r.push(t[e]);else if(e.startsWith("38;2;")||e.startsWith("48;2;")){let t=e.split(";"),o="38"===t[0]?"color":"background-color";5===t.length&&(r=r.filter(e=>!e.startsWith(o+":"))).push(`${o}:rgb(${t[2]},${t[3]},${t[4]})`)}}a()};for(let t of e.split(/(\x1b\[[0-9;]*m)/g))if(t){if(t.startsWith("\x1b[")&&t.endsWith("m"))n(t.slice(2,-1));else{let e=t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");o+=e}}return s&&(o+="</span>"),o}function l(e){if(!e||"string"!=typeof e||""===e.trim())return"#";let t=e.trim(),r="attachments/",o="attachments\\";return(t.toLowerCase().startsWith(r)?t=t.substring(r.length):t.toLowerCase().startsWith(o)&&(t=t.substring(o.length)),""===(t=t.replace(/^[\/\\]+/,"")))?"#":`/api/assets/${t}`}new(r.n(a)())({fg:"#000",bg:"#FFF",newline:!0,escapeXML:!0})},9508:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,86346,23)),Promise.resolve().then(r.t.bind(r,27924,23)),Promise.resolve().then(r.t.bind(r,35656,23)),Promise.resolve().then(r.t.bind(r,40099,23)),Promise.resolve().then(r.t.bind(r,38243,23)),Promise.resolve().then(r.t.bind(r,28827,23)),Promise.resolve().then(r.t.bind(r,62763,23)),Promise.resolve().then(r.t.bind(r,97173,23))},14947:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>b});var o=r(60687),s=r(29867),a=r(43210),n=r(47313),i=r(24224),l=r(78726),d=r(4780);let c=n.Kq,u=a.forwardRef(({className:e,...t},r)=>(0,o.jsx)(n.LM,{ref:r,className:(0,d.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));u.displayName=n.LM.displayName;let f=(0,i.F)("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=a.forwardRef(({className:e,variant:t,...r},s)=>(0,o.jsx)(n.bL,{ref:s,className:(0,d.cn)(f({variant:t}),e),...r}));p.displayName=n.bL.displayName,a.forwardRef(({className:e,...t},r)=>(0,o.jsx)(n.rc,{ref:r,className:(0,d.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t})).displayName=n.rc.displayName;let m=a.forwardRef(({className:e,...t},r)=>(0,o.jsx)(n.bm,{ref:r,className:(0,d.cn)("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:(0,o.jsx)(l.A,{className:"h-4 w-4"})}));m.displayName=n.bm.displayName;let h=a.forwardRef(({className:e,...t},r)=>(0,o.jsx)(n.hE,{ref:r,className:(0,d.cn)("text-sm font-semibold",e),...t}));h.displayName=n.hE.displayName;let g=a.forwardRef(({className:e,...t},r)=>(0,o.jsx)(n.VY,{ref:r,className:(0,d.cn)("text-sm opacity-90",e),...t}));function b(){let{toasts:e}=(0,s.dj)();return(0,o.jsxs)(c,{children:[e.map(function({id:e,title:t,description:r,action:s,...a}){return(0,o.jsxs)(p,{...a,children:[(0,o.jsxs)("div",{className:"grid gap-1",children:[t&&(0,o.jsx)(h,{children:t}),r&&(0,o.jsx)(g,{children:r})]}),s,(0,o.jsx)(m,{})]},e)}),(0,o.jsx)(u,{})]})}g.displayName=n.VY.displayName},18573:(e,t,r)=>{Promise.resolve().then(r.bind(r,14947))},29867:(e,t,r)=>{"use strict";r.d(t,{dj:()=>f});var o=r(43210);let s=0,a=new Map,n=e=>{if(a.has(e))return;let t=setTimeout(()=>{a.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?n(r):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],d={toasts:[]};function c(e){d=i(d,e),l.forEach(e=>{e(d)})}function u({...e}){let t=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),r=()=>c({type:"DISMISS_TOAST",toastId:t});return c({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function f(){let[e,t]=o.useState(d);return o.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},61135:()=>{},71309:(e,t,r)=>{Promise.resolve().then(r.bind(r,79737))},72708:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,16444,23)),Promise.resolve().then(r.t.bind(r,16042,23)),Promise.resolve().then(r.t.bind(r,88170,23)),Promise.resolve().then(r.t.bind(r,49477,23)),Promise.resolve().then(r.t.bind(r,29345,23)),Promise.resolve().then(r.t.bind(r,12089,23)),Promise.resolve().then(r.t.bind(r,46577,23)),Promise.resolve().then(r.t.bind(r,31307,23))},79737:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>o});let o=(0,r(12907).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/administrator/pulse-dashboard/src/components/ui/toaster.tsx","Toaster")},94431:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n,metadata:()=>a});var o=r(37413);r(61135);var s=r(79737);let a={title:"Pulse Dashboard",description:"Real-time Playwright test execution dashboard",icons:{icon:{url:"https://i.postimg.cc/XqVn1NhF/pulse.png",sizes:"48x48",type:"image/x-icon"}}};function n({children:e}){return(0,o.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,o.jsxs)("head",{children:[(0,o.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,o.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,o.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap",rel:"stylesheet"}),(0,o.jsx)("script",{dangerouslySetInnerHTML:{__html:`
(function() {
function getInitialColorMode() {
const persistedColorPreference = window.localStorage.getItem('pulse-theme');
const hasPersistedPreference = typeof persistedColorPreference === 'string';
if (hasPersistedPreference) {
return persistedColorPreference;
}
const mql = window.matchMedia('(prefers-color-scheme: dark)');
const hasMediaQueryPreference = typeof mql.matches === 'boolean';
if (hasMediaQueryPreference) {
return mql.matches ? 'dark' : 'light';
}
return 'light';
}
const colorMode = getInitialColorMode();
if (colorMode === 'dark') {
document.documentElement.classList.add('dark');
}
})();
`}})]}),(0,o.jsxs)("body",{className:"font-body antialiased",children:[e,(0,o.jsx)(s.Toaster,{})]})]})}}};