diff --git a/static/web/404.html b/static/web/404.html index a9131df01..19c2162cd 100644 --- a/static/web/404.html +++ b/static/web/404.html @@ -1,6 +1,44 @@ -404: This page could not be found

404

This page could not be found.

+ }

404

This page could not be found.

diff --git a/static/web/404/index.html b/static/web/404/index.html index a9131df01..19c2162cd 100644 --- a/static/web/404/index.html +++ b/static/web/404/index.html @@ -1,6 +1,44 @@ -404: This page could not be found

404

This page could not be found.

+ }

404

This page could not be found.

diff --git a/static/web/_next/static/chunks/710-3464b9980240bdfc.js b/static/web/_next/static/chunks/180-396d483f985bbcd6.js similarity index 99% rename from static/web/_next/static/chunks/710-3464b9980240bdfc.js rename to static/web/_next/static/chunks/180-396d483f985bbcd6.js index 136b45937..1c874afd8 100644 --- a/static/web/_next/static/chunks/710-3464b9980240bdfc.js +++ b/static/web/_next/static/chunks/180-396d483f985bbcd6.js @@ -1,2 +1,2 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[710],{50738:function(t,r,n){"use strict";n.d(r,{C:function(){return i}});var e=n(85893);n(67294);var o=n(94184),s=n.n(o),c=n(29403),a=n.n(c);let i=t=>{let{variant:r="simple"}=t,n=s()(a().root,{[a().simple]:"simple"===r,[a().contrast]:"contrast"===r});return(0,e.jsx)("div",{className:n,children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 95.68623352050781 104.46271514892578",className:"logo-svg",children:(0,e.jsx)("g",{transform:"matrix(1 0 0 1 -37.08803939819336 -18.940391540527344)",children:(0,e.jsx)("g",{children:(0,e.jsxs)("g",{children:[(0,e.jsx)("g",{children:(0,e.jsxs)("g",{transform:"matrix(1.0445680396949917 0 0 1.0445679172996596 36.34559138380523 18.877718021903796)",children:[(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient120",gradientTransform:"rotate(-90 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#1f2022",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#635e69",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient120)",d:"M91.5 75.35Q93.05 71.15 91.65 67.7 90.35 64.5 86.65 62.3 83.2 60.3 78.3 59.4 73.85 58.6 68.6 58.7 63.55 58.85 58.8 59.8 54.25 60.75 50.8 62.2 47.4 63.65 45.5 65.35 43.6 67.15 43.5 69.05 43.35 71.3 45.8 73.9 48.05 76.3 52.1 78.6 56.15 80.9 61.05 82.55 66.3 84.3 71.4 84.8 74.7 85.1 77.55 84.9 80.65 84.6 83.3 83.6 86.15 82.5 88.15 80.55 90.4 78.4 91.5 75.35M70.6 67.5Q72.3 68.4 73.1 69.7 73.9 71.15 73.45 73 73.1 74.3 72.3 75.25 71.55 76.1 70.3 76.6 69.25 77.05 67.75 77.25 66.3 77.4 64.85 77.3 62.3 77.15 59.25 76.3 56.6 75.5 54.15 74.3 51.9 73.2 50.45 72 49.05 70.75 49.1 69.8 49.2 69 50.25 68.25 51.3 67.55 53.15 67 55 66.4 57.25 66.1 59.8 65.8 62.1 65.8 64.65 65.85 66.7 66.2 68.9 66.65 70.6 67.5Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient121",gradientTransform:"rotate(-180 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#2087e2",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#b63fff",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient121)",d:"M66.6 15.05Q66.4 9.65 63.9 6.05 61.25 2.1 56.1 0.65 54.95 0.3 53.65 0.15 52.5 0 51.3 0.1 50.2 0.1 49.1 0.35 48.15 0.55 47 1 43.3 2.45 40.3 6.1 37.5 9.4 35.5 14.3 33.75 18.45 32.7 23.4 31.7 28.05 31.35 32.85 31.05 37.2 31.3 41.2 31.6 45.15 32.4 48.35 34 54.9 37.3 56.4 37.6 56.55 37.9 56.65L39.2 56.85Q39.45 56.85 39.95 56.8 42.05 56.6 44.7 55.05 47.25 53.5 50.05 50.8 53.05 47.9 55.85 44.05 58.8 40.05 61.1 35.6 63.8 30.35 65.25 25.3 66.75 19.75 66.6 15.05M47.55 23.15Q48.05 23.25 48.4 23.4 52.45 24.8 52.55 29.85 52.6 34 50 39.4 47.85 43.9 44.85 47.3 42.05 50.5 40.15 50.7L39.9 50.75 39.45 50.7 39.2 50.6Q37.8 49.95 37.25 46.35 36.7 42.7 37.3 38 37.95 32.75 39.75 28.8 41.9 24.1 45.05 23.25 45.6 23.1 45.85 23.1 46.25 23.05 46.65 23.05 47.05 23.05 47.55 23.15Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient122",gradientTransform:"rotate(-90 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#100f0f",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient122)",d:"M2.7 33.6Q2.1 34.4 1.7 35.35 1.25 36.5 1.05 37.7 0 42.6 2.2 47.2 4 51 8 54.35 11.55 57.3 16 59.15 20.5 61 23.85 60.85 24.5 60.85 25.25 60.7 26 60.55 26.5 60.3 27 60.05 27.45 59.65 27.9 59.25 28.15 58.75 29.35 56.45 27.5 51.65 25.6 47 21.75 42.1 17.75 37 13.4 34.05 8.7 30.9 5.45 31.7 4.65 31.9 3.95 32.4 3.25 32.85 2.7 33.6M10.1 43.55Q10.35 43.1 10.6 42.85 10.85 42.6 11.2 42.4 11.6 42.25 11.9 42.2 13.5 41.9 15.95 43.6 18.15 45.05 20.35 47.7 22.35 50.1 23.55 52.4 24.7 54.75 24.25 55.7 24.15 55.9 24 56 23.85 56.2 23.65 56.25 23.55 56.35 23.25 56.4L22.7 56.5Q21.1 56.6 18.55 55.6 16.05 54.6 13.85 52.95 11.5 51.2 10.35 49.15 9.05 46.8 9.75 44.45 9.9 43.95 10.1 43.55Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient123",gradientTransform:"rotate(-180 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#222020",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient123)",d:"M34.95 74.2L34.75 74.2Q33.2 74.15 31.9 75.25 30.7 76.3 29.85 78.25 29.1 80 28.8 82.2 28.5 84.4 28.7 86.65 29.1 91.4 31.5 94.7 34.3 98.5 39.3 99.7L39.4 99.7 39.7 99.8 39.85 99.8Q45.3 100.85 47.15 97.75 48 96.3 48 94.05 47.95 91.9 47.2 89.35 46.45 86.75 45.1 84.15 43.75 81.5 42.05 79.35 40.25 77.1 38.45 75.75 36.55 74.35 34.95 74.2M33.55 80.4Q34.35 78.2 35.6 78.3L35.65 78.3Q36.9 78.45 38.6 80.9 40.3 83.35 41.15 86.05 42.1 89 41.55 90.75 40.9 92.6 38.35 92.25L38.3 92.25 38.25 92.2 38.1 92.2Q35.6 91.7 34.25 89.6 33.1 87.7 32.95 85 32.8 82.35 33.55 80.4Z"})]}),(0,e.jsxs)("g",{transform:"matrix(0.9999999999999999 0 0 1 0 5.684341886080802e-14)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient124",gradientTransform:"rotate(-180 .5 .5)",children:[" ",(0,e.jsx)("stop",{offset:"0",stopColor:"#1e1c1c",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient124)",d:"M22.7 69.65Q22.25 69.3 21.6 69.05 20.95 68.8 20.25 68.7 19.6 68.55 18.85 68.5 16.7 68.45 14.65 69.15 12.65 69.8 11.4 71.1 10.15 72.5 10.2 74.2 10.25 76.05 11.95 78.2 12.4 78.75 13.05 79.4 13.55 79.9 14.2 80.3 14.7 80.6 15.3 80.85 16 81.1 16.4 81.1 18.2 81.35 19.9 80.35 21.55 79.4 22.75 77.65 24 75.85 24.3 73.95 24.6 71.85 23.55 70.5 23.15 70 22.7 69.65M21.7 71.7Q22.15 72.3 21.9 73.3 21.7 74.25 21 75.25 20.3 76.2 19.4 76.75 18.45 77.35 17.55 77.25L17 77.15Q16.7 77.05 16.45 76.85 16.25 76.75 15.9 76.45 15.7 76.25 15.4 75.9 14.5 74.75 14.7 73.8 14.8 72.95 15.75 72.3 16.6 71.7 17.8 71.4 19 71.1 20.1 71.15L20.65 71.2 21.1 71.3Q21.3 71.4 21.45 71.5L21.7 71.7Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient125",gradientTransform:"rotate(-360 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#FFFFFF",stopOpacity:"0.5"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#FFFFFF",stopOpacity:"0.2"})]})}),(0,e.jsx)("path",{fill:"url(#gradient125)",d:"M52.6 19.25Q59.6 19.25 66.2 20.95 66.7 17.8 66.6 15.05 66.4 9.65 63.9 6.05 61.25 2.1 56.1 0.65 54.95 0.3 53.65 0.15 52.5 0 51.3 0.1 50.2 0.1 49.1 0.35 48.15 0.55 47 1 43.3 2.45 40.3 6.1 37.5 9.4 35.5 14.3 33.85 18.3 32.8 22.85 42.25 19.25 52.6 19.25Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient126",gradientTransform:"rotate(-360 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#FFFFFF",stopOpacity:"0.5"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#FFFFFF",stopOpacity:"0.2"})]})}),(0,e.jsx)("path",{fill:"url(#gradient126)",d:"M1.05 37.7Q0 42.6 2.2 47.2 2.95 48.8 4.05 50.25 7.55 41.65 14.4 34.75 14 34.45 13.4 34.05 8.7 30.9 5.45 31.7 4.65 31.9 3.95 32.4 3.25 32.85 2.7 33.6 2.1 34.4 1.7 35.35 1.25 36.5 1.05 37.7Z"})]})]})}),(0,e.jsx)("g",{transform:"matrix(1.219512230276127 0 0 1.2195122143630526 32.82519274395008 88.56945194723018)",children:(0,e.jsx)("path",{fill:"#000000",fillOpacity:"1",d:""})})]})})})})})}},64777:function(t,r,n){"use strict";n.d(r,{$i:function(){return T},$l:function(){return $},Bu:function(){return j},E8:function(){return I},Ff:function(){return v},GC:function(){return w},GR:function(){return Y},HP:function(){return B},IO:function(){return E},Kp:function(){return x},Kt:function(){return S},M_:function(){return G},N$:function(){return P},NE:function(){return i},NM:function(){return g},Q_:function(){return f},Qc:function(){return b},RB:function(){return m},UJ:function(){return U},WB:function(){return c},WE:function(){return C},WQ:function(){return Q},Wr:function(){return k},XA:function(){return L},Y9:function(){return Z},a_:function(){return p},ao:function(){return l},bl:function(){return u},e_:function(){return A},hn:function(){return O},iG:function(){return N},iV:function(){return d},jr:function(){return y},kb:function(){return D},kg:function(){return K},ms:function(){return M},nx:function(){return F},op:function(){return J},qk:function(){return h},rQ:function(){return W},sG:function(){return _},um:function(){return R}});var e=n(34155);let o=e.env.NEXT_PUBLIC_ADMIN_USERNAME,s=e.env.NEXT_PUBLIC_ADMIN_STREAMKEY,c="/",a="".concat(c,"api/admin/"),i=15e3,f="".concat(a,"status"),u="".concat(a,"serverconfig"),l="".concat(a,"config"),d="".concat(a,"viewersOverTime"),p="".concat(a,"viewers"),x="".concat(a,"chat/clients"),h="".concat(a,"chat/users/disabled"),g="".concat(a,"chat/users/setenabled"),j="".concat(a,"chat/users/ipbans"),m="".concat(a,"chat/users/ipbans/remove"),y="".concat(a,"chat/users/setmoderator"),w="".concat(a,"chat/users/moderators"),F="".concat(a,"hardwarestats"),_="".concat(a,"logs"),Q="".concat(a,"logs/warnings"),C="".concat(a,"chat/messages"),O="/api/admin/chat/messagevisibility",b="".concat(a,"emoji/upload"),v="".concat(a,"emoji/delete"),M="".concat(a,"accesstokens"),k="".concat(a,"accesstokens/delete"),E="".concat(a,"accesstokens/create"),L="".concat(a,"webhooks"),G="".concat(a,"webhooks/delete"),N="".concat(a,"webhooks/create"),T="".concat(c,"api/socialplatforms"),A="".concat(a,"federation/send"),B="".concat(a,"followers"),I="".concat(a,"followers/pending"),Z="".concat(a,"followers/blocked"),D="".concat(a,"followers/approve"),J="".concat(a,"federation/actions"),P="".concat(a,"metrics/video"),R="".concat(a,"config/streamkeys"),U="".concat(a,"yp/reset");async function W(t,r){let{data:n,method:e="GET",auth:c=!0}=r||{},a={method:e};if(n&&(a.body=JSON.stringify(n)),c&&o&&s){let t=btoa("".concat(o,":").concat(s));a.headers={Authorization:"Basic ".concat(t)},a.mode="cors",a.credentials="include"}try{let r=await fetch(t,a),n=await r.json();if(!r.ok){let t=n.message||"An error has occurred: ".concat(r.status);throw Error(t)}return n}catch(t){return console.error(t),t}}async function $(t,r){let n={method:"GET",auth:!1,...r};return W(t,n)}async function K(t){try{let r=await fetch(t,{referrerPolicy:"no-referrer",referrer:""});if(!r.ok){let t="An error has occured: ".concat(r.status);throw Error(t)}let n=await r.json();return n}catch(t){console.log(t)}return{}}async function S(){return K("https://api.github.com/repos/owncast/owncast/releases/latest")}let X=/^\d+(\.\d+){0,2}$/;async function Y(t){let r=await S(),n=r.tag_name;return("v"===n.substr(0,1)&&(n=n.substr(1)),!function(t,r){if(!t||!r||0===t.length||0===r.length)return!1;if(t===r)return!0;if(X.test(t)&&X.test(r)){let n=t.split(".");for(;n.length<3;)n.push("0");let e=r.split(".");for(;e.length<3;)e.push("0");for(let t=0;t<3;t++){let r=parseInt(n[t],10),o=parseInt(e[t],10);if(r!==o)return r>o}return!0}return t>=r}(t,n))?n:null}},29403:function(t){t.exports={root:"OwncastLogo_root__uDVJf",contrast:"OwncastLogo_contrast__rDMJY",simple:"OwncastLogo_simple___hC9r"}}}]); -//# sourceMappingURL=710-3464b9980240bdfc.js.map \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[180],{50738:function(t,r,n){"use strict";n.d(r,{C:function(){return i}});var e=n(85893);n(67294);var o=n(94184),s=n.n(o),c=n(29403),a=n.n(c);let i=t=>{let{variant:r="simple"}=t,n=s()(a().root,{[a().simple]:"simple"===r,[a().contrast]:"contrast"===r});return(0,e.jsx)("div",{className:n,children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 95.68623352050781 104.46271514892578",className:"logo-svg",children:(0,e.jsx)("g",{transform:"matrix(1 0 0 1 -37.08803939819336 -18.940391540527344)",children:(0,e.jsx)("g",{children:(0,e.jsxs)("g",{children:[(0,e.jsx)("g",{children:(0,e.jsxs)("g",{transform:"matrix(1.0445680396949917 0 0 1.0445679172996596 36.34559138380523 18.877718021903796)",children:[(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient120",gradientTransform:"rotate(-90 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#1f2022",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#635e69",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient120)",d:"M91.5 75.35Q93.05 71.15 91.65 67.7 90.35 64.5 86.65 62.3 83.2 60.3 78.3 59.4 73.85 58.6 68.6 58.7 63.55 58.85 58.8 59.8 54.25 60.75 50.8 62.2 47.4 63.65 45.5 65.35 43.6 67.15 43.5 69.05 43.35 71.3 45.8 73.9 48.05 76.3 52.1 78.6 56.15 80.9 61.05 82.55 66.3 84.3 71.4 84.8 74.7 85.1 77.55 84.9 80.65 84.6 83.3 83.6 86.15 82.5 88.15 80.55 90.4 78.4 91.5 75.35M70.6 67.5Q72.3 68.4 73.1 69.7 73.9 71.15 73.45 73 73.1 74.3 72.3 75.25 71.55 76.1 70.3 76.6 69.25 77.05 67.75 77.25 66.3 77.4 64.85 77.3 62.3 77.15 59.25 76.3 56.6 75.5 54.15 74.3 51.9 73.2 50.45 72 49.05 70.75 49.1 69.8 49.2 69 50.25 68.25 51.3 67.55 53.15 67 55 66.4 57.25 66.1 59.8 65.8 62.1 65.8 64.65 65.85 66.7 66.2 68.9 66.65 70.6 67.5Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient121",gradientTransform:"rotate(-180 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#2087e2",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#b63fff",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient121)",d:"M66.6 15.05Q66.4 9.65 63.9 6.05 61.25 2.1 56.1 0.65 54.95 0.3 53.65 0.15 52.5 0 51.3 0.1 50.2 0.1 49.1 0.35 48.15 0.55 47 1 43.3 2.45 40.3 6.1 37.5 9.4 35.5 14.3 33.75 18.45 32.7 23.4 31.7 28.05 31.35 32.85 31.05 37.2 31.3 41.2 31.6 45.15 32.4 48.35 34 54.9 37.3 56.4 37.6 56.55 37.9 56.65L39.2 56.85Q39.45 56.85 39.95 56.8 42.05 56.6 44.7 55.05 47.25 53.5 50.05 50.8 53.05 47.9 55.85 44.05 58.8 40.05 61.1 35.6 63.8 30.35 65.25 25.3 66.75 19.75 66.6 15.05M47.55 23.15Q48.05 23.25 48.4 23.4 52.45 24.8 52.55 29.85 52.6 34 50 39.4 47.85 43.9 44.85 47.3 42.05 50.5 40.15 50.7L39.9 50.75 39.45 50.7 39.2 50.6Q37.8 49.95 37.25 46.35 36.7 42.7 37.3 38 37.95 32.75 39.75 28.8 41.9 24.1 45.05 23.25 45.6 23.1 45.85 23.1 46.25 23.05 46.65 23.05 47.05 23.05 47.55 23.15Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient122",gradientTransform:"rotate(-90 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#100f0f",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient122)",d:"M2.7 33.6Q2.1 34.4 1.7 35.35 1.25 36.5 1.05 37.7 0 42.6 2.2 47.2 4 51 8 54.35 11.55 57.3 16 59.15 20.5 61 23.85 60.85 24.5 60.85 25.25 60.7 26 60.55 26.5 60.3 27 60.05 27.45 59.65 27.9 59.25 28.15 58.75 29.35 56.45 27.5 51.65 25.6 47 21.75 42.1 17.75 37 13.4 34.05 8.7 30.9 5.45 31.7 4.65 31.9 3.95 32.4 3.25 32.85 2.7 33.6M10.1 43.55Q10.35 43.1 10.6 42.85 10.85 42.6 11.2 42.4 11.6 42.25 11.9 42.2 13.5 41.9 15.95 43.6 18.15 45.05 20.35 47.7 22.35 50.1 23.55 52.4 24.7 54.75 24.25 55.7 24.15 55.9 24 56 23.85 56.2 23.65 56.25 23.55 56.35 23.25 56.4L22.7 56.5Q21.1 56.6 18.55 55.6 16.05 54.6 13.85 52.95 11.5 51.2 10.35 49.15 9.05 46.8 9.75 44.45 9.9 43.95 10.1 43.55Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient123",gradientTransform:"rotate(-180 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#222020",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient123)",d:"M34.95 74.2L34.75 74.2Q33.2 74.15 31.9 75.25 30.7 76.3 29.85 78.25 29.1 80 28.8 82.2 28.5 84.4 28.7 86.65 29.1 91.4 31.5 94.7 34.3 98.5 39.3 99.7L39.4 99.7 39.7 99.8 39.85 99.8Q45.3 100.85 47.15 97.75 48 96.3 48 94.05 47.95 91.9 47.2 89.35 46.45 86.75 45.1 84.15 43.75 81.5 42.05 79.35 40.25 77.1 38.45 75.75 36.55 74.35 34.95 74.2M33.55 80.4Q34.35 78.2 35.6 78.3L35.65 78.3Q36.9 78.45 38.6 80.9 40.3 83.35 41.15 86.05 42.1 89 41.55 90.75 40.9 92.6 38.35 92.25L38.3 92.25 38.25 92.2 38.1 92.2Q35.6 91.7 34.25 89.6 33.1 87.7 32.95 85 32.8 82.35 33.55 80.4Z"})]}),(0,e.jsxs)("g",{transform:"matrix(0.9999999999999999 0 0 1 0 5.684341886080802e-14)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient124",gradientTransform:"rotate(-180 .5 .5)",children:[" ",(0,e.jsx)("stop",{offset:"0",stopColor:"#1e1c1c",stopOpacity:"1"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#49261F",stopOpacity:"1"})]})}),(0,e.jsx)("path",{fill:"url(#gradient124)",d:"M22.7 69.65Q22.25 69.3 21.6 69.05 20.95 68.8 20.25 68.7 19.6 68.55 18.85 68.5 16.7 68.45 14.65 69.15 12.65 69.8 11.4 71.1 10.15 72.5 10.2 74.2 10.25 76.05 11.95 78.2 12.4 78.75 13.05 79.4 13.55 79.9 14.2 80.3 14.7 80.6 15.3 80.85 16 81.1 16.4 81.1 18.2 81.35 19.9 80.35 21.55 79.4 22.75 77.65 24 75.85 24.3 73.95 24.6 71.85 23.55 70.5 23.15 70 22.7 69.65M21.7 71.7Q22.15 72.3 21.9 73.3 21.7 74.25 21 75.25 20.3 76.2 19.4 76.75 18.45 77.35 17.55 77.25L17 77.15Q16.7 77.05 16.45 76.85 16.25 76.75 15.9 76.45 15.7 76.25 15.4 75.9 14.5 74.75 14.7 73.8 14.8 72.95 15.75 72.3 16.6 71.7 17.8 71.4 19 71.1 20.1 71.15L20.65 71.2 21.1 71.3Q21.3 71.4 21.45 71.5L21.7 71.7Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient125",gradientTransform:"rotate(-360 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#FFFFFF",stopOpacity:"0.5"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#FFFFFF",stopOpacity:"0.2"})]})}),(0,e.jsx)("path",{fill:"url(#gradient125)",d:"M52.6 19.25Q59.6 19.25 66.2 20.95 66.7 17.8 66.6 15.05 66.4 9.65 63.9 6.05 61.25 2.1 56.1 0.65 54.95 0.3 53.65 0.15 52.5 0 51.3 0.1 50.2 0.1 49.1 0.35 48.15 0.55 47 1 43.3 2.45 40.3 6.1 37.5 9.4 35.5 14.3 33.85 18.3 32.8 22.85 42.25 19.25 52.6 19.25Z"})]}),(0,e.jsxs)("g",{transform:"matrix(1 0 0 1 0 0)",children:[(0,e.jsx)("defs",{children:(0,e.jsxs)("linearGradient",{x1:"0",y1:"0",x2:"0",y2:"1",id:"gradient126",gradientTransform:"rotate(-360 .5 .5)",children:[(0,e.jsx)("stop",{offset:"0",stopColor:"#FFFFFF",stopOpacity:"0.5"}),(0,e.jsx)("stop",{offset:"1",stopColor:"#FFFFFF",stopOpacity:"0.2"})]})}),(0,e.jsx)("path",{fill:"url(#gradient126)",d:"M1.05 37.7Q0 42.6 2.2 47.2 2.95 48.8 4.05 50.25 7.55 41.65 14.4 34.75 14 34.45 13.4 34.05 8.7 30.9 5.45 31.7 4.65 31.9 3.95 32.4 3.25 32.85 2.7 33.6 2.1 34.4 1.7 35.35 1.25 36.5 1.05 37.7Z"})]})]})}),(0,e.jsx)("g",{transform:"matrix(1.219512230276127 0 0 1.2195122143630526 32.82519274395008 88.56945194723018)",children:(0,e.jsx)("path",{fill:"#000000",fillOpacity:"1",d:""})})]})})})})})}},64777:function(t,r,n){"use strict";n.d(r,{$i:function(){return T},$l:function(){return $},Bu:function(){return j},E8:function(){return I},Ff:function(){return v},GC:function(){return w},GR:function(){return Y},HP:function(){return B},IO:function(){return E},Kp:function(){return x},Kt:function(){return S},M_:function(){return G},N$:function(){return P},NE:function(){return i},NM:function(){return g},Q_:function(){return f},Qc:function(){return b},RB:function(){return m},UJ:function(){return U},WB:function(){return c},WE:function(){return C},WQ:function(){return Q},Wr:function(){return k},XA:function(){return L},Y9:function(){return Z},a_:function(){return p},ao:function(){return l},bl:function(){return u},e_:function(){return A},hn:function(){return O},iG:function(){return N},iV:function(){return d},jr:function(){return y},kb:function(){return D},kg:function(){return K},ms:function(){return M},nx:function(){return F},op:function(){return J},qk:function(){return h},rQ:function(){return W},sG:function(){return _},um:function(){return R}});var e=n(34155);let o=e.env.NEXT_PUBLIC_ADMIN_USERNAME,s=e.env.NEXT_PUBLIC_ADMIN_STREAMKEY,c="/",a="".concat(c,"api/admin/"),i=15e3,f="".concat(a,"status"),u="".concat(a,"serverconfig"),l="".concat(a,"config"),d="".concat(a,"viewersOverTime"),p="".concat(a,"viewers"),x="".concat(a,"chat/clients"),h="".concat(a,"chat/users/disabled"),g="".concat(a,"chat/users/setenabled"),j="".concat(a,"chat/users/ipbans"),m="".concat(a,"chat/users/ipbans/remove"),y="".concat(a,"chat/users/setmoderator"),w="".concat(a,"chat/users/moderators"),F="".concat(a,"hardwarestats"),_="".concat(a,"logs"),Q="".concat(a,"logs/warnings"),C="".concat(a,"chat/messages"),O="/api/admin/chat/messagevisibility",b="".concat(a,"emoji/upload"),v="".concat(a,"emoji/delete"),M="".concat(a,"accesstokens"),k="".concat(a,"accesstokens/delete"),E="".concat(a,"accesstokens/create"),L="".concat(a,"webhooks"),G="".concat(a,"webhooks/delete"),N="".concat(a,"webhooks/create"),T="".concat(c,"api/socialplatforms"),A="".concat(a,"federation/send"),B="".concat(a,"followers"),I="".concat(a,"followers/pending"),Z="".concat(a,"followers/blocked"),D="".concat(a,"followers/approve"),J="".concat(a,"federation/actions"),P="".concat(a,"metrics/video"),R="".concat(a,"config/streamkeys"),U="".concat(a,"yp/reset");async function W(t,r){let{data:n,method:e="GET",auth:c=!0}=r||{},a={method:e};if(n&&(a.body=JSON.stringify(n)),c&&o&&s){let t=btoa("".concat(o,":").concat(s));a.headers={Authorization:"Basic ".concat(t)},a.mode="cors",a.credentials="include"}try{let r=await fetch(t,a),n=await r.json();if(!r.ok){let t=n.message||"An error has occurred: ".concat(r.status);throw Error(t)}return n}catch(t){return console.error(t),t}}async function $(t,r){let n={method:"GET",auth:!1,...r};return W(t,n)}async function K(t){try{let r=await fetch(t,{referrerPolicy:"no-referrer",referrer:""});if(!r.ok){let t="An error has occured: ".concat(r.status);throw Error(t)}let n=await r.json();return n}catch(t){console.log(t)}return{}}async function S(){return K("https://api.github.com/repos/owncast/owncast/releases/latest")}let X=/^\d+(\.\d+){0,2}$/;async function Y(t){let r=await S(),n=r.tag_name;return("v"===n.substr(0,1)&&(n=n.substr(1)),!function(t,r){if(!t||!r||0===t.length||0===r.length)return!1;if(t===r)return!0;if(X.test(t)&&X.test(r)){let n=t.split(".");for(;n.length<3;)n.push("0");let e=r.split(".");for(;e.length<3;)e.push("0");for(let t=0;t<3;t++){let r=parseInt(n[t],10),o=parseInt(e[t],10);if(r!==o)return r>o}return!0}return t>=r}(t,n))?n:null}},29403:function(t){t.exports={root:"OwncastLogo_root__uDVJf",contrast:"OwncastLogo_contrast__rDMJY",simple:"OwncastLogo_simple___hC9r"}}}]); +//# sourceMappingURL=180-396d483f985bbcd6.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/710-3464b9980240bdfc.js.map b/static/web/_next/static/chunks/180-396d483f985bbcd6.js.map similarity index 99% rename from static/web/_next/static/chunks/710-3464b9980240bdfc.js.map rename to static/web/_next/static/chunks/180-396d483f985bbcd6.js.map index af455db87..3137413b9 100644 --- a/static/web/_next/static/chunks/710-3464b9980240bdfc.js.map +++ b/static/web/_next/static/chunks/180-396d483f985bbcd6.js.map @@ -1 +1 @@ -{"version":3,"file":"static/chunks/710-3464b9980240bdfc.js","mappings":"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","sources":["webpack://_N_E/./components/common/OwncastLogo/OwncastLogo.tsx","webpack://_N_E/./utils/apis.ts","webpack://_N_E/./components/common/OwncastLogo/OwncastLogo.module.scss","webpack://_N_E/"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\nimport styles from './OwncastLogo.module.scss';\n\nexport type LogoProps = {\n variant: 'simple' | 'contrast';\n};\n\nexport const OwncastLogo: FC = ({ variant = 'simple' }) => {\n const rootClassName = cn(styles.root, {\n [styles.simple]: variant === 'simple',\n [styles.contrast]: variant === 'contrast',\n });\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {' '}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","/* eslint-disable prefer-destructuring */\nconst ADMIN_USERNAME = process.env.NEXT_PUBLIC_ADMIN_USERNAME;\nconst ADMIN_STREAMKEY = process.env.NEXT_PUBLIC_ADMIN_STREAMKEY;\nexport const NEXT_PUBLIC_API_HOST = process.env.NEXT_PUBLIC_API_HOST;\n\nconst API_LOCATION = `${NEXT_PUBLIC_API_HOST}api/admin/`;\n\nexport const FETCH_INTERVAL = 15000;\n\n// Current inbound broadcaster info\nexport const STATUS = `${API_LOCATION}status`;\n\n// Disconnect inbound stream\nexport const DISCONNECT = `${API_LOCATION}disconnect`;\n\n// Change the current streaming key in memory\nexport const STREAMKEY_CHANGE = `${API_LOCATION}changekey`;\n\n// Current server config\nexport const SERVER_CONFIG = `${API_LOCATION}serverconfig`;\n\n// Base url to update config settings\nexport const SERVER_CONFIG_UPDATE_URL = `${API_LOCATION}config`;\n\n// Get viewer count over time\nexport const VIEWERS_OVER_TIME = `${API_LOCATION}viewersOverTime`;\n\n// Get active viewer details\nexport const ACTIVE_VIEWER_DETAILS = `${API_LOCATION}viewers`;\n\n// Get currently connected chat clients\nexport const CONNECTED_CLIENTS = `${API_LOCATION}chat/clients`;\n\n// Get list of disabled/blocked chat users\nexport const DISABLED_USERS = `${API_LOCATION}chat/users/disabled`;\n\n// Disable/enable a single user\nexport const USER_ENABLED_TOGGLE = `${API_LOCATION}chat/users/setenabled`;\n\n// Get banned IP addresses\nexport const BANNED_IPS = `${API_LOCATION}chat/users/ipbans`;\n\n// Remove IP ban\nexport const BANNED_IP_REMOVE = `${API_LOCATION}chat/users/ipbans/remove`;\n\n// Disable/enable a single user\nexport const USER_SET_MODERATOR = `${API_LOCATION}chat/users/setmoderator`;\n\n// Get list of moderators\nexport const MODERATORS = `${API_LOCATION}chat/users/moderators`;\n\n// Get hardware stats\nexport const HARDWARE_STATS = `${API_LOCATION}hardwarestats`;\n\n// Get all logs\nexport const LOGS_ALL = `${API_LOCATION}logs`;\n\n// Get warnings + errors\nexport const LOGS_WARN = `${API_LOCATION}logs/warnings`;\n\n// Get chat history\nexport const CHAT_HISTORY = `${API_LOCATION}chat/messages`;\n\n// Get chat history\nexport const UPDATE_CHAT_MESSGAE_VIZ = `/api/admin/chat/messagevisibility`;\n\n// Upload a new custom emoji\nexport const UPLOAD_EMOJI = `${API_LOCATION}emoji/upload`;\n\n// Delete a custom emoji\nexport const DELETE_EMOJI = `${API_LOCATION}emoji/delete`;\n\n// Get all access tokens\nexport const ACCESS_TOKENS = `${API_LOCATION}accesstokens`;\n\n// Delete a single access token\nexport const DELETE_ACCESS_TOKEN = `${API_LOCATION}accesstokens/delete`;\n\n// Create a new access token\nexport const CREATE_ACCESS_TOKEN = `${API_LOCATION}accesstokens/create`;\n\n// Get webhooks\nexport const WEBHOOKS = `${API_LOCATION}webhooks`;\n\n// Delete a single webhook\nexport const DELETE_WEBHOOK = `${API_LOCATION}webhooks/delete`;\n\n// Create a single webhook\nexport const CREATE_WEBHOOK = `${API_LOCATION}webhooks/create`;\n\n// hard coded social icons list\nexport const SOCIAL_PLATFORMS_LIST = `${NEXT_PUBLIC_API_HOST}api/socialplatforms`;\n\n// set external action links\nexport const EXTERNAL_ACTIONS = `${API_LOCATION}api/externalactions`;\n\n// send a message to the fediverse\nexport const FEDERATION_MESSAGE_SEND = `${API_LOCATION}federation/send`;\n\n// Get followers\nexport const FOLLOWERS = `${API_LOCATION}followers`;\n\n// Get followers pending approval\nexport const FOLLOWERS_PENDING = `${API_LOCATION}followers/pending`;\n\n// Get followers who were blocked or rejected\nexport const FOLLOWERS_BLOCKED = `${API_LOCATION}followers/blocked`;\n\n// Approve, reject a follow request\nexport const SET_FOLLOWER_APPROVAL = `${API_LOCATION}followers/approve`;\n\n// List of inbound federated actions that took place.\nexport const FEDERATION_ACTIONS = `${API_LOCATION}federation/actions`;\n\nexport const API_STREAM_HEALTH_METRICS = `${API_LOCATION}metrics/video`;\n\n// Save an array of stream keys\nexport const UPDATE_STREAM_KEYS = `${API_LOCATION}config/streamkeys`;\n\nexport const API_YP_RESET = `${API_LOCATION}yp/reset`;\n\nexport const TEMP_UPDATER_API = LOGS_ALL;\n\nconst GITHUB_RELEASE_URL = 'https://api.github.com/repos/owncast/owncast/releases/latest';\n\ninterface FetchOptions {\n data?: any;\n method?: string;\n auth?: boolean;\n}\n\nexport async function fetchData(url: string, options?: FetchOptions) {\n const { data, method = 'GET', auth = true } = options || {};\n\n // eslint-disable-next-line no-undef\n const requestOptions: RequestInit = {\n method,\n };\n\n if (data) {\n requestOptions.body = JSON.stringify(data);\n }\n\n if (auth && ADMIN_USERNAME && ADMIN_STREAMKEY) {\n const encoded = btoa(`${ADMIN_USERNAME}:${ADMIN_STREAMKEY}`);\n requestOptions.headers = {\n Authorization: `Basic ${encoded}`,\n };\n requestOptions.mode = 'cors';\n requestOptions.credentials = 'include';\n }\n\n try {\n const response = await fetch(url, requestOptions);\n const json = await response.json();\n\n if (!response.ok) {\n const message = json.message || `An error has occurred: ${response.status}`;\n throw new Error(message);\n }\n return json;\n } catch (error) {\n console.error(error);\n return error;\n // console.log(error)\n // throw new Error(error)\n }\n}\n\nexport async function getUnauthedData(url: string, options?: FetchOptions) {\n const opts = {\n method: 'GET',\n auth: false,\n ...options,\n };\n return fetchData(url, opts);\n}\n\nexport async function fetchExternalData(url: string) {\n try {\n const response = await fetch(url, {\n referrerPolicy: 'no-referrer', // Send no referrer header for privacy reasons.\n referrer: '',\n });\n if (!response.ok) {\n const message = `An error has occured: ${response.status}`;\n throw new Error(message);\n }\n const json = await response.json();\n return json;\n } catch (error) {\n console.log(error);\n }\n return {};\n}\n\nexport async function getGithubRelease() {\n return fetchExternalData(GITHUB_RELEASE_URL);\n}\n\n// Stolen from https://gist.github.com/prenagha/98bbb03e27163bc2f5e4\nconst VPAT = /^\\d+(\\.\\d+){0,2}$/;\nfunction upToDate(local, remote) {\n if (!local || !remote || local.length === 0 || remote.length === 0) return false;\n if (local === remote) return true;\n if (VPAT.test(local) && VPAT.test(remote)) {\n const lparts = local.split('.');\n while (lparts.length < 3) lparts.push('0');\n const rparts = remote.split('.');\n while (rparts.length < 3) rparts.push('0');\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < 3; i++) {\n const l = parseInt(lparts[i], 10);\n const r = parseInt(rparts[i], 10);\n if (l === r)\n // eslint-disable-next-line no-continue\n continue;\n return l > r;\n }\n return true;\n }\n return local >= remote;\n}\n\n// Make a request to the server status API and the Github releases API\n// and return a release if it's newer than the server version.\nexport async function upgradeVersionAvailable(currentVersion) {\n const recentRelease = await getGithubRelease();\n let recentReleaseVersion = recentRelease.tag_name;\n\n if (recentReleaseVersion.substr(0, 1) === 'v') {\n recentReleaseVersion = recentReleaseVersion.substr(1);\n }\n\n if (!upToDate(currentVersion, recentReleaseVersion)) {\n return recentReleaseVersion;\n }\n\n return null;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"OwncastLogo_root__uDVJf\",\"contrast\":\"OwncastLogo_contrast__rDMJY\",\"simple\":\"OwncastLogo_simple___hC9r\"};"],"names":["OwncastLogo","variant","param","rootClassName","cn","styles","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","svg","xmlns","viewBox","g","transform","jsxs","defs","linearGradient","x1","y1","x2","y2","id","gradientTransform","stop","offset","stopColor","stopOpacity","path","fill","d","fillOpacity","ADMIN_USERNAME","process","env","NEXT_PUBLIC_ADMIN_USERNAME","ADMIN_STREAMKEY","NEXT_PUBLIC_ADMIN_STREAMKEY","NEXT_PUBLIC_API_HOST","API_LOCATION","concat","FETCH_INTERVAL","STATUS","SERVER_CONFIG","SERVER_CONFIG_UPDATE_URL","VIEWERS_OVER_TIME","ACTIVE_VIEWER_DETAILS","CONNECTED_CLIENTS","DISABLED_USERS","USER_ENABLED_TOGGLE","BANNED_IPS","BANNED_IP_REMOVE","USER_SET_MODERATOR","MODERATORS","HARDWARE_STATS","LOGS_ALL","LOGS_WARN","CHAT_HISTORY","UPDATE_CHAT_MESSGAE_VIZ","UPLOAD_EMOJI","DELETE_EMOJI","ACCESS_TOKENS","DELETE_ACCESS_TOKEN","CREATE_ACCESS_TOKEN","WEBHOOKS","DELETE_WEBHOOK","CREATE_WEBHOOK","SOCIAL_PLATFORMS_LIST","FEDERATION_MESSAGE_SEND","FOLLOWERS","FOLLOWERS_PENDING","FOLLOWERS_BLOCKED","SET_FOLLOWER_APPROVAL","FEDERATION_ACTIONS","API_STREAM_HEALTH_METRICS","UPDATE_STREAM_KEYS","API_YP_RESET","fetchData","url","options","data","method","auth","requestOptions","body","JSON","stringify","encoded","btoa","headers","Authorization","mode","credentials","response","fetch","json","ok","message","status","error","console","getUnauthedData","opts","fetchExternalData","referrerPolicy","referrer","log","getGithubRelease","VPAT","upgradeVersionAvailable","currentVersion","recentRelease","recentReleaseVersion","tag_name","substr","upToDate","local","remote","length","test","lparts","split","push","rparts","i","l","parseInt","r","module","exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/chunks/180-396d483f985bbcd6.js","mappings":"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","sources":["webpack://_N_E/./components/common/OwncastLogo/OwncastLogo.tsx","webpack://_N_E/./utils/apis.ts","webpack://_N_E/./components/common/OwncastLogo/OwncastLogo.module.scss","webpack://_N_E/"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\nimport styles from './OwncastLogo.module.scss';\n\nexport type LogoProps = {\n variant: 'simple' | 'contrast';\n};\n\nexport const OwncastLogo: FC = ({ variant = 'simple' }) => {\n const rootClassName = cn(styles.root, {\n [styles.simple]: variant === 'simple',\n [styles.contrast]: variant === 'contrast',\n });\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {' '}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","/* eslint-disable prefer-destructuring */\nconst ADMIN_USERNAME = process.env.NEXT_PUBLIC_ADMIN_USERNAME;\nconst ADMIN_STREAMKEY = process.env.NEXT_PUBLIC_ADMIN_STREAMKEY;\nexport const NEXT_PUBLIC_API_HOST = process.env.NEXT_PUBLIC_API_HOST;\n\nconst API_LOCATION = `${NEXT_PUBLIC_API_HOST}api/admin/`;\n\nexport const FETCH_INTERVAL = 15000;\n\n// Current inbound broadcaster info\nexport const STATUS = `${API_LOCATION}status`;\n\n// Disconnect inbound stream\nexport const DISCONNECT = `${API_LOCATION}disconnect`;\n\n// Change the current streaming key in memory\nexport const STREAMKEY_CHANGE = `${API_LOCATION}changekey`;\n\n// Current server config\nexport const SERVER_CONFIG = `${API_LOCATION}serverconfig`;\n\n// Base url to update config settings\nexport const SERVER_CONFIG_UPDATE_URL = `${API_LOCATION}config`;\n\n// Get viewer count over time\nexport const VIEWERS_OVER_TIME = `${API_LOCATION}viewersOverTime`;\n\n// Get active viewer details\nexport const ACTIVE_VIEWER_DETAILS = `${API_LOCATION}viewers`;\n\n// Get currently connected chat clients\nexport const CONNECTED_CLIENTS = `${API_LOCATION}chat/clients`;\n\n// Get list of disabled/blocked chat users\nexport const DISABLED_USERS = `${API_LOCATION}chat/users/disabled`;\n\n// Disable/enable a single user\nexport const USER_ENABLED_TOGGLE = `${API_LOCATION}chat/users/setenabled`;\n\n// Get banned IP addresses\nexport const BANNED_IPS = `${API_LOCATION}chat/users/ipbans`;\n\n// Remove IP ban\nexport const BANNED_IP_REMOVE = `${API_LOCATION}chat/users/ipbans/remove`;\n\n// Disable/enable a single user\nexport const USER_SET_MODERATOR = `${API_LOCATION}chat/users/setmoderator`;\n\n// Get list of moderators\nexport const MODERATORS = `${API_LOCATION}chat/users/moderators`;\n\n// Get hardware stats\nexport const HARDWARE_STATS = `${API_LOCATION}hardwarestats`;\n\n// Get all logs\nexport const LOGS_ALL = `${API_LOCATION}logs`;\n\n// Get warnings + errors\nexport const LOGS_WARN = `${API_LOCATION}logs/warnings`;\n\n// Get chat history\nexport const CHAT_HISTORY = `${API_LOCATION}chat/messages`;\n\n// Get chat history\nexport const UPDATE_CHAT_MESSGAE_VIZ = `/api/admin/chat/messagevisibility`;\n\n// Upload a new custom emoji\nexport const UPLOAD_EMOJI = `${API_LOCATION}emoji/upload`;\n\n// Delete a custom emoji\nexport const DELETE_EMOJI = `${API_LOCATION}emoji/delete`;\n\n// Get all access tokens\nexport const ACCESS_TOKENS = `${API_LOCATION}accesstokens`;\n\n// Delete a single access token\nexport const DELETE_ACCESS_TOKEN = `${API_LOCATION}accesstokens/delete`;\n\n// Create a new access token\nexport const CREATE_ACCESS_TOKEN = `${API_LOCATION}accesstokens/create`;\n\n// Get webhooks\nexport const WEBHOOKS = `${API_LOCATION}webhooks`;\n\n// Delete a single webhook\nexport const DELETE_WEBHOOK = `${API_LOCATION}webhooks/delete`;\n\n// Create a single webhook\nexport const CREATE_WEBHOOK = `${API_LOCATION}webhooks/create`;\n\n// hard coded social icons list\nexport const SOCIAL_PLATFORMS_LIST = `${NEXT_PUBLIC_API_HOST}api/socialplatforms`;\n\n// set external action links\nexport const EXTERNAL_ACTIONS = `${API_LOCATION}api/externalactions`;\n\n// send a message to the fediverse\nexport const FEDERATION_MESSAGE_SEND = `${API_LOCATION}federation/send`;\n\n// Get followers\nexport const FOLLOWERS = `${API_LOCATION}followers`;\n\n// Get followers pending approval\nexport const FOLLOWERS_PENDING = `${API_LOCATION}followers/pending`;\n\n// Get followers who were blocked or rejected\nexport const FOLLOWERS_BLOCKED = `${API_LOCATION}followers/blocked`;\n\n// Approve, reject a follow request\nexport const SET_FOLLOWER_APPROVAL = `${API_LOCATION}followers/approve`;\n\n// List of inbound federated actions that took place.\nexport const FEDERATION_ACTIONS = `${API_LOCATION}federation/actions`;\n\nexport const API_STREAM_HEALTH_METRICS = `${API_LOCATION}metrics/video`;\n\n// Save an array of stream keys\nexport const UPDATE_STREAM_KEYS = `${API_LOCATION}config/streamkeys`;\n\nexport const API_YP_RESET = `${API_LOCATION}yp/reset`;\n\nexport const TEMP_UPDATER_API = LOGS_ALL;\n\nconst GITHUB_RELEASE_URL = 'https://api.github.com/repos/owncast/owncast/releases/latest';\n\ninterface FetchOptions {\n data?: any;\n method?: string;\n auth?: boolean;\n}\n\nexport async function fetchData(url: string, options?: FetchOptions) {\n const { data, method = 'GET', auth = true } = options || {};\n\n // eslint-disable-next-line no-undef\n const requestOptions: RequestInit = {\n method,\n };\n\n if (data) {\n requestOptions.body = JSON.stringify(data);\n }\n\n if (auth && ADMIN_USERNAME && ADMIN_STREAMKEY) {\n const encoded = btoa(`${ADMIN_USERNAME}:${ADMIN_STREAMKEY}`);\n requestOptions.headers = {\n Authorization: `Basic ${encoded}`,\n };\n requestOptions.mode = 'cors';\n requestOptions.credentials = 'include';\n }\n\n try {\n const response = await fetch(url, requestOptions);\n const json = await response.json();\n\n if (!response.ok) {\n const message = json.message || `An error has occurred: ${response.status}`;\n throw new Error(message);\n }\n return json;\n } catch (error) {\n console.error(error);\n return error;\n // console.log(error)\n // throw new Error(error)\n }\n}\n\nexport async function getUnauthedData(url: string, options?: FetchOptions) {\n const opts = {\n method: 'GET',\n auth: false,\n ...options,\n };\n return fetchData(url, opts);\n}\n\nexport async function fetchExternalData(url: string) {\n try {\n const response = await fetch(url, {\n referrerPolicy: 'no-referrer', // Send no referrer header for privacy reasons.\n referrer: '',\n });\n if (!response.ok) {\n const message = `An error has occured: ${response.status}`;\n throw new Error(message);\n }\n const json = await response.json();\n return json;\n } catch (error) {\n console.log(error);\n }\n return {};\n}\n\nexport async function getGithubRelease() {\n return fetchExternalData(GITHUB_RELEASE_URL);\n}\n\n// Stolen from https://gist.github.com/prenagha/98bbb03e27163bc2f5e4\nconst VPAT = /^\\d+(\\.\\d+){0,2}$/;\nfunction upToDate(local, remote) {\n if (!local || !remote || local.length === 0 || remote.length === 0) return false;\n if (local === remote) return true;\n if (VPAT.test(local) && VPAT.test(remote)) {\n const lparts = local.split('.');\n while (lparts.length < 3) lparts.push('0');\n const rparts = remote.split('.');\n while (rparts.length < 3) rparts.push('0');\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < 3; i++) {\n const l = parseInt(lparts[i], 10);\n const r = parseInt(rparts[i], 10);\n if (l === r)\n // eslint-disable-next-line no-continue\n continue;\n return l > r;\n }\n return true;\n }\n return local >= remote;\n}\n\n// Make a request to the server status API and the Github releases API\n// and return a release if it's newer than the server version.\nexport async function upgradeVersionAvailable(currentVersion) {\n const recentRelease = await getGithubRelease();\n let recentReleaseVersion = recentRelease.tag_name;\n\n if (recentReleaseVersion.substr(0, 1) === 'v') {\n recentReleaseVersion = recentReleaseVersion.substr(1);\n }\n\n if (!upToDate(currentVersion, recentReleaseVersion)) {\n return recentReleaseVersion;\n }\n\n return null;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"OwncastLogo_root__uDVJf\",\"contrast\":\"OwncastLogo_contrast__rDMJY\",\"simple\":\"OwncastLogo_simple___hC9r\"};"],"names":["OwncastLogo","variant","param","rootClassName","cn","styles","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","svg","xmlns","viewBox","g","transform","jsxs","defs","linearGradient","x1","y1","x2","y2","id","gradientTransform","stop","offset","stopColor","stopOpacity","path","fill","d","fillOpacity","ADMIN_USERNAME","process","env","NEXT_PUBLIC_ADMIN_USERNAME","ADMIN_STREAMKEY","NEXT_PUBLIC_ADMIN_STREAMKEY","NEXT_PUBLIC_API_HOST","API_LOCATION","concat","FETCH_INTERVAL","STATUS","SERVER_CONFIG","SERVER_CONFIG_UPDATE_URL","VIEWERS_OVER_TIME","ACTIVE_VIEWER_DETAILS","CONNECTED_CLIENTS","DISABLED_USERS","USER_ENABLED_TOGGLE","BANNED_IPS","BANNED_IP_REMOVE","USER_SET_MODERATOR","MODERATORS","HARDWARE_STATS","LOGS_ALL","LOGS_WARN","CHAT_HISTORY","UPDATE_CHAT_MESSGAE_VIZ","UPLOAD_EMOJI","DELETE_EMOJI","ACCESS_TOKENS","DELETE_ACCESS_TOKEN","CREATE_ACCESS_TOKEN","WEBHOOKS","DELETE_WEBHOOK","CREATE_WEBHOOK","SOCIAL_PLATFORMS_LIST","FEDERATION_MESSAGE_SEND","FOLLOWERS","FOLLOWERS_PENDING","FOLLOWERS_BLOCKED","SET_FOLLOWER_APPROVAL","FEDERATION_ACTIONS","API_STREAM_HEALTH_METRICS","UPDATE_STREAM_KEYS","API_YP_RESET","fetchData","url","options","data","method","auth","requestOptions","body","JSON","stringify","encoded","btoa","headers","Authorization","mode","credentials","response","fetch","json","ok","message","status","error","console","getUnauthedData","opts","fetchExternalData","referrerPolicy","referrer","log","getGithubRelease","VPAT","upgradeVersionAvailable","currentVersion","recentRelease","recentReleaseVersion","tag_name","substr","upToDate","local","remote","length","test","lparts","split","push","rparts","i","l","parseInt","r","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js b/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js new file mode 100644 index 000000000..da08a527b --- /dev/null +++ b/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js @@ -0,0 +1,2 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2070],{32070:function(e,t,s){"use strict";s.r(t),s.d(t,{ChatContainer:function(){return eC}});var a,n,r,o,i,l=s(85893),c=s(26246),d=s(67294),h=s(5152),u=s.n(h),m=s(91951),p=s(59760),x=s.n(p),g=s(94184),_=s.n(g),C=s(94199),f=s(4480),j=s(27722),v=s(99597),y=s(50085),b=s.n(y),N=s(77278);function M(e){let t=new Date(e);if(Number.isNaN(t))return"";let s=(0,N.Xb)(e);if(s>=1){let e=t.toLocaleDateString("en-US",{dateStyle:"medium"});return"".concat(e," at ").concat(t.toLocaleTimeString())}return"".concat(t.toLocaleTimeString())}var w=s(77466),T=s(48976),S=s.n(T);let E=e=>{let{badge:t,userColor:s,title:a}=e;return(0,l.jsx)("span",{style:{color:"var(--theme-color-users-".concat(s,")")},className:S().badge,title:a,children:t})},k=u()(()=>Promise.all([s.e(2074),s.e(7719)]).then(s.t.bind(s,27719,23)),{loadableGenerated:{webpack:()=>[27719]},ssr:!1}),O=e=>{let{userColor:t}=e;return(0,l.jsx)(E,{badge:(0,l.jsx)(k,{}),userColor:t,title:"Moderator"})},D=u()(()=>Promise.all([s.e(2074),s.e(710)]).then(s.t.bind(s,20710,23)),{loadableGenerated:{webpack:()=>[20710]},ssr:!1}),A=e=>{let{userColor:t}=e;return(0,l.jsx)(E,{badge:(0,l.jsx)(D,{}),userColor:t,title:"Moderator"})},B=u()(()=>Promise.all([s.e(173),s.e(164),s.e(4931),s.e(5402),s.e(7524),s.e(6386),s.e(3698),s.e(3013),s.e(4398),s.e(8091),s.e(8270),s.e(4860)]).then(s.bind(s,94860)).then(e=>e.ChatModerationActionMenu),{loadableGenerated:{webpack:()=>[94860]},ssr:!1}),P=u()(()=>Promise.resolve().then(s.bind(s,47049)).then(e=>e.Highlight),{loadableGenerated:{webpack:()=>[47049]},ssr:!1}),U=e=>{let{children:t,user:s}=e,{displayName:a,createdAt:n}=s,r="".concat(a," first joined ").concat(M(n));return(0,l.jsx)(C.Z,{title:r,placement:"topLeft",mouseEnterDelay:1,children:t})},F=e=>{let{message:t,highlightString:s,showModeratorMenu:a,sentBySelf:n,sameUserAsLast:r,isAuthorModerator:o,isAuthorAuthenticated:i}=e,{id:c,body:h,user:u,timestamp:m}=t,{id:p,displayName:x,displayColor:g}=u,y=(0,f.sJ)(w.FI),N="var(--theme-color-users-".concat(g,")"),T="Sent ".concat(M(m)),[S,E]=(0,d.useState)(h),k=[];return o&&k.push((0,l.jsx)(A,{userColor:g},"mod")),i&&k.push((0,l.jsx)(O,{userColor:g},"auth")),(0,d.useEffect)(()=>{E((0,j.p1)(h))},[t]),(0,l.jsx)("div",{className:_()(b().messagePadding,r&&b().messagePaddingCollapsed,"chat-message_user"),children:(0,l.jsxs)("div",{className:_()(b().root,{[b().ownMessage]:n}),style:{borderColor:N},children:[(0,l.jsx)("div",{className:b().background,style:{color:N}}),!r&&(0,l.jsx)(U,{user:u,children:(0,l.jsxs)("div",{className:b().user,style:{color:N},children:[(0,l.jsx)("span",{className:b().userName,children:x}),(0,l.jsx)("span",{children:k})]})}),(0,l.jsx)(C.Z,{title:T,mouseEnterDelay:1,children:(0,l.jsx)(P,{search:s,children:(0,l.jsx)("div",{className:b().message,dangerouslySetInnerHTML:{__html:(0,v.Z)(S)}})})}),a&&(0,l.jsx)("div",{className:b().modMenuWrapper,children:(0,l.jsx)(B,{messageID:c,accessToken:y,userID:p,userDisplayName:x})})]})})};var G=s(55241),L=s(77493),R=s(96391),I=s(26912),H=s.n(I);let W=u()(()=>Promise.all([s.e(7741),s.e(1559)]).then(s.bind(s,51559)).then(e=>e.EmojiPicker),{loadableGenerated:{webpack:()=>[51559]},ssr:!1}),V=u()(()=>Promise.all([s.e(2074),s.e(3366)]).then(s.t.bind(s,73366,23)),{loadableGenerated:{webpack:()=>[73366]},ssr:!1}),Y=u()(()=>Promise.all([s.e(2074),s.e(2348)]).then(s.t.bind(s,92348,23)),{loadableGenerated:{webpack:()=>[92348]},ssr:!1}),J=e=>{let{attributes:t,element:s,children:a}=e,n=(0,R.vt)(),r=(0,R.UE)();return(0,l.jsxs)("span",{...t,contentEditable:!1,children:[(0,l.jsx)("img",{alt:s.alt,src:s.src,title:s.name,style:{display:"inline",maxWidth:"50px",maxHeight:"20px",boxShadow:"".concat(n&&r?"0 0 0 3px #B4D5FF":"none")}}),a]})},X=e=>{let{isVoid:t}=e;return e.isVoid=e=>"image"===e.type||t(e),e.isInline=e=>"image"===e.type,e},z=e=>{let t;if(L.xv.isText(e)){let t=e.text;return t}if(0===e.children.length)t=[{text:""}];else{var s;t=null===(s=e.children)||void 0===s?void 0:s.map(e=>z(e)).join("")}switch(e.type){case"paragraph":return"

".concat(t,"

");case"image":return'').concat(e.alt,'');default:return t}},Z=e=>{if(L.xv.isText(e))return e.text.length;if("image"===e.type)return 5;let t=0;return e.children.forEach(e=>{t+=Z(e)}),t},q=e=>{let{defaultText:t}=e,[s,a]=(0,d.useState)(!1),[n,r]=(0,d.useState)(null==t?void 0:t.length),o=(0,f.sJ)(w.Gt),i=(0,d.useMemo)(()=>(0,R.BU)(X((0,L.Jh)())),[]),c=()=>{if(!o){console.log("websocketService is not defined");return}let e=z(i);o.send({type:m.C.CHAT,body:e}),L.YR.delete(i,{at:{anchor:L.ML.start(i,[]),focus:L.ML.end(i,[])}}),r(0)},h=(e,t,s)=>({type:"image",alt:e,src:t,name:s,children:[{text:""}]}),u=(e,t)=>{if(!e)return;let{selection:s}=i,a=h(t,e,t);if(L.YR.insertNodes(i,a,{select:!0}),s){var n;let[e,t]=L.ML.parent(i,null===(n=s.focus)||void 0===n?void 0:n.path);i.isVoid(e)||L.NB.string(e).length?L.YR.insertNodes(i,a,{at:L.y$.next(t),select:!0}):(L.YR.insertNodes(i,a,{at:t,select:!0}),L.ML.normalize(i,{force:!0}))}else L.YR.insertNodes(i,a,{select:!0})},p=e=>{R.F3.focus(i),L.YR.insertText(i,e)},x=(e,t)=>{R.F3.focus(i),u(t,e)},g=e=>{let t=Z(i)+1;if("Enter"===e.key){e.preventDefault(),c();return}if("Backspace"===e.key){r(t-1);return}t+1>300&&e.preventDefault(),r(t+1)},C=e=>{let t=e.clipboardData.getData("text/plain"),{length:s}=t;n+s>300&&e.preventDefault()},j=e=>"image"===e.element.type?(0,l.jsx)(J,{...e}):(0,l.jsx)("p",{...e});return(0,l.jsx)("div",{className:H().root,children:(0,l.jsxs)("div",{className:_()(H().inputWrap,n>=300&&H().maxCharacters),children:[(0,l.jsxs)(R.mH,{editor:i,value:[{type:"paragraph",children:[{text:t||""}]}],children:[(0,l.jsx)(R.CX,{className:"chat-text-input",onKeyDown:g,onPaste:C,renderElement:j,placeholder:"Send a message to chat",style:{width:"100%"},role:"textbox","aria-label":"Chat text input",autoFocus:!0}),(0,l.jsx)(G.Z,{content:(0,l.jsx)(W,{onEmojiSelect:p,onCustomEmojiSelect:x}),trigger:"click",placement:"topRight",onOpenChange:e=>a(e),open:s})]}),(0,l.jsxs)("div",{style:{display:"flex",paddingLeft:"5px"},children:[(0,l.jsx)("button",{type:"button",className:H().emojiButton,title:"Emoji picker button",onClick:()=>a(!s),children:(0,l.jsx)(Y,{})}),(0,l.jsx)("button",{type:"button",className:H().sendButton,title:"Send message Button",onClick:c,children:(0,l.jsx)(V,{})})]})]})})};var K=s(93107),$=s.n(K);function Q(){return(Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,l.jsxs)("div",{className:$().chatModerationNotification,children:[(0,l.jsx)(ee,{className:$().icon}),"You are now a moderator."]});var es=s(47049),ea=s(23421),en=s.n(ea);let er=e=>{let{message:{body:t,user:{displayName:s}},highlightString:a}=e;return(0,l.jsxs)("div",{className:_()([en().chatSystemMessage,"chat-message_system"]),children:[(0,l.jsx)("div",{className:en().user,children:(0,l.jsx)("span",{className:en().userName,children:s})}),(0,l.jsx)(es.Highlight,{search:a,children:(0,l.jsx)("div",{className:en().message,dangerouslySetInnerHTML:{__html:t}})})]})};var eo=s(91044),ei=s.n(eo);let el=u()(()=>Promise.all([s.e(2074),s.e(8725)]).then(s.t.bind(s,8725,23)),{loadableGenerated:{webpack:()=>[8725]},ssr:!1}),ec=e=>{let{isAuthorModerator:t,userColor:s,displayName:a}=e;return(0,l.jsxs)("div",{className:ei().root,children:[(0,l.jsxs)("span",{style:{color:"var(--theme-color-users-".concat(s,")")},children:[(0,l.jsx)("span",{style:{padding:"0 10px"},children:(0,l.jsx)(el,{})}),(0,l.jsx)("span",{style:{fontWeight:"bold"},children:a}),t&&(0,l.jsx)("span",{children:(0,l.jsx)(A,{userColor:s})})]})," ","joined the chat."]})};var ed=s(71577);let eh=u()(()=>Promise.all([s.e(2074),s.e(437)]).then(s.t.bind(s,20437,23)),{loadableGenerated:{webpack:()=>[20437]},ssr:!1}),eu=e=>{let{chatContainerRef:t,messages:s}=e;return(0,l.jsx)("div",{className:x().toBottomWrap,children:(0,l.jsx)(ed.Z,{type:"default",style:{color:"currentColor"},icon:(0,l.jsx)(eh,{}),onClick:()=>t.current.scrollToIndex({index:s.length-1,behavior:"auto"}),children:"Go to last message"})})};var em=s(65302),ep=s.n(em);let ex=e=>{let{body:t}=e;return(0,l.jsx)("div",{dangerouslySetInnerHTML:{__html:t},className:ep().chatAction})},eg=u()(()=>Promise.all([s.e(2074),s.e(1668)]).then(s.t.bind(s,51668,23)),{loadableGenerated:{webpack:()=>[51668]},ssr:!1});function e_(e){let{user:{scopes:t}}=e;return!!t&&0!==t.length&&t.includes("MODERATOR")}let eC=e=>{let{messages:t,usernameToHighlight:s,chatUserId:a,isModerator:n,showInput:r,height:o}=e,[i,h]=(0,d.useState)(!1),u=(0,d.useRef)(null),p=e=>{let{oldName:t,user:s}=e,{displayName:a,displayColor:n}=s,r="var(--theme-color-users-".concat(n,")");return(0,l.jsxs)("div",{className:x().nameChangeView,children:[(0,l.jsx)("div",{style:{marginRight:5,height:"max-content",margin:"auto 5px auto 0"},children:(0,l.jsx)(eg,{})}),(0,l.jsxs)("div",{className:x().nameChangeText,children:[(0,l.jsx)("span",{style:{color:r},children:t}),(0,l.jsx)("span",{className:x().plain,children:" is now known as "}),(0,l.jsx)("span",{style:{color:r},children:a})]})]})},g=e=>{let{user:{displayName:t,displayColor:s}}=e,a=e_(e);return(0,l.jsx)(ec,{displayName:t,userColor:s,isAuthorModerator:a})},_=e=>{let{body:t}=e;return(0,l.jsx)(ex,{body:t})},C=e=>{let t=e_(e);return t?(0,l.jsx)(et,{}):(0,l.jsx)("div",{style:{width:"1px",height:"1px"}})},f=(e,r)=>{switch(r.type){case m.C.CHAT:var o,i,c;return(0,l.jsx)(F,{message:r,showModeratorMenu:n,highlightString:s,sentBySelf:(null===(o=r.user)||void 0===o?void 0:o.id)===a,sameUserAsLast:function(e,t){if(e.length<2)return!1;let s=e[t];if(!s||!s.user)return!1;let{user:{id:a}}=s,n=e[t-1];if((null==n?void 0:n.type)!==m.C.CHAT||!(null==n?void 0:n.timestamp)||!s.timestamp)return!1;let r=new Date(null==n?void 0:n.timestamp).getTime(),o=new Date(s.timestamp).getTime();return!(o-r>12e4)&&a===(null==n?void 0:n.user.id)}(t,e),isAuthorModerator:null===(i=r.user.scopes)||void 0===i?void 0:i.includes("MODERATOR"),isAuthorAuthenticated:null===(c=r.user)||void 0===c?void 0:c.authenticated},r.id);case m.C.NAME_CHANGE:return p(r);case m.C.CONNECTED_USER_INFO:return C(r);case m.C.USER_JOINED:return g(r);case m.C.CHAT_ACTION:return _(r);case m.C.SYSTEM:return(0,l.jsx)(er,{message:r,highlightString:s},r.id);default:return null}},j=function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"smooth";setTimeout(()=>{var a;null===(a=e.current)||void 0===a||a.scrollToIndex({index:t.length-1,behavior:s})},100),h(!0)};(0,d.useEffect)(()=>{setTimeout(()=>{j(u,"auto")},500)},[]);let v=(0,d.useMemo)(()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.OO,{id:"virtuoso",style:{height:o},className:x().virtuoso,ref:u,data:t,itemContent:(e,t)=>f(e,t),followOutput:e=>(e&&j(u,"smooth"),!1),alignToBottom:!0,atBottomThreshold:70,atBottomStateChange:e=>{h(e)}}),!i&&(0,l.jsx)(eu,{chatContainerRef:u,messages:t})]}),[t,s,a,n,i]);return(0,l.jsxs)("div",{id:"chat-container",className:x().chatContainer,children:[v,r&&(0,l.jsx)("div",{className:x().chatTextField,children:(0,l.jsx)(q,{})})]})};eC.defaultProps={showInput:!0,height:"auto"}},65302:function(e){e.exports={chatAction:"ChatActionMessage_chatAction__x9Xsg"}},59760:function(e){e.exports={toBottomWrap:"ChatContainer_toBottomWrap__3V5wa",nameChangeView:"ChatContainer_nameChangeView__ziyXN",nameChangeText:"ChatContainer_nameChangeText__yXG__",plain:"ChatContainer_plain__IPS19",chatContainer:"ChatContainer_chatContainer__O2lYN",virtuoso:"ChatContainer_virtuoso__OS9Kz",chatTextField:"ChatContainer_chatTextField__OqCGL"}},91044:function(e){e.exports={root:"ChatJoinMessage_root__vuVXa"}},93107:function(e){e.exports={chatModerationNotification:"ChatModeratorNotification_chatModerationNotification__kgFWe",icon:"ChatModeratorNotification_icon__7FdGg"}},23421:function(e){e.exports={chatSystemMessage:"ChatSystemMessage_chatSystemMessage__c6XEN",user:"ChatSystemMessage_user__6yHSJ",message:"ChatSystemMessage_message__ySq5g"}},26912:function(e){e.exports={root:"ChatTextField_root__4oUkJ",inputWrap:"ChatTextField_inputWrap__1mAjD",maxCharacters:"ChatTextField_maxCharacters__yGT4s",emojiButton:"ChatTextField_emojiButton__ON_Cu",sendButton:"ChatTextField_sendButton__MOmD4"}},48976:function(e){e.exports={badge:"ChatUserBadge_badge__1EdUp"}},50085:function(e){e.exports={root:"ChatUserMessage_root__79heB",user:"ChatUserMessage_user__xUEp9",message:"ChatUserMessage_message__MJ9LD",ownMessage:"ChatUserMessage_ownMessage__d28A3",background:"ChatUserMessage_background__Tfghp",modMenuWrapper:"ChatUserMessage_modMenuWrapper__7fblv",messagePadding:"ChatUserMessage_messagePadding__Xp1F6",messagePaddingCollapsed:"ChatUserMessage_messagePaddingCollapsed__qxN0E"}}}]); +//# sourceMappingURL=2070-698f0e8dafdc2795.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js.map b/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js.map new file mode 100644 index 000000000..308ece253 --- /dev/null +++ b/static/web/_next/static/chunks/2070-698f0e8dafdc2795.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/2070-698f0e8dafdc2795.js","mappings":"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","sources":["webpack://_N_E/./components/chat/ChatUserMessage/messageFmt.ts","webpack://_N_E/./components/chat/ChatUserBadge/ChatUserBadge.tsx","webpack://_N_E/./components/chat/ChatUserBadge/AuthedUserBadge.tsx","webpack://_N_E/./components/chat/ChatUserBadge/ModerationBadge.tsx","webpack://_N_E/./components/chat/ChatUserMessage/ChatUserMessage.tsx","webpack://_N_E/./components/chat/ChatTextField/ChatTextField.tsx","webpack://_N_E/./assets/images/moderator.svg","webpack://_N_E/./components/chat/ChatModeratorNotification/ChatModeratorNotification.tsx","webpack://_N_E/./components/chat/ChatSystemMessage/ChatSystemMessage.tsx","webpack://_N_E/./components/chat/ChatJoinMessage/ChatJoinMessage.tsx","webpack://_N_E/./components/chat/ChatContainer/ScrollToBotBtn.tsx","webpack://_N_E/./components/chat/ChatActionMessage/ChatActionMessage.tsx","webpack://_N_E/./components/chat/ChatContainer/ChatContainer.tsx","webpack://_N_E/./components/chat/ChatActionMessage/ChatActionMessage.module.scss","webpack://_N_E/./components/chat/ChatContainer/ChatContainer.module.scss","webpack://_N_E/./components/chat/ChatJoinMessage/ChatJoinMessage.module.scss","webpack://_N_E/./components/chat/ChatModeratorNotification/ChatModeratorNotification.module.scss","webpack://_N_E/./components/chat/ChatSystemMessage/ChatSystemMessage.module.scss","webpack://_N_E/./components/chat/ChatTextField/ChatTextField.module.scss","webpack://_N_E/./components/chat/ChatUserBadge/ChatUserBadge.module.scss","webpack://_N_E/./components/chat/ChatUserMessage/ChatUserMessage.module.scss","webpack://_N_E/"],"sourcesContent":["import { convertToText } from '../chat';\nimport { getDiffInDaysFromNow } from '../../../utils/helpers';\n\nconst stripTags = (str: string) => str && str.replace(/<\\/?[^>]+(>|$)/g, '');\nconst convertToMarkup = (str = '') => convertToText(str).replace(/\\n/g, '

');\n\nfunction getInstagramEmbedFromURL(url: string) {\n const urlObject = new URL(url.replace(/\\/$/, ''));\n urlObject.pathname += '/embed';\n return ``;\n}\n\nfunction isMessageJustAnchor(embedText: string, message: string, anchors: HTMLAnchorElement[]) {\n if (embedText !== '' && anchors.length === 1) return false;\n return stripTags(message) === stripTags(anchors[0]?.innerHTML);\n}\n\nfunction getMessageWithEmbeds(message: string) {\n let embedText = '';\n // Make a temporary element so we can actually parse the html and pull anchor tags from it.\n // This is a better approach than regex.\n const container = document.createElement('p');\n container.innerHTML = message;\n\n const anchors = Array.from(container.querySelectorAll('a'));\n anchors.forEach(({ href }) => {\n if (href.includes('instagram.com/p/')) embedText += getInstagramEmbedFromURL(href);\n });\n\n // If this message only consists of a single embeddable link\n // then only return the embed and strip the link url from the text.\n if (isMessageJustAnchor(embedText, message, anchors)) return embedText;\n return message + embedText;\n}\n\nexport function formatTimestamp(sentAt: Date) {\n const now = new Date(sentAt);\n if (Number.isNaN(now)) return '';\n\n const diffInDays = getDiffInDaysFromNow(sentAt);\n\n if (diffInDays >= 1) {\n const localeDate = now.toLocaleDateString('en-US', {\n dateStyle: 'medium',\n });\n return `${localeDate} at ${now.toLocaleTimeString()}`;\n }\n\n return `${now.toLocaleTimeString()}`;\n}\n\n/*\n You would call this when receiving a plain text\n value back from an API, and before inserting the\n text into the `contenteditable` area on a page.\n*/\n\nexport function formatMessageText(message: string) {\n let formattedText = getMessageWithEmbeds(message);\n formattedText = convertToMarkup(formattedText);\n return formattedText;\n // return await highlightUsername(formattedText, username);\n}\n","import React, { FC } from 'react';\nimport styles from './ChatUserBadge.module.scss';\n\nexport type ChatUserBadgeProps = {\n badge: React.ReactNode;\n userColor: number;\n title: string;\n};\n\nexport const ChatUserBadge: FC = ({ badge, userColor, title }) => {\n const color = `var(--theme-color-users-${userColor})`;\n const style = { color };\n\n return (\n \n {badge}\n \n );\n};\n","import dynamic from 'next/dynamic';\nimport React, { FC } from 'react';\nimport { ChatUserBadge } from './ChatUserBadge';\n\n// Lazy loaded components\n\nconst SafetyCertificateFilled = dynamic(() => import('@ant-design/icons/SafetyCertificateFilled'), {\n ssr: false,\n});\n\nexport type AuthedUserBadgeProps = {\n userColor: number;\n};\n\nexport const AuthedUserBadge: FC = ({ userColor }) => (\n } userColor={userColor} title=\"Moderator\" />\n);\n","import dynamic from 'next/dynamic';\nimport React, { FC } from 'react';\nimport { ChatUserBadge } from './ChatUserBadge';\n\n// Lazy loaded components\n\nconst StarFilled = dynamic(() => import('@ant-design/icons/StarFilled'), {\n ssr: false,\n});\n\nexport type ModerationBadgeProps = {\n userColor: number;\n};\n\nexport const ModerationBadge: FC = ({ userColor }) => (\n } userColor={userColor} title=\"Moderator\" />\n);\n","/* eslint-disable react/no-danger */\nimport { FC, ReactNode, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport { Tooltip } from 'antd';\nimport { useRecoilValue } from 'recoil';\nimport dynamic from 'next/dynamic';\nimport { decodeHTML } from 'entities';\nimport linkifyHtml from 'linkify-html';\nimport styles from './ChatUserMessage.module.scss';\nimport { formatTimestamp } from './messageFmt';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport { accessTokenAtom } from '../../stores/ClientConfigStore';\nimport { User } from '../../../interfaces/user.model';\nimport { AuthedUserBadge } from '../ChatUserBadge/AuthedUserBadge';\nimport { ModerationBadge } from '../ChatUserBadge/ModerationBadge';\n\n// Lazy loaded components\n\nconst ChatModerationActionMenu = dynamic(\n () =>\n import('../ChatModerationActionMenu/ChatModerationActionMenu').then(\n mod => mod.ChatModerationActionMenu,\n ),\n {\n ssr: false,\n },\n);\n\nconst Highlight = dynamic(() => import('react-highlighter-ts').then(mod => mod.Highlight), {\n ssr: false,\n});\n\nexport type ChatUserMessageProps = {\n message: ChatMessage;\n showModeratorMenu: boolean;\n highlightString: string;\n sentBySelf: boolean;\n sameUserAsLast: boolean;\n isAuthorModerator: boolean;\n isAuthorAuthenticated: boolean;\n};\n\nexport type UserTooltipProps = {\n user: User;\n children: ReactNode;\n};\n\nconst UserTooltip: FC = ({ children, user }) => {\n const { displayName, createdAt } = user;\n const content = `${displayName} first joined ${formatTimestamp(createdAt)}`;\n\n return (\n \n {children}\n \n );\n};\n\nexport const ChatUserMessage: FC = ({\n message,\n highlightString,\n showModeratorMenu,\n sentBySelf, // Move the border to the right and render a background\n sameUserAsLast,\n isAuthorModerator,\n isAuthorAuthenticated,\n}) => {\n const { id: messageId, body, user, timestamp } = message;\n const { id: userId, displayName, displayColor } = user;\n const accessToken = useRecoilValue(accessTokenAtom);\n\n const color = `var(--theme-color-users-${displayColor})`;\n const formattedTimestamp = `Sent ${formatTimestamp(timestamp)}`;\n const [formattedMessage, setFormattedMessage] = useState(body);\n\n const badgeNodes = [];\n if (isAuthorModerator) {\n badgeNodes.push();\n }\n if (isAuthorAuthenticated) {\n badgeNodes.push();\n }\n\n useEffect(() => {\n setFormattedMessage(decodeHTML(body));\n }, [message]);\n\n return (\n \n \n
\n\n {!sameUserAsLast && (\n \n
\n {displayName}\n {badgeNodes}\n
\n
\n )}\n \n \n \n \n \n {showModeratorMenu && (\n
\n \n
\n )}\n
\n \n );\n};\n","import { Popover } from 'antd';\nimport React, { FC, useMemo, useState } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Transforms, createEditor, BaseEditor, Text, Descendant, Editor, Node, Path } from 'slate';\nimport { Slate, Editable, withReact, ReactEditor, useSelected, useFocused } from 'slate-react';\nimport dynamic from 'next/dynamic';\nimport classNames from 'classnames';\nimport WebsocketService from '../../../services/websocket-service';\nimport { websocketServiceAtom } from '../../stores/ClientConfigStore';\nimport { MessageType } from '../../../interfaces/socket-events';\nimport styles from './ChatTextField.module.scss';\n\n// Lazy loaded components\n\nconst EmojiPicker = dynamic(() => import('./EmojiPicker').then(mod => mod.EmojiPicker), {\n ssr: false,\n});\n\nconst SendOutlined = dynamic(() => import('@ant-design/icons/SendOutlined'), {\n ssr: false,\n});\n\nconst SmileOutlined = dynamic(() => import('@ant-design/icons/SmileOutlined'), {\n ssr: false,\n});\n\ntype CustomElement = { type: 'paragraph' | 'span'; children: CustomText[] } | ImageNode;\ntype CustomText = { text: string };\n\ntype EmptyText = {\n text: string;\n};\n\ntype ImageNode = {\n type: 'image';\n alt: string;\n src: string;\n name: string;\n children: EmptyText[];\n};\n\ndeclare module 'slate' {\n interface CustomTypes {\n Editor: BaseEditor & ReactEditor;\n Element: CustomElement;\n Text: CustomText;\n }\n}\n\nconst Image = p => {\n const { attributes, element, children } = p;\n\n const selected = useSelected();\n const focused = useFocused();\n return (\n \n \n {children}\n \n );\n};\n\nconst withImages = editor => {\n const { isVoid } = editor;\n\n // eslint-disable-next-line no-param-reassign\n editor.isVoid = element => (element.type === 'image' ? true : isVoid(element));\n // eslint-disable-next-line no-param-reassign\n editor.isInline = element => element.type === 'image';\n\n return editor;\n};\n\nconst serialize = node => {\n if (Text.isText(node)) {\n const string = node.text;\n return string;\n }\n\n let children;\n if (node.children.length === 0) {\n children = [{ text: '' }];\n } else {\n children = node.children?.map(n => serialize(n)).join('');\n }\n\n switch (node.type) {\n case 'paragraph':\n return `

${children}

`;\n case 'image':\n return `\"${node.alt}\"`;\n default:\n return children;\n }\n};\n\nconst getCharacterCount = node => {\n if (Text.isText(node)) {\n return node.text.length;\n }\n if (node.type === 'image') {\n return 5;\n }\n\n let count = 0;\n node.children.forEach(child => {\n count += getCharacterCount(child);\n });\n\n return count;\n};\n\nexport type ChatTextFieldProps = {\n defaultText?: string;\n};\n\nconst characterLimit = 300;\n\nexport const ChatTextField: FC = ({ defaultText }) => {\n const [showEmojis, setShowEmojis] = useState(false);\n const [characterCount, setCharacterCount] = useState(defaultText?.length);\n const websocketService = useRecoilValue(websocketServiceAtom);\n const editor = useMemo(() => withReact(withImages(createEditor())), []);\n\n const defaultEditorValue: Descendant[] = [\n {\n type: 'paragraph',\n children: [{ text: defaultText || '' }],\n },\n ];\n\n const sendMessage = () => {\n if (!websocketService) {\n console.log('websocketService is not defined');\n return;\n }\n\n const message = serialize(editor);\n websocketService.send({ type: MessageType.CHAT, body: message });\n\n // Clear the editor.\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n setCharacterCount(0);\n };\n\n const createImageNode = (alt, src, name): ImageNode => ({\n type: 'image',\n alt,\n src,\n name,\n children: [{ text: '' }],\n });\n\n const insertImage = (url, name) => {\n if (!url) return;\n\n const { selection } = editor;\n const image = createImageNode(name, url, name);\n\n Transforms.insertNodes(editor, image, { select: true });\n\n if (selection) {\n const [parentNode, parentPath] = Editor.parent(editor, selection.focus?.path);\n\n if (editor.isVoid(parentNode) || Node.string(parentNode).length) {\n // Insert the new image node after the void node or a node with content\n Transforms.insertNodes(editor, image, {\n at: Path.next(parentPath),\n select: true,\n });\n } else {\n // If the node is empty, replace it instead\n // Transforms.removeNodes(editor, { at: parentPath });\n Transforms.insertNodes(editor, image, { at: parentPath, select: true });\n Editor.normalize(editor, { force: true });\n }\n } else {\n // Insert the new image node at the bottom of the Editor when selection\n // is falsey\n Transforms.insertNodes(editor, image, { select: true });\n }\n };\n\n // Native emoji\n const onEmojiSelect = (emoji: string) => {\n ReactEditor.focus(editor);\n Transforms.insertText(editor, emoji);\n };\n\n const onCustomEmojiSelect = (name: string, emoji: string) => {\n ReactEditor.focus(editor);\n insertImage(emoji, name);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const charCount = getCharacterCount(editor) + 1;\n\n // Send the message when hitting enter.\n if (e.key === 'Enter') {\n e.preventDefault();\n sendMessage();\n return;\n }\n\n // Always allow backspace.\n if (e.key === 'Backspace') {\n setCharacterCount(charCount - 1);\n return;\n }\n\n // Limit the number of characters.\n if (charCount + 1 > characterLimit) {\n e.preventDefault();\n }\n\n setCharacterCount(charCount + 1);\n };\n\n const onPaste = (e: React.ClipboardEvent) => {\n const text = e.clipboardData.getData('text/plain');\n\n const { length } = text;\n if (characterCount + length > characterLimit) {\n e.preventDefault();\n }\n };\n\n const renderElement = p => {\n switch (p.element.type) {\n case 'image':\n return ;\n default:\n return

;\n }\n };\n\n return (\n

\n = characterLimit && styles.maxCharacters,\n )}\n >\n \n \n \n }\n trigger=\"click\"\n placement=\"topRight\"\n onOpenChange={open => setShowEmojis(open)}\n open={showEmojis}\n />\n \n\n
\n setShowEmojis(!showEmojis)}\n >\n \n \n \n \n \n
\n
\n \n );\n};\n","var _linearGradient, _path, _path2, _path3, _path4;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgModerator = function SvgModerator(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 500,\n viewBox: \"0 0 132.292 132.292\",\n width: 500,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _linearGradient || (_linearGradient = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"moderator_svg__a\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 432.851,\n x2: 464.644,\n y1: 49.977,\n y2: 49.977\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#2087e2\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#b63fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M438.672 34.08h20.151a5.82 5.82 45 0 1 5.82 5.821v20.151a5.82 5.82 135 0 1-5.82 5.821h-20.15a5.82 5.82 45 0 1-5.822-5.82V39.9a5.82 5.82 135 0 1 5.821-5.82z\",\n fill: \"url(#moderator_svg__a)\",\n transform: \"matrix(4.16112 0 0 4.16112 -1801.146 -141.814)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.11 29.551c-6.93 47.444-30.074 104.618-77.642 79.674l25.83 23.067h38.772c13.377 0 24.22-10.845 24.22-24.222V40.864z\",\n fill: \"#1d1535\",\n fillOpacity: 0.335\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.775 13.257s-7.129 57.999-.63 99.312c6.565 41.724-81.568-74.394-49.619-79.203 31.949-4.809 50.249-20.11 50.249-20.11z\",\n fill: \"#e2e8f0\",\n fillOpacity: 0.306\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M435.995 42.072c6.797.447 12.753-4.806 12.753-4.806s5.955 5.253 12.752 4.806c-.581 12.745-7.495 20.586-12.752 20.628-5.188.042-12.172-7.883-12.753-20.628z\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n transform: \"matrix(4.16112 0 0 4.16112 -1801.146 -141.814)\"\n })));\n};\nexport default SvgModerator;","import styles from './ChatModeratorNotification.module.scss';\nimport Icon from '../../../assets/images/moderator.svg';\n\nexport const ChatModeratorNotification = () => (\n
\n \n You are now a moderator.\n
\n);\n","/* eslint-disable react/no-danger */\nimport { Highlight } from 'react-highlighter-ts';\nimport { FC } from 'react';\nimport cn from 'classnames';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport styles from './ChatSystemMessage.module.scss';\n\nexport type ChatSystemMessageProps = {\n message: ChatMessage;\n highlightString: string;\n};\n\nexport const ChatSystemMessage: FC = ({\n message: {\n body,\n user: { displayName },\n },\n highlightString,\n}) => (\n
\n
\n {displayName}\n
\n \n
\n \n
\n);\n","import { FC } from 'react';\nimport dynamic from 'next/dynamic';\nimport styles from './ChatJoinMessage.module.scss';\nimport { ModerationBadge } from '../ChatUserBadge/ModerationBadge';\n\n// Lazy loaded components\n\nconst TeamOutlined = dynamic(() => import('@ant-design/icons/TeamOutlined'), {\n ssr: false,\n});\n\nexport type ChatJoinMessageProps = {\n isAuthorModerator: boolean;\n userColor: number;\n displayName: string;\n};\n\nexport const ChatJoinMessage: FC = ({\n isAuthorModerator,\n userColor,\n displayName,\n}) => {\n const color = `var(--theme-color-users-${userColor})`;\n\n return (\n
\n \n \n \n \n {displayName}\n {isAuthorModerator && (\n \n \n \n )}\n {' '}\n joined the chat.\n
\n );\n};\n","import { Button } from 'antd';\nimport dynamic from 'next/dynamic';\nimport { FC, MutableRefObject } from 'react';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport styles from './ChatContainer.module.scss';\n\n// Lazy loaded components\n\nconst VerticalAlignBottomOutlined = dynamic(\n () => import('@ant-design/icons/VerticalAlignBottomOutlined'),\n {\n ssr: false,\n },\n);\ntype Props = {\n chatContainerRef: MutableRefObject;\n messages: ChatMessage[];\n};\n\nexport const ScrollToBotBtn: FC = ({ chatContainerRef, messages }) => (\n
\n }\n onClick={() =>\n chatContainerRef.current.scrollToIndex({\n index: messages.length - 1,\n behavior: 'auto',\n })\n }\n >\n Go to last message\n \n
\n);\n","import { FC } from 'react';\nimport styles from './ChatActionMessage.module.scss';\n\n/* eslint-disable react/no-danger */\nexport type ChatActionMessageProps = {\n body: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const ChatActionMessage: FC = ({ body }) => (\n
\n);\n","import { Virtuoso } from 'react-virtuoso';\nimport { useState, useMemo, useRef, CSSProperties, FC, useEffect } from 'react';\nimport dynamic from 'next/dynamic';\nimport {\n ConnectedClientInfoEvent,\n MessageType,\n NameChangeEvent,\n} from '../../../interfaces/socket-events';\nimport styles from './ChatContainer.module.scss';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport { ChatUserMessage } from '../ChatUserMessage/ChatUserMessage';\nimport { ChatTextField } from '../ChatTextField/ChatTextField';\nimport { ChatModeratorNotification } from '../ChatModeratorNotification/ChatModeratorNotification';\n// import ChatActionMessage from '../ChatAction/ChatActionMessage';\nimport { ChatSystemMessage } from '../ChatSystemMessage/ChatSystemMessage';\nimport { ChatJoinMessage } from '../ChatJoinMessage/ChatJoinMessage';\nimport { ScrollToBotBtn } from './ScrollToBotBtn';\nimport { ChatActionMessage } from '../ChatActionMessage/ChatActionMessage';\n\n// Lazy loaded components\n\nconst EditFilled = dynamic(() => import('@ant-design/icons/EditFilled'), {\n ssr: false,\n});\nexport type ChatContainerProps = {\n messages: ChatMessage[];\n usernameToHighlight: string;\n chatUserId: string;\n isModerator: boolean;\n showInput?: boolean;\n height?: string;\n};\n\nfunction shouldCollapseMessages(messages: ChatMessage[], index: number): boolean {\n if (messages.length < 2) {\n return false;\n }\n\n const message = messages[index];\n if (!message || !message.user) {\n return false;\n }\n\n const {\n user: { id },\n } = message;\n const lastMessage = messages[index - 1];\n if (lastMessage?.type !== MessageType.CHAT) {\n return false;\n }\n\n if (!lastMessage?.timestamp || !message.timestamp) {\n return false;\n }\n\n const maxTimestampDelta = 1000 * 60 * 2; // 2 minutes\n const lastTimestamp = new Date(lastMessage?.timestamp).getTime();\n const thisTimestamp = new Date(message.timestamp).getTime();\n if (thisTimestamp - lastTimestamp > maxTimestampDelta) {\n return false;\n }\n\n return id === lastMessage?.user.id;\n}\n\nfunction checkIsModerator(message: ChatMessage | ConnectedClientInfoEvent) {\n const {\n user: { scopes },\n } = message;\n\n if (!scopes || scopes.length === 0) {\n return false;\n }\n\n return scopes.includes('MODERATOR');\n}\n\nexport const ChatContainer: FC = ({\n messages,\n usernameToHighlight,\n chatUserId,\n isModerator,\n showInput,\n height,\n}) => {\n const [atBottom, setAtBottom] = useState(false);\n const chatContainerRef = useRef(null);\n\n const getNameChangeViewForMessage = (message: NameChangeEvent) => {\n const { oldName, user } = message;\n const { displayName, displayColor } = user;\n const color = `var(--theme-color-users-${displayColor})`;\n\n return (\n
\n
\n \n
\n
\n {oldName}\n is now known as \n {displayName}\n
\n
\n );\n };\n\n const getUserJoinedMessage = (message: ChatMessage) => {\n const {\n user: { displayName, displayColor },\n } = message;\n const isAuthorModerator = checkIsModerator(message);\n return (\n \n );\n };\n\n const getActionMessage = (message: ChatMessage) => {\n const { body } = message;\n return ;\n };\n const getConnectedInfoMessage = (message: ConnectedClientInfoEvent) => {\n const modStatusUpdate = checkIsModerator(message);\n if (!modStatusUpdate) {\n // Important note: We can't return null or an element with zero width\n // or zero height. So to work around this we return a very small 1x1 div.\n const st: CSSProperties = { width: '1px', height: '1px' };\n return
;\n }\n\n // Alert the user that they are a moderator.\n return ;\n };\n\n const getViewForMessage = (\n index: number,\n message: ChatMessage | NameChangeEvent | ConnectedClientInfoEvent,\n ) => {\n switch (message.type) {\n case MessageType.CHAT:\n return (\n \n );\n case MessageType.NAME_CHANGE:\n return getNameChangeViewForMessage(message as NameChangeEvent);\n case MessageType.CONNECTED_USER_INFO:\n return getConnectedInfoMessage(message);\n case MessageType.USER_JOINED:\n return getUserJoinedMessage(message as ChatMessage);\n case MessageType.CHAT_ACTION:\n return getActionMessage(message as ChatMessage);\n case MessageType.SYSTEM:\n return (\n \n );\n\n default:\n return null;\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const scrollChatToBottom = (ref, behavior = 'smooth') => {\n setTimeout(() => {\n ref.current?.scrollToIndex({\n index: messages.length - 1,\n behavior,\n });\n }, 100);\n\n setAtBottom(true);\n };\n\n // This is a hack to force a scroll to the very bottom of the chat messages\n // on initial mount of the component.\n // For https://github.com/owncast/owncast/issues/2500\n useEffect(() => {\n setTimeout(() => {\n scrollChatToBottom(chatContainerRef, 'auto');\n }, 500);\n }, []);\n\n const MessagesTable = useMemo(\n () => (\n <>\n getViewForMessage(index, message)}\n followOutput={(isAtBottom: boolean) => {\n if (isAtBottom) {\n scrollChatToBottom(chatContainerRef, 'smooth');\n }\n return false;\n }}\n alignToBottom\n atBottomThreshold={70}\n atBottomStateChange={bottom => {\n setAtBottom(bottom);\n }}\n />\n {!atBottom && }\n \n ),\n [messages, usernameToHighlight, chatUserId, isModerator, atBottom],\n );\n\n return (\n
\n {MessagesTable}\n {showInput && (\n
\n \n
\n )}\n
\n );\n};\n\nChatContainer.defaultProps = {\n showInput: true,\n height: 'auto',\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatAction\":\"ChatActionMessage_chatAction__x9Xsg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toBottomWrap\":\"ChatContainer_toBottomWrap__3V5wa\",\"nameChangeView\":\"ChatContainer_nameChangeView__ziyXN\",\"nameChangeText\":\"ChatContainer_nameChangeText__yXG__\",\"plain\":\"ChatContainer_plain__IPS19\",\"chatContainer\":\"ChatContainer_chatContainer__O2lYN\",\"virtuoso\":\"ChatContainer_virtuoso__OS9Kz\",\"chatTextField\":\"ChatContainer_chatTextField__OqCGL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatJoinMessage_root__vuVXa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatModerationNotification\":\"ChatModeratorNotification_chatModerationNotification__kgFWe\",\"icon\":\"ChatModeratorNotification_icon__7FdGg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatSystemMessage\":\"ChatSystemMessage_chatSystemMessage__c6XEN\",\"user\":\"ChatSystemMessage_user__6yHSJ\",\"message\":\"ChatSystemMessage_message__ySq5g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatTextField_root__4oUkJ\",\"inputWrap\":\"ChatTextField_inputWrap__1mAjD\",\"maxCharacters\":\"ChatTextField_maxCharacters__yGT4s\",\"emojiButton\":\"ChatTextField_emojiButton__ON_Cu\",\"sendButton\":\"ChatTextField_sendButton__MOmD4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badge\":\"ChatUserBadge_badge__1EdUp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatUserMessage_root__79heB\",\"user\":\"ChatUserMessage_user__xUEp9\",\"message\":\"ChatUserMessage_message__MJ9LD\",\"ownMessage\":\"ChatUserMessage_ownMessage__d28A3\",\"background\":\"ChatUserMessage_background__Tfghp\",\"modMenuWrapper\":\"ChatUserMessage_modMenuWrapper__7fblv\",\"messagePadding\":\"ChatUserMessage_messagePadding__Xp1F6\",\"messagePaddingCollapsed\":\"ChatUserMessage_messagePaddingCollapsed__qxN0E\"};"],"names":["_linearGradient","_path","_path2","_path3","_path4","formatTimestamp","sentAt","now","Date","Number","isNaN","diffInDays","getDiffInDaysFromNow","localeDate","toLocaleDateString","dateStyle","concat","toLocaleTimeString","ChatUserBadge","badge","userColor","title","param","jsx_runtime","jsx","span","style","color","className","styles","SafetyCertificateFilled","dynamic","Promise","all","__webpack_require__","e","then","t","bind","ssr","AuthedUserBadge","StarFilled","ModerationBadge","ChatModerationActionMenu","mod","Highlight","resolve","UserTooltip","children","user","displayName","createdAt","content","Tooltip","placement","mouseEnterDelay","ChatUserMessage","message","highlightString","showModeratorMenu","sentBySelf","sameUserAsLast","isAuthorModerator","isAuthorAuthenticated","id","messageId","body","timestamp","userId","displayColor","accessToken","useRecoilValue","accessTokenAtom","formattedTimestamp","formattedMessage","setFormattedMessage","useState","badgeNodes","push","useEffect","decodeHTML","div","cn","jsxs","borderColor","search","dangerouslySetInnerHTML","__html","linkifyHtml","messageID","userID","userDisplayName","EmojiPicker","SendOutlined","SmileOutlined","Image","p","attributes","element","selected","useSelected","focused","useFocused","contentEditable","img","alt","src","name","display","maxWidth","maxHeight","boxShadow","withImages","editor","isVoid","type","isInline","serialize","node","Text","string","text","length","map","n","join","getCharacterCount","count","forEach","child","ChatTextField","defaultText","showEmojis","setShowEmojis","characterCount","setCharacterCount","websocketService","websocketServiceAtom","useMemo","withReact","createEditor","sendMessage","console","log","send","MessageType","Transforms","at","anchor","Editor","focus","createImageNode","insertImage","url","selection","image","select","parentNode","parentPath","path","Node","Path","force","onEmojiSelect","ReactEditor","emoji","onCustomEmojiSelect","onKeyDown","charCount","key","preventDefault","onPaste","clipboardData","getData","renderElement","classNames","Slate","value","Editable","placeholder","width","role","aria-label","autoFocus","Popover","trigger","onOpenChange","open","paddingLeft","button","onClick","_extends","Object","assign","target","i","arguments","source","prototype","hasOwnProperty","call","apply","moderator","props","react","createElement","height","viewBox","xmlns","gradientUnits","x1","x2","y1","y2","offset","stopColor","d","fill","transform","fillOpacity","stroke","strokeLinejoin","strokeWidth","ChatModeratorNotification","Icon","ChatSystemMessage","TeamOutlined","ChatJoinMessage","padding","fontWeight","VerticalAlignBottomOutlined","ScrollToBotBtn","chatContainerRef","messages","Button","icon","current","scrollToIndex","index","behavior","ChatActionMessage","EditFilled","checkIsModerator","scopes","includes","ChatContainer","usernameToHighlight","chatUserId","isModerator","showInput","atBottom","setAtBottom","useRef","getNameChangeViewForMessage","oldName","marginRight","margin","getUserJoinedMessage","getActionMessage","getConnectedInfoMessage","modStatusUpdate","getViewForMessage","_message_user_scopes","shouldCollapseMessages","lastMessage","lastTimestamp","getTime","thisTimestamp","maxTimestampDelta","authenticated","scrollChatToBottom","ref","setTimeout","MessagesTable","Fragment","Virtuoso","data","itemContent","followOutput","isAtBottom","alignToBottom","atBottomThreshold","atBottomStateChange","bottom","defaultProps","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/2582.bcfcea5f30938762.js b/static/web/_next/static/chunks/2582.bcfcea5f30938762.js deleted file mode 100644 index e0e86344d..000000000 --- a/static/web/_next/static/chunks/2582.bcfcea5f30938762.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2582,8864],{63701:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"}},38864:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,n=(a=r(23534))&&a.__esModule?a:{default:a};t.default=n,e.exports=n},23534:function(e,t,r){var a=r(64836),n=r(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var l=a(r(42122)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var f=l?Object.getOwnPropertyDescriptor(e,u):null;f&&(f.get||f.set)?Object.defineProperty(a,u,f):a[u]=e[u]}return a.default=e,r&&r.set(e,a),a}(r(67294)),f=a(r(63701)),c=a(r(92074));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}var i=function(e,t){return u.createElement(c.default,(0,l.default)((0,l.default)({},e),{},{ref:t,icon:f.default}))};i.displayName="LinkOutlined";var d=u.forwardRef(i);t.default=d}}]); -//# sourceMappingURL=2582.bcfcea5f30938762.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/2582.bcfcea5f30938762.js.map b/static/web/_next/static/chunks/2582.bcfcea5f30938762.js.map deleted file mode 100644 index 3ac966e69..000000000 --- a/static/web/_next/static/chunks/2582.bcfcea5f30938762.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/chunks/2582.bcfcea5f30938762.js","mappings":"sGAEAA,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAAEC,MAAA,KAE/CD,EAAA,OAAe,CADf,CAAqB,MAAU,iBAAyB,2CAAkD,WAAiB,kBAA0B,8rBAAksB,EAAG,qDCFx1BF,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC/CC,MAAA,EACA,GACED,EAAA,OAAe,QAEjB,IAEAE,EAFAC,EAEyCD,CAAzCA,EAF6CE,EAAQ,SAEZF,EAAAG,UAAA,CAAAH,EAAA,CAAuC,QAAAA,CAAA,EAG9EF,EAAA,OAAe,CADjBG,EAEAG,EAAAN,OAAA,CAFAG,yBCRA,IAAAI,EAA6BH,EAAQ,OACrCI,EAAcJ,EAAQ,OACtBN,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC7CC,MAAA,EACA,GACAD,EAAA,OAAe,QACf,IAAAS,EAAAF,EAA4CH,EAAQ,QACpDM,EAAAC,SAIAT,CAAA,CAAAU,CAAA,EAAqD,IAAAA,GAAAV,GAAAA,EAAAG,UAAA,CAA6C,OAAAH,CAAA,CAAc,GAAAA,IAAA,GAAAA,GAAAM,WAAAA,EAAAN,IAAA,mBAAAA,EAA8E,OAASW,QAAAX,CAAA,EAAkB,IAAAY,EAAAC,EAAAH,GAAmD,GAAAE,GAAAA,EAAAE,GAAA,CAAAd,GAA+B,OAAAY,EAAAG,GAAA,CAAAf,EAAA,CAAyB,IAAAgB,EAAA,GAAiBC,EAAArB,OAAAC,cAAA,EAAAD,OAAAsB,wBAAA,CAAsF,QAAAC,KAAAnB,EAAuB,GAAAmB,YAAAA,GAAAvB,OAAAwB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtB,EAAAmB,GAAA,CAA2E,IAAAI,EAAAN,EAAArB,OAAAsB,wBAAA,CAAAlB,EAAAmB,GAAA,KAAqFI,GAAAA,CAAAA,EAAAR,GAAA,EAAAQ,EAAAC,GAAA,EAAsC5B,OAAAC,cAAA,CAAAmB,EAAAG,EAAAI,GAAmDP,CAAA,CAAAG,EAAA,CAAAnB,CAAA,CAAAmB,EAAA,QAA8BH,EAAAL,OAAA,CAAAX,EAAsBY,GAAaA,EAAAY,GAAA,CAAAxB,EAAAgB,GAA0BA,CAAA,EAJlvBd,EAAQ,QAC5CD,EAAAI,EAA2CH,EAAQ,QACnDuB,EAAApB,EAAuCH,EAAQ,QAC/C,SAAAW,EAAAH,CAAA,EAAiD,sBAAAgB,QAAA,YAAgD,IAAAC,EAAA,IAAAD,QAAuCE,EAAA,IAAAF,QAAsC,OAAAb,EAAA,SAAAH,CAAA,EAAoF,OAAAA,EAAAkB,EAAAD,CAAA,GAA4DjB,EAAA,CAK9T,IAAAmB,EAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAAvB,EAAAwB,aAAA,CAAAP,EAAAd,OAAA,IAAAJ,EAAAI,OAAA,KAAAJ,EAAAI,OAAA,KAAuHmB,GAAA,GAAY,CACnIC,IAAAA,EACAE,KAAAhC,EAAAU,OAAA,GAEA,CACAkB,CAAAA,EAAAK,WAAA,gBACA,IAAAC,EAAA3B,EAAA4B,UAAA,CAAAP,EACA/B,CAAAA,EAAA,OAAe,CAAAqC","sources":["webpack://_N_E/./node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/lib/icons/LinkOutlined.js","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\" } }] }, \"name\": \"link\", \"theme\": \"outlined\" };\nexports.default = LinkOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _LinkOutlined = _interopRequireDefault(require('./lib/icons/LinkOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _LinkOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _LinkOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LinkOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar LinkOutlined = function LinkOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _LinkOutlined.default\n }));\n};\nLinkOutlined.displayName = 'LinkOutlined';\nvar _default = /*#__PURE__*/React.forwardRef(LinkOutlined);\nexports.default = _default;"],"names":["Object","defineProperty","exports","value","obj","_LinkOutlined","__webpack_require__","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","_interopRequireWildcard","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","LinkOutlined","props","ref","createElement","icon","displayName","_default","forwardRef"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js b/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js deleted file mode 100644 index 898c056c9..000000000 --- a/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4977],{94977:function(e,t,a){"use strict";a.r(t),a.d(t,{ChatContainer:function(){return eg}});var s,n,r,o,i,l=a(85893),c=a(26246),d=a(67294),h=a(5152),u=a.n(h),m=a(91951),p=a(59760),g=a.n(p),x=a(94184),_=a.n(x),C=a(94199),f=a(4480),j=a(27722),v=a(99597),y=a(50085),b=a.n(y),N=a(77278);function M(e){let t=new Date(e);if(Number.isNaN(t))return"";let a=(0,N.Xb)(e);if(a>=1){let e=t.toLocaleDateString("en-US",{dateStyle:"medium"});return"".concat(e," at ").concat(t.toLocaleTimeString())}return"".concat(t.toLocaleTimeString())}var w=a(48976),T=a.n(w);let S=e=>{let{badge:t,userColor:a}=e,s="var(--theme-user-colors-".concat(a,")");return(0,l.jsx)("span",{style:{color:s,borderColor:s},className:T().badge,children:t})};var E=a(77466);let k=u()(()=>Promise.all([a.e(2074),a.e(8864)]).then(a.t.bind(a,38864,23)),{loadableGenerated:{webpack:()=>[38864]},ssr:!1}),O=u()(()=>Promise.all([a.e(173),a.e(164),a.e(4931),a.e(5402),a.e(7524),a.e(6386),a.e(3698),a.e(3013),a.e(4398),a.e(8091),a.e(8270),a.e(4860)]).then(a.bind(a,94860)).then(e=>e.ChatModerationActionMenu),{loadableGenerated:{webpack:()=>[94860]},ssr:!1}),D=u()(()=>Promise.resolve().then(a.bind(a,47049)).then(e=>e.Highlight),{loadableGenerated:{webpack:()=>[47049]},ssr:!1}),A=e=>{let{children:t,user:a}=e,{displayName:s,createdAt:n}=a,r="".concat(s," first joined ").concat(M(n));return(0,l.jsx)(C.Z,{title:r,placement:"topLeft",mouseEnterDelay:1,children:t})},B=e=>{let{message:t,highlightString:a,showModeratorMenu:s,sentBySelf:n,sameUserAsLast:r,isAuthorModerator:o,isAuthorAuthenticated:i}=e,{id:c,body:h,user:u,timestamp:m}=t,{id:p,displayName:g,displayColor:x}=u,y=(0,f.sJ)(E.FI),N="var(--theme-color-users-".concat(x,")"),w="Sent ".concat(M(m)),[T,B]=(0,d.useState)(h),P=[];return o&&P.push((0,l.jsx)(S,{badge:"mod",userColor:x},"mod")),i&&P.push((0,l.jsx)(S,{badge:(0,l.jsx)(k,{title:"authenticated"}),userColor:x},"auth")),(0,d.useEffect)(()=>{B((0,j.p1)(h))},[t]),(0,l.jsx)("div",{className:_()(b().messagePadding,r&&b().messagePaddingCollapsed,"chat-message_user"),children:(0,l.jsxs)("div",{className:_()(b().root,{[b().ownMessage]:n}),style:{borderColor:N},children:[(0,l.jsx)("div",{className:b().background,style:{color:N}}),!r&&(0,l.jsx)(A,{user:u,children:(0,l.jsxs)("div",{className:b().user,style:{color:N},children:[(0,l.jsx)("span",{className:b().userName,children:g}),(0,l.jsx)("span",{children:P})]})}),(0,l.jsx)(C.Z,{title:w,mouseEnterDelay:1,children:(0,l.jsx)(D,{search:a,children:(0,l.jsx)("div",{className:b().message,dangerouslySetInnerHTML:{__html:(0,v.Z)(T)}})})}),s&&(0,l.jsx)("div",{className:b().modMenuWrapper,children:(0,l.jsx)(O,{messageID:c,accessToken:y,userID:p,userDisplayName:g})})]})})};var P=a(55241),U=a(77493),F=a(96391),G=a(26912),L=a.n(G);let R=u()(()=>Promise.all([a.e(7741),a.e(1559)]).then(a.bind(a,51559)).then(e=>e.EmojiPicker),{loadableGenerated:{webpack:()=>[51559]},ssr:!1}),I=u()(()=>Promise.all([a.e(2074),a.e(3366)]).then(a.t.bind(a,73366,23)),{loadableGenerated:{webpack:()=>[73366]},ssr:!1}),H=u()(()=>Promise.all([a.e(2074),a.e(2348)]).then(a.t.bind(a,92348,23)),{loadableGenerated:{webpack:()=>[92348]},ssr:!1}),W=e=>{let{attributes:t,element:a,children:s}=e,n=(0,F.vt)(),r=(0,F.UE)();return(0,l.jsxs)("span",{...t,contentEditable:!1,children:[(0,l.jsx)("img",{alt:a.alt,src:a.src,title:a.name,style:{display:"inline",maxWidth:"50px",maxHeight:"20px",boxShadow:"".concat(n&&r?"0 0 0 3px #B4D5FF":"none")}}),s]})},V=e=>{let{isVoid:t}=e;return e.isVoid=e=>"image"===e.type||t(e),e.isInline=e=>"image"===e.type,e},Y=e=>{let t;if(U.xv.isText(e)){let t=e.text;return t}if(0===e.children.length)t=[{text:""}];else{var a;t=null===(a=e.children)||void 0===a?void 0:a.map(e=>Y(e)).join("")}switch(e.type){case"paragraph":return"

".concat(t,"

");case"image":return'').concat(e.alt,'');default:return t}},J=e=>{if(U.xv.isText(e))return e.text.length;if("image"===e.type)return 5;let t=0;return e.children.forEach(e=>{t+=J(e)}),t},X=e=>{let{defaultText:t}=e,[a,s]=(0,d.useState)(!1),[n,r]=(0,d.useState)(null==t?void 0:t.length),o=(0,f.sJ)(E.Gt),i=(0,d.useMemo)(()=>(0,F.BU)(V((0,U.Jh)())),[]),c=()=>{if(!o){console.log("websocketService is not defined");return}let e=Y(i);o.send({type:m.C.CHAT,body:e}),U.YR.delete(i,{at:{anchor:U.ML.start(i,[]),focus:U.ML.end(i,[])}}),r(0)},h=(e,t,a)=>({type:"image",alt:e,src:t,name:a,children:[{text:""}]}),u=(e,t)=>{if(!e)return;let{selection:a}=i,s=h(t,e,t);if(U.YR.insertNodes(i,s,{select:!0}),a){var n;let[e,t]=U.ML.parent(i,null===(n=a.focus)||void 0===n?void 0:n.path);i.isVoid(e)||U.NB.string(e).length?U.YR.insertNodes(i,s,{at:U.y$.next(t),select:!0}):(U.YR.insertNodes(i,s,{at:t,select:!0}),U.ML.normalize(i,{force:!0}))}else U.YR.insertNodes(i,s,{select:!0})},p=e=>{F.F3.focus(i),U.YR.insertText(i,e)},g=(e,t)=>{F.F3.focus(i),u(t,e)},x=e=>{let t=J(i)+1;if("Enter"===e.key){e.preventDefault(),c();return}if("Backspace"===e.key){r(t-1);return}t+1>300&&e.preventDefault(),r(t+1)},C=e=>{let t=e.clipboardData.getData("text/plain"),{length:a}=t;n+a>300&&e.preventDefault()},j=e=>"image"===e.element.type?(0,l.jsx)(W,{...e}):(0,l.jsx)("p",{...e});return(0,l.jsx)("div",{className:L().root,children:(0,l.jsxs)("div",{className:_()(L().inputWrap,n>=300&&L().maxCharacters),children:[(0,l.jsxs)(F.mH,{editor:i,value:[{type:"paragraph",children:[{text:t||""}]}],children:[(0,l.jsx)(F.CX,{className:"chat-text-input",onKeyDown:x,onPaste:C,renderElement:j,placeholder:"Send a message to chat",style:{width:"100%"},role:"textbox","aria-label":"Chat text input",autoFocus:!0}),(0,l.jsx)(P.Z,{content:(0,l.jsx)(R,{onEmojiSelect:p,onCustomEmojiSelect:g}),trigger:"click",placement:"topRight",onOpenChange:e=>s(e),open:a})]}),(0,l.jsxs)("div",{style:{display:"flex",paddingLeft:"5px"},children:[(0,l.jsx)("button",{type:"button",className:L().emojiButton,title:"Emoji picker button",onClick:()=>s(!a),children:(0,l.jsx)(H,{})}),(0,l.jsx)("button",{type:"button",className:L().sendButton,title:"Send message Button",onClick:c,children:(0,l.jsx)(I,{})})]})]})})};var z=a(93107),Z=a.n(z);function q(){return(q=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,l.jsxs)("div",{className:Z().chatModerationNotification,children:[(0,l.jsx)(K,{className:Z().icon}),"You are now a moderator."]});var Q=a(47049),ee=a(23421),et=a.n(ee);let ea=e=>{let{message:{body:t,user:{displayName:a}},highlightString:s}=e;return(0,l.jsxs)("div",{className:_()([et().chatSystemMessage,"chat-message_system"]),children:[(0,l.jsx)("div",{className:et().user,children:(0,l.jsx)("span",{className:et().userName,children:a})}),(0,l.jsx)(Q.Highlight,{search:s,children:(0,l.jsx)("div",{className:et().message,dangerouslySetInnerHTML:{__html:t}})})]})};var es=a(91044),en=a.n(es);let er=u()(()=>Promise.all([a.e(2074),a.e(8725)]).then(a.t.bind(a,8725,23)),{loadableGenerated:{webpack:()=>[8725]},ssr:!1}),eo=e=>{let{isAuthorModerator:t,userColor:a,displayName:s}=e;return(0,l.jsxs)("div",{className:en().root,children:[(0,l.jsxs)("span",{style:{color:"var(--theme-color-users-".concat(a,")")},children:[(0,l.jsx)("span",{style:{padding:"0 10px"},children:(0,l.jsx)(er,{})}),(0,l.jsx)("span",{style:{fontWeight:"bold"},children:s}),t&&(0,l.jsx)("span",{children:(0,l.jsx)(S,{badge:"mod",userColor:a})})]})," ","joined the chat."]})};var ei=a(71577);let el=u()(()=>Promise.all([a.e(2074),a.e(437)]).then(a.t.bind(a,20437,23)),{loadableGenerated:{webpack:()=>[20437]},ssr:!1}),ec=e=>{let{chatContainerRef:t,messages:a}=e;return(0,l.jsx)("div",{className:g().toBottomWrap,children:(0,l.jsx)(ei.Z,{type:"default",style:{color:"currentColor"},icon:(0,l.jsx)(el,{}),onClick:()=>t.current.scrollToIndex({index:a.length-1,behavior:"auto"}),children:"Go to last message"})})};var ed=a(65302),eh=a.n(ed);let eu=e=>{let{body:t}=e;return(0,l.jsx)("div",{dangerouslySetInnerHTML:{__html:t},className:eh().chatAction})},em=u()(()=>Promise.all([a.e(2074),a.e(1668)]).then(a.t.bind(a,51668,23)),{loadableGenerated:{webpack:()=>[51668]},ssr:!1});function ep(e){let{user:{scopes:t}}=e;return!!t&&0!==t.length&&t.includes("MODERATOR")}let eg=e=>{let{messages:t,usernameToHighlight:a,chatUserId:s,isModerator:n,showInput:r,height:o}=e,[i,h]=(0,d.useState)(!1),u=(0,d.useRef)(null),p=e=>{let{oldName:t,user:a}=e,{displayName:s,displayColor:n}=a,r="var(--theme-color-users-".concat(n,")");return(0,l.jsxs)("div",{className:g().nameChangeView,children:[(0,l.jsx)("div",{style:{marginRight:5,height:"max-content",margin:"auto 5px auto 0"},children:(0,l.jsx)(em,{})}),(0,l.jsxs)("div",{className:g().nameChangeText,children:[(0,l.jsx)("span",{style:{color:r},children:t}),(0,l.jsx)("span",{className:g().plain,children:" is now known as "}),(0,l.jsx)("span",{style:{color:r},children:s})]})]})},x=e=>{let{user:{displayName:t,displayColor:a}}=e,s=ep(e);return(0,l.jsx)(eo,{displayName:t,userColor:a,isAuthorModerator:s})},_=e=>{let{body:t}=e;return(0,l.jsx)(eu,{body:t})},C=e=>{let t=ep(e);return t?(0,l.jsx)($,{}):(0,l.jsx)("div",{style:{width:"1px",height:"1px"}})},f=(e,r)=>{switch(r.type){case m.C.CHAT:var o,i,c;return(0,l.jsx)(B,{message:r,showModeratorMenu:n,highlightString:a,sentBySelf:(null===(o=r.user)||void 0===o?void 0:o.id)===s,sameUserAsLast:function(e,t){if(e.length<2)return!1;let a=e[t];if(!a||!a.user)return!1;let{user:{id:s}}=a,n=e[t-1];if((null==n?void 0:n.type)!==m.C.CHAT||!(null==n?void 0:n.timestamp)||!a.timestamp)return!1;let r=new Date(null==n?void 0:n.timestamp).getTime(),o=new Date(a.timestamp).getTime();return!(o-r>12e4)&&s===(null==n?void 0:n.user.id)}(t,e),isAuthorModerator:null===(i=r.user.scopes)||void 0===i?void 0:i.includes("MODERATOR"),isAuthorAuthenticated:null===(c=r.user)||void 0===c?void 0:c.authenticated},r.id);case m.C.NAME_CHANGE:return p(r);case m.C.CONNECTED_USER_INFO:return C(r);case m.C.USER_JOINED:return x(r);case m.C.CHAT_ACTION:return _(r);case m.C.SYSTEM:return(0,l.jsx)(ea,{message:r,highlightString:a},r.id);default:return null}},j=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"smooth";setTimeout(()=>{var s;null===(s=e.current)||void 0===s||s.scrollToIndex({index:t.length-1,behavior:a})},100),h(!0)};(0,d.useEffect)(()=>{setTimeout(()=>{j(u,"auto")},500)},[]);let v=(0,d.useMemo)(()=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.OO,{id:"virtuoso",style:{height:o},className:g().virtuoso,ref:u,data:t,itemContent:(e,t)=>f(e,t),followOutput:e=>(e&&j(u,"smooth"),!1),alignToBottom:!0,atBottomThreshold:70,atBottomStateChange:e=>{h(e)}}),!i&&(0,l.jsx)(ec,{chatContainerRef:u,messages:t})]}),[t,a,s,n,i]);return(0,l.jsxs)("div",{id:"chat-container",className:g().chatContainer,children:[v,r&&(0,l.jsx)("div",{className:g().chatTextField,children:(0,l.jsx)(X,{})})]})};eg.defaultProps={showInput:!0,height:"auto"}},65302:function(e){e.exports={chatAction:"ChatActionMessage_chatAction__x9Xsg"}},59760:function(e){e.exports={toBottomWrap:"ChatContainer_toBottomWrap__3V5wa",nameChangeView:"ChatContainer_nameChangeView__ziyXN",nameChangeText:"ChatContainer_nameChangeText__yXG__",plain:"ChatContainer_plain__IPS19",chatContainer:"ChatContainer_chatContainer__O2lYN",virtuoso:"ChatContainer_virtuoso__OS9Kz",chatTextField:"ChatContainer_chatTextField__OqCGL"}},91044:function(e){e.exports={root:"ChatJoinMessage_root__vuVXa"}},93107:function(e){e.exports={chatModerationNotification:"ChatModeratorNotification_chatModerationNotification__kgFWe",icon:"ChatModeratorNotification_icon__7FdGg"}},23421:function(e){e.exports={chatSystemMessage:"ChatSystemMessage_chatSystemMessage__c6XEN",user:"ChatSystemMessage_user__6yHSJ",message:"ChatSystemMessage_message__ySq5g"}},26912:function(e){e.exports={root:"ChatTextField_root__4oUkJ",inputWrap:"ChatTextField_inputWrap__1mAjD",maxCharacters:"ChatTextField_maxCharacters__yGT4s",emojiButton:"ChatTextField_emojiButton__ON_Cu",sendButton:"ChatTextField_sendButton__MOmD4"}},48976:function(e){e.exports={badge:"ChatUserBadge_badge__1EdUp"}},50085:function(e){e.exports={root:"ChatUserMessage_root__79heB",user:"ChatUserMessage_user__xUEp9",message:"ChatUserMessage_message__MJ9LD",ownMessage:"ChatUserMessage_ownMessage__d28A3",background:"ChatUserMessage_background__Tfghp",modMenuWrapper:"ChatUserMessage_modMenuWrapper__7fblv",messagePadding:"ChatUserMessage_messagePadding__Xp1F6",messagePaddingCollapsed:"ChatUserMessage_messagePaddingCollapsed__qxN0E"}}}]); -//# sourceMappingURL=4977-1a50f953ff5762ae.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js.map b/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js.map deleted file mode 100644 index cb8f58dfa..000000000 --- a/static/web/_next/static/chunks/4977-1a50f953ff5762ae.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/chunks/4977-1a50f953ff5762ae.js","mappings":"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","sources":["webpack://_N_E/./components/chat/ChatUserMessage/messageFmt.ts","webpack://_N_E/./components/chat/ChatUserBadge/ChatUserBadge.tsx","webpack://_N_E/./components/chat/ChatUserMessage/ChatUserMessage.tsx","webpack://_N_E/./components/chat/ChatTextField/ChatTextField.tsx","webpack://_N_E/./assets/images/moderator.svg","webpack://_N_E/./components/chat/ChatModeratorNotification/ChatModeratorNotification.tsx","webpack://_N_E/./components/chat/ChatSystemMessage/ChatSystemMessage.tsx","webpack://_N_E/./components/chat/ChatJoinMessage/ChatJoinMessage.tsx","webpack://_N_E/./components/chat/ChatContainer/ScrollToBotBtn.tsx","webpack://_N_E/./components/chat/ChatActionMessage/ChatActionMessage.tsx","webpack://_N_E/./components/chat/ChatContainer/ChatContainer.tsx","webpack://_N_E/./components/chat/ChatActionMessage/ChatActionMessage.module.scss","webpack://_N_E/./components/chat/ChatContainer/ChatContainer.module.scss","webpack://_N_E/./components/chat/ChatJoinMessage/ChatJoinMessage.module.scss","webpack://_N_E/./components/chat/ChatModeratorNotification/ChatModeratorNotification.module.scss","webpack://_N_E/./components/chat/ChatSystemMessage/ChatSystemMessage.module.scss","webpack://_N_E/./components/chat/ChatTextField/ChatTextField.module.scss","webpack://_N_E/./components/chat/ChatUserBadge/ChatUserBadge.module.scss","webpack://_N_E/./components/chat/ChatUserMessage/ChatUserMessage.module.scss","webpack://_N_E/"],"sourcesContent":["import { convertToText } from '../chat';\nimport { getDiffInDaysFromNow } from '../../../utils/helpers';\n\nconst stripTags = (str: string) => str && str.replace(/<\\/?[^>]+(>|$)/g, '');\nconst convertToMarkup = (str = '') => convertToText(str).replace(/\\n/g, '

');\n\nfunction getInstagramEmbedFromURL(url: string) {\n const urlObject = new URL(url.replace(/\\/$/, ''));\n urlObject.pathname += '/embed';\n return ``;\n}\n\nfunction isMessageJustAnchor(embedText: string, message: string, anchors: HTMLAnchorElement[]) {\n if (embedText !== '' && anchors.length === 1) return false;\n return stripTags(message) === stripTags(anchors[0]?.innerHTML);\n}\n\nfunction getMessageWithEmbeds(message: string) {\n let embedText = '';\n // Make a temporary element so we can actually parse the html and pull anchor tags from it.\n // This is a better approach than regex.\n const container = document.createElement('p');\n container.innerHTML = message;\n\n const anchors = Array.from(container.querySelectorAll('a'));\n anchors.forEach(({ href }) => {\n if (href.includes('instagram.com/p/')) embedText += getInstagramEmbedFromURL(href);\n });\n\n // If this message only consists of a single embeddable link\n // then only return the embed and strip the link url from the text.\n if (isMessageJustAnchor(embedText, message, anchors)) return embedText;\n return message + embedText;\n}\n\nexport function formatTimestamp(sentAt: Date) {\n const now = new Date(sentAt);\n if (Number.isNaN(now)) return '';\n\n const diffInDays = getDiffInDaysFromNow(sentAt);\n\n if (diffInDays >= 1) {\n const localeDate = now.toLocaleDateString('en-US', {\n dateStyle: 'medium',\n });\n return `${localeDate} at ${now.toLocaleTimeString()}`;\n }\n\n return `${now.toLocaleTimeString()}`;\n}\n\n/*\n You would call this when receiving a plain text\n value back from an API, and before inserting the\n text into the `contenteditable` area on a page.\n*/\n\nexport function formatMessageText(message: string) {\n let formattedText = getMessageWithEmbeds(message);\n formattedText = convertToMarkup(formattedText);\n return formattedText;\n // return await highlightUsername(formattedText, username);\n}\n","import React, { FC } from 'react';\nimport styles from './ChatUserBadge.module.scss';\n\nexport type ChatUserBadgeProps = {\n badge: React.ReactNode;\n userColor: number;\n};\n\nexport const ChatUserBadge: FC = ({ badge, userColor }) => {\n const color = `var(--theme-user-colors-${userColor})`;\n const style = { color, borderColor: color };\n\n return (\n \n {badge}\n \n );\n};\n","/* eslint-disable react/no-danger */\nimport { FC, ReactNode, useEffect, useState } from 'react';\nimport cn from 'classnames';\nimport { Tooltip } from 'antd';\nimport { useRecoilValue } from 'recoil';\nimport dynamic from 'next/dynamic';\nimport { decodeHTML } from 'entities';\nimport linkifyHtml from 'linkify-html';\nimport styles from './ChatUserMessage.module.scss';\nimport { formatTimestamp } from './messageFmt';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport { ChatUserBadge } from '../ChatUserBadge/ChatUserBadge';\nimport { accessTokenAtom } from '../../stores/ClientConfigStore';\nimport { User } from '../../../interfaces/user.model';\n\n// Lazy loaded components\n\nconst LinkOutlined = dynamic(() => import('@ant-design/icons/LinkOutlined'), {\n ssr: false,\n});\n\nconst ChatModerationActionMenu = dynamic(\n () =>\n import('../ChatModerationActionMenu/ChatModerationActionMenu').then(\n mod => mod.ChatModerationActionMenu,\n ),\n {\n ssr: false,\n },\n);\n\nconst Highlight = dynamic(() => import('react-highlighter-ts').then(mod => mod.Highlight), {\n ssr: false,\n});\n\nexport type ChatUserMessageProps = {\n message: ChatMessage;\n showModeratorMenu: boolean;\n highlightString: string;\n sentBySelf: boolean;\n sameUserAsLast: boolean;\n isAuthorModerator: boolean;\n isAuthorAuthenticated: boolean;\n};\n\nexport type UserTooltipProps = {\n user: User;\n children: ReactNode;\n};\n\nconst UserTooltip: FC = ({ children, user }) => {\n const { displayName, createdAt } = user;\n const content = `${displayName} first joined ${formatTimestamp(createdAt)}`;\n\n return (\n \n {children}\n \n );\n};\n\nexport const ChatUserMessage: FC = ({\n message,\n highlightString,\n showModeratorMenu,\n sentBySelf, // Move the border to the right and render a background\n sameUserAsLast,\n isAuthorModerator,\n isAuthorAuthenticated,\n}) => {\n const { id: messageId, body, user, timestamp } = message;\n const { id: userId, displayName, displayColor } = user;\n const accessToken = useRecoilValue(accessTokenAtom);\n\n const color = `var(--theme-color-users-${displayColor})`;\n const formattedTimestamp = `Sent ${formatTimestamp(timestamp)}`;\n const [formattedMessage, setFormattedMessage] = useState(body);\n\n const badgeNodes = [];\n if (isAuthorModerator) {\n badgeNodes.push();\n }\n if (isAuthorAuthenticated) {\n badgeNodes.push(\n }\n userColor={displayColor}\n />,\n );\n }\n\n useEffect(() => {\n setFormattedMessage(decodeHTML(body));\n }, [message]);\n\n return (\n \n \n
\n\n {!sameUserAsLast && (\n \n
\n {displayName}\n {badgeNodes}\n
\n
\n )}\n \n \n \n \n \n {showModeratorMenu && (\n
\n \n
\n )}\n
\n
\n );\n};\n","import { Popover } from 'antd';\nimport React, { FC, useMemo, useState } from 'react';\nimport { useRecoilValue } from 'recoil';\nimport { Transforms, createEditor, BaseEditor, Text, Descendant, Editor, Node, Path } from 'slate';\nimport { Slate, Editable, withReact, ReactEditor, useSelected, useFocused } from 'slate-react';\nimport dynamic from 'next/dynamic';\nimport classNames from 'classnames';\nimport WebsocketService from '../../../services/websocket-service';\nimport { websocketServiceAtom } from '../../stores/ClientConfigStore';\nimport { MessageType } from '../../../interfaces/socket-events';\nimport styles from './ChatTextField.module.scss';\n\n// Lazy loaded components\n\nconst EmojiPicker = dynamic(() => import('./EmojiPicker').then(mod => mod.EmojiPicker), {\n ssr: false,\n});\n\nconst SendOutlined = dynamic(() => import('@ant-design/icons/SendOutlined'), {\n ssr: false,\n});\n\nconst SmileOutlined = dynamic(() => import('@ant-design/icons/SmileOutlined'), {\n ssr: false,\n});\n\ntype CustomElement = { type: 'paragraph' | 'span'; children: CustomText[] } | ImageNode;\ntype CustomText = { text: string };\n\ntype EmptyText = {\n text: string;\n};\n\ntype ImageNode = {\n type: 'image';\n alt: string;\n src: string;\n name: string;\n children: EmptyText[];\n};\n\ndeclare module 'slate' {\n interface CustomTypes {\n Editor: BaseEditor & ReactEditor;\n Element: CustomElement;\n Text: CustomText;\n }\n}\n\nconst Image = p => {\n const { attributes, element, children } = p;\n\n const selected = useSelected();\n const focused = useFocused();\n return (\n \n \n {children}\n \n );\n};\n\nconst withImages = editor => {\n const { isVoid } = editor;\n\n // eslint-disable-next-line no-param-reassign\n editor.isVoid = element => (element.type === 'image' ? true : isVoid(element));\n // eslint-disable-next-line no-param-reassign\n editor.isInline = element => element.type === 'image';\n\n return editor;\n};\n\nconst serialize = node => {\n if (Text.isText(node)) {\n const string = node.text;\n return string;\n }\n\n let children;\n if (node.children.length === 0) {\n children = [{ text: '' }];\n } else {\n children = node.children?.map(n => serialize(n)).join('');\n }\n\n switch (node.type) {\n case 'paragraph':\n return `

${children}

`;\n case 'image':\n return `\"${node.alt}\"`;\n default:\n return children;\n }\n};\n\nconst getCharacterCount = node => {\n if (Text.isText(node)) {\n return node.text.length;\n }\n if (node.type === 'image') {\n return 5;\n }\n\n let count = 0;\n node.children.forEach(child => {\n count += getCharacterCount(child);\n });\n\n return count;\n};\n\nexport type ChatTextFieldProps = {\n defaultText?: string;\n};\n\nconst characterLimit = 300;\n\nexport const ChatTextField: FC = ({ defaultText }) => {\n const [showEmojis, setShowEmojis] = useState(false);\n const [characterCount, setCharacterCount] = useState(defaultText?.length);\n const websocketService = useRecoilValue(websocketServiceAtom);\n const editor = useMemo(() => withReact(withImages(createEditor())), []);\n\n const defaultEditorValue: Descendant[] = [\n {\n type: 'paragraph',\n children: [{ text: defaultText || '' }],\n },\n ];\n\n const sendMessage = () => {\n if (!websocketService) {\n console.log('websocketService is not defined');\n return;\n }\n\n const message = serialize(editor);\n websocketService.send({ type: MessageType.CHAT, body: message });\n\n // Clear the editor.\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n setCharacterCount(0);\n };\n\n const createImageNode = (alt, src, name): ImageNode => ({\n type: 'image',\n alt,\n src,\n name,\n children: [{ text: '' }],\n });\n\n const insertImage = (url, name) => {\n if (!url) return;\n\n const { selection } = editor;\n const image = createImageNode(name, url, name);\n\n Transforms.insertNodes(editor, image, { select: true });\n\n if (selection) {\n const [parentNode, parentPath] = Editor.parent(editor, selection.focus?.path);\n\n if (editor.isVoid(parentNode) || Node.string(parentNode).length) {\n // Insert the new image node after the void node or a node with content\n Transforms.insertNodes(editor, image, {\n at: Path.next(parentPath),\n select: true,\n });\n } else {\n // If the node is empty, replace it instead\n // Transforms.removeNodes(editor, { at: parentPath });\n Transforms.insertNodes(editor, image, { at: parentPath, select: true });\n Editor.normalize(editor, { force: true });\n }\n } else {\n // Insert the new image node at the bottom of the Editor when selection\n // is falsey\n Transforms.insertNodes(editor, image, { select: true });\n }\n };\n\n // Native emoji\n const onEmojiSelect = (emoji: string) => {\n ReactEditor.focus(editor);\n Transforms.insertText(editor, emoji);\n };\n\n const onCustomEmojiSelect = (name: string, emoji: string) => {\n ReactEditor.focus(editor);\n insertImage(emoji, name);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const charCount = getCharacterCount(editor) + 1;\n\n // Send the message when hitting enter.\n if (e.key === 'Enter') {\n e.preventDefault();\n sendMessage();\n return;\n }\n\n // Always allow backspace.\n if (e.key === 'Backspace') {\n setCharacterCount(charCount - 1);\n return;\n }\n\n // Limit the number of characters.\n if (charCount + 1 > characterLimit) {\n e.preventDefault();\n }\n\n setCharacterCount(charCount + 1);\n };\n\n const onPaste = (e: React.ClipboardEvent) => {\n const text = e.clipboardData.getData('text/plain');\n\n const { length } = text;\n if (characterCount + length > characterLimit) {\n e.preventDefault();\n }\n };\n\n const renderElement = p => {\n switch (p.element.type) {\n case 'image':\n return ;\n default:\n return

;\n }\n };\n\n return (\n

\n = characterLimit && styles.maxCharacters,\n )}\n >\n \n \n \n }\n trigger=\"click\"\n placement=\"topRight\"\n onOpenChange={open => setShowEmojis(open)}\n open={showEmojis}\n />\n \n\n
\n setShowEmojis(!showEmojis)}\n >\n \n \n \n \n \n
\n
\n
\n );\n};\n","var _linearGradient, _path, _path2, _path3, _path4;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgModerator = function SvgModerator(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 500,\n viewBox: \"0 0 132.292 132.292\",\n width: 500,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _linearGradient || (_linearGradient = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"moderator_svg__a\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 432.851,\n x2: 464.644,\n y1: 49.977,\n y2: 49.977\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#2087e2\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#b63fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M438.672 34.08h20.151a5.82 5.82 45 0 1 5.82 5.821v20.151a5.82 5.82 135 0 1-5.82 5.821h-20.15a5.82 5.82 45 0 1-5.822-5.82V39.9a5.82 5.82 135 0 1 5.821-5.82z\",\n fill: \"url(#moderator_svg__a)\",\n transform: \"matrix(4.16112 0 0 4.16112 -1801.146 -141.814)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.11 29.551c-6.93 47.444-30.074 104.618-77.642 79.674l25.83 23.067h38.772c13.377 0 24.22-10.845 24.22-24.222V40.864z\",\n fill: \"#1d1535\",\n fillOpacity: 0.335\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.775 13.257s-7.129 57.999-.63 99.312c6.565 41.724-81.568-74.394-49.619-79.203 31.949-4.809 50.249-20.11 50.249-20.11z\",\n fill: \"#e2e8f0\",\n fillOpacity: 0.306\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M435.995 42.072c6.797.447 12.753-4.806 12.753-4.806s5.955 5.253 12.752 4.806c-.581 12.745-7.495 20.586-12.752 20.628-5.188.042-12.172-7.883-12.753-20.628z\",\n fill: \"none\",\n stroke: \"#fff\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n transform: \"matrix(4.16112 0 0 4.16112 -1801.146 -141.814)\"\n })));\n};\nexport default SvgModerator;","import styles from './ChatModeratorNotification.module.scss';\nimport Icon from '../../../assets/images/moderator.svg';\n\nexport const ChatModeratorNotification = () => (\n
\n \n You are now a moderator.\n
\n);\n","/* eslint-disable react/no-danger */\nimport { Highlight } from 'react-highlighter-ts';\nimport { FC } from 'react';\nimport cn from 'classnames';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport styles from './ChatSystemMessage.module.scss';\n\nexport type ChatSystemMessageProps = {\n message: ChatMessage;\n highlightString: string;\n};\n\nexport const ChatSystemMessage: FC = ({\n message: {\n body,\n user: { displayName },\n },\n highlightString,\n}) => (\n
\n
\n {displayName}\n
\n \n
\n \n
\n);\n","import { FC } from 'react';\nimport dynamic from 'next/dynamic';\nimport { ChatUserBadge } from '../ChatUserBadge/ChatUserBadge';\nimport styles from './ChatJoinMessage.module.scss';\n\n// Lazy loaded components\n\nconst TeamOutlined = dynamic(() => import('@ant-design/icons/TeamOutlined'), {\n ssr: false,\n});\n\nexport type ChatJoinMessageProps = {\n isAuthorModerator: boolean;\n userColor: number;\n displayName: string;\n};\n\nexport const ChatJoinMessage: FC = ({\n isAuthorModerator,\n userColor,\n displayName,\n}) => {\n const color = `var(--theme-color-users-${userColor})`;\n\n return (\n
\n \n \n \n \n {displayName}\n {isAuthorModerator && (\n \n \n \n )}\n {' '}\n joined the chat.\n
\n );\n};\n","import { Button } from 'antd';\nimport dynamic from 'next/dynamic';\nimport { FC, MutableRefObject } from 'react';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport styles from './ChatContainer.module.scss';\n\n// Lazy loaded components\n\nconst VerticalAlignBottomOutlined = dynamic(\n () => import('@ant-design/icons/VerticalAlignBottomOutlined'),\n {\n ssr: false,\n },\n);\ntype Props = {\n chatContainerRef: MutableRefObject;\n messages: ChatMessage[];\n};\n\nexport const ScrollToBotBtn: FC = ({ chatContainerRef, messages }) => (\n
\n }\n onClick={() =>\n chatContainerRef.current.scrollToIndex({\n index: messages.length - 1,\n behavior: 'auto',\n })\n }\n >\n Go to last message\n \n
\n);\n","import { FC } from 'react';\nimport styles from './ChatActionMessage.module.scss';\n\n/* eslint-disable react/no-danger */\nexport type ChatActionMessageProps = {\n body: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const ChatActionMessage: FC = ({ body }) => (\n
\n);\n","import { Virtuoso } from 'react-virtuoso';\nimport { useState, useMemo, useRef, CSSProperties, FC, useEffect } from 'react';\nimport dynamic from 'next/dynamic';\nimport {\n ConnectedClientInfoEvent,\n MessageType,\n NameChangeEvent,\n} from '../../../interfaces/socket-events';\nimport styles from './ChatContainer.module.scss';\nimport { ChatMessage } from '../../../interfaces/chat-message.model';\nimport { ChatUserMessage } from '../ChatUserMessage/ChatUserMessage';\nimport { ChatTextField } from '../ChatTextField/ChatTextField';\nimport { ChatModeratorNotification } from '../ChatModeratorNotification/ChatModeratorNotification';\n// import ChatActionMessage from '../ChatAction/ChatActionMessage';\nimport { ChatSystemMessage } from '../ChatSystemMessage/ChatSystemMessage';\nimport { ChatJoinMessage } from '../ChatJoinMessage/ChatJoinMessage';\nimport { ScrollToBotBtn } from './ScrollToBotBtn';\nimport { ChatActionMessage } from '../ChatActionMessage/ChatActionMessage';\n\n// Lazy loaded components\n\nconst EditFilled = dynamic(() => import('@ant-design/icons/EditFilled'), {\n ssr: false,\n});\nexport type ChatContainerProps = {\n messages: ChatMessage[];\n usernameToHighlight: string;\n chatUserId: string;\n isModerator: boolean;\n showInput?: boolean;\n height?: string;\n};\n\nfunction shouldCollapseMessages(messages: ChatMessage[], index: number): boolean {\n if (messages.length < 2) {\n return false;\n }\n\n const message = messages[index];\n if (!message || !message.user) {\n return false;\n }\n\n const {\n user: { id },\n } = message;\n const lastMessage = messages[index - 1];\n if (lastMessage?.type !== MessageType.CHAT) {\n return false;\n }\n\n if (!lastMessage?.timestamp || !message.timestamp) {\n return false;\n }\n\n const maxTimestampDelta = 1000 * 60 * 2; // 2 minutes\n const lastTimestamp = new Date(lastMessage?.timestamp).getTime();\n const thisTimestamp = new Date(message.timestamp).getTime();\n if (thisTimestamp - lastTimestamp > maxTimestampDelta) {\n return false;\n }\n\n return id === lastMessage?.user.id;\n}\n\nfunction checkIsModerator(message: ChatMessage | ConnectedClientInfoEvent) {\n const {\n user: { scopes },\n } = message;\n\n if (!scopes || scopes.length === 0) {\n return false;\n }\n\n return scopes.includes('MODERATOR');\n}\n\nexport const ChatContainer: FC = ({\n messages,\n usernameToHighlight,\n chatUserId,\n isModerator,\n showInput,\n height,\n}) => {\n const [atBottom, setAtBottom] = useState(false);\n const chatContainerRef = useRef(null);\n\n const getNameChangeViewForMessage = (message: NameChangeEvent) => {\n const { oldName, user } = message;\n const { displayName, displayColor } = user;\n const color = `var(--theme-color-users-${displayColor})`;\n\n return (\n
\n
\n \n
\n
\n {oldName}\n is now known as \n {displayName}\n
\n
\n );\n };\n\n const getUserJoinedMessage = (message: ChatMessage) => {\n const {\n user: { displayName, displayColor },\n } = message;\n const isAuthorModerator = checkIsModerator(message);\n return (\n \n );\n };\n\n const getActionMessage = (message: ChatMessage) => {\n const { body } = message;\n return ;\n };\n const getConnectedInfoMessage = (message: ConnectedClientInfoEvent) => {\n const modStatusUpdate = checkIsModerator(message);\n if (!modStatusUpdate) {\n // Important note: We can't return null or an element with zero width\n // or zero height. So to work around this we return a very small 1x1 div.\n const st: CSSProperties = { width: '1px', height: '1px' };\n return
;\n }\n\n // Alert the user that they are a moderator.\n return ;\n };\n\n const getViewForMessage = (\n index: number,\n message: ChatMessage | NameChangeEvent | ConnectedClientInfoEvent,\n ) => {\n switch (message.type) {\n case MessageType.CHAT:\n return (\n \n );\n case MessageType.NAME_CHANGE:\n return getNameChangeViewForMessage(message as NameChangeEvent);\n case MessageType.CONNECTED_USER_INFO:\n return getConnectedInfoMessage(message);\n case MessageType.USER_JOINED:\n return getUserJoinedMessage(message as ChatMessage);\n case MessageType.CHAT_ACTION:\n return getActionMessage(message as ChatMessage);\n case MessageType.SYSTEM:\n return (\n \n );\n\n default:\n return null;\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const scrollChatToBottom = (ref, behavior = 'smooth') => {\n setTimeout(() => {\n ref.current?.scrollToIndex({\n index: messages.length - 1,\n behavior,\n });\n }, 100);\n\n setAtBottom(true);\n };\n\n // This is a hack to force a scroll to the very bottom of the chat messages\n // on initial mount of the component.\n // For https://github.com/owncast/owncast/issues/2500\n useEffect(() => {\n setTimeout(() => {\n scrollChatToBottom(chatContainerRef, 'auto');\n }, 500);\n }, []);\n\n const MessagesTable = useMemo(\n () => (\n <>\n getViewForMessage(index, message)}\n followOutput={(isAtBottom: boolean) => {\n if (isAtBottom) {\n scrollChatToBottom(chatContainerRef, 'smooth');\n }\n return false;\n }}\n alignToBottom\n atBottomThreshold={70}\n atBottomStateChange={bottom => {\n setAtBottom(bottom);\n }}\n />\n {!atBottom && }\n \n ),\n [messages, usernameToHighlight, chatUserId, isModerator, atBottom],\n );\n\n return (\n
\n {MessagesTable}\n {showInput && (\n
\n \n
\n )}\n
\n );\n};\n\nChatContainer.defaultProps = {\n showInput: true,\n height: 'auto',\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatAction\":\"ChatActionMessage_chatAction__x9Xsg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toBottomWrap\":\"ChatContainer_toBottomWrap__3V5wa\",\"nameChangeView\":\"ChatContainer_nameChangeView__ziyXN\",\"nameChangeText\":\"ChatContainer_nameChangeText__yXG__\",\"plain\":\"ChatContainer_plain__IPS19\",\"chatContainer\":\"ChatContainer_chatContainer__O2lYN\",\"virtuoso\":\"ChatContainer_virtuoso__OS9Kz\",\"chatTextField\":\"ChatContainer_chatTextField__OqCGL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatJoinMessage_root__vuVXa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatModerationNotification\":\"ChatModeratorNotification_chatModerationNotification__kgFWe\",\"icon\":\"ChatModeratorNotification_icon__7FdGg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chatSystemMessage\":\"ChatSystemMessage_chatSystemMessage__c6XEN\",\"user\":\"ChatSystemMessage_user__6yHSJ\",\"message\":\"ChatSystemMessage_message__ySq5g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatTextField_root__4oUkJ\",\"inputWrap\":\"ChatTextField_inputWrap__1mAjD\",\"maxCharacters\":\"ChatTextField_maxCharacters__yGT4s\",\"emojiButton\":\"ChatTextField_emojiButton__ON_Cu\",\"sendButton\":\"ChatTextField_sendButton__MOmD4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badge\":\"ChatUserBadge_badge__1EdUp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"ChatUserMessage_root__79heB\",\"user\":\"ChatUserMessage_user__xUEp9\",\"message\":\"ChatUserMessage_message__MJ9LD\",\"ownMessage\":\"ChatUserMessage_ownMessage__d28A3\",\"background\":\"ChatUserMessage_background__Tfghp\",\"modMenuWrapper\":\"ChatUserMessage_modMenuWrapper__7fblv\",\"messagePadding\":\"ChatUserMessage_messagePadding__Xp1F6\",\"messagePaddingCollapsed\":\"ChatUserMessage_messagePaddingCollapsed__qxN0E\"};"],"names":["_linearGradient","_path","_path2","_path3","_path4","formatTimestamp","sentAt","now","Date","Number","isNaN","diffInDays","getDiffInDaysFromNow","localeDate","toLocaleDateString","dateStyle","concat","toLocaleTimeString","ChatUserBadge","badge","userColor","param","color","jsx_runtime","jsx","span","style","borderColor","className","styles","LinkOutlined","dynamic","Promise","all","__webpack_require__","e","then","t","bind","ssr","ChatModerationActionMenu","mod","Highlight","resolve","UserTooltip","children","user","displayName","createdAt","content","Tooltip","title","placement","mouseEnterDelay","ChatUserMessage","message","highlightString","showModeratorMenu","sentBySelf","sameUserAsLast","isAuthorModerator","isAuthorAuthenticated","id","messageId","body","timestamp","userId","displayColor","accessToken","useRecoilValue","accessTokenAtom","formattedTimestamp","formattedMessage","setFormattedMessage","useState","badgeNodes","push","useEffect","decodeHTML","div","cn","jsxs","search","dangerouslySetInnerHTML","__html","linkifyHtml","messageID","userID","userDisplayName","EmojiPicker","SendOutlined","SmileOutlined","Image","p","attributes","element","selected","useSelected","focused","useFocused","contentEditable","img","alt","src","name","display","maxWidth","maxHeight","boxShadow","withImages","editor","isVoid","type","isInline","serialize","node","Text","string","text","length","map","n","join","getCharacterCount","count","forEach","child","ChatTextField","defaultText","showEmojis","setShowEmojis","characterCount","setCharacterCount","websocketService","websocketServiceAtom","useMemo","withReact","createEditor","sendMessage","console","log","send","MessageType","Transforms","at","anchor","Editor","focus","createImageNode","insertImage","url","selection","image","select","parentNode","parentPath","path","Node","Path","force","onEmojiSelect","ReactEditor","emoji","onCustomEmojiSelect","onKeyDown","charCount","key","preventDefault","onPaste","clipboardData","getData","renderElement","classNames","Slate","value","Editable","placeholder","width","role","aria-label","autoFocus","Popover","trigger","onOpenChange","open","paddingLeft","button","onClick","_extends","Object","assign","target","i","arguments","source","prototype","hasOwnProperty","call","apply","moderator","props","react","createElement","height","viewBox","xmlns","gradientUnits","x1","x2","y1","y2","offset","stopColor","d","fill","transform","fillOpacity","stroke","strokeLinejoin","strokeWidth","ChatModeratorNotification","Icon","ChatSystemMessage","TeamOutlined","ChatJoinMessage","padding","fontWeight","VerticalAlignBottomOutlined","ScrollToBotBtn","chatContainerRef","messages","Button","icon","current","scrollToIndex","index","behavior","ChatActionMessage","EditFilled","checkIsModerator","scopes","includes","ChatContainer","usernameToHighlight","chatUserId","isModerator","showInput","atBottom","setAtBottom","useRef","getNameChangeViewForMessage","oldName","marginRight","margin","getUserJoinedMessage","getActionMessage","getConnectedInfoMessage","modStatusUpdate","getViewForMessage","_message_user_scopes","shouldCollapseMessages","lastMessage","lastTimestamp","getTime","thisTimestamp","maxTimestampDelta","authenticated","scrollChatToBottom","ref","setTimeout","MessagesTable","Fragment","Virtuoso","data","itemContent","followOutput","isAtBottom","alignToBottom","atBottomThreshold","atBottomStateChange","bottom","defaultProps","module","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/710.60697d09ba08ff3b.js b/static/web/_next/static/chunks/710.60697d09ba08ff3b.js new file mode 100644 index 000000000..73f0aa13a --- /dev/null +++ b/static/web/_next/static/chunks/710.60697d09ba08ff3b.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[710],{81076:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z"}}]},name:"star",theme:"filled"}},20710:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,n=(a=r(63031))&&a.__esModule?a:{default:a};t.default=n,e.exports=n},63031:function(e,t,r){var a=r(64836),n=r(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u=a(r(42122)),l=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=c(t);if(r&&r.has(e))return r.get(e);var a={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var f=u?Object.getOwnPropertyDescriptor(e,l):null;f&&(f.get||f.set)?Object.defineProperty(a,l,f):a[l]=e[l]}return a.default=e,r&&r.set(e,a),a}(r(67294)),f=a(r(81076)),o=a(r(92074));function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}var i=function(e,t){return l.createElement(o.default,(0,u.default)((0,u.default)({},e),{},{ref:t,icon:f.default}))};i.displayName="StarFilled";var d=l.forwardRef(i);t.default=d}}]); +//# sourceMappingURL=710.60697d09ba08ff3b.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/710.60697d09ba08ff3b.js.map b/static/web/_next/static/chunks/710.60697d09ba08ff3b.js.map new file mode 100644 index 000000000..225c57747 --- /dev/null +++ b/static/web/_next/static/chunks/710.60697d09ba08ff3b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/710.60697d09ba08ff3b.js","mappings":"gGAEAA,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAAEC,MAAA,KAE/CD,EAAA,OAAe,CADf,CAAmB,MAAU,iBAAyB,2CAAkD,WAAiB,kBAA0B,4WAAgX,EAAG,mDCFpgBF,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC/CC,MAAA,EACA,GACED,EAAA,OAAe,QAEjB,IAEAE,EAFAC,EAEyCD,CAAzCA,EAF2CE,EAAQ,SAEVF,EAAAG,UAAA,CAAAH,EAAA,CAAuC,QAAAA,CAAA,EAG9EF,EAAA,OAAe,CADjBG,EAEAG,EAAAN,OAAA,CAFAG,yBCRA,IAAAI,EAA6BH,EAAQ,OACrCI,EAAcJ,EAAQ,OACtBN,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC7CC,MAAA,EACA,GACAD,EAAA,OAAe,QACf,IAAAS,EAAAF,EAA4CH,EAAQ,QACpDM,EAAAC,SAIAT,CAAA,CAAAU,CAAA,EAAqD,IAAAA,GAAAV,GAAAA,EAAAG,UAAA,CAA6C,OAAAH,CAAA,CAAc,GAAAA,IAAA,GAAAA,GAAAM,WAAAA,EAAAN,IAAA,mBAAAA,EAA8E,OAASW,QAAAX,CAAA,EAAkB,IAAAY,EAAAC,EAAAH,GAAmD,GAAAE,GAAAA,EAAAE,GAAA,CAAAd,GAA+B,OAAAY,EAAAG,GAAA,CAAAf,EAAA,CAAyB,IAAAgB,EAAA,GAAiBC,EAAArB,OAAAC,cAAA,EAAAD,OAAAsB,wBAAA,CAAsF,QAAAC,KAAAnB,EAAuB,GAAAmB,YAAAA,GAAAvB,OAAAwB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtB,EAAAmB,GAAA,CAA2E,IAAAI,EAAAN,EAAArB,OAAAsB,wBAAA,CAAAlB,EAAAmB,GAAA,KAAqFI,GAAAA,CAAAA,EAAAR,GAAA,EAAAQ,EAAAC,GAAA,EAAsC5B,OAAAC,cAAA,CAAAmB,EAAAG,EAAAI,GAAmDP,CAAA,CAAAG,EAAA,CAAAnB,CAAA,CAAAmB,EAAA,QAA8BH,EAAAL,OAAA,CAAAX,EAAsBY,GAAaA,EAAAY,GAAA,CAAAxB,EAAAgB,GAA0BA,CAAA,EAJlvBd,EAAQ,QAC5CD,EAAAI,EAAyCH,EAAQ,QACjDuB,EAAApB,EAAuCH,EAAQ,QAC/C,SAAAW,EAAAH,CAAA,EAAiD,sBAAAgB,QAAA,YAAgD,IAAAC,EAAA,IAAAD,QAAuCE,EAAA,IAAAF,QAAsC,OAAAb,EAAA,SAAAH,CAAA,EAAoF,OAAAA,EAAAkB,EAAAD,CAAA,GAA4DjB,EAAA,CAK9T,IAAAmB,EAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAAvB,EAAAwB,aAAA,CAAAP,EAAAd,OAAA,IAAAJ,EAAAI,OAAA,KAAAJ,EAAAI,OAAA,KAAuHmB,GAAA,GAAY,CACnIC,IAAAA,EACAE,KAAAhC,EAAAU,OAAA,GAEA,CACAkB,CAAAA,EAAAK,WAAA,cACA,IAAAC,EAAA3B,EAAA4B,UAAA,CAAAP,EACA/B,CAAAA,EAAA,OAAe,CAAAqC","sources":["webpack://_N_E/./node_modules/@ant-design/icons-svg/lib/asn/StarFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/StarFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/lib/icons/StarFilled.js","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StarFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z\" } }] }, \"name\": \"star\", \"theme\": \"filled\" };\nexports.default = StarFilled;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _StarFilled = _interopRequireDefault(require('./lib/icons/StarFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _StarFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _StarFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/StarFilled\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar StarFilled = function StarFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _StarFilled.default\n }));\n};\nStarFilled.displayName = 'StarFilled';\nvar _default = /*#__PURE__*/React.forwardRef(StarFilled);\nexports.default = _default;"],"names":["Object","defineProperty","exports","value","obj","_StarFilled","__webpack_require__","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","_interopRequireWildcard","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","StarFilled","props","ref","createElement","icon","displayName","_default","forwardRef"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/7719.eb054e38d529f131.js b/static/web/_next/static/chunks/7719.eb054e38d529f131.js new file mode 100644 index 000000000..ed741461b --- /dev/null +++ b/static/web/_next/static/chunks/7719.eb054e38d529f131.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7719],{93691:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z"}}]},name:"safety-certificate",theme:"filled"}},27719:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,f=(a=r(23535))&&a.__esModule?a:{default:a};t.default=f,e.exports=f},23535:function(e,t,r){var a=r(64836),f=r(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(42122)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==f(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=n?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(a,u,l):a[u]=e[u]}return a.default=e,r&&r.set(e,a),a}(r(67294)),l=a(r(93691)),c=a(r(92074));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}var i=function(e,t){return u.createElement(c.default,(0,n.default)((0,n.default)({},e),{},{ref:t,icon:l.default}))};i.displayName="SafetyCertificateFilled";var d=u.forwardRef(i);t.default=d}}]); +//# sourceMappingURL=7719.eb054e38d529f131.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/7719.eb054e38d529f131.js.map b/static/web/_next/static/chunks/7719.eb054e38d529f131.js.map new file mode 100644 index 000000000..4cc442126 --- /dev/null +++ b/static/web/_next/static/chunks/7719.eb054e38d529f131.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/7719.eb054e38d529f131.js","mappings":"iGAEAA,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAAEC,MAAA,KAE/CD,EAAA,OAAe,CADf,CAAgC,MAAU,iBAAyB,2CAAkD,WAAiB,kBAA0B,ubAA2b,EAAG,iECF5lBF,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC/CC,MAAA,EACA,GACED,EAAA,OAAe,QAEjB,IAEAE,EAFAC,EAEyCD,CAAzCA,EAFwDE,EAAQ,SAEvBF,EAAAG,UAAA,CAAAH,EAAA,CAAuC,QAAAA,CAAA,EAG9EF,EAAA,OAAe,CADjBG,EAEAG,EAAAN,OAAA,CAFAG,yBCRA,IAAAI,EAA6BH,EAAQ,OACrCI,EAAcJ,EAAQ,OACtBN,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC7CC,MAAA,EACA,GACAD,EAAA,OAAe,QACf,IAAAS,EAAAF,EAA4CH,EAAQ,QACpDM,EAAAC,SAIAT,CAAA,CAAAU,CAAA,EAAqD,IAAAA,GAAAV,GAAAA,EAAAG,UAAA,CAA6C,OAAAH,CAAA,CAAc,GAAAA,IAAA,GAAAA,GAAAM,WAAAA,EAAAN,IAAA,mBAAAA,EAA8E,OAASW,QAAAX,CAAA,EAAkB,IAAAY,EAAAC,EAAAH,GAAmD,GAAAE,GAAAA,EAAAE,GAAA,CAAAd,GAA+B,OAAAY,EAAAG,GAAA,CAAAf,EAAA,CAAyB,IAAAgB,EAAA,GAAiBC,EAAArB,OAAAC,cAAA,EAAAD,OAAAsB,wBAAA,CAAsF,QAAAC,KAAAnB,EAAuB,GAAAmB,YAAAA,GAAAvB,OAAAwB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtB,EAAAmB,GAAA,CAA2E,IAAAI,EAAAN,EAAArB,OAAAsB,wBAAA,CAAAlB,EAAAmB,GAAA,KAAqFI,GAAAA,CAAAA,EAAAR,GAAA,EAAAQ,EAAAC,GAAA,EAAsC5B,OAAAC,cAAA,CAAAmB,EAAAG,EAAAI,GAAmDP,CAAA,CAAAG,EAAA,CAAAnB,CAAA,CAAAmB,EAAA,QAA8BH,EAAAL,OAAA,CAAAX,EAAsBY,GAAaA,EAAAY,GAAA,CAAAxB,EAAAgB,GAA0BA,CAAA,EAJlvBd,EAAQ,QAC5CD,EAAAI,EAAsDH,EAAQ,QAC9DuB,EAAApB,EAAuCH,EAAQ,QAC/C,SAAAW,EAAAH,CAAA,EAAiD,sBAAAgB,QAAA,YAAgD,IAAAC,EAAA,IAAAD,QAAuCE,EAAA,IAAAF,QAAsC,OAAAb,EAAA,SAAAH,CAAA,EAAoF,OAAAA,EAAAkB,EAAAD,CAAA,GAA4DjB,EAAA,CAK9T,IAAAmB,EAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAAvB,EAAAwB,aAAA,CAAAP,EAAAd,OAAA,IAAAJ,EAAAI,OAAA,KAAAJ,EAAAI,OAAA,KAAuHmB,GAAA,GAAY,CACnIC,IAAAA,EACAE,KAAAhC,EAAAU,OAAA,GAEA,CACAkB,CAAAA,EAAAK,WAAA,2BACA,IAAAC,EAAA3B,EAAA4B,UAAA,CAAAP,EACA/B,CAAAA,EAAA,OAAe,CAAAqC","sources":["webpack://_N_E/./node_modules/@ant-design/icons-svg/lib/asn/SafetyCertificateFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/SafetyCertificateFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/lib/icons/SafetyCertificateFilled.js","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SafetyCertificateFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 01-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z\" } }] }, \"name\": \"safety-certificate\", \"theme\": \"filled\" };\nexports.default = SafetyCertificateFilled;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _SafetyCertificateFilled = _interopRequireDefault(require('./lib/icons/SafetyCertificateFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _SafetyCertificateFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _SafetyCertificateFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/SafetyCertificateFilled\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar SafetyCertificateFilled = function SafetyCertificateFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _SafetyCertificateFilled.default\n }));\n};\nSafetyCertificateFilled.displayName = 'SafetyCertificateFilled';\nvar _default = /*#__PURE__*/React.forwardRef(SafetyCertificateFilled);\nexports.default = _default;"],"names":["Object","defineProperty","exports","value","obj","_SafetyCertificateFilled","__webpack_require__","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","_interopRequireWildcard","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","SafetyCertificateFilled","props","ref","createElement","icon","displayName","_default","forwardRef"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/8864.213a47c28f3b12de.js b/static/web/_next/static/chunks/8864.213a47c28f3b12de.js new file mode 100644 index 000000000..9922f2265 --- /dev/null +++ b/static/web/_next/static/chunks/8864.213a47c28f3b12de.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8864],{63701:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"}},38864:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,n=(a=r(23534))&&a.__esModule?a:{default:a};t.default=n,e.exports=n},23534:function(e,t,r){var a=r(64836),n=r(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var l=a(r(42122)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var f=l?Object.getOwnPropertyDescriptor(e,u):null;f&&(f.get||f.set)?Object.defineProperty(a,u,f):a[u]=e[u]}return a.default=e,r&&r.set(e,a),a}(r(67294)),f=a(r(63701)),c=a(r(92074));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}var i=function(e,t){return u.createElement(c.default,(0,l.default)((0,l.default)({},e),{},{ref:t,icon:f.default}))};i.displayName="LinkOutlined";var d=u.forwardRef(i);t.default=d}}]); +//# sourceMappingURL=8864.213a47c28f3b12de.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/8864.54911598e9e7e4f0.js.map b/static/web/_next/static/chunks/8864.213a47c28f3b12de.js.map similarity index 97% rename from static/web/_next/static/chunks/8864.54911598e9e7e4f0.js.map rename to static/web/_next/static/chunks/8864.213a47c28f3b12de.js.map index 01a91e4ec..a85d48f95 100644 --- a/static/web/_next/static/chunks/8864.54911598e9e7e4f0.js.map +++ b/static/web/_next/static/chunks/8864.213a47c28f3b12de.js.map @@ -1 +1 @@ -{"version":3,"file":"static/chunks/8864.54911598e9e7e4f0.js","mappings":"sGAEAA,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAAEC,MAAA,KAE/CD,EAAA,OAAe,CADf,CAAqB,MAAU,iBAAyB,2CAAkD,WAAiB,kBAA0B,8rBAAksB,EAAG,qDCFx1BF,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC/CC,MAAA,EACA,GACED,EAAA,OAAe,QAEjB,IAEAE,EAFAC,EAEyCD,CAAzCA,EAF6CE,EAAQ,SAEZF,EAAAG,UAAA,CAAAH,EAAA,CAAuC,QAAAA,CAAA,EAG9EF,EAAA,OAAe,CADjBG,EAEAG,EAAAN,OAAA,CAFAG,yBCRA,IAAAI,EAA6BH,EAAQ,OACrCI,EAAcJ,EAAQ,OACtBN,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC7CC,MAAA,EACA,GACAD,EAAA,OAAe,QACf,IAAAS,EAAAF,EAA4CH,EAAQ,QACpDM,EAAAC,SAIAT,CAAA,CAAAU,CAAA,EAAqD,IAAAA,GAAAV,GAAAA,EAAAG,UAAA,CAA6C,OAAAH,CAAA,CAAc,GAAAA,IAAA,GAAAA,GAAAM,WAAAA,EAAAN,IAAA,mBAAAA,EAA8E,OAASW,QAAAX,CAAA,EAAkB,IAAAY,EAAAC,EAAAH,GAAmD,GAAAE,GAAAA,EAAAE,GAAA,CAAAd,GAA+B,OAAAY,EAAAG,GAAA,CAAAf,EAAA,CAAyB,IAAAgB,EAAA,GAAiBC,EAAArB,OAAAC,cAAA,EAAAD,OAAAsB,wBAAA,CAAsF,QAAAC,KAAAnB,EAAuB,GAAAmB,YAAAA,GAAAvB,OAAAwB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtB,EAAAmB,GAAA,CAA2E,IAAAI,EAAAN,EAAArB,OAAAsB,wBAAA,CAAAlB,EAAAmB,GAAA,KAAqFI,GAAAA,CAAAA,EAAAR,GAAA,EAAAQ,EAAAC,GAAA,EAAsC5B,OAAAC,cAAA,CAAAmB,EAAAG,EAAAI,GAAmDP,CAAA,CAAAG,EAAA,CAAAnB,CAAA,CAAAmB,EAAA,QAA8BH,EAAAL,OAAA,CAAAX,EAAsBY,GAAaA,EAAAY,GAAA,CAAAxB,EAAAgB,GAA0BA,CAAA,EAJlvBd,EAAQ,QAC5CD,EAAAI,EAA2CH,EAAQ,QACnDuB,EAAApB,EAAuCH,EAAQ,QAC/C,SAAAW,EAAAH,CAAA,EAAiD,sBAAAgB,QAAA,YAAgD,IAAAC,EAAA,IAAAD,QAAuCE,EAAA,IAAAF,QAAsC,OAAAb,EAAA,SAAAH,CAAA,EAAoF,OAAAA,EAAAkB,EAAAD,CAAA,GAA4DjB,EAAA,CAK9T,IAAAmB,EAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAAvB,EAAAwB,aAAA,CAAAP,EAAAd,OAAA,IAAAJ,EAAAI,OAAA,KAAAJ,EAAAI,OAAA,KAAuHmB,GAAA,GAAY,CACnIC,IAAAA,EACAE,KAAAhC,EAAAU,OAAA,GAEA,CACAkB,CAAAA,EAAAK,WAAA,gBACA,IAAAC,EAAA3B,EAAA4B,UAAA,CAAAP,EACA/B,CAAAA,EAAA,OAAe,CAAAqC","sources":["webpack://_N_E/./node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/lib/icons/LinkOutlined.js","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\" } }] }, \"name\": \"link\", \"theme\": \"outlined\" };\nexports.default = LinkOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _LinkOutlined = _interopRequireDefault(require('./lib/icons/LinkOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _LinkOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _LinkOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LinkOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar LinkOutlined = function LinkOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _LinkOutlined.default\n }));\n};\nLinkOutlined.displayName = 'LinkOutlined';\nvar _default = /*#__PURE__*/React.forwardRef(LinkOutlined);\nexports.default = _default;"],"names":["Object","defineProperty","exports","value","obj","_LinkOutlined","__webpack_require__","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","_interopRequireWildcard","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","LinkOutlined","props","ref","createElement","icon","displayName","_default","forwardRef"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/chunks/8864.213a47c28f3b12de.js","mappings":"iGAEAA,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAAEC,MAAA,KAE/CD,EAAA,OAAe,CADf,CAAqB,MAAU,iBAAyB,2CAAkD,WAAiB,kBAA0B,8rBAAksB,EAAG,qDCFx1BF,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC/CC,MAAA,EACA,GACED,EAAA,OAAe,QAEjB,IAEAE,EAFAC,EAEyCD,CAAzCA,EAF6CE,EAAQ,SAEZF,EAAAG,UAAA,CAAAH,EAAA,CAAuC,QAAAA,CAAA,EAG9EF,EAAA,OAAe,CADjBG,EAEAG,EAAAN,OAAA,CAFAG,yBCRA,IAAAI,EAA6BH,EAAQ,OACrCI,EAAcJ,EAAQ,OACtBN,OAAAC,cAAA,CAAAC,EAAA,aAA6C,CAC7CC,MAAA,EACA,GACAD,EAAA,OAAe,QACf,IAAAS,EAAAF,EAA4CH,EAAQ,QACpDM,EAAAC,SAIAT,CAAA,CAAAU,CAAA,EAAqD,IAAAA,GAAAV,GAAAA,EAAAG,UAAA,CAA6C,OAAAH,CAAA,CAAc,GAAAA,IAAA,GAAAA,GAAAM,WAAAA,EAAAN,IAAA,mBAAAA,EAA8E,OAASW,QAAAX,CAAA,EAAkB,IAAAY,EAAAC,EAAAH,GAAmD,GAAAE,GAAAA,EAAAE,GAAA,CAAAd,GAA+B,OAAAY,EAAAG,GAAA,CAAAf,EAAA,CAAyB,IAAAgB,EAAA,GAAiBC,EAAArB,OAAAC,cAAA,EAAAD,OAAAsB,wBAAA,CAAsF,QAAAC,KAAAnB,EAAuB,GAAAmB,YAAAA,GAAAvB,OAAAwB,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAtB,EAAAmB,GAAA,CAA2E,IAAAI,EAAAN,EAAArB,OAAAsB,wBAAA,CAAAlB,EAAAmB,GAAA,KAAqFI,GAAAA,CAAAA,EAAAR,GAAA,EAAAQ,EAAAC,GAAA,EAAsC5B,OAAAC,cAAA,CAAAmB,EAAAG,EAAAI,GAAmDP,CAAA,CAAAG,EAAA,CAAAnB,CAAA,CAAAmB,EAAA,QAA8BH,EAAAL,OAAA,CAAAX,EAAsBY,GAAaA,EAAAY,GAAA,CAAAxB,EAAAgB,GAA0BA,CAAA,EAJlvBd,EAAQ,QAC5CD,EAAAI,EAA2CH,EAAQ,QACnDuB,EAAApB,EAAuCH,EAAQ,QAC/C,SAAAW,EAAAH,CAAA,EAAiD,sBAAAgB,QAAA,YAAgD,IAAAC,EAAA,IAAAD,QAAuCE,EAAA,IAAAF,QAAsC,OAAAb,EAAA,SAAAH,CAAA,EAAoF,OAAAA,EAAAkB,EAAAD,CAAA,GAA4DjB,EAAA,CAK9T,IAAAmB,EAAA,SAAAC,CAAA,CAAAC,CAAA,EACA,OAAAvB,EAAAwB,aAAA,CAAAP,EAAAd,OAAA,IAAAJ,EAAAI,OAAA,KAAAJ,EAAAI,OAAA,KAAuHmB,GAAA,GAAY,CACnIC,IAAAA,EACAE,KAAAhC,EAAAU,OAAA,GAEA,CACAkB,CAAAA,EAAAK,WAAA,gBACA,IAAAC,EAAA3B,EAAA4B,UAAA,CAAAP,EACA/B,CAAAA,EAAA,OAAe,CAAAqC","sources":["webpack://_N_E/./node_modules/@ant-design/icons-svg/lib/asn/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/LinkOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/lib/icons/LinkOutlined.js","webpack://_N_E/"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\" } }] }, \"name\": \"link\", \"theme\": \"outlined\" };\nexports.default = LinkOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _LinkOutlined = _interopRequireDefault(require('./lib/icons/LinkOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _LinkOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _LinkOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LinkOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar LinkOutlined = function LinkOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _LinkOutlined.default\n }));\n};\nLinkOutlined.displayName = 'LinkOutlined';\nvar _default = /*#__PURE__*/React.forwardRef(LinkOutlined);\nexports.default = _default;"],"names":["Object","defineProperty","exports","value","obj","_LinkOutlined","__webpack_require__","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","_interopRequireWildcard","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","LinkOutlined","props","ref","createElement","icon","displayName","_default","forwardRef"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/8864.54911598e9e7e4f0.js b/static/web/_next/static/chunks/8864.54911598e9e7e4f0.js deleted file mode 100644 index 0cdcb6f9a..000000000 --- a/static/web/_next/static/chunks/8864.54911598e9e7e4f0.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8864,2582],{63701:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z"}}]},name:"link",theme:"outlined"}},38864:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,n=(a=r(23534))&&a.__esModule?a:{default:a};t.default=n,e.exports=n},23534:function(e,t,r){var a=r(64836),n=r(18698);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var l=a(r(42122)),u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var f=l?Object.getOwnPropertyDescriptor(e,u):null;f&&(f.get||f.set)?Object.defineProperty(a,u,f):a[u]=e[u]}return a.default=e,r&&r.set(e,a),a}(r(67294)),f=a(r(63701)),c=a(r(92074));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}var i=function(e,t){return u.createElement(c.default,(0,l.default)((0,l.default)({},e),{},{ref:t,icon:f.default}))};i.displayName="LinkOutlined";var d=u.forwardRef(i);t.default=d}}]); -//# sourceMappingURL=8864.54911598e9e7e4f0.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js b/static/web/_next/static/chunks/pages/admin-0c3341795a855529.js similarity index 99% rename from static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js rename to static/web/_next/static/chunks/pages/admin-0c3341795a855529.js index 475959c58..7446c7604 100644 --- a/static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js +++ b/static/web/_next/static/chunks/pages/admin-0c3341795a855529.js @@ -1,2 +1,2 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6964],{54907:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});var a=n(87462),r=n(4942),s=n(18073),l=n(94184),i=n.n(l),o=n(74902),c=n(15671),d=n(43144),u=n(60136),m=n(33643),p=n(71002),v=n(50344),f=n(67294),h=n(96774),x=n.n(h),Z=n(45987),y=n(62874),g=n(97685),w=f.forwardRef(function(e,t){var n,a=e.prefixCls,s=e.forceRender,l=e.className,o=e.style,c=e.children,d=e.isActive,u=e.role,m=f.useState(d||s),p=(0,g.Z)(m,2),v=p[0],h=p[1];return(f.useEffect(function(){(s||d)&&h(!0)},[s,d]),v)?f.createElement("div",{ref:t,className:i()("".concat(a,"-content"),(n={},(0,r.Z)(n,"".concat(a,"-content-active"),d),(0,r.Z)(n,"".concat(a,"-content-inactive"),!d),n),l),style:o,role:u},f.createElement("div",{className:"".concat(a,"-content-box")},c)):null});w.displayName="PanelContent";var b=["className","id","style","prefixCls","headerClass","children","isActive","destroyInactivePanel","accordion","forceRender","openMotion","extra","collapsible"],j=function(e){(0,u.Z)(n,e);var t=(0,m.Z)(n);function n(){var e;(0,c.Z)(this,n);for(var a=arguments.length,r=Array(a),s=0;s-1?t.splice(n,1):t.push(e)}a.setActiveKey(t)},a.getNewChild=function(e,t){if(!e)return null;var n=a.state.activeKey,r=a.props,s=r.prefixCls,l=r.openMotion,i=r.accordion,o=r.destroyInactivePanel,c=r.expandIcon,d=r.collapsible,u=e.key||String(t),m=e.props,p=m.header,v=m.headerClass,h=m.destroyInactivePanel,x=m.collapsible,Z=!1;Z=i?n[0]===u:n.indexOf(u)>-1;var y=null!=x?x:d,g={key:u,panelKey:u,header:p,headerClass:v,isActive:Z,prefixCls:s,destroyInactivePanel:null!=h?h:o,openMotion:l,accordion:i,children:e.props.children,onItemClick:"disabled"===y?null:a.onClickItem,expandIcon:c,collapsible:y};return"string"==typeof e.type?e:(Object.keys(g).forEach(function(e){void 0===g[e]&&delete g[e]}),f.cloneElement(e,g))},a.getItems=function(){var e=a.props.children;return(0,v.Z)(e).map(a.getNewChild)},a.setActiveKey=function(e){"activeKey"in a.props||a.setState({activeKey:e}),a.props.onChange(a.props.accordion?e[0]:e)};var a,r=e.activeKey,s=e.defaultActiveKey;return"activeKey"in e&&(s=r),a.state={activeKey:C(s)},a}return(0,d.Z)(n,[{key:"shouldComponentUpdate",value:function(e,t){return!x()(this.props,e)||!x()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,a=t.className,s=t.style,l=t.accordion,o=i()((e={},(0,r.Z)(e,n,!0),(0,r.Z)(e,a,!!a),e));return f.createElement("div",{className:o,style:s,role:l?"tablist":null},this.getItems())}}],[{key:"getDerivedStateFromProps",value:function(e){var t={};return"activeKey"in e&&(t.activeKey=C(e.activeKey)),t}}]),n}(f.Component);N.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},N.Panel=j,N.Panel;var k=n(98423),E=n(53124),I=n(33603),P=n(96159),S=function(e){var t,n,l=f.useContext(E.E_),o=l.getPrefixCls,c=l.direction,d=e.prefixCls,u=e.className,m=e.bordered,p=e.ghost,h=e.expandIconPosition,x=void 0===h?"start":h,Z=o("collapse",d),y=f.useMemo(function(){return"left"===x?"start":"right"===x?"end":x},[x]),g=i()("".concat(Z,"-icon-position-").concat(y),(n={},(0,r.Z)(n,"".concat(Z,"-borderless"),!(void 0===m||m)),(0,r.Z)(n,"".concat(Z,"-rtl"),"rtl"===c),(0,r.Z)(n,"".concat(Z,"-ghost"),!!p),n),void 0===u?"":u),w=(0,a.Z)((0,a.Z)({},I.ZP),{motionAppear:!1,leavedClassName:"".concat(Z,"-content-hidden")});return f.createElement(N,(0,a.Z)({openMotion:w},e,{expandIcon:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.expandIcon,a=n?n(t):f.createElement(s.Z,{rotate:t.isActive?90:void 0});return(0,P.Tm)(a,function(){return{className:i()(a.props.className,"".concat(Z,"-arrow"))}})},prefixCls:Z,className:g}),(t=e.children,(0,v.Z)(t).map(function(e,t){var n;if(null===(n=e.props)||void 0===n?void 0:n.disabled){var r=e.key||String(t),s=e.props,l=s.disabled,i=s.collapsible,o=(0,a.Z)((0,a.Z)({},(0,k.Z)(e.props,["disabled"])),{key:r,collapsible:null!=i?i:l?"disabled":void 0});return(0,P.Tm)(e,o)}return e})))};S.Panel=function(e){var t=f.useContext(E.E_).getPrefixCls,n=e.prefixCls,s=e.className,l=e.showArrow,o=t("collapse",n),c=i()((0,r.Z)({},"".concat(o,"-no-arrow"),!(void 0===l||l)),void 0===s?"":s);return f.createElement(N.Panel,(0,a.Z)({},e,{prefixCls:o,className:c}))};var O=S},97183:function(e,t,n){"use strict";var a=n(2897),r=n(7293),s=a.ZP;s.Header=a.h4,s.Footer=a.$_,s.Content=a.VY,s.Sider=r.Z,t.Z=s},26303:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var a=n(4942),r=n(87462),s=n(71002),l=n(94184),i=n.n(l),o=n(67294),c=n(53124),d=n(98423),u=function(e){var t,n,s=e.prefixCls,l=e.className,c=e.style,d=e.size,u=e.shape,m=i()((t={},(0,a.Z)(t,"".concat(s,"-lg"),"large"===d),(0,a.Z)(t,"".concat(s,"-sm"),"small"===d),t)),p=i()((n={},(0,a.Z)(n,"".concat(s,"-circle"),"circle"===u),(0,a.Z)(n,"".concat(s,"-square"),"square"===u),(0,a.Z)(n,"".concat(s,"-round"),"round"===u),n)),v=o.useMemo(function(){return"number"==typeof d?{width:d,height:d,lineHeight:"".concat(d,"px")}:{}},[d]);return o.createElement("span",{className:i()(s,m,p,l),style:(0,r.Z)((0,r.Z)({},v),c)})},m=n(1413),p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},v=n(42135),f=function(e,t){return o.createElement(v.Z,(0,m.Z)((0,m.Z)({},e),{},{ref:t,icon:p}))};f.displayName="DotChartOutlined";var h=o.forwardRef(f),x=n(74902),Z=function(e){var t=function(t){var n=e.width,a=e.rows;return Array.isArray(n)?n[t]:(void 0===a?2:a)-1===t?n:void 0},n=e.prefixCls,a=e.className,r=e.style,s=e.rows,l=(0,x.Z)(Array(s)).map(function(e,n){return o.createElement("li",{key:n,style:{width:t(n)}})});return o.createElement("ul",{className:i()(n,a),style:r},l)},y=function(e){var t=e.prefixCls,n=e.className,a=e.width,s=e.style;return o.createElement("h3",{className:i()(t,n),style:(0,r.Z)({width:a},s)})};function g(e){return e&&"object"===(0,s.Z)(e)?e:{}}var w=function(e){var t=e.prefixCls,n=e.loading,s=e.className,l=e.style,d=e.children,m=e.avatar,p=void 0!==m&&m,v=e.title,f=void 0===v||v,h=e.paragraph,x=void 0===h||h,w=e.active,b=e.round,j=o.useContext(c.E_),C=j.getPrefixCls,N=j.direction,k=C("skeleton",t);if(n||!("loading"in e)){var E=!!p,I=!!f,P=!!x;if(E){var S=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-avatar")},I&&!P?{size:"large",shape:"square"}:{size:"large",shape:"circle"}),g(p));_=o.createElement("div",{className:"".concat(k,"-header")},o.createElement(u,(0,r.Z)({},S)))}if(I||P){if(I){var O,_,T,z,A,R=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-title")},!E&&P?{width:"38%"}:E&&P?{width:"50%"}:{}),g(f));z=o.createElement(y,(0,r.Z)({},R))}if(P){var K,M=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-paragraph")},(K={},E&&I||(K.width="61%"),!E&&I?K.rows=3:K.rows=2,K)),g(x));A=o.createElement(Z,(0,r.Z)({},M))}T=o.createElement("div",{className:"".concat(k,"-content")},z,A)}var D=i()(k,(O={},(0,a.Z)(O,"".concat(k,"-with-avatar"),E),(0,a.Z)(O,"".concat(k,"-active"),w),(0,a.Z)(O,"".concat(k,"-rtl"),"rtl"===N),(0,a.Z)(O,"".concat(k,"-round"),b),O),s);return o.createElement("div",{className:D,style:l},_,T)}return void 0!==d?d:null};w.Button=function(e){var t,n=e.prefixCls,s=e.className,l=e.active,m=e.block,p=e.size,v=(0,o.useContext(c.E_).getPrefixCls)("skeleton",n),f=(0,d.Z)(e,["prefixCls"]),h=i()(v,"".concat(v,"-element"),(t={},(0,a.Z)(t,"".concat(v,"-active"),l),(0,a.Z)(t,"".concat(v,"-block"),void 0!==m&&m),t),s);return o.createElement("div",{className:h},o.createElement(u,(0,r.Z)({prefixCls:"".concat(v,"-button"),size:void 0===p?"default":p},f)))},w.Avatar=function(e){var t=e.prefixCls,n=e.className,s=e.active,l=e.shape,m=e.size,p=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),v=(0,d.Z)(e,["prefixCls","className"]),f=i()(p,"".concat(p,"-element"),(0,a.Z)({},"".concat(p,"-active"),s),n);return o.createElement("div",{className:f},o.createElement(u,(0,r.Z)({prefixCls:"".concat(p,"-avatar"),shape:void 0===l?"circle":l,size:void 0===m?"default":m},v)))},w.Input=function(e){var t,n=e.prefixCls,s=e.className,l=e.active,m=e.block,p=e.size,v=(0,o.useContext(c.E_).getPrefixCls)("skeleton",n),f=(0,d.Z)(e,["prefixCls"]),h=i()(v,"".concat(v,"-element"),(t={},(0,a.Z)(t,"".concat(v,"-active"),l),(0,a.Z)(t,"".concat(v,"-block"),m),t),s);return o.createElement("div",{className:h},o.createElement(u,(0,r.Z)({prefixCls:"".concat(v,"-input"),size:void 0===p?"default":p},f)))},w.Image=function(e){var t=e.prefixCls,n=e.className,r=e.style,s=e.active,l=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),d=i()(l,"".concat(l,"-element"),(0,a.Z)({},"".concat(l,"-active"),s),n);return o.createElement("div",{className:d},o.createElement("div",{className:i()("".concat(l,"-image"),n),style:r},o.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:"".concat(l,"-image-svg")},o.createElement("path",{d:"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z",className:"".concat(l,"-image-path")}))))},w.Node=function(e){var t=e.prefixCls,n=e.className,r=e.style,s=e.active,l=e.children,d=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),u=i()(d,"".concat(d,"-element"),(0,a.Z)({},"".concat(d,"-active"),s),n),m=null!=l?l:o.createElement(h,null);return o.createElement("div",{className:u},o.createElement("div",{className:i()("".concat(d,"-image"),n),style:r},m))};var b=w},75401:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var a=n(24262),r=n(19013),s=n(13882);function l(e){(0,s.Z)(1,arguments);var t=(0,r.Z)(e);return t.setHours(0,0,0,0),t}function i(e,t){(0,s.Z)(2,arguments);var n=l(e),r=l(t);return Math.round((n.getTime()-(0,a.Z)(n)-(r.getTime()-(0,a.Z)(r)))/864e5)}},64830:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin",function(){return n(64180)}])},82536:function(e,t,n){"use strict";n.d(t,{o:function(){return m}});var a=n(85893);n(67294);var r=n(85818),s=n(20550),l=n(54398),i=n(53731),o=n(58091);let{Title:c}=r.Z;function d(e,t){let n="black";return"warning"===t.level?n="orange":"error"===t.level&&(n="red"),(0,a.jsx)(s.Z,{color:n,children:e})}function u(e){return(0,a.jsx)(i.Z,{children:e})}let m=e=>{let{logs:t,pageSize:n}=e;return(null==t?void 0:t.length)?(0,a.jsxs)("div",{className:"logs-section",children:[(0,a.jsx)(c,{children:"Logs"}),(0,a.jsx)(l.Z,{size:"middle",dataSource:t,columns:[{title:"Level",dataIndex:"level",key:"level",filters:[{text:"Info",value:"info"},{text:"Warning",value:"warning"},{text:"Error",value:"Error"}],onFilter:(e,t)=>0===t.level.indexOf(e),render:d},{title:"Timestamp",dataIndex:"time",key:"time",render:e=>{let t=new Date(e);return(0,o.Z)(t,"pp P")},sorter:(e,t)=>new Date(e.time).getTime()-new Date(t.time).getTime(),sortDirections:["descend","ascend"],defaultSortOrder:"descend"},{title:"Message",dataIndex:"message",key:"message",render:u}],rowKey:e=>e.time,pagination:{pageSize:n||20}})]}):null}},44654:function(e,t,n){"use strict";n.d(t,{j:function(){return Z}});var a=n(85893),r=n(71230),s=n(15746),l=n(74763),i=n(85818),o=n(14670),c=n(71577),d=n(5152),u=n.n(d),m=n(41664),p=n.n(m),v=n(67294),f=n(99519);let h=u()(()=>Promise.all([n.e(2074),n.e(7996)]).then(n.t.bind(n,67996,23)),{loadableGenerated:{webpack:()=>[67996]},ssr:!1}),x=u()(()=>Promise.all([n.e(2074),n.e(7039)]).then(n.t.bind(n,67039,23)),{loadableGenerated:{webpack:()=>[67039]},ssr:!1}),Z=e=>{let{showTroubleshootButton:t}=e,n=(0,v.useContext)(f.aC),{health:d}=n;if(!d)return null;let{healthy:u,healthPercentage:m,message:Z,representation:y}=d,g="#3f8600",w="info";return m<80?(g="#cf000f",w="error"):m<30&&(g="#f0ad4e",w="error"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(r.Z,{gutter:8,children:[(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Healthy Stream",value:u?"Yes":"No",valueStyle:{color:g},prefix:u?(0,a.jsx)(h,{}):(0,a.jsx)(x,{})})}),(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Playback Health",value:m,valueStyle:{color:g},suffix:"%"})})]}),(0,a.jsx)(r.Z,{style:{display:y<100&&0!==y?"grid":"none"},children:(0,a.jsxs)(i.Z.Text,{type:"secondary",style:{textAlign:"center",fontSize:"0.7em",opacity:"0.3"},children:["Stream health represents ",y,"% of all known players. Other player status is unknown."]})}),(0,a.jsx)(r.Z,{gutter:16,style:{width:"100%",display:Z?"grid":"none",marginTop:"10px"},children:(0,a.jsx)(s.Z,{span:24,children:(0,a.jsx)(o.Z,{message:Z,type:w,showIcon:!0,action:t&&(0,a.jsx)(p(),{passHref:!0,href:"/stream-health",children:(0,a.jsx)(c.Z,{size:"small",type:"text",style:{color:"black"},children:"TROUBLESHOOT"})})})})})]})};Z.defaultProps={showTroubleshootButton:!0}},64180:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var a=n(85893),r=n(67294),s=n(26303),l=n(74763),i=n(59652),o=n(71230),c=n(15746),d=n(84314),u=n(75401),m=n(58091),p=n(86559),v=n(92234),f=n(19013),h=n(24262),x=n(13882),Z=n(83946),y=n(45938),g=n(5152),w=n.n(g),b=n(99519),j=n(82536),C=n(85818),N=n(41664),k=n.n(N),E=n(50738),I=n(54907),P=n(64777);let{Panel:S}=I.Z,{Title:O,Link:_}=C.Z,T=e=>{let{title:t,url:n,content_html:r,date_published:s}=e,l=new Date(s),i=(0,m.Z)(l,"MMM dd, yyyy, HH:mm");return(0,a.jsx)("article",{children:(0,a.jsx)(I.Z,{children:(0,a.jsxs)(S,{header:t,children:[(0,a.jsxs)("p",{className:"timestamp",children:[i," (",(0,a.jsx)(_,{href:"".concat("https://owncast.online").concat(n),target:"_blank",rel:"noopener noreferrer",children:"Link"}),")"]}),(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:r}})]},n)})})},z=()=>{let[e,t]=(0,r.useState)([]),[n,l]=(0,r.useState)(!0),i=async()=>{l(!1);try{let e=await (0,P.kg)("https://owncast.online/news/index.json");(null==e?void 0:e.items.length)>0&&t(e.items)}catch(e){console.log("==== error",e)}};(0,r.useEffect)(()=>{i()},[]);let o=n?(0,a.jsx)(s.Z,{loading:!0,active:!0}):null,c=n||0!==e.length?null:(0,a.jsx)("div",{children:"No news."});return(0,a.jsxs)("section",{className:"news-feed form-module",children:[(0,a.jsx)(O,{level:2,children:"News & Updates from Owncast"}),o,e.map(e=>(0,r.createElement)(T,{...e,key:e.url})),c]})},{Paragraph:A,Text:R}=C.Z,{Title:K}=C.Z,{Meta:M}=i.Z,D=w()(()=>Promise.all([n.e(2074),n.e(3371)]).then(n.t.bind(n,33371,23)),{loadableGenerated:{webpack:()=>[33371]},ssr:!1}),U=w()(()=>Promise.all([n.e(2074),n.e(5308)]).then(n.t.bind(n,85308,23)),{loadableGenerated:{webpack:()=>[85308]},ssr:!1}),L=w()(()=>Promise.all([n.e(2074),n.e(856)]).then(n.t.bind(n,20856,23)),{loadableGenerated:{webpack:()=>[20856]},ssr:!1}),q=w()(()=>Promise.all([n.e(2074),n.e(9208)]).then(n.t.bind(n,99208,23)),{loadableGenerated:{webpack:()=>[99208]},ssr:!1}),B=e=>{var t,s,l;let d,{logs:u=[],config:m}=e,p=(0,r.useContext)(b.aC),{serverConfig:v}=p||{},{rtmpServerPort:f}=v,h=(null===(t=n.g.window)||void 0===t?void 0:t.location.hostname)||"";h&&f&&(d="rtmp://".concat(h.replace(/(^\w+:|^)\/\//,""),":").concat(f,"/live"));let x=[{icon:(0,a.jsx)(D,{twoToneColor:"#6f42c1"}),title:"Use your broadcasting software",content:(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://owncast.online/docs/broadcasting/?source=admin",target:"_blank",rel:"noopener noreferrer",children:"Learn how to point your existing software to your new server and start streaming your content."}),(0,a.jsxs)("div",{className:"stream-info-container",children:[(0,a.jsx)(R,{strong:!0,className:"stream-info-label",children:"Streaming URL:"}),d&&(0,a.jsx)(A,{className:"stream-info-box",copyable:!0,children:d}),(0,a.jsx)(R,{strong:!0,className:"stream-info-label",children:"Streaming Keys:"}),(0,a.jsx)(R,{strong:!0,className:"stream-info-box",children:(0,a.jsx)(k(),{href:"/admin/config/server",children:" View "})})]})]})},{icon:(0,a.jsx)(L,{twoToneColor:"#f9826c"}),title:"Embed your video onto other sites",content:(0,a.jsx)("div",{children:(0,a.jsx)("a",{href:"https://owncast.online/docs/embed?source=admin",target:"_blank",rel:"noopener noreferrer",children:"Learn how you can add your Owncast stream to other sites you control."})})}];return(null==m?void 0:m.chatDisabled)||x.push({icon:(0,a.jsx)(U,{twoToneColor:"#0366d6"}),title:"Chat is disabled",content:(0,a.jsx)("span",{children:"Chat will continue to be disabled until you begin a live stream."})}),(null==m?void 0:null===(s=m.yp)||void 0===s?void 0:s.enabled)||x.push({icon:(0,a.jsx)(q,{twoToneColor:"#D18BFE"}),title:"Find an audience on the Owncast Directory",content:(0,a.jsxs)("div",{children:["List yourself in the Owncast Directory and show off your stream. Enable it in"," ",(0,a.jsx)(k(),{href:"/config-public-details",children:"settings."})]})}),(null==m?void 0:null===(l=m.federation)||void 0===l?void 0:l.enabled)||x.push({icon:(0,a.jsx)("img",{alt:"fediverse",width:"20px",src:"/img/fediverse-color.png"}),title:"Add your Owncast instance to the Fediverse",content:(0,a.jsxs)("div",{children:[(0,a.jsx)(k(),{href:"/config-federation",children:"Enable Owncast social"})," features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream."]})}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Z,{children:(0,a.jsx)(c.Z,{span:12,offset:6,children:(0,a.jsxs)("div",{className:"offline-intro",children:[(0,a.jsx)("span",{className:"logo",children:(0,a.jsx)(E.C,{variant:"simple"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(K,{level:2,children:"No stream is active"}),(0,a.jsx)("p",{children:"You should start one."})]})]})})}),(0,a.jsxs)(o.Z,{gutter:[16,16],className:"offline-content",children:[(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,className:"list-section",children:x.map(e=>(0,a.jsx)(i.Z,{size:"small",bordered:!1,children:(0,a.jsx)(M,{avatar:e.icon,title:e.title,description:e.content})},e.title))}),(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,children:(0,a.jsx)(z,{})})]}),(0,a.jsx)(j.o,{logs:u,pageSize:5})]})};var H=n(44654),F=n(70241),G=n(6960);let V=w()(()=>Promise.all([n.e(2074),n.e(5412)]).then(n.t.bind(n,95412,23)),{loadableGenerated:{webpack:()=>[95412]},ssr:!1}),W=w()(()=>Promise.all([n.e(2074),n.e(562)]).then(n.t.bind(n,69095,23)),{loadableGenerated:{webpack:()=>[69095]},ssr:!1});function Q(e){return(0,a.jsxs)("ul",{className:"statistics-list",children:[(0,a.jsxs)("li",{children:[e.videoCodec||"Unknown"," @ ",e.videoBitrate||"Unknown"," kbps"]}),(0,a.jsxs)("li",{children:[e.framerate||"Unknown"," fps"]}),(0,a.jsxs)("li",{children:[e.width," x ",e.height]})]})}function Y(){var e,t;let n=(0,r.useContext)(b.aC),{broadcaster:g,serverConfig:w}=n||{},{remoteAddr:C,streamDetails:N}=g||{},k=(null==N?void 0:N.encoder)||"Unknown encoder",[E,I]=(0,r.useState)([]),S=async()=>{try{let e=await (0,P.rQ)(P.WQ);I(e)}catch(e){console.log("==== error",e)}},O=()=>{S()};if((0,r.useEffect)(()=>{O();let e=null;return e=setInterval(O,P.NE),()=>{clearInterval(e)}},[]),(0,F.Qr)(w)||(0,F.Qr)(n))return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Z,{active:!0}),(0,a.jsx)(s.Z,{active:!0}),(0,a.jsx)(s.Z,{active:!0})]});if(!g)return(0,a.jsx)(B,{logs:E,config:w});let _=null==n?void 0:null===(e=n.currentBroadcast)||void 0===e?void 0:null===(t=e.outputSettings)||void 0===t?void 0:t.map(e=>{let{audioPassthrough:t,videoPassthrough:n,audioBitrate:r,videoBitrate:s,framerate:i}=e,o=t?"".concat(N.audioCodec||"Unknown",", ").concat(N.audioBitrate," kbps"):"".concat(r||"Unknown"," kbps"),c=n?"".concat(N.videoBitrate||"Unknown"," kbps, ").concat(N.framerate," fps ").concat(N.width," x ").concat(N.height):"".concat(s||"Unknown"," kbps, ").concat(i," fps");return(0,a.jsxs)("div",{className:"stream-details-item-container",children:[(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Outbound Video Stream",value:c}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Outbound Audio Stream",value:o})]})}),{viewerCount:T,sessionPeakViewerCount:A}=n,R="".concat(N.audioCodec,", ").concat(N.audioBitrate||"Unknown"," kbps"),K=new Date(g.time);return(0,a.jsxs)("div",{className:"home-container",children:[(0,a.jsxs)("div",{className:"sections-container",children:[(0,a.jsx)("div",{className:"online-status-section",children:(0,a.jsxs)(i.Z,{size:"small",type:"inner",className:"online-details-card",children:[(0,a.jsxs)(o.Z,{gutter:[16,16],align:"middle",children:[(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Stream started ".concat(function(e,t,n){(0,x.Z)(2,arguments);var a,r,s,l,i,o,c,y,g,w,b=(0,f.Z)(e),j=(0,f.Z)(t),C=(0,d.j)(),N=null!==(a=null!==(r=null==n?void 0:n.locale)&&void 0!==r?r:C.locale)&&void 0!==a?a:p.Z,k=(0,Z.Z)(null!==(s=null!==(l=null!==(i=null!==(o=null==n?void 0:n.weekStartsOn)&&void 0!==o?o:null==n?void 0:null===(c=n.locale)||void 0===c?void 0:null===(y=c.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==i?i:C.weekStartsOn)&&void 0!==l?l:null===(g=C.locale)||void 0===g?void 0:null===(w=g.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==s?s:0);if(!N.localize)throw RangeError("locale must contain localize property");if(!N.formatLong)throw RangeError("locale must contain formatLong property");if(!N.formatRelative)throw RangeError("locale must contain formatRelative property");var E=(0,u.Z)(b,j);if(isNaN(E))throw RangeError("Invalid time value");var I=(0,v.Z)(b,(0,h.Z)(b)),P=(0,v.Z)(j,(0,h.Z)(j)),S=N.formatRelative(E<-6?"other":E<-1?"lastWeek":E<0?"yesterday":E<1?"today":E<2?"tomorrow":E<7?"nextWeek":"other",I,P,{locale:N,weekStartsOn:k});return(0,m.Z)(b,S,{locale:N,weekStartsOn:k})}(K,Date.now())),value:(0,y.Z)(K),prefix:(0,a.jsx)(W,{})})}),(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Viewers",value:T,prefix:(0,a.jsx)(V,{})})}),(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Peak viewer count",value:A,prefix:(0,a.jsx)(V,{})})})]}),(0,a.jsx)(H.j,{})]})}),(0,a.jsxs)(o.Z,{gutter:[16,16],className:"section stream-details-section",children:[(0,a.jsxs)(c.Z,{className:"stream-details",span:12,sm:24,md:24,lg:12,children:[(0,a.jsx)(i.Z,{size:"small",title:"Outbound Stream Details",type:"inner",className:"outbound-details",children:_}),(0,a.jsxs)(i.Z,{size:"small",title:"Inbound Stream Details",type:"inner",children:[(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Input",value:"".concat(k," ").concat((0,F.t5)(C))}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Inbound Video Stream",value:N,formatter:Q}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Inbound Audio Stream",value:R})]})]}),(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,children:(0,a.jsx)(z,{})})]})]}),(0,a.jsx)("br",{}),(0,a.jsx)(j.o,{logs:E,pageSize:5})]})}Y.getLayout=function(e){return(0,a.jsx)(G.l,{page:e})}},9008:function(e,t,n){e.exports=n(83121)},11163:function(e,t,n){e.exports=n(80880)},92703:function(e,t,n){"use strict";var a=n(50414);function r(){}function s(){}s.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,s,l){if(l!==a){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:s,resetWarningCache:r};return n.PropTypes=n,n}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},function(e){e.O(0,[173,164,2138,31,4931,5402,2231,492,5818,7524,9915,6386,3698,3013,4398,8091,4381,5938,5101,4763,9863,710,6960,9774,2888,179],function(){return e(e.s=64830)}),_N_E=e.O()}]); -//# sourceMappingURL=admin-a81568d73cc2106f.js.map \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6964],{54907:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});var a=n(87462),r=n(4942),s=n(18073),l=n(94184),i=n.n(l),o=n(74902),c=n(15671),d=n(43144),u=n(60136),m=n(33643),p=n(71002),v=n(50344),f=n(67294),h=n(96774),x=n.n(h),Z=n(45987),y=n(62874),g=n(97685),w=f.forwardRef(function(e,t){var n,a=e.prefixCls,s=e.forceRender,l=e.className,o=e.style,c=e.children,d=e.isActive,u=e.role,m=f.useState(d||s),p=(0,g.Z)(m,2),v=p[0],h=p[1];return(f.useEffect(function(){(s||d)&&h(!0)},[s,d]),v)?f.createElement("div",{ref:t,className:i()("".concat(a,"-content"),(n={},(0,r.Z)(n,"".concat(a,"-content-active"),d),(0,r.Z)(n,"".concat(a,"-content-inactive"),!d),n),l),style:o,role:u},f.createElement("div",{className:"".concat(a,"-content-box")},c)):null});w.displayName="PanelContent";var b=["className","id","style","prefixCls","headerClass","children","isActive","destroyInactivePanel","accordion","forceRender","openMotion","extra","collapsible"],j=function(e){(0,u.Z)(n,e);var t=(0,m.Z)(n);function n(){var e;(0,c.Z)(this,n);for(var a=arguments.length,r=Array(a),s=0;s-1?t.splice(n,1):t.push(e)}a.setActiveKey(t)},a.getNewChild=function(e,t){if(!e)return null;var n=a.state.activeKey,r=a.props,s=r.prefixCls,l=r.openMotion,i=r.accordion,o=r.destroyInactivePanel,c=r.expandIcon,d=r.collapsible,u=e.key||String(t),m=e.props,p=m.header,v=m.headerClass,h=m.destroyInactivePanel,x=m.collapsible,Z=!1;Z=i?n[0]===u:n.indexOf(u)>-1;var y=null!=x?x:d,g={key:u,panelKey:u,header:p,headerClass:v,isActive:Z,prefixCls:s,destroyInactivePanel:null!=h?h:o,openMotion:l,accordion:i,children:e.props.children,onItemClick:"disabled"===y?null:a.onClickItem,expandIcon:c,collapsible:y};return"string"==typeof e.type?e:(Object.keys(g).forEach(function(e){void 0===g[e]&&delete g[e]}),f.cloneElement(e,g))},a.getItems=function(){var e=a.props.children;return(0,v.Z)(e).map(a.getNewChild)},a.setActiveKey=function(e){"activeKey"in a.props||a.setState({activeKey:e}),a.props.onChange(a.props.accordion?e[0]:e)};var a,r=e.activeKey,s=e.defaultActiveKey;return"activeKey"in e&&(s=r),a.state={activeKey:C(s)},a}return(0,d.Z)(n,[{key:"shouldComponentUpdate",value:function(e,t){return!x()(this.props,e)||!x()(this.state,t)}},{key:"render",value:function(){var e,t=this.props,n=t.prefixCls,a=t.className,s=t.style,l=t.accordion,o=i()((e={},(0,r.Z)(e,n,!0),(0,r.Z)(e,a,!!a),e));return f.createElement("div",{className:o,style:s,role:l?"tablist":null},this.getItems())}}],[{key:"getDerivedStateFromProps",value:function(e){var t={};return"activeKey"in e&&(t.activeKey=C(e.activeKey)),t}}]),n}(f.Component);N.defaultProps={prefixCls:"rc-collapse",onChange:function(){},accordion:!1,destroyInactivePanel:!1},N.Panel=j,N.Panel;var k=n(98423),E=n(53124),I=n(33603),P=n(96159),S=function(e){var t,n,l=f.useContext(E.E_),o=l.getPrefixCls,c=l.direction,d=e.prefixCls,u=e.className,m=e.bordered,p=e.ghost,h=e.expandIconPosition,x=void 0===h?"start":h,Z=o("collapse",d),y=f.useMemo(function(){return"left"===x?"start":"right"===x?"end":x},[x]),g=i()("".concat(Z,"-icon-position-").concat(y),(n={},(0,r.Z)(n,"".concat(Z,"-borderless"),!(void 0===m||m)),(0,r.Z)(n,"".concat(Z,"-rtl"),"rtl"===c),(0,r.Z)(n,"".concat(Z,"-ghost"),!!p),n),void 0===u?"":u),w=(0,a.Z)((0,a.Z)({},I.ZP),{motionAppear:!1,leavedClassName:"".concat(Z,"-content-hidden")});return f.createElement(N,(0,a.Z)({openMotion:w},e,{expandIcon:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.expandIcon,a=n?n(t):f.createElement(s.Z,{rotate:t.isActive?90:void 0});return(0,P.Tm)(a,function(){return{className:i()(a.props.className,"".concat(Z,"-arrow"))}})},prefixCls:Z,className:g}),(t=e.children,(0,v.Z)(t).map(function(e,t){var n;if(null===(n=e.props)||void 0===n?void 0:n.disabled){var r=e.key||String(t),s=e.props,l=s.disabled,i=s.collapsible,o=(0,a.Z)((0,a.Z)({},(0,k.Z)(e.props,["disabled"])),{key:r,collapsible:null!=i?i:l?"disabled":void 0});return(0,P.Tm)(e,o)}return e})))};S.Panel=function(e){var t=f.useContext(E.E_).getPrefixCls,n=e.prefixCls,s=e.className,l=e.showArrow,o=t("collapse",n),c=i()((0,r.Z)({},"".concat(o,"-no-arrow"),!(void 0===l||l)),void 0===s?"":s);return f.createElement(N.Panel,(0,a.Z)({},e,{prefixCls:o,className:c}))};var O=S},97183:function(e,t,n){"use strict";var a=n(2897),r=n(7293),s=a.ZP;s.Header=a.h4,s.Footer=a.$_,s.Content=a.VY,s.Sider=r.Z,t.Z=s},26303:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var a=n(4942),r=n(87462),s=n(71002),l=n(94184),i=n.n(l),o=n(67294),c=n(53124),d=n(98423),u=function(e){var t,n,s=e.prefixCls,l=e.className,c=e.style,d=e.size,u=e.shape,m=i()((t={},(0,a.Z)(t,"".concat(s,"-lg"),"large"===d),(0,a.Z)(t,"".concat(s,"-sm"),"small"===d),t)),p=i()((n={},(0,a.Z)(n,"".concat(s,"-circle"),"circle"===u),(0,a.Z)(n,"".concat(s,"-square"),"square"===u),(0,a.Z)(n,"".concat(s,"-round"),"round"===u),n)),v=o.useMemo(function(){return"number"==typeof d?{width:d,height:d,lineHeight:"".concat(d,"px")}:{}},[d]);return o.createElement("span",{className:i()(s,m,p,l),style:(0,r.Z)((0,r.Z)({},v),c)})},m=n(1413),p={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"},v=n(42135),f=function(e,t){return o.createElement(v.Z,(0,m.Z)((0,m.Z)({},e),{},{ref:t,icon:p}))};f.displayName="DotChartOutlined";var h=o.forwardRef(f),x=n(74902),Z=function(e){var t=function(t){var n=e.width,a=e.rows;return Array.isArray(n)?n[t]:(void 0===a?2:a)-1===t?n:void 0},n=e.prefixCls,a=e.className,r=e.style,s=e.rows,l=(0,x.Z)(Array(s)).map(function(e,n){return o.createElement("li",{key:n,style:{width:t(n)}})});return o.createElement("ul",{className:i()(n,a),style:r},l)},y=function(e){var t=e.prefixCls,n=e.className,a=e.width,s=e.style;return o.createElement("h3",{className:i()(t,n),style:(0,r.Z)({width:a},s)})};function g(e){return e&&"object"===(0,s.Z)(e)?e:{}}var w=function(e){var t=e.prefixCls,n=e.loading,s=e.className,l=e.style,d=e.children,m=e.avatar,p=void 0!==m&&m,v=e.title,f=void 0===v||v,h=e.paragraph,x=void 0===h||h,w=e.active,b=e.round,j=o.useContext(c.E_),C=j.getPrefixCls,N=j.direction,k=C("skeleton",t);if(n||!("loading"in e)){var E=!!p,I=!!f,P=!!x;if(E){var S=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-avatar")},I&&!P?{size:"large",shape:"square"}:{size:"large",shape:"circle"}),g(p));_=o.createElement("div",{className:"".concat(k,"-header")},o.createElement(u,(0,r.Z)({},S)))}if(I||P){if(I){var O,_,T,z,A,R=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-title")},!E&&P?{width:"38%"}:E&&P?{width:"50%"}:{}),g(f));z=o.createElement(y,(0,r.Z)({},R))}if(P){var K,M=(0,r.Z)((0,r.Z)({prefixCls:"".concat(k,"-paragraph")},(K={},E&&I||(K.width="61%"),!E&&I?K.rows=3:K.rows=2,K)),g(x));A=o.createElement(Z,(0,r.Z)({},M))}T=o.createElement("div",{className:"".concat(k,"-content")},z,A)}var D=i()(k,(O={},(0,a.Z)(O,"".concat(k,"-with-avatar"),E),(0,a.Z)(O,"".concat(k,"-active"),w),(0,a.Z)(O,"".concat(k,"-rtl"),"rtl"===N),(0,a.Z)(O,"".concat(k,"-round"),b),O),s);return o.createElement("div",{className:D,style:l},_,T)}return void 0!==d?d:null};w.Button=function(e){var t,n=e.prefixCls,s=e.className,l=e.active,m=e.block,p=e.size,v=(0,o.useContext(c.E_).getPrefixCls)("skeleton",n),f=(0,d.Z)(e,["prefixCls"]),h=i()(v,"".concat(v,"-element"),(t={},(0,a.Z)(t,"".concat(v,"-active"),l),(0,a.Z)(t,"".concat(v,"-block"),void 0!==m&&m),t),s);return o.createElement("div",{className:h},o.createElement(u,(0,r.Z)({prefixCls:"".concat(v,"-button"),size:void 0===p?"default":p},f)))},w.Avatar=function(e){var t=e.prefixCls,n=e.className,s=e.active,l=e.shape,m=e.size,p=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),v=(0,d.Z)(e,["prefixCls","className"]),f=i()(p,"".concat(p,"-element"),(0,a.Z)({},"".concat(p,"-active"),s),n);return o.createElement("div",{className:f},o.createElement(u,(0,r.Z)({prefixCls:"".concat(p,"-avatar"),shape:void 0===l?"circle":l,size:void 0===m?"default":m},v)))},w.Input=function(e){var t,n=e.prefixCls,s=e.className,l=e.active,m=e.block,p=e.size,v=(0,o.useContext(c.E_).getPrefixCls)("skeleton",n),f=(0,d.Z)(e,["prefixCls"]),h=i()(v,"".concat(v,"-element"),(t={},(0,a.Z)(t,"".concat(v,"-active"),l),(0,a.Z)(t,"".concat(v,"-block"),m),t),s);return o.createElement("div",{className:h},o.createElement(u,(0,r.Z)({prefixCls:"".concat(v,"-input"),size:void 0===p?"default":p},f)))},w.Image=function(e){var t=e.prefixCls,n=e.className,r=e.style,s=e.active,l=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),d=i()(l,"".concat(l,"-element"),(0,a.Z)({},"".concat(l,"-active"),s),n);return o.createElement("div",{className:d},o.createElement("div",{className:i()("".concat(l,"-image"),n),style:r},o.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:"".concat(l,"-image-svg")},o.createElement("path",{d:"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z",className:"".concat(l,"-image-path")}))))},w.Node=function(e){var t=e.prefixCls,n=e.className,r=e.style,s=e.active,l=e.children,d=(0,o.useContext(c.E_).getPrefixCls)("skeleton",t),u=i()(d,"".concat(d,"-element"),(0,a.Z)({},"".concat(d,"-active"),s),n),m=null!=l?l:o.createElement(h,null);return o.createElement("div",{className:u},o.createElement("div",{className:i()("".concat(d,"-image"),n),style:r},m))};var b=w},75401:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var a=n(24262),r=n(19013),s=n(13882);function l(e){(0,s.Z)(1,arguments);var t=(0,r.Z)(e);return t.setHours(0,0,0,0),t}function i(e,t){(0,s.Z)(2,arguments);var n=l(e),r=l(t);return Math.round((n.getTime()-(0,a.Z)(n)-(r.getTime()-(0,a.Z)(r)))/864e5)}},64830:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin",function(){return n(64180)}])},82536:function(e,t,n){"use strict";n.d(t,{o:function(){return m}});var a=n(85893);n(67294);var r=n(85818),s=n(20550),l=n(54398),i=n(53731),o=n(58091);let{Title:c}=r.Z;function d(e,t){let n="black";return"warning"===t.level?n="orange":"error"===t.level&&(n="red"),(0,a.jsx)(s.Z,{color:n,children:e})}function u(e){return(0,a.jsx)(i.Z,{children:e})}let m=e=>{let{logs:t,pageSize:n}=e;return(null==t?void 0:t.length)?(0,a.jsxs)("div",{className:"logs-section",children:[(0,a.jsx)(c,{children:"Logs"}),(0,a.jsx)(l.Z,{size:"middle",dataSource:t,columns:[{title:"Level",dataIndex:"level",key:"level",filters:[{text:"Info",value:"info"},{text:"Warning",value:"warning"},{text:"Error",value:"Error"}],onFilter:(e,t)=>0===t.level.indexOf(e),render:d},{title:"Timestamp",dataIndex:"time",key:"time",render:e=>{let t=new Date(e);return(0,o.Z)(t,"pp P")},sorter:(e,t)=>new Date(e.time).getTime()-new Date(t.time).getTime(),sortDirections:["descend","ascend"],defaultSortOrder:"descend"},{title:"Message",dataIndex:"message",key:"message",render:u}],rowKey:e=>e.time,pagination:{pageSize:n||20}})]}):null}},44654:function(e,t,n){"use strict";n.d(t,{j:function(){return Z}});var a=n(85893),r=n(71230),s=n(15746),l=n(74763),i=n(85818),o=n(14670),c=n(71577),d=n(5152),u=n.n(d),m=n(41664),p=n.n(m),v=n(67294),f=n(99519);let h=u()(()=>Promise.all([n.e(2074),n.e(7996)]).then(n.t.bind(n,67996,23)),{loadableGenerated:{webpack:()=>[67996]},ssr:!1}),x=u()(()=>Promise.all([n.e(2074),n.e(7039)]).then(n.t.bind(n,67039,23)),{loadableGenerated:{webpack:()=>[67039]},ssr:!1}),Z=e=>{let{showTroubleshootButton:t}=e,n=(0,v.useContext)(f.aC),{health:d}=n;if(!d)return null;let{healthy:u,healthPercentage:m,message:Z,representation:y}=d,g="#3f8600",w="info";return m<80?(g="#cf000f",w="error"):m<30&&(g="#f0ad4e",w="error"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(r.Z,{gutter:8,children:[(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Healthy Stream",value:u?"Yes":"No",valueStyle:{color:g},prefix:u?(0,a.jsx)(h,{}):(0,a.jsx)(x,{})})}),(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Playback Health",value:m,valueStyle:{color:g},suffix:"%"})})]}),(0,a.jsx)(r.Z,{style:{display:y<100&&0!==y?"grid":"none"},children:(0,a.jsxs)(i.Z.Text,{type:"secondary",style:{textAlign:"center",fontSize:"0.7em",opacity:"0.3"},children:["Stream health represents ",y,"% of all known players. Other player status is unknown."]})}),(0,a.jsx)(r.Z,{gutter:16,style:{width:"100%",display:Z?"grid":"none",marginTop:"10px"},children:(0,a.jsx)(s.Z,{span:24,children:(0,a.jsx)(o.Z,{message:Z,type:w,showIcon:!0,action:t&&(0,a.jsx)(p(),{passHref:!0,href:"/stream-health",children:(0,a.jsx)(c.Z,{size:"small",type:"text",style:{color:"black"},children:"TROUBLESHOOT"})})})})})]})};Z.defaultProps={showTroubleshootButton:!0}},64180:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Y}});var a=n(85893),r=n(67294),s=n(26303),l=n(74763),i=n(59652),o=n(71230),c=n(15746),d=n(84314),u=n(75401),m=n(58091),p=n(86559),v=n(92234),f=n(19013),h=n(24262),x=n(13882),Z=n(83946),y=n(45938),g=n(5152),w=n.n(g),b=n(99519),j=n(82536),C=n(85818),N=n(41664),k=n.n(N),E=n(50738),I=n(54907),P=n(64777);let{Panel:S}=I.Z,{Title:O,Link:_}=C.Z,T=e=>{let{title:t,url:n,content_html:r,date_published:s}=e,l=new Date(s),i=(0,m.Z)(l,"MMM dd, yyyy, HH:mm");return(0,a.jsx)("article",{children:(0,a.jsx)(I.Z,{children:(0,a.jsxs)(S,{header:t,children:[(0,a.jsxs)("p",{className:"timestamp",children:[i," (",(0,a.jsx)(_,{href:"".concat("https://owncast.online").concat(n),target:"_blank",rel:"noopener noreferrer",children:"Link"}),")"]}),(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:r}})]},n)})})},z=()=>{let[e,t]=(0,r.useState)([]),[n,l]=(0,r.useState)(!0),i=async()=>{l(!1);try{let e=await (0,P.kg)("https://owncast.online/news/index.json");(null==e?void 0:e.items.length)>0&&t(e.items)}catch(e){console.log("==== error",e)}};(0,r.useEffect)(()=>{i()},[]);let o=n?(0,a.jsx)(s.Z,{loading:!0,active:!0}):null,c=n||0!==e.length?null:(0,a.jsx)("div",{children:"No news."});return(0,a.jsxs)("section",{className:"news-feed form-module",children:[(0,a.jsx)(O,{level:2,children:"News & Updates from Owncast"}),o,e.map(e=>(0,r.createElement)(T,{...e,key:e.url})),c]})},{Paragraph:A,Text:R}=C.Z,{Title:K}=C.Z,{Meta:M}=i.Z,D=w()(()=>Promise.all([n.e(2074),n.e(3371)]).then(n.t.bind(n,33371,23)),{loadableGenerated:{webpack:()=>[33371]},ssr:!1}),U=w()(()=>Promise.all([n.e(2074),n.e(5308)]).then(n.t.bind(n,85308,23)),{loadableGenerated:{webpack:()=>[85308]},ssr:!1}),L=w()(()=>Promise.all([n.e(2074),n.e(856)]).then(n.t.bind(n,20856,23)),{loadableGenerated:{webpack:()=>[20856]},ssr:!1}),q=w()(()=>Promise.all([n.e(2074),n.e(9208)]).then(n.t.bind(n,99208,23)),{loadableGenerated:{webpack:()=>[99208]},ssr:!1}),B=e=>{var t,s,l;let d,{logs:u=[],config:m}=e,p=(0,r.useContext)(b.aC),{serverConfig:v}=p||{},{rtmpServerPort:f}=v,h=(null===(t=n.g.window)||void 0===t?void 0:t.location.hostname)||"";h&&f&&(d="rtmp://".concat(h.replace(/(^\w+:|^)\/\//,""),":").concat(f,"/live"));let x=[{icon:(0,a.jsx)(D,{twoToneColor:"#6f42c1"}),title:"Use your broadcasting software",content:(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://owncast.online/docs/broadcasting/?source=admin",target:"_blank",rel:"noopener noreferrer",children:"Learn how to point your existing software to your new server and start streaming your content."}),(0,a.jsxs)("div",{className:"stream-info-container",children:[(0,a.jsx)(R,{strong:!0,className:"stream-info-label",children:"Streaming URL:"}),d&&(0,a.jsx)(A,{className:"stream-info-box",copyable:!0,children:d}),(0,a.jsx)(R,{strong:!0,className:"stream-info-label",children:"Streaming Keys:"}),(0,a.jsx)(R,{strong:!0,className:"stream-info-box",children:(0,a.jsx)(k(),{href:"/admin/config/server",children:" View "})})]})]})},{icon:(0,a.jsx)(L,{twoToneColor:"#f9826c"}),title:"Embed your video onto other sites",content:(0,a.jsx)("div",{children:(0,a.jsx)("a",{href:"https://owncast.online/docs/embed?source=admin",target:"_blank",rel:"noopener noreferrer",children:"Learn how you can add your Owncast stream to other sites you control."})})}];return(null==m?void 0:m.chatDisabled)||x.push({icon:(0,a.jsx)(U,{twoToneColor:"#0366d6"}),title:"Chat is disabled",content:(0,a.jsx)("span",{children:"Chat will continue to be disabled until you begin a live stream."})}),(null==m?void 0:null===(s=m.yp)||void 0===s?void 0:s.enabled)||x.push({icon:(0,a.jsx)(q,{twoToneColor:"#D18BFE"}),title:"Find an audience on the Owncast Directory",content:(0,a.jsxs)("div",{children:["List yourself in the Owncast Directory and show off your stream. Enable it in"," ",(0,a.jsx)(k(),{href:"/config-public-details",children:"settings."})]})}),(null==m?void 0:null===(l=m.federation)||void 0===l?void 0:l.enabled)||x.push({icon:(0,a.jsx)("img",{alt:"fediverse",width:"20px",src:"/img/fediverse-color.png"}),title:"Add your Owncast instance to the Fediverse",content:(0,a.jsxs)("div",{children:[(0,a.jsx)(k(),{href:"/config-federation",children:"Enable Owncast social"})," features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream."]})}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Z,{children:(0,a.jsx)(c.Z,{span:12,offset:6,children:(0,a.jsxs)("div",{className:"offline-intro",children:[(0,a.jsx)("span",{className:"logo",children:(0,a.jsx)(E.C,{variant:"simple"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(K,{level:2,children:"No stream is active"}),(0,a.jsx)("p",{children:"You should start one."})]})]})})}),(0,a.jsxs)(o.Z,{gutter:[16,16],className:"offline-content",children:[(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,className:"list-section",children:x.map(e=>(0,a.jsx)(i.Z,{size:"small",bordered:!1,children:(0,a.jsx)(M,{avatar:e.icon,title:e.title,description:e.content})},e.title))}),(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,children:(0,a.jsx)(z,{})})]}),(0,a.jsx)(j.o,{logs:u,pageSize:5})]})};var H=n(44654),F=n(70241),G=n(6960);let V=w()(()=>Promise.all([n.e(2074),n.e(5412)]).then(n.t.bind(n,95412,23)),{loadableGenerated:{webpack:()=>[95412]},ssr:!1}),W=w()(()=>Promise.all([n.e(2074),n.e(562)]).then(n.t.bind(n,69095,23)),{loadableGenerated:{webpack:()=>[69095]},ssr:!1});function Q(e){return(0,a.jsxs)("ul",{className:"statistics-list",children:[(0,a.jsxs)("li",{children:[e.videoCodec||"Unknown"," @ ",e.videoBitrate||"Unknown"," kbps"]}),(0,a.jsxs)("li",{children:[e.framerate||"Unknown"," fps"]}),(0,a.jsxs)("li",{children:[e.width," x ",e.height]})]})}function Y(){var e,t;let n=(0,r.useContext)(b.aC),{broadcaster:g,serverConfig:w}=n||{},{remoteAddr:C,streamDetails:N}=g||{},k=(null==N?void 0:N.encoder)||"Unknown encoder",[E,I]=(0,r.useState)([]),S=async()=>{try{let e=await (0,P.rQ)(P.WQ);I(e)}catch(e){console.log("==== error",e)}},O=()=>{S()};if((0,r.useEffect)(()=>{O();let e=null;return e=setInterval(O,P.NE),()=>{clearInterval(e)}},[]),(0,F.Qr)(w)||(0,F.Qr)(n))return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Z,{active:!0}),(0,a.jsx)(s.Z,{active:!0}),(0,a.jsx)(s.Z,{active:!0})]});if(!g)return(0,a.jsx)(B,{logs:E,config:w});let _=null==n?void 0:null===(e=n.currentBroadcast)||void 0===e?void 0:null===(t=e.outputSettings)||void 0===t?void 0:t.map(e=>{let{audioPassthrough:t,videoPassthrough:n,audioBitrate:r,videoBitrate:s,framerate:i}=e,o=t?"".concat(N.audioCodec||"Unknown",", ").concat(N.audioBitrate," kbps"):"".concat(r||"Unknown"," kbps"),c=n?"".concat(N.videoBitrate||"Unknown"," kbps, ").concat(N.framerate," fps ").concat(N.width," x ").concat(N.height):"".concat(s||"Unknown"," kbps, ").concat(i," fps");return(0,a.jsxs)("div",{className:"stream-details-item-container",children:[(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Outbound Video Stream",value:c}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Outbound Audio Stream",value:o})]})}),{viewerCount:T,sessionPeakViewerCount:A}=n,R="".concat(N.audioCodec,", ").concat(N.audioBitrate||"Unknown"," kbps"),K=new Date(g.time);return(0,a.jsxs)("div",{className:"home-container",children:[(0,a.jsxs)("div",{className:"sections-container",children:[(0,a.jsx)("div",{className:"online-status-section",children:(0,a.jsxs)(i.Z,{size:"small",type:"inner",className:"online-details-card",children:[(0,a.jsxs)(o.Z,{gutter:[16,16],align:"middle",children:[(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Stream started ".concat(function(e,t,n){(0,x.Z)(2,arguments);var a,r,s,l,i,o,c,y,g,w,b=(0,f.Z)(e),j=(0,f.Z)(t),C=(0,d.j)(),N=null!==(a=null!==(r=null==n?void 0:n.locale)&&void 0!==r?r:C.locale)&&void 0!==a?a:p.Z,k=(0,Z.Z)(null!==(s=null!==(l=null!==(i=null!==(o=null==n?void 0:n.weekStartsOn)&&void 0!==o?o:null==n?void 0:null===(c=n.locale)||void 0===c?void 0:null===(y=c.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==i?i:C.weekStartsOn)&&void 0!==l?l:null===(g=C.locale)||void 0===g?void 0:null===(w=g.options)||void 0===w?void 0:w.weekStartsOn)&&void 0!==s?s:0);if(!N.localize)throw RangeError("locale must contain localize property");if(!N.formatLong)throw RangeError("locale must contain formatLong property");if(!N.formatRelative)throw RangeError("locale must contain formatRelative property");var E=(0,u.Z)(b,j);if(isNaN(E))throw RangeError("Invalid time value");var I=(0,v.Z)(b,(0,h.Z)(b)),P=(0,v.Z)(j,(0,h.Z)(j)),S=N.formatRelative(E<-6?"other":E<-1?"lastWeek":E<0?"yesterday":E<1?"today":E<2?"tomorrow":E<7?"nextWeek":"other",I,P,{locale:N,weekStartsOn:k});return(0,m.Z)(b,S,{locale:N,weekStartsOn:k})}(K,Date.now())),value:(0,y.Z)(K),prefix:(0,a.jsx)(W,{})})}),(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Viewers",value:T,prefix:(0,a.jsx)(V,{})})}),(0,a.jsx)(c.Z,{span:8,sm:24,md:8,children:(0,a.jsx)(l.Z,{title:"Peak viewer count",value:A,prefix:(0,a.jsx)(V,{})})})]}),(0,a.jsx)(H.j,{})]})}),(0,a.jsxs)(o.Z,{gutter:[16,16],className:"section stream-details-section",children:[(0,a.jsxs)(c.Z,{className:"stream-details",span:12,sm:24,md:24,lg:12,children:[(0,a.jsx)(i.Z,{size:"small",title:"Outbound Stream Details",type:"inner",className:"outbound-details",children:_}),(0,a.jsxs)(i.Z,{size:"small",title:"Inbound Stream Details",type:"inner",children:[(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Input",value:"".concat(k," ").concat((0,F.t5)(C))}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Inbound Video Stream",value:N,formatter:Q}),(0,a.jsx)(l.Z,{className:"stream-details-item",title:"Inbound Audio Stream",value:R})]})]}),(0,a.jsx)(c.Z,{span:12,xs:24,sm:24,md:24,lg:12,children:(0,a.jsx)(z,{})})]})]}),(0,a.jsx)("br",{}),(0,a.jsx)(j.o,{logs:E,pageSize:5})]})}Y.getLayout=function(e){return(0,a.jsx)(G.l,{page:e})}},9008:function(e,t,n){e.exports=n(83121)},11163:function(e,t,n){e.exports=n(80880)},92703:function(e,t,n){"use strict";var a=n(50414);function r(){}function s(){}s.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,s,l){if(l!==a){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:s,resetWarningCache:r};return n.PropTypes=n,n}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},function(e){e.O(0,[173,164,2138,31,4931,5402,2231,492,5818,7524,9915,6386,3698,3013,4398,8091,4381,5938,5101,4763,9863,180,6960,9774,2888,179],function(){return e(e.s=64830)}),_N_E=e.O()}]); +//# sourceMappingURL=admin-0c3341795a855529.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js.map b/static/web/_next/static/chunks/pages/admin-0c3341795a855529.js.map similarity index 99% rename from static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js.map rename to static/web/_next/static/chunks/pages/admin-0c3341795a855529.js.map index a845bc3cc..4415005fb 100644 --- a/static/web/_next/static/chunks/pages/admin-a81568d73cc2106f.js.map +++ b/static/web/_next/static/chunks/pages/admin-0c3341795a855529.js.map @@ -1 +1 @@ -{"version":3,"file":"static/chunks/pages/admin-a81568d73cc2106f.js","mappings":"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","sources":["webpack://_N_E/./node_modules/rc-collapse/es/PanelContent.js","webpack://_N_E/./node_modules/rc-collapse/es/Panel.js","webpack://_N_E/./node_modules/rc-collapse/es/Collapse.js","webpack://_N_E/./node_modules/rc-collapse/es/index.js","webpack://_N_E/./node_modules/antd/es/collapse/CollapsePanel.js","webpack://_N_E/./node_modules/antd/es/collapse/Collapse.js","webpack://_N_E/./node_modules/antd/es/collapse/index.js","webpack://_N_E/./node_modules/antd/es/layout/index.js","webpack://_N_E/./node_modules/antd/es/skeleton/Element.js","webpack://_N_E/./node_modules/antd/es/skeleton/Avatar.js","webpack://_N_E/./node_modules/antd/es/skeleton/Button.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/DotChartOutlined.js","webpack://_N_E/./node_modules/antd/es/skeleton/Node.js","webpack://_N_E/./node_modules/antd/es/skeleton/Image.js","webpack://_N_E/./node_modules/antd/es/skeleton/Input.js","webpack://_N_E/./node_modules/antd/es/skeleton/Paragraph.js","webpack://_N_E/./node_modules/antd/es/skeleton/Title.js","webpack://_N_E/./node_modules/antd/es/skeleton/Skeleton.js","webpack://_N_E/./node_modules/antd/es/skeleton/index.js","webpack://_N_E/./node_modules/date-fns/esm/startOfDay/index.js","webpack://_N_E/./node_modules/date-fns/esm/differenceInCalendarDays/index.js","webpack://_N_E/?a37b","webpack://_N_E/./components/admin/LogTable.tsx","webpack://_N_E/./components/admin/StreamHealthOverview.tsx","webpack://_N_E/./node_modules/date-fns/esm/formatRelative/index.js","webpack://_N_E/./components/admin/NewsFeed.tsx","webpack://_N_E/./components/admin/Offline.tsx","webpack://_N_E/./pages/admin/index.tsx","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/* eslint-disable no-underscore-dangle */\n\n/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport classnames from 'classnames';\nvar PanelContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classnames;\n\n var prefixCls = props.prefixCls,\n forceRender = props.forceRender,\n className = props.className,\n style = props.style,\n children = props.children,\n isActive = props.isActive,\n role = props.role;\n\n var _React$useState = React.useState(isActive || forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n rendered = _React$useState2[0],\n setRendered = _React$useState2[1];\n\n React.useEffect(function () {\n if (forceRender || isActive) {\n setRendered(true);\n }\n }, [forceRender, isActive]);\n\n if (!rendered) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: classnames(\"\".concat(prefixCls, \"-content\"), (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-active\"), isActive), _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-inactive\"), !isActive), _classnames), className),\n style: style,\n role: role\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content-box\")\n }, children));\n});\nPanelContent.displayName = 'PanelContent';\nexport default PanelContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"className\", \"id\", \"style\", \"prefixCls\", \"headerClass\", \"children\", \"isActive\", \"destroyInactivePanel\", \"accordion\", \"forceRender\", \"openMotion\", \"extra\", \"collapsible\"];\n\n/* eslint-disable react/prop-types */\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport PanelContent from './PanelContent';\n\nvar CollapsePanel = /*#__PURE__*/function (_React$Component) {\n _inherits(CollapsePanel, _React$Component);\n\n var _super = _createSuper(CollapsePanel);\n\n function CollapsePanel() {\n var _this;\n\n _classCallCheck(this, CollapsePanel);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onItemClick = function () {\n var _this$props = _this.props,\n onItemClick = _this$props.onItemClick,\n panelKey = _this$props.panelKey;\n\n if (typeof onItemClick === 'function') {\n onItemClick(panelKey);\n }\n };\n\n _this.handleKeyPress = function (e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n _this.onItemClick();\n }\n };\n\n _this.renderIcon = function () {\n var _this$props2 = _this.props,\n showArrow = _this$props2.showArrow,\n expandIcon = _this$props2.expandIcon,\n prefixCls = _this$props2.prefixCls,\n collapsible = _this$props2.collapsible;\n\n if (!showArrow) {\n return null;\n }\n\n var iconNode = typeof expandIcon === 'function' ? expandIcon(_this.props) : /*#__PURE__*/React.createElement(\"i\", {\n className: \"arrow\"\n });\n return iconNode && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-expand-icon\"),\n onClick: collapsible === 'header' || collapsible === 'icon' ? _this.onItemClick : null\n }, iconNode);\n };\n\n _this.renderTitle = function () {\n var _this$props3 = _this.props,\n header = _this$props3.header,\n prefixCls = _this$props3.prefixCls,\n collapsible = _this$props3.collapsible;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-header-text\"),\n onClick: collapsible === 'header' ? _this.onItemClick : null\n }, header);\n };\n\n return _this;\n }\n\n _createClass(CollapsePanel, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !shallowEqual(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2;\n\n var _this$props4 = this.props,\n className = _this$props4.className,\n id = _this$props4.id,\n style = _this$props4.style,\n prefixCls = _this$props4.prefixCls,\n headerClass = _this$props4.headerClass,\n children = _this$props4.children,\n isActive = _this$props4.isActive,\n destroyInactivePanel = _this$props4.destroyInactivePanel,\n accordion = _this$props4.accordion,\n forceRender = _this$props4.forceRender,\n openMotion = _this$props4.openMotion,\n extra = _this$props4.extra,\n collapsible = _this$props4.collapsible,\n rest = _objectWithoutProperties(_this$props4, _excluded);\n\n var disabled = collapsible === 'disabled';\n var collapsibleHeader = collapsible === 'header';\n var collapsibleIcon = collapsible === 'icon';\n var itemCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-active\"), isActive), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-disabled\"), disabled), _classNames), className);\n var headerCls = classNames(\"\".concat(prefixCls, \"-header\"), (_classNames2 = {}, _defineProperty(_classNames2, headerClass, headerClass), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-header-collapsible-only\"), collapsibleHeader), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-icon-collapsible-only\"), collapsibleIcon), _classNames2));\n /** header 节点属性 */\n\n var headerProps = {\n className: headerCls,\n 'aria-expanded': isActive,\n 'aria-disabled': disabled,\n onKeyPress: this.handleKeyPress\n };\n\n if (!collapsibleHeader && !collapsibleIcon) {\n headerProps.onClick = this.onItemClick;\n headerProps.role = accordion ? 'tab' : 'button';\n headerProps.tabIndex = disabled ? -1 : 0;\n }\n\n var ifExtraExist = extra !== null && extra !== undefined && typeof extra !== 'boolean'; // https://github.com/ant-design/ant-design/pull/37419#issuecomment-1238812797\n\n delete rest.header;\n delete rest.panelKey;\n delete rest.onItemClick;\n delete rest.showArrow;\n delete rest.expandIcon;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: itemCls,\n style: style,\n id: id\n }), /*#__PURE__*/React.createElement(\"div\", headerProps, this.renderIcon(), this.renderTitle(), ifExtraExist && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: isActive,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n }, openMotion, {\n forceRender: forceRender,\n removeOnLeave: destroyInactivePanel\n }), function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(PanelContent, {\n ref: ref,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n isActive: isActive,\n forceRender: forceRender,\n role: accordion ? 'tabpanel' : null\n }, children);\n }));\n }\n }]);\n\n return CollapsePanel;\n}(React.Component);\n\nCollapsePanel.defaultProps = {\n showArrow: true,\n isActive: false,\n onItemClick: function onItemClick() {},\n headerClass: '',\n forceRender: false\n};\nexport default CollapsePanel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/prop-types */\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport CollapsePanel from './Panel';\n\nfunction getActiveKeysArray(activeKey) {\n var currentActiveKey = activeKey;\n\n if (!Array.isArray(currentActiveKey)) {\n var activeKeyType = _typeof(currentActiveKey);\n\n currentActiveKey = activeKeyType === 'number' || activeKeyType === 'string' ? [currentActiveKey] : [];\n }\n\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\n\nvar Collapse = /*#__PURE__*/function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse(_props) {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n _this = _super.call(this, _props);\n\n _this.onClickItem = function (key) {\n var activeKey = _this.state.activeKey;\n\n if (_this.props.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = _toConsumableArray(activeKey);\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n\n _this.setActiveKey(activeKey);\n };\n\n _this.getNewChild = function (child, index) {\n if (!child) return null;\n var activeKey = _this.state.activeKey;\n var _this$props = _this.props,\n prefixCls = _this$props.prefixCls,\n openMotion = _this$props.openMotion,\n accordion = _this$props.accordion,\n rootDestroyInactivePanel = _this$props.destroyInactivePanel,\n expandIcon = _this$props.expandIcon,\n collapsible = _this$props.collapsible; // If there is no key provide, use the panel order as default key\n\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n destroyInactivePanel = _child$props.destroyInactivePanel,\n childCollapsible = _child$props.collapsible;\n var isActive = false;\n\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n var mergeCollapsible = childCollapsible !== null && childCollapsible !== void 0 ? childCollapsible : collapsible;\n var props = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel: destroyInactivePanel !== null && destroyInactivePanel !== void 0 ? destroyInactivePanel : rootDestroyInactivePanel,\n openMotion: openMotion,\n accordion: accordion,\n children: child.props.children,\n onItemClick: mergeCollapsible === 'disabled' ? null : _this.onClickItem,\n expandIcon: expandIcon,\n collapsible: mergeCollapsible\n }; // https://github.com/ant-design/ant-design/issues/20479\n\n if (typeof child.type === 'string') {\n return child;\n }\n\n Object.keys(props).forEach(function (propName) {\n if (typeof props[propName] === 'undefined') {\n delete props[propName];\n }\n });\n return /*#__PURE__*/React.cloneElement(child, props);\n };\n\n _this.getItems = function () {\n var children = _this.props.children;\n return toArray(children).map(_this.getNewChild);\n };\n\n _this.setActiveKey = function (activeKey) {\n if (!('activeKey' in _this.props)) {\n _this.setState({\n activeKey: activeKey\n });\n }\n\n _this.props.onChange(_this.props.accordion ? activeKey[0] : activeKey);\n };\n\n var _activeKey = _props.activeKey,\n defaultActiveKey = _props.defaultActiveKey;\n var currentActiveKey = defaultActiveKey;\n\n if ('activeKey' in _props) {\n currentActiveKey = _activeKey;\n }\n\n _this.state = {\n activeKey: getActiveKeysArray(currentActiveKey)\n };\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n style = _this$props2.style,\n accordion = _this$props2.accordion;\n var collapseClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, className, !!className), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: collapseClassName,\n style: style,\n role: accordion ? 'tablist' : null\n }, this.getItems());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n var newState = {};\n\n if ('activeKey' in nextProps) {\n newState.activeKey = getActiveKeysArray(nextProps.activeKey);\n }\n\n return newState;\n }\n }]);\n\n return Collapse;\n}(React.Component);\n\nCollapse.defaultProps = {\n prefixCls: 'rc-collapse',\n onChange: function onChange() {},\n accordion: false,\n destroyInactivePanel: false\n};\nCollapse.Panel = CollapsePanel;\nexport default Collapse;","import Collapse from './Collapse';\nexport default Collapse;\nvar Panel = Collapse.Panel;\nexport { Panel };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nvar CollapsePanel = function CollapsePanel(props) {\n process.env.NODE_ENV !== \"production\" ? warning(!('disabled' in props), 'Collapse.Panel', '`disabled` is deprecated. Please use `collapsible=\"disabled\"` instead.') : void 0;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n var collapsePanelClassName = classNames(_defineProperty({}, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), className);\n return /*#__PURE__*/React.createElement(RcCollapse.Panel, _extends({}, props, {\n prefixCls: prefixCls,\n className: collapsePanelClassName\n }));\n};\nexport default CollapsePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport collapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport CollapsePanel from './CollapsePanel';\nvar Collapse = function Collapse(props) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n ghost = props.ghost,\n _props$expandIconPosi = props.expandIconPosition,\n expandIconPosition = _props$expandIconPosi === void 0 ? 'start' : _props$expandIconPosi;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n // Warning if use legacy type `expandIconPosition`\n process.env.NODE_ENV !== \"production\" ? warning(expandIconPosition !== 'left' && expandIconPosition !== 'right', 'Collapse', '`expandIconPosition` with `left` or `right` is deprecated. Please use `start` or `end` instead.') : void 0;\n // Align with logic position\n var mergedExpandIconPosition = React.useMemo(function () {\n if (expandIconPosition === 'left') {\n return 'start';\n }\n return expandIconPosition === 'right' ? 'end' : expandIconPosition;\n }, [expandIconPosition]);\n var renderExpandIcon = function renderExpandIcon() {\n var panelProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var expandIcon = props.expandIcon;\n var icon = expandIcon ? expandIcon(panelProps) : /*#__PURE__*/React.createElement(RightOutlined, {\n rotate: panelProps.isActive ? 90 : undefined\n });\n return cloneElement(icon, function () {\n return {\n className: classNames(icon.props.className, \"\".concat(prefixCls, \"-arrow\"))\n };\n });\n };\n var collapseClassName = classNames(\"\".concat(prefixCls, \"-icon-position-\").concat(mergedExpandIconPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ghost\"), !!ghost), _classNames), className);\n var openMotion = _extends(_extends({}, collapseMotion), {\n motionAppear: false,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n });\n var getItems = function getItems() {\n var children = props.children;\n return toArray(children).map(function (child, index) {\n var _a;\n if ((_a = child.props) === null || _a === void 0 ? void 0 : _a.disabled) {\n var key = child.key || String(index);\n var _child$props = child.props,\n disabled = _child$props.disabled,\n collapsible = _child$props.collapsible;\n var childProps = _extends(_extends({}, omit(child.props, ['disabled'])), {\n key: key,\n collapsible: collapsible !== null && collapsible !== void 0 ? collapsible : disabled ? 'disabled' : undefined\n });\n return cloneElement(child, childProps);\n }\n return child;\n });\n };\n return /*#__PURE__*/React.createElement(RcCollapse, _extends({\n openMotion: openMotion\n }, props, {\n expandIcon: renderExpandIcon,\n prefixCls: prefixCls,\n className: collapseClassName\n }), getItems());\n};\nCollapse.Panel = CollapsePanel;\nexport default Collapse;","import Collapse from './Collapse';\nexport default Collapse;","import InternalLayout, { Content, Footer, Header } from './layout';\nimport Sider from './Sider';\nvar Layout = InternalLayout;\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\nLayout.Sider = Sider;\nexport default Layout;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Element = function Element(props) {\n var _classNames, _classNames2;\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n size = props.size,\n shape = props.shape;\n var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _classNames));\n var shapeCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-circle\"), shape === 'circle'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-square\"), shape === 'square'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-round\"), shape === 'round'), _classNames2));\n var sizeStyle = React.useMemo(function () {\n return typeof size === 'number' ? {\n width: size,\n height: size,\n lineHeight: \"\".concat(size, \"px\")\n } : {};\n }, [size]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls, sizeCls, shapeCls, className),\n style: _extends(_extends({}, sizeStyle), style)\n });\n};\nexport default Element;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonAvatar = function SkeletonAvatar(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n _props$shape = props.shape,\n shape = _props$shape === void 0 ? 'circle' : _props$shape,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls', 'className']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-avatar\"),\n shape: shape,\n size: size\n }, otherProps)));\n};\nexport default SkeletonAvatar;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonButton = function SkeletonButton(props) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n _props$block = props.block,\n block = _props$block === void 0 ? false : _props$block,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-button\"),\n size: size\n }, otherProps)));\n};\nexport default SkeletonButton;","// This icon file is generated automatically.\nvar DotChartOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"dot-chart\", \"theme\": \"outlined\" };\nexport default DotChartOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DotChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/DotChartOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DotChartOutlined = function DotChartOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DotChartOutlinedSvg\n }));\n};\nDotChartOutlined.displayName = 'DotChartOutlined';\nexport default /*#__PURE__*/React.forwardRef(DotChartOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport DotChartOutlined from \"@ant-design/icons/es/icons/DotChartOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nvar SkeletonNode = function SkeletonNode(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n active = props.active,\n children = props.children;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n var content = children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(DotChartOutlined, null);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-image\"), className),\n style: style\n }, content));\n};\nexport default SkeletonNode;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nvar path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z';\nvar SkeletonImage = function SkeletonImage(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n active = props.active;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-image\"), className),\n style: style\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 1098 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"\".concat(prefixCls, \"-image-svg\")\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: path,\n className: \"\".concat(prefixCls, \"-image-path\")\n }))));\n};\nexport default SkeletonImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonInput = function SkeletonInput(props) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n block = props.block,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-input\"),\n size: size\n }, otherProps)));\n};\nexport default SkeletonInput;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Paragraph = function Paragraph(props) {\n var getWidth = function getWidth(index) {\n var width = props.width,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 2 : _props$rows;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n };\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n rows = props.rows;\n var rowList = _toConsumableArray(Array(rows)).map(function (_, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: index,\n style: {\n width: getWidth(index)\n }\n })\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(prefixCls, className),\n style: style\n }, rowList);\n};\nexport default Paragraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* eslint-disable jsx-a11y/heading-has-content */\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Title = function Title(_ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n width = _ref.width,\n style = _ref.style;\n return /*#__PURE__*/React.createElement(\"h3\", {\n className: classNames(prefixCls, className),\n style: _extends({\n width: width\n }, style)\n });\n};\nexport default Title;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SkeletonAvatar from './Avatar';\nimport SkeletonButton from './Button';\nimport SkeletonNode from './Node';\nimport Element from './Element';\nimport SkeletonImage from './Image';\nimport SkeletonInput from './Input';\nimport Paragraph from './Paragraph';\nimport Title from './Title';\nfunction getComponentProps(prop) {\n if (prop && _typeof(prop) === 'object') {\n return prop;\n }\n return {};\n}\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: 'large',\n shape: 'square'\n };\n }\n return {\n size: 'large',\n shape: 'circle'\n };\n}\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: '38%'\n };\n }\n if (hasAvatar && hasParagraph) {\n return {\n width: '50%'\n };\n }\n return {};\n}\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n var basicProps = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return basicProps;\n}\nvar Skeleton = function Skeleton(props) {\n var customizePrefixCls = props.prefixCls,\n loading = props.loading,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$avatar = props.avatar,\n avatar = _props$avatar === void 0 ? false : _props$avatar,\n _props$title = props.title,\n title = _props$title === void 0 ? true : _props$title,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? true : _props$paragraph,\n active = props.active,\n round = props.round;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n if (loading || !('loading' in props)) {\n var _classNames;\n var hasAvatar = !!avatar;\n var hasTitle = !!title;\n var hasParagraph = !!paragraph;\n // Avatar\n var avatarNode;\n if (hasAvatar) {\n var avatarProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-avatar\")\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar));\n // We direct use SkeletonElement as avatar in skeleton internal.\n avatarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\")\n }, /*#__PURE__*/React.createElement(Element, _extends({}, avatarProps)));\n }\n var contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n var $title;\n if (hasTitle) {\n var titleProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-title\")\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n $title = /*#__PURE__*/React.createElement(Title, _extends({}, titleProps));\n }\n // Paragraph\n var paragraphNode;\n if (hasParagraph) {\n var paragraphProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-paragraph\")\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n paragraphNode = /*#__PURE__*/React.createElement(Paragraph, _extends({}, paragraphProps));\n }\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, $title, paragraphNode);\n }\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-avatar\"), hasAvatar), _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-round\"), round), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: style\n }, avatarNode, contentNode);\n }\n return typeof children !== 'undefined' ? children : null;\n};\nSkeleton.Button = SkeletonButton;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Input = SkeletonInput;\nSkeleton.Image = SkeletonImage;\nSkeleton.Node = SkeletonNode;\nexport default Skeleton;","import Skeleton from './Skeleton';\nexport default Skeleton;","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/admin\",\n function () {\n return require(\"private-next-pages/admin/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/admin\"])\n });\n }\n ","import React, { FC } from 'react';\nimport { Table, Tag, Typography } from 'antd';\nimport Linkify from 'react-linkify';\nimport { SortOrder } from 'antd/lib/table/interface';\nimport format from 'date-fns/format';\n\nconst { Title } = Typography;\n\nfunction renderColumnLevel(text, entry) {\n let color = 'black';\n\n if (entry.level === 'warning') {\n color = 'orange';\n } else if (entry.level === 'error') {\n color = 'red';\n }\n\n return {text};\n}\n\nfunction renderMessage(text) {\n return {text};\n}\n\nexport type LogTableProps = {\n logs: object[];\n pageSize: number;\n};\n\nexport const LogTable: FC = ({ logs, pageSize }) => {\n if (!logs?.length) {\n return null;\n }\n const columns = [\n {\n title: 'Level',\n dataIndex: 'level',\n key: 'level',\n filters: [\n {\n text: 'Info',\n value: 'info',\n },\n {\n text: 'Warning',\n value: 'warning',\n },\n {\n text: 'Error',\n value: 'Error',\n },\n ],\n onFilter: (level, row) => row.level.indexOf(level) === 0,\n render: renderColumnLevel,\n },\n {\n title: 'Timestamp',\n dataIndex: 'time',\n key: 'time',\n render: timestamp => {\n const dateObject = new Date(timestamp);\n return format(dateObject, 'pp P');\n },\n sorter: (a, b) => new Date(a.time).getTime() - new Date(b.time).getTime(),\n sortDirections: ['descend', 'ascend'] as SortOrder[],\n defaultSortOrder: 'descend' as SortOrder,\n },\n {\n title: 'Message',\n dataIndex: 'message',\n key: 'message',\n render: renderMessage,\n },\n ];\n\n return (\n
\n Logs\n row.time}\n pagination={{ pageSize: pageSize || 20 }}\n />\n
\n );\n};\n","import { Alert, Button, Col, Row, Statistic, Typography } from 'antd';\nimport dynamic from 'next/dynamic';\nimport Link from 'next/link';\nimport React, { FC, useContext } from 'react';\nimport { ServerStatusContext } from '../../utils/server-status-context';\n\n// Lazy loaded components\n\nconst CheckCircleOutlined = dynamic(() => import('@ant-design/icons/CheckCircleOutlined'), {\n ssr: false,\n});\n\nconst ExclamationCircleOutlined = dynamic(\n () => import('@ant-design/icons/ExclamationCircleOutlined'),\n {\n ssr: false,\n },\n);\n\nexport type StreamHealthOverviewProps = {\n showTroubleshootButton?: Boolean;\n};\n\nexport const StreamHealthOverview: FC = ({ showTroubleshootButton }) => {\n const serverStatusData = useContext(ServerStatusContext);\n const { health } = serverStatusData;\n if (!health) {\n return null;\n }\n\n const { healthy, healthPercentage, message, representation } = health;\n let color = '#3f8600';\n let icon: 'success' | 'info' | 'warning' | 'error' = 'info';\n if (healthPercentage < 80) {\n color = '#cf000f';\n icon = 'error';\n } else if (healthPercentage < 30) {\n color = '#f0ad4e';\n icon = 'error';\n }\n\n return (\n
\n \n \n : }\n />\n \n \n \n \n \n \n \n Stream health represents {representation}% of all known players. Other player status is\n unknown.\n \n \n \n \n \n \n \n )\n }\n />\n \n \n
\n );\n};\n\nStreamHealthOverview.defaultProps = {\n showTroubleshootButton: true,\n};\n","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport format from \"../format/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n *\n * @example\n * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday\n * const result = formatRelative(addDays(new Date(), -6), new Date())\n * //=> \"last Thursday at 12:45 AM\"\n */\n\nexport default function formatRelative(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$weekStartsOn, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var baseDate = toDate(dirtyBaseDate);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var weekStartsOn = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.weekStartsOn) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : 0);\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n\n var diff = differenceInCalendarDays(date, baseDate);\n\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n\n var token;\n\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var utcBaseDate = subMilliseconds(baseDate, getTimezoneOffsetInMilliseconds(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n return format(date, formatStr, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n}","/* eslint-disable camelcase */\n/* eslint-disable react/no-danger */\nimport React, { useState, useEffect, FC } from 'react';\nimport { Collapse, Typography, Skeleton } from 'antd';\nimport format from 'date-fns/format';\n\nimport { fetchExternalData } from '../../utils/apis';\n\nconst { Panel } = Collapse;\nconst { Title, Link } = Typography;\n\nconst OWNCAST_FEED_URL = 'https://owncast.online/news/index.json';\nconst OWNCAST_BASE_URL = 'https://owncast.online';\n\nexport type ArticleProps = {\n title: string;\n url: string;\n content_html: string;\n date_published: string;\n};\n\nconst ArticleItem: FC = ({\n title,\n url,\n content_html: content,\n date_published: date,\n}) => {\n const dateObject = new Date(date);\n const dateString = format(dateObject, 'MMM dd, yyyy, HH:mm');\n return (\n
\n \n \n

\n {dateString} (\n \n Link\n \n )\n

\n
\n \n \n
\n );\n};\n\nexport const NewsFeed = () => {\n const [feed, setFeed] = useState([]);\n const [loading, setLoading] = useState(true);\n\n const getFeed = async () => {\n setLoading(false);\n\n try {\n const result = await fetchExternalData(OWNCAST_FEED_URL);\n if (result?.items.length > 0) {\n setFeed(result.items);\n }\n } catch (error) {\n console.log('==== error', error);\n }\n };\n\n useEffect(() => {\n getFeed();\n }, []);\n\n const loadingSpinner = loading ? : null;\n const noNews = !loading && feed.length === 0 ?
No news.
: null;\n\n return (\n
\n News & Updates from Owncast\n {loadingSpinner}\n {feed.map(item => (\n \n ))}\n\n {noNews}\n
\n );\n};\n","import { Card, Col, Row, Typography } from 'antd';\nimport Link from 'next/link';\nimport { FC, useContext } from 'react';\nimport dynamic from 'next/dynamic';\nimport { LogTable } from './LogTable';\nimport { OwncastLogo } from '../common/OwncastLogo/OwncastLogo';\nimport { NewsFeed } from './NewsFeed';\nimport { ConfigDetails } from '../../types/config-section';\nimport { ServerStatusContext } from '../../utils/server-status-context';\n\nconst { Paragraph, Text } = Typography;\n\nconst { Title } = Typography;\nconst { Meta } = Card;\n\n// Lazy loaded components\n\nconst BookTwoTone = dynamic(() => import('@ant-design/icons/BookTwoTone'), {\n ssr: false,\n});\n\nconst MessageTwoTone = dynamic(() => import('@ant-design/icons/MessageTwoTone'), {\n ssr: false,\n});\n\nconst PlaySquareTwoTone = dynamic(() => import('@ant-design/icons/PlaySquareTwoTone'), {\n ssr: false,\n});\n\nconst ProfileTwoTone = dynamic(() => import('@ant-design/icons/ProfileTwoTone'), {\n ssr: false,\n});\n\nfunction generateStreamURL(serverURL, rtmpServerPort) {\n return `rtmp://${serverURL.replace(/(^\\w+:|^)\\/\\//, '')}:${rtmpServerPort}/live`;\n}\n\nexport type OfflineProps = {\n logs: any[];\n config: ConfigDetails;\n};\n\nexport const Offline: FC = ({ logs = [], config }) => {\n const serverStatusData = useContext(ServerStatusContext);\n\n const { serverConfig } = serverStatusData || {};\n const { rtmpServerPort } = serverConfig;\n const instanceUrl = global.window?.location.hostname || '';\n\n let rtmpURL;\n if (instanceUrl && rtmpServerPort) {\n rtmpURL = generateStreamURL(instanceUrl, rtmpServerPort);\n }\n\n const data = [\n {\n icon: ,\n title: 'Use your broadcasting software',\n content: (\n
\n \n Learn how to point your existing software to your new server and start streaming your\n content.\n \n
\n \n Streaming URL:\n \n {rtmpURL && (\n \n {rtmpURL}\n \n )}\n \n Streaming Keys:\n \n \n View \n \n
\n
\n ),\n },\n {\n icon: ,\n title: 'Embed your video onto other sites',\n content: (\n
\n \n Learn how you can add your Owncast stream to other sites you control.\n \n
\n ),\n },\n ];\n\n if (!config?.chatDisabled) {\n data.push({\n icon: ,\n title: 'Chat is disabled',\n content: Chat will continue to be disabled until you begin a live stream.,\n });\n }\n\n if (!config?.yp?.enabled) {\n data.push({\n icon: ,\n title: 'Find an audience on the Owncast Directory',\n content: (\n
\n List yourself in the Owncast Directory and show off your stream. Enable it in{' '}\n settings.\n
\n ),\n });\n }\n\n if (!config?.federation?.enabled) {\n data.push({\n icon: \"fediverse\",\n title: 'Add your Owncast instance to the Fediverse',\n content: (\n
\n Enable Owncast social features to have your\n instance join the Fediverse, allowing people to follow, share and engage with your live\n stream.\n
\n ),\n });\n }\n\n return (\n <>\n \n \n
\n \n \n \n
\n No stream is active\n

You should start one.

\n
\n
\n \n
\n \n \n {data.map(item => (\n \n \n \n ))}\n \n \n \n \n \n \n \n );\n};\nexport default Offline;\n","/* eslint-disable @next/next/no-css-tags */\nimport React, { useState, useEffect, useContext, ReactElement } from 'react';\nimport { Skeleton, Card, Statistic, Row, Col } from 'antd';\nimport { formatDistanceToNow, formatRelative } from 'date-fns';\nimport dynamic from 'next/dynamic';\nimport { ServerStatusContext } from '../../utils/server-status-context';\nimport { LogTable } from '../../components/admin/LogTable';\nimport { Offline } from '../../components/admin/Offline';\nimport { StreamHealthOverview } from '../../components/admin/StreamHealthOverview';\n\nimport { LOGS_WARN, fetchData, FETCH_INTERVAL } from '../../utils/apis';\nimport { formatIPAddress, isEmptyObject } from '../../utils/format';\nimport { NewsFeed } from '../../components/admin/NewsFeed';\n\nimport { AdminLayout } from '../../components/layouts/AdminLayout';\n\n// Lazy loaded components\n\nconst UserOutlined = dynamic(() => import('@ant-design/icons/UserOutlined'), {\n ssr: false,\n});\n\nconst ClockCircleOutlined = dynamic(() => import('@ant-design/icons/ClockCircleOutlined'), {\n ssr: false,\n});\n\nfunction streamDetailsFormatter(streamDetails) {\n return (\n
    \n
  • \n {streamDetails.videoCodec || 'Unknown'} @ {streamDetails.videoBitrate || 'Unknown'} kbps\n
  • \n
  • {streamDetails.framerate || 'Unknown'} fps
  • \n
  • \n {streamDetails.width} x {streamDetails.height}\n
  • \n
\n );\n}\n\nexport default function Home() {\n const serverStatusData = useContext(ServerStatusContext);\n const { broadcaster, serverConfig: configData } = serverStatusData || {};\n const { remoteAddr, streamDetails } = broadcaster || {};\n\n const encoder = streamDetails?.encoder || 'Unknown encoder';\n\n const [logsData, setLogs] = useState([]);\n const getLogs = async () => {\n try {\n const result = await fetchData(LOGS_WARN);\n setLogs(result);\n } catch (error) {\n console.log('==== error', error);\n }\n };\n const getMoreStats = () => {\n getLogs();\n };\n\n useEffect(() => {\n getMoreStats();\n\n let intervalId = null;\n intervalId = setInterval(getMoreStats, FETCH_INTERVAL);\n\n return () => {\n clearInterval(intervalId);\n };\n }, []);\n\n if (isEmptyObject(configData) || isEmptyObject(serverStatusData)) {\n return (\n <>\n \n \n \n \n );\n }\n\n if (!broadcaster) {\n return ;\n }\n\n // map out settings\n const videoQualitySettings = serverStatusData?.currentBroadcast?.outputSettings?.map(setting => {\n const { audioPassthrough, videoPassthrough, audioBitrate, videoBitrate, framerate } = setting;\n\n const audioSetting = audioPassthrough\n ? `${streamDetails.audioCodec || 'Unknown'}, ${streamDetails.audioBitrate} kbps`\n : `${audioBitrate || 'Unknown'} kbps`;\n\n const videoSetting = videoPassthrough\n ? `${streamDetails.videoBitrate || 'Unknown'} kbps, ${streamDetails.framerate} fps ${\n streamDetails.width\n } x ${streamDetails.height}`\n : `${videoBitrate || 'Unknown'} kbps, ${framerate} fps`;\n\n return (\n
\n \n \n
\n );\n });\n\n // inbound\n const { viewerCount, sessionPeakViewerCount } = serverStatusData;\n\n const streamAudioDetailString = `${streamDetails.audioCodec}, ${\n streamDetails.audioBitrate || 'Unknown'\n } kbps`;\n\n const broadcastDate = new Date(broadcaster.time);\n\n return (\n
\n
\n
\n \n \n \n }\n />\n \n \n } />\n \n \n }\n />\n \n \n \n \n
\n\n \n \n \n {videoQualitySettings}\n \n\n \n \n \n \n \n \n\n \n \n \n \n
\n
\n \n
\n );\n}\n\nHome.getLayout = function getLayout(page: ReactElement) {\n return ;\n};\n","module.exports = require('./dist/shared/lib/head')\n","module.exports = require('./dist/client/router')\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"names":["PanelContent","react","forwardRef","props","ref","_classnames","prefixCls","forceRender","className","style","children","isActive","role","_React$useState","useState","_React$useState2","slicedToArray","Z","rendered","setRendered","useEffect","createElement","classnames_default","concat","defineProperty","displayName","_excluded","CollapsePanel","_React$Component","inherits","_super","createSuper","_this","classCallCheck","_len","arguments","length","args","_key","call","apply","onItemClick","_this$props","panelKey","handleKeyPress","e","key","keyCode","which","renderIcon","_this$props2","showArrow","expandIcon","collapsible","iconNode","onClick","renderTitle","_this$props3","header","createClass","value","nextProps","shallowequal_default","_classNames","_classNames2","_this$props4","id","headerClass","destroyInactivePanel","accordion","openMotion","extra","rest","objectWithoutProperties","disabled","collapsibleHeader","collapsibleIcon","itemCls","headerProps","onKeyPress","tabIndex","esm_extends","ifExtraExist","es","visible","leavedClassName","removeOnLeave","_ref","motionClassName","motionStyle","Component","getActiveKeysArray","activeKey","currentActiveKey","Array","isArray","activeKeyType","esm_typeof","map","String","defaultProps","Collapse","_props","onClickItem","state","index","toConsumableArray","indexOf","splice","push","setActiveKey","getNewChild","child","rootDestroyInactivePanel","_child$props","childCollapsible","mergeCollapsible","type","Object","keys","forEach","propName","cloneElement","getItems","toArray","setState","onChange","_activeKey","defaultActiveKey","nextState","collapseClassName","newState","Panel","es_Collapse","Collapse_Collapse","_React$useContext","useContext","context","E_","getPrefixCls","direction","customizePrefixCls","_props$className","_props$bordered","bordered","ghost","_props$expandIconPosi","expandIconPosition","mergedExpandIconPosition","useMemo","motion","ZP","motionAppear","panelProps","undefined","icon","RightOutlined","rotate","reactNode","Tm","_a","childProps","omit","_props$showArrow","collapsePanelClassName","rc_collapse_es","collapse","Layout","_layout__WEBPACK_IMPORTED_MODULE_0__","Header","h4","Footer","$_","Content","VY","Sider","_Sider__WEBPACK_IMPORTED_MODULE_1__","__webpack_exports__","skeleton_Element","size","shape","sizeCls","shapeCls","sizeStyle","width","height","lineHeight","asn_DotChartOutlined","DotChartOutlined_DotChartOutlined","AntdIcon","objectSpread2","icons_DotChartOutlined","skeleton_Paragraph","getWidth","_props$rows","rows","rowList","_","skeleton_Title","getComponentProps","prop","Skeleton","loading","_props$avatar","avatar","_props$title","title","_props$paragraph","paragraph","active","round","hasAvatar","hasTitle","hasParagraph","avatarProps","avatarNode","contentNode","$title","paragraphNode","titleProps","basicProps","paragraphProps","cls","Button","_props$block","block","_props$size","otherProps","Avatar","_props$shape","Input","Image","viewBox","xmlns","d","Node","content","skeleton","startOfDay","dirtyDate","requiredArgs","date","toDate","setHours","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","Math","timestampLeft","getTime","getTimezoneOffsetInMilliseconds","window","__NEXT_P","__webpack_require__","Title","Typography","renderColumnLevel","text","entry","color","level","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Tag","renderMessage","Linkify","LogTable","logs","pageSize","param","jsxs","div","Table","dataSource","columns","dataIndex","filters","onFilter","row","render","timestamp","dateObject","Date","format","sorter","a","b","time","sortDirections","defaultSortOrder","rowKey","pagination","CheckCircleOutlined","dynamic","Promise","all","then","t","bind","ssr","ExclamationCircleOutlined","StreamHealthOverview","showTroubleshootButton","serverStatusData","ServerStatusContext","health","healthy","healthPercentage","message","representation","Row","gutter","Col","span","Statistic","valueStyle","prefix","suffix","display","textAlign","fontSize","opacity","marginTop","Alert","showIcon","action","Link","passHref","href","ArticleItem","url","content_html","date_published","dateString","jsx_runtime","article","p","target","rel","dangerouslySetInnerHTML","__html","NewsFeed","feed","setFeed","setLoading","getFeed","result","fetchExternalData","items","error","console","log","loadingSpinner","noNews","section","item","Paragraph","Text","Meta","Card","BookTwoTone","MessageTwoTone","PlaySquareTwoTone","ProfileTwoTone","Offline","global","config","rtmpURL","serverConfig","rtmpServerPort","instanceUrl","location","hostname","serverURL","replace","data","twoToneColor","strong","copyable","chatDisabled","yp","enabled","federation","img","alt","src","Fragment","offset","OwncastLogo","variant","xs","sm","md","lg","description","UserOutlined","ClockCircleOutlined","streamDetailsFormatter","streamDetails","ul","li","videoCodec","videoBitrate","framerate","Home","broadcaster","configData","remoteAddr","encoder","logsData","setLogs","getLogs","fetchData","LOGS_WARN","getMoreStats","intervalId","setInterval","FETCH_INTERVAL","clearInterval","isEmptyObject","videoQualitySettings","currentBroadcast","outputSettings","setting","audioPassthrough","videoPassthrough","audioBitrate","audioSetting","audioCodec","videoSetting","viewerCount","sessionPeakViewerCount","streamAudioDetailString","broadcastDate","align","formatRelative","dirtyBaseDate","options","_options$locale","_ref2","_ref3","_ref4","_options$weekStartsOn","_options$locale2","_options$locale2$opti","_defaultOptions$local","_defaultOptions$local2","baseDate","defaultOptions","_lib_defaultOptions","j","locale","defaultLocale","weekStartsOn","toInteger","localize","formatLong","diff","isNaN","utcDate","subMilliseconds","utcBaseDate","formatStr","now","formatDistanceToNow","formatIPAddress","formatter","br","getLayout","page","AdminLayout","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","err","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/chunks/pages/admin-0c3341795a855529.js","mappings":"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","sources":["webpack://_N_E/./node_modules/rc-collapse/es/PanelContent.js","webpack://_N_E/./node_modules/rc-collapse/es/Panel.js","webpack://_N_E/./node_modules/rc-collapse/es/Collapse.js","webpack://_N_E/./node_modules/rc-collapse/es/index.js","webpack://_N_E/./node_modules/antd/es/collapse/CollapsePanel.js","webpack://_N_E/./node_modules/antd/es/collapse/Collapse.js","webpack://_N_E/./node_modules/antd/es/collapse/index.js","webpack://_N_E/./node_modules/antd/es/layout/index.js","webpack://_N_E/./node_modules/antd/es/skeleton/Element.js","webpack://_N_E/./node_modules/antd/es/skeleton/Avatar.js","webpack://_N_E/./node_modules/antd/es/skeleton/Button.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/DotChartOutlined.js","webpack://_N_E/./node_modules/antd/es/skeleton/Node.js","webpack://_N_E/./node_modules/antd/es/skeleton/Image.js","webpack://_N_E/./node_modules/antd/es/skeleton/Input.js","webpack://_N_E/./node_modules/antd/es/skeleton/Paragraph.js","webpack://_N_E/./node_modules/antd/es/skeleton/Title.js","webpack://_N_E/./node_modules/antd/es/skeleton/Skeleton.js","webpack://_N_E/./node_modules/antd/es/skeleton/index.js","webpack://_N_E/./node_modules/date-fns/esm/startOfDay/index.js","webpack://_N_E/./node_modules/date-fns/esm/differenceInCalendarDays/index.js","webpack://_N_E/?a37b","webpack://_N_E/./components/admin/LogTable.tsx","webpack://_N_E/./components/admin/StreamHealthOverview.tsx","webpack://_N_E/./node_modules/date-fns/esm/formatRelative/index.js","webpack://_N_E/./components/admin/NewsFeed.tsx","webpack://_N_E/./components/admin/Offline.tsx","webpack://_N_E/./pages/admin/index.tsx","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/* eslint-disable no-underscore-dangle */\n\n/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport classnames from 'classnames';\nvar PanelContent = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classnames;\n\n var prefixCls = props.prefixCls,\n forceRender = props.forceRender,\n className = props.className,\n style = props.style,\n children = props.children,\n isActive = props.isActive,\n role = props.role;\n\n var _React$useState = React.useState(isActive || forceRender),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n rendered = _React$useState2[0],\n setRendered = _React$useState2[1];\n\n React.useEffect(function () {\n if (forceRender || isActive) {\n setRendered(true);\n }\n }, [forceRender, isActive]);\n\n if (!rendered) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: ref,\n className: classnames(\"\".concat(prefixCls, \"-content\"), (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-active\"), isActive), _defineProperty(_classnames, \"\".concat(prefixCls, \"-content-inactive\"), !isActive), _classnames), className),\n style: style,\n role: role\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content-box\")\n }, children));\n});\nPanelContent.displayName = 'PanelContent';\nexport default PanelContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"className\", \"id\", \"style\", \"prefixCls\", \"headerClass\", \"children\", \"isActive\", \"destroyInactivePanel\", \"accordion\", \"forceRender\", \"openMotion\", \"extra\", \"collapsible\"];\n\n/* eslint-disable react/prop-types */\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport PanelContent from './PanelContent';\n\nvar CollapsePanel = /*#__PURE__*/function (_React$Component) {\n _inherits(CollapsePanel, _React$Component);\n\n var _super = _createSuper(CollapsePanel);\n\n function CollapsePanel() {\n var _this;\n\n _classCallCheck(this, CollapsePanel);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onItemClick = function () {\n var _this$props = _this.props,\n onItemClick = _this$props.onItemClick,\n panelKey = _this$props.panelKey;\n\n if (typeof onItemClick === 'function') {\n onItemClick(panelKey);\n }\n };\n\n _this.handleKeyPress = function (e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n _this.onItemClick();\n }\n };\n\n _this.renderIcon = function () {\n var _this$props2 = _this.props,\n showArrow = _this$props2.showArrow,\n expandIcon = _this$props2.expandIcon,\n prefixCls = _this$props2.prefixCls,\n collapsible = _this$props2.collapsible;\n\n if (!showArrow) {\n return null;\n }\n\n var iconNode = typeof expandIcon === 'function' ? expandIcon(_this.props) : /*#__PURE__*/React.createElement(\"i\", {\n className: \"arrow\"\n });\n return iconNode && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-expand-icon\"),\n onClick: collapsible === 'header' || collapsible === 'icon' ? _this.onItemClick : null\n }, iconNode);\n };\n\n _this.renderTitle = function () {\n var _this$props3 = _this.props,\n header = _this$props3.header,\n prefixCls = _this$props3.prefixCls,\n collapsible = _this$props3.collapsible;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-header-text\"),\n onClick: collapsible === 'header' ? _this.onItemClick : null\n }, header);\n };\n\n return _this;\n }\n\n _createClass(CollapsePanel, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !shallowEqual(this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2;\n\n var _this$props4 = this.props,\n className = _this$props4.className,\n id = _this$props4.id,\n style = _this$props4.style,\n prefixCls = _this$props4.prefixCls,\n headerClass = _this$props4.headerClass,\n children = _this$props4.children,\n isActive = _this$props4.isActive,\n destroyInactivePanel = _this$props4.destroyInactivePanel,\n accordion = _this$props4.accordion,\n forceRender = _this$props4.forceRender,\n openMotion = _this$props4.openMotion,\n extra = _this$props4.extra,\n collapsible = _this$props4.collapsible,\n rest = _objectWithoutProperties(_this$props4, _excluded);\n\n var disabled = collapsible === 'disabled';\n var collapsibleHeader = collapsible === 'header';\n var collapsibleIcon = collapsible === 'icon';\n var itemCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-active\"), isActive), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-disabled\"), disabled), _classNames), className);\n var headerCls = classNames(\"\".concat(prefixCls, \"-header\"), (_classNames2 = {}, _defineProperty(_classNames2, headerClass, headerClass), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-header-collapsible-only\"), collapsibleHeader), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-icon-collapsible-only\"), collapsibleIcon), _classNames2));\n /** header 节点属性 */\n\n var headerProps = {\n className: headerCls,\n 'aria-expanded': isActive,\n 'aria-disabled': disabled,\n onKeyPress: this.handleKeyPress\n };\n\n if (!collapsibleHeader && !collapsibleIcon) {\n headerProps.onClick = this.onItemClick;\n headerProps.role = accordion ? 'tab' : 'button';\n headerProps.tabIndex = disabled ? -1 : 0;\n }\n\n var ifExtraExist = extra !== null && extra !== undefined && typeof extra !== 'boolean'; // https://github.com/ant-design/ant-design/pull/37419#issuecomment-1238812797\n\n delete rest.header;\n delete rest.panelKey;\n delete rest.onItemClick;\n delete rest.showArrow;\n delete rest.expandIcon;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: itemCls,\n style: style,\n id: id\n }), /*#__PURE__*/React.createElement(\"div\", headerProps, this.renderIcon(), this.renderTitle(), ifExtraExist && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra)), /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: isActive,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n }, openMotion, {\n forceRender: forceRender,\n removeOnLeave: destroyInactivePanel\n }), function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(PanelContent, {\n ref: ref,\n prefixCls: prefixCls,\n className: motionClassName,\n style: motionStyle,\n isActive: isActive,\n forceRender: forceRender,\n role: accordion ? 'tabpanel' : null\n }, children);\n }));\n }\n }]);\n\n return CollapsePanel;\n}(React.Component);\n\nCollapsePanel.defaultProps = {\n showArrow: true,\n isActive: false,\n onItemClick: function onItemClick() {},\n headerClass: '',\n forceRender: false\n};\nexport default CollapsePanel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/prop-types */\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport shallowEqual from 'shallowequal';\nimport CollapsePanel from './Panel';\n\nfunction getActiveKeysArray(activeKey) {\n var currentActiveKey = activeKey;\n\n if (!Array.isArray(currentActiveKey)) {\n var activeKeyType = _typeof(currentActiveKey);\n\n currentActiveKey = activeKeyType === 'number' || activeKeyType === 'string' ? [currentActiveKey] : [];\n }\n\n return currentActiveKey.map(function (key) {\n return String(key);\n });\n}\n\nvar Collapse = /*#__PURE__*/function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse(_props) {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n _this = _super.call(this, _props);\n\n _this.onClickItem = function (key) {\n var activeKey = _this.state.activeKey;\n\n if (_this.props.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = _toConsumableArray(activeKey);\n var index = activeKey.indexOf(key);\n var isActive = index > -1;\n\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n\n _this.setActiveKey(activeKey);\n };\n\n _this.getNewChild = function (child, index) {\n if (!child) return null;\n var activeKey = _this.state.activeKey;\n var _this$props = _this.props,\n prefixCls = _this$props.prefixCls,\n openMotion = _this$props.openMotion,\n accordion = _this$props.accordion,\n rootDestroyInactivePanel = _this$props.destroyInactivePanel,\n expandIcon = _this$props.expandIcon,\n collapsible = _this$props.collapsible; // If there is no key provide, use the panel order as default key\n\n var key = child.key || String(index);\n var _child$props = child.props,\n header = _child$props.header,\n headerClass = _child$props.headerClass,\n destroyInactivePanel = _child$props.destroyInactivePanel,\n childCollapsible = _child$props.collapsible;\n var isActive = false;\n\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n var mergeCollapsible = childCollapsible !== null && childCollapsible !== void 0 ? childCollapsible : collapsible;\n var props = {\n key: key,\n panelKey: key,\n header: header,\n headerClass: headerClass,\n isActive: isActive,\n prefixCls: prefixCls,\n destroyInactivePanel: destroyInactivePanel !== null && destroyInactivePanel !== void 0 ? destroyInactivePanel : rootDestroyInactivePanel,\n openMotion: openMotion,\n accordion: accordion,\n children: child.props.children,\n onItemClick: mergeCollapsible === 'disabled' ? null : _this.onClickItem,\n expandIcon: expandIcon,\n collapsible: mergeCollapsible\n }; // https://github.com/ant-design/ant-design/issues/20479\n\n if (typeof child.type === 'string') {\n return child;\n }\n\n Object.keys(props).forEach(function (propName) {\n if (typeof props[propName] === 'undefined') {\n delete props[propName];\n }\n });\n return /*#__PURE__*/React.cloneElement(child, props);\n };\n\n _this.getItems = function () {\n var children = _this.props.children;\n return toArray(children).map(_this.getNewChild);\n };\n\n _this.setActiveKey = function (activeKey) {\n if (!('activeKey' in _this.props)) {\n _this.setState({\n activeKey: activeKey\n });\n }\n\n _this.props.onChange(_this.props.accordion ? activeKey[0] : activeKey);\n };\n\n var _activeKey = _props.activeKey,\n defaultActiveKey = _props.defaultActiveKey;\n var currentActiveKey = defaultActiveKey;\n\n if ('activeKey' in _props) {\n currentActiveKey = _activeKey;\n }\n\n _this.state = {\n activeKey: getActiveKeysArray(currentActiveKey)\n };\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n style = _this$props2.style,\n accordion = _this$props2.accordion;\n var collapseClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, className, !!className), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: collapseClassName,\n style: style,\n role: accordion ? 'tablist' : null\n }, this.getItems());\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n var newState = {};\n\n if ('activeKey' in nextProps) {\n newState.activeKey = getActiveKeysArray(nextProps.activeKey);\n }\n\n return newState;\n }\n }]);\n\n return Collapse;\n}(React.Component);\n\nCollapse.defaultProps = {\n prefixCls: 'rc-collapse',\n onChange: function onChange() {},\n accordion: false,\n destroyInactivePanel: false\n};\nCollapse.Panel = CollapsePanel;\nexport default Collapse;","import Collapse from './Collapse';\nexport default Collapse;\nvar Panel = Collapse.Panel;\nexport { Panel };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nvar CollapsePanel = function CollapsePanel(props) {\n process.env.NODE_ENV !== \"production\" ? warning(!('disabled' in props), 'Collapse.Panel', '`disabled` is deprecated. Please use `collapsible=\"disabled\"` instead.') : void 0;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n var collapsePanelClassName = classNames(_defineProperty({}, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), className);\n return /*#__PURE__*/React.createElement(RcCollapse.Panel, _extends({}, props, {\n prefixCls: prefixCls,\n className: collapsePanelClassName\n }));\n};\nexport default CollapsePanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport classNames from 'classnames';\nimport RcCollapse from 'rc-collapse';\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport omit from \"rc-util/es/omit\";\nimport { ConfigContext } from '../config-provider';\nimport collapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport CollapsePanel from './CollapsePanel';\nvar Collapse = function Collapse(props) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n ghost = props.ghost,\n _props$expandIconPosi = props.expandIconPosition,\n expandIconPosition = _props$expandIconPosi === void 0 ? 'start' : _props$expandIconPosi;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n // Warning if use legacy type `expandIconPosition`\n process.env.NODE_ENV !== \"production\" ? warning(expandIconPosition !== 'left' && expandIconPosition !== 'right', 'Collapse', '`expandIconPosition` with `left` or `right` is deprecated. Please use `start` or `end` instead.') : void 0;\n // Align with logic position\n var mergedExpandIconPosition = React.useMemo(function () {\n if (expandIconPosition === 'left') {\n return 'start';\n }\n return expandIconPosition === 'right' ? 'end' : expandIconPosition;\n }, [expandIconPosition]);\n var renderExpandIcon = function renderExpandIcon() {\n var panelProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var expandIcon = props.expandIcon;\n var icon = expandIcon ? expandIcon(panelProps) : /*#__PURE__*/React.createElement(RightOutlined, {\n rotate: panelProps.isActive ? 90 : undefined\n });\n return cloneElement(icon, function () {\n return {\n className: classNames(icon.props.className, \"\".concat(prefixCls, \"-arrow\"))\n };\n });\n };\n var collapseClassName = classNames(\"\".concat(prefixCls, \"-icon-position-\").concat(mergedExpandIconPosition), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ghost\"), !!ghost), _classNames), className);\n var openMotion = _extends(_extends({}, collapseMotion), {\n motionAppear: false,\n leavedClassName: \"\".concat(prefixCls, \"-content-hidden\")\n });\n var getItems = function getItems() {\n var children = props.children;\n return toArray(children).map(function (child, index) {\n var _a;\n if ((_a = child.props) === null || _a === void 0 ? void 0 : _a.disabled) {\n var key = child.key || String(index);\n var _child$props = child.props,\n disabled = _child$props.disabled,\n collapsible = _child$props.collapsible;\n var childProps = _extends(_extends({}, omit(child.props, ['disabled'])), {\n key: key,\n collapsible: collapsible !== null && collapsible !== void 0 ? collapsible : disabled ? 'disabled' : undefined\n });\n return cloneElement(child, childProps);\n }\n return child;\n });\n };\n return /*#__PURE__*/React.createElement(RcCollapse, _extends({\n openMotion: openMotion\n }, props, {\n expandIcon: renderExpandIcon,\n prefixCls: prefixCls,\n className: collapseClassName\n }), getItems());\n};\nCollapse.Panel = CollapsePanel;\nexport default Collapse;","import Collapse from './Collapse';\nexport default Collapse;","import InternalLayout, { Content, Footer, Header } from './layout';\nimport Sider from './Sider';\nvar Layout = InternalLayout;\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\nLayout.Sider = Sider;\nexport default Layout;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Element = function Element(props) {\n var _classNames, _classNames2;\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n size = props.size,\n shape = props.shape;\n var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _classNames));\n var shapeCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-circle\"), shape === 'circle'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-square\"), shape === 'square'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-round\"), shape === 'round'), _classNames2));\n var sizeStyle = React.useMemo(function () {\n return typeof size === 'number' ? {\n width: size,\n height: size,\n lineHeight: \"\".concat(size, \"px\")\n } : {};\n }, [size]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(prefixCls, sizeCls, shapeCls, className),\n style: _extends(_extends({}, sizeStyle), style)\n });\n};\nexport default Element;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonAvatar = function SkeletonAvatar(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n _props$shape = props.shape,\n shape = _props$shape === void 0 ? 'circle' : _props$shape,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls', 'className']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-avatar\"),\n shape: shape,\n size: size\n }, otherProps)));\n};\nexport default SkeletonAvatar;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonButton = function SkeletonButton(props) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n _props$block = props.block,\n block = _props$block === void 0 ? false : _props$block,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-button\"),\n size: size\n }, otherProps)));\n};\nexport default SkeletonButton;","// This icon file is generated automatically.\nvar DotChartOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"dot-chart\", \"theme\": \"outlined\" };\nexport default DotChartOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DotChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/DotChartOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DotChartOutlined = function DotChartOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DotChartOutlinedSvg\n }));\n};\nDotChartOutlined.displayName = 'DotChartOutlined';\nexport default /*#__PURE__*/React.forwardRef(DotChartOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport DotChartOutlined from \"@ant-design/icons/es/icons/DotChartOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nvar SkeletonNode = function SkeletonNode(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n active = props.active,\n children = props.children;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n var content = children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(DotChartOutlined, null);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-image\"), className),\n style: style\n }, content));\n};\nexport default SkeletonNode;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nvar path = 'M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z';\nvar SkeletonImage = function SkeletonImage(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n active = props.active;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), _defineProperty({}, \"\".concat(prefixCls, \"-active\"), active), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-image\"), className),\n style: style\n }, /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 1098 1024\",\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"\".concat(prefixCls, \"-image-svg\")\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: path,\n className: \"\".concat(prefixCls, \"-image-path\")\n }))));\n};\nexport default SkeletonImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Element from './Element';\nvar SkeletonInput = function SkeletonInput(props) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n active = props.active,\n block = props.block,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n var otherProps = omit(props, ['prefixCls']);\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-element\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls\n }, /*#__PURE__*/React.createElement(Element, _extends({\n prefixCls: \"\".concat(prefixCls, \"-input\"),\n size: size\n }, otherProps)));\n};\nexport default SkeletonInput;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Paragraph = function Paragraph(props) {\n var getWidth = function getWidth(index) {\n var width = props.width,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 2 : _props$rows;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n };\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n rows = props.rows;\n var rowList = _toConsumableArray(Array(rows)).map(function (_, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n key: index,\n style: {\n width: getWidth(index)\n }\n })\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: classNames(prefixCls, className),\n style: style\n }, rowList);\n};\nexport default Paragraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* eslint-disable jsx-a11y/heading-has-content */\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar Title = function Title(_ref) {\n var prefixCls = _ref.prefixCls,\n className = _ref.className,\n width = _ref.width,\n style = _ref.style;\n return /*#__PURE__*/React.createElement(\"h3\", {\n className: classNames(prefixCls, className),\n style: _extends({\n width: width\n }, style)\n });\n};\nexport default Title;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport SkeletonAvatar from './Avatar';\nimport SkeletonButton from './Button';\nimport SkeletonNode from './Node';\nimport Element from './Element';\nimport SkeletonImage from './Image';\nimport SkeletonInput from './Input';\nimport Paragraph from './Paragraph';\nimport Title from './Title';\nfunction getComponentProps(prop) {\n if (prop && _typeof(prop) === 'object') {\n return prop;\n }\n return {};\n}\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n // Square avatar\n return {\n size: 'large',\n shape: 'square'\n };\n }\n return {\n size: 'large',\n shape: 'circle'\n };\n}\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return {\n width: '38%'\n };\n }\n if (hasAvatar && hasParagraph) {\n return {\n width: '50%'\n };\n }\n return {};\n}\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n var basicProps = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return basicProps;\n}\nvar Skeleton = function Skeleton(props) {\n var customizePrefixCls = props.prefixCls,\n loading = props.loading,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$avatar = props.avatar,\n avatar = _props$avatar === void 0 ? false : _props$avatar,\n _props$title = props.title,\n title = _props$title === void 0 ? true : _props$title,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? true : _props$paragraph,\n active = props.active,\n round = props.round;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n if (loading || !('loading' in props)) {\n var _classNames;\n var hasAvatar = !!avatar;\n var hasTitle = !!title;\n var hasParagraph = !!paragraph;\n // Avatar\n var avatarNode;\n if (hasAvatar) {\n var avatarProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-avatar\")\n }, getAvatarBasicProps(hasTitle, hasParagraph)), getComponentProps(avatar));\n // We direct use SkeletonElement as avatar in skeleton internal.\n avatarNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\")\n }, /*#__PURE__*/React.createElement(Element, _extends({}, avatarProps)));\n }\n var contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n var $title;\n if (hasTitle) {\n var titleProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-title\")\n }, getTitleBasicProps(hasAvatar, hasParagraph)), getComponentProps(title));\n $title = /*#__PURE__*/React.createElement(Title, _extends({}, titleProps));\n }\n // Paragraph\n var paragraphNode;\n if (hasParagraph) {\n var paragraphProps = _extends(_extends({\n prefixCls: \"\".concat(prefixCls, \"-paragraph\")\n }, getParagraphBasicProps(hasAvatar, hasTitle)), getComponentProps(paragraph));\n paragraphNode = /*#__PURE__*/React.createElement(Paragraph, _extends({}, paragraphProps));\n }\n contentNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, $title, paragraphNode);\n }\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-avatar\"), hasAvatar), _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-round\"), round), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: style\n }, avatarNode, contentNode);\n }\n return typeof children !== 'undefined' ? children : null;\n};\nSkeleton.Button = SkeletonButton;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Input = SkeletonInput;\nSkeleton.Image = SkeletonImage;\nSkeleton.Node = SkeletonNode;\nexport default Skeleton;","import Skeleton from './Skeleton';\nexport default Skeleton;","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/admin\",\n function () {\n return require(\"private-next-pages/admin/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/admin\"])\n });\n }\n ","import React, { FC } from 'react';\nimport { Table, Tag, Typography } from 'antd';\nimport Linkify from 'react-linkify';\nimport { SortOrder } from 'antd/lib/table/interface';\nimport format from 'date-fns/format';\n\nconst { Title } = Typography;\n\nfunction renderColumnLevel(text, entry) {\n let color = 'black';\n\n if (entry.level === 'warning') {\n color = 'orange';\n } else if (entry.level === 'error') {\n color = 'red';\n }\n\n return {text};\n}\n\nfunction renderMessage(text) {\n return {text};\n}\n\nexport type LogTableProps = {\n logs: object[];\n pageSize: number;\n};\n\nexport const LogTable: FC = ({ logs, pageSize }) => {\n if (!logs?.length) {\n return null;\n }\n const columns = [\n {\n title: 'Level',\n dataIndex: 'level',\n key: 'level',\n filters: [\n {\n text: 'Info',\n value: 'info',\n },\n {\n text: 'Warning',\n value: 'warning',\n },\n {\n text: 'Error',\n value: 'Error',\n },\n ],\n onFilter: (level, row) => row.level.indexOf(level) === 0,\n render: renderColumnLevel,\n },\n {\n title: 'Timestamp',\n dataIndex: 'time',\n key: 'time',\n render: timestamp => {\n const dateObject = new Date(timestamp);\n return format(dateObject, 'pp P');\n },\n sorter: (a, b) => new Date(a.time).getTime() - new Date(b.time).getTime(),\n sortDirections: ['descend', 'ascend'] as SortOrder[],\n defaultSortOrder: 'descend' as SortOrder,\n },\n {\n title: 'Message',\n dataIndex: 'message',\n key: 'message',\n render: renderMessage,\n },\n ];\n\n return (\n
\n Logs\n row.time}\n pagination={{ pageSize: pageSize || 20 }}\n />\n
\n );\n};\n","import { Alert, Button, Col, Row, Statistic, Typography } from 'antd';\nimport dynamic from 'next/dynamic';\nimport Link from 'next/link';\nimport React, { FC, useContext } from 'react';\nimport { ServerStatusContext } from '../../utils/server-status-context';\n\n// Lazy loaded components\n\nconst CheckCircleOutlined = dynamic(() => import('@ant-design/icons/CheckCircleOutlined'), {\n ssr: false,\n});\n\nconst ExclamationCircleOutlined = dynamic(\n () => import('@ant-design/icons/ExclamationCircleOutlined'),\n {\n ssr: false,\n },\n);\n\nexport type StreamHealthOverviewProps = {\n showTroubleshootButton?: Boolean;\n};\n\nexport const StreamHealthOverview: FC = ({ showTroubleshootButton }) => {\n const serverStatusData = useContext(ServerStatusContext);\n const { health } = serverStatusData;\n if (!health) {\n return null;\n }\n\n const { healthy, healthPercentage, message, representation } = health;\n let color = '#3f8600';\n let icon: 'success' | 'info' | 'warning' | 'error' = 'info';\n if (healthPercentage < 80) {\n color = '#cf000f';\n icon = 'error';\n } else if (healthPercentage < 30) {\n color = '#f0ad4e';\n icon = 'error';\n }\n\n return (\n
\n \n \n : }\n />\n \n \n \n \n \n \n \n Stream health represents {representation}% of all known players. Other player status is\n unknown.\n \n \n \n \n \n \n \n )\n }\n />\n \n \n
\n );\n};\n\nStreamHealthOverview.defaultProps = {\n showTroubleshootButton: true,\n};\n","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport format from \"../format/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n *\n * @example\n * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday\n * const result = formatRelative(addDays(new Date(), -6), new Date())\n * //=> \"last Thursday at 12:45 AM\"\n */\n\nexport default function formatRelative(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$weekStartsOn, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var baseDate = toDate(dirtyBaseDate);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var weekStartsOn = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.weekStartsOn) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : 0);\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n\n var diff = differenceInCalendarDays(date, baseDate);\n\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n\n var token;\n\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var utcBaseDate = subMilliseconds(baseDate, getTimezoneOffsetInMilliseconds(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n return format(date, formatStr, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n}","/* eslint-disable camelcase */\n/* eslint-disable react/no-danger */\nimport React, { useState, useEffect, FC } from 'react';\nimport { Collapse, Typography, Skeleton } from 'antd';\nimport format from 'date-fns/format';\n\nimport { fetchExternalData } from '../../utils/apis';\n\nconst { Panel } = Collapse;\nconst { Title, Link } = Typography;\n\nconst OWNCAST_FEED_URL = 'https://owncast.online/news/index.json';\nconst OWNCAST_BASE_URL = 'https://owncast.online';\n\nexport type ArticleProps = {\n title: string;\n url: string;\n content_html: string;\n date_published: string;\n};\n\nconst ArticleItem: FC = ({\n title,\n url,\n content_html: content,\n date_published: date,\n}) => {\n const dateObject = new Date(date);\n const dateString = format(dateObject, 'MMM dd, yyyy, HH:mm');\n return (\n
\n \n \n

\n {dateString} (\n \n Link\n \n )\n

\n
\n \n \n
\n );\n};\n\nexport const NewsFeed = () => {\n const [feed, setFeed] = useState([]);\n const [loading, setLoading] = useState(true);\n\n const getFeed = async () => {\n setLoading(false);\n\n try {\n const result = await fetchExternalData(OWNCAST_FEED_URL);\n if (result?.items.length > 0) {\n setFeed(result.items);\n }\n } catch (error) {\n console.log('==== error', error);\n }\n };\n\n useEffect(() => {\n getFeed();\n }, []);\n\n const loadingSpinner = loading ? : null;\n const noNews = !loading && feed.length === 0 ?
No news.
: null;\n\n return (\n
\n News & Updates from Owncast\n {loadingSpinner}\n {feed.map(item => (\n \n ))}\n\n {noNews}\n
\n );\n};\n","import { Card, Col, Row, Typography } from 'antd';\nimport Link from 'next/link';\nimport { FC, useContext } from 'react';\nimport dynamic from 'next/dynamic';\nimport { LogTable } from './LogTable';\nimport { OwncastLogo } from '../common/OwncastLogo/OwncastLogo';\nimport { NewsFeed } from './NewsFeed';\nimport { ConfigDetails } from '../../types/config-section';\nimport { ServerStatusContext } from '../../utils/server-status-context';\n\nconst { Paragraph, Text } = Typography;\n\nconst { Title } = Typography;\nconst { Meta } = Card;\n\n// Lazy loaded components\n\nconst BookTwoTone = dynamic(() => import('@ant-design/icons/BookTwoTone'), {\n ssr: false,\n});\n\nconst MessageTwoTone = dynamic(() => import('@ant-design/icons/MessageTwoTone'), {\n ssr: false,\n});\n\nconst PlaySquareTwoTone = dynamic(() => import('@ant-design/icons/PlaySquareTwoTone'), {\n ssr: false,\n});\n\nconst ProfileTwoTone = dynamic(() => import('@ant-design/icons/ProfileTwoTone'), {\n ssr: false,\n});\n\nfunction generateStreamURL(serverURL, rtmpServerPort) {\n return `rtmp://${serverURL.replace(/(^\\w+:|^)\\/\\//, '')}:${rtmpServerPort}/live`;\n}\n\nexport type OfflineProps = {\n logs: any[];\n config: ConfigDetails;\n};\n\nexport const Offline: FC = ({ logs = [], config }) => {\n const serverStatusData = useContext(ServerStatusContext);\n\n const { serverConfig } = serverStatusData || {};\n const { rtmpServerPort } = serverConfig;\n const instanceUrl = global.window?.location.hostname || '';\n\n let rtmpURL;\n if (instanceUrl && rtmpServerPort) {\n rtmpURL = generateStreamURL(instanceUrl, rtmpServerPort);\n }\n\n const data = [\n {\n icon: ,\n title: 'Use your broadcasting software',\n content: (\n
\n \n Learn how to point your existing software to your new server and start streaming your\n content.\n \n
\n \n Streaming URL:\n \n {rtmpURL && (\n \n {rtmpURL}\n \n )}\n \n Streaming Keys:\n \n \n View \n \n
\n
\n ),\n },\n {\n icon: ,\n title: 'Embed your video onto other sites',\n content: (\n
\n \n Learn how you can add your Owncast stream to other sites you control.\n \n
\n ),\n },\n ];\n\n if (!config?.chatDisabled) {\n data.push({\n icon: ,\n title: 'Chat is disabled',\n content: Chat will continue to be disabled until you begin a live stream.,\n });\n }\n\n if (!config?.yp?.enabled) {\n data.push({\n icon: ,\n title: 'Find an audience on the Owncast Directory',\n content: (\n
\n List yourself in the Owncast Directory and show off your stream. Enable it in{' '}\n settings.\n
\n ),\n });\n }\n\n if (!config?.federation?.enabled) {\n data.push({\n icon: \"fediverse\",\n title: 'Add your Owncast instance to the Fediverse',\n content: (\n
\n Enable Owncast social features to have your\n instance join the Fediverse, allowing people to follow, share and engage with your live\n stream.\n
\n ),\n });\n }\n\n return (\n <>\n \n \n
\n \n \n \n
\n No stream is active\n

You should start one.

\n
\n
\n \n
\n \n \n {data.map(item => (\n \n \n \n ))}\n \n \n \n \n \n \n \n );\n};\nexport default Offline;\n","/* eslint-disable @next/next/no-css-tags */\nimport React, { useState, useEffect, useContext, ReactElement } from 'react';\nimport { Skeleton, Card, Statistic, Row, Col } from 'antd';\nimport { formatDistanceToNow, formatRelative } from 'date-fns';\nimport dynamic from 'next/dynamic';\nimport { ServerStatusContext } from '../../utils/server-status-context';\nimport { LogTable } from '../../components/admin/LogTable';\nimport { Offline } from '../../components/admin/Offline';\nimport { StreamHealthOverview } from '../../components/admin/StreamHealthOverview';\n\nimport { LOGS_WARN, fetchData, FETCH_INTERVAL } from '../../utils/apis';\nimport { formatIPAddress, isEmptyObject } from '../../utils/format';\nimport { NewsFeed } from '../../components/admin/NewsFeed';\n\nimport { AdminLayout } from '../../components/layouts/AdminLayout';\n\n// Lazy loaded components\n\nconst UserOutlined = dynamic(() => import('@ant-design/icons/UserOutlined'), {\n ssr: false,\n});\n\nconst ClockCircleOutlined = dynamic(() => import('@ant-design/icons/ClockCircleOutlined'), {\n ssr: false,\n});\n\nfunction streamDetailsFormatter(streamDetails) {\n return (\n
    \n
  • \n {streamDetails.videoCodec || 'Unknown'} @ {streamDetails.videoBitrate || 'Unknown'} kbps\n
  • \n
  • {streamDetails.framerate || 'Unknown'} fps
  • \n
  • \n {streamDetails.width} x {streamDetails.height}\n
  • \n
\n );\n}\n\nexport default function Home() {\n const serverStatusData = useContext(ServerStatusContext);\n const { broadcaster, serverConfig: configData } = serverStatusData || {};\n const { remoteAddr, streamDetails } = broadcaster || {};\n\n const encoder = streamDetails?.encoder || 'Unknown encoder';\n\n const [logsData, setLogs] = useState([]);\n const getLogs = async () => {\n try {\n const result = await fetchData(LOGS_WARN);\n setLogs(result);\n } catch (error) {\n console.log('==== error', error);\n }\n };\n const getMoreStats = () => {\n getLogs();\n };\n\n useEffect(() => {\n getMoreStats();\n\n let intervalId = null;\n intervalId = setInterval(getMoreStats, FETCH_INTERVAL);\n\n return () => {\n clearInterval(intervalId);\n };\n }, []);\n\n if (isEmptyObject(configData) || isEmptyObject(serverStatusData)) {\n return (\n <>\n \n \n \n \n );\n }\n\n if (!broadcaster) {\n return ;\n }\n\n // map out settings\n const videoQualitySettings = serverStatusData?.currentBroadcast?.outputSettings?.map(setting => {\n const { audioPassthrough, videoPassthrough, audioBitrate, videoBitrate, framerate } = setting;\n\n const audioSetting = audioPassthrough\n ? `${streamDetails.audioCodec || 'Unknown'}, ${streamDetails.audioBitrate} kbps`\n : `${audioBitrate || 'Unknown'} kbps`;\n\n const videoSetting = videoPassthrough\n ? `${streamDetails.videoBitrate || 'Unknown'} kbps, ${streamDetails.framerate} fps ${\n streamDetails.width\n } x ${streamDetails.height}`\n : `${videoBitrate || 'Unknown'} kbps, ${framerate} fps`;\n\n return (\n
\n \n \n
\n );\n });\n\n // inbound\n const { viewerCount, sessionPeakViewerCount } = serverStatusData;\n\n const streamAudioDetailString = `${streamDetails.audioCodec}, ${\n streamDetails.audioBitrate || 'Unknown'\n } kbps`;\n\n const broadcastDate = new Date(broadcaster.time);\n\n return (\n
\n
\n
\n \n \n \n }\n />\n \n \n } />\n \n \n }\n />\n \n \n \n \n
\n\n \n \n \n {videoQualitySettings}\n \n\n \n \n \n \n \n \n\n \n \n \n \n
\n
\n \n
\n );\n}\n\nHome.getLayout = function getLayout(page: ReactElement) {\n return ;\n};\n","module.exports = require('./dist/shared/lib/head')\n","module.exports = require('./dist/client/router')\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"names":["PanelContent","react","forwardRef","props","ref","_classnames","prefixCls","forceRender","className","style","children","isActive","role","_React$useState","useState","_React$useState2","slicedToArray","Z","rendered","setRendered","useEffect","createElement","classnames_default","concat","defineProperty","displayName","_excluded","CollapsePanel","_React$Component","inherits","_super","createSuper","_this","classCallCheck","_len","arguments","length","args","_key","call","apply","onItemClick","_this$props","panelKey","handleKeyPress","e","key","keyCode","which","renderIcon","_this$props2","showArrow","expandIcon","collapsible","iconNode","onClick","renderTitle","_this$props3","header","createClass","value","nextProps","shallowequal_default","_classNames","_classNames2","_this$props4","id","headerClass","destroyInactivePanel","accordion","openMotion","extra","rest","objectWithoutProperties","disabled","collapsibleHeader","collapsibleIcon","itemCls","headerProps","onKeyPress","tabIndex","esm_extends","ifExtraExist","es","visible","leavedClassName","removeOnLeave","_ref","motionClassName","motionStyle","Component","getActiveKeysArray","activeKey","currentActiveKey","Array","isArray","activeKeyType","esm_typeof","map","String","defaultProps","Collapse","_props","onClickItem","state","index","toConsumableArray","indexOf","splice","push","setActiveKey","getNewChild","child","rootDestroyInactivePanel","_child$props","childCollapsible","mergeCollapsible","type","Object","keys","forEach","propName","cloneElement","getItems","toArray","setState","onChange","_activeKey","defaultActiveKey","nextState","collapseClassName","newState","Panel","es_Collapse","Collapse_Collapse","_React$useContext","useContext","context","E_","getPrefixCls","direction","customizePrefixCls","_props$className","_props$bordered","bordered","ghost","_props$expandIconPosi","expandIconPosition","mergedExpandIconPosition","useMemo","motion","ZP","motionAppear","panelProps","undefined","icon","RightOutlined","rotate","reactNode","Tm","_a","childProps","omit","_props$showArrow","collapsePanelClassName","rc_collapse_es","collapse","Layout","_layout__WEBPACK_IMPORTED_MODULE_0__","Header","h4","Footer","$_","Content","VY","Sider","_Sider__WEBPACK_IMPORTED_MODULE_1__","__webpack_exports__","skeleton_Element","size","shape","sizeCls","shapeCls","sizeStyle","width","height","lineHeight","asn_DotChartOutlined","DotChartOutlined_DotChartOutlined","AntdIcon","objectSpread2","icons_DotChartOutlined","skeleton_Paragraph","getWidth","_props$rows","rows","rowList","_","skeleton_Title","getComponentProps","prop","Skeleton","loading","_props$avatar","avatar","_props$title","title","_props$paragraph","paragraph","active","round","hasAvatar","hasTitle","hasParagraph","avatarProps","avatarNode","contentNode","$title","paragraphNode","titleProps","basicProps","paragraphProps","cls","Button","_props$block","block","_props$size","otherProps","Avatar","_props$shape","Input","Image","viewBox","xmlns","d","Node","content","skeleton","startOfDay","dirtyDate","requiredArgs","date","toDate","setHours","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","Math","timestampLeft","getTime","getTimezoneOffsetInMilliseconds","window","__NEXT_P","__webpack_require__","Title","Typography","renderColumnLevel","text","entry","color","level","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Tag","renderMessage","Linkify","LogTable","logs","pageSize","param","jsxs","div","Table","dataSource","columns","dataIndex","filters","onFilter","row","render","timestamp","dateObject","Date","format","sorter","a","b","time","sortDirections","defaultSortOrder","rowKey","pagination","CheckCircleOutlined","dynamic","Promise","all","then","t","bind","ssr","ExclamationCircleOutlined","StreamHealthOverview","showTroubleshootButton","serverStatusData","ServerStatusContext","health","healthy","healthPercentage","message","representation","Row","gutter","Col","span","Statistic","valueStyle","prefix","suffix","display","textAlign","fontSize","opacity","marginTop","Alert","showIcon","action","Link","passHref","href","ArticleItem","url","content_html","date_published","dateString","jsx_runtime","article","p","target","rel","dangerouslySetInnerHTML","__html","NewsFeed","feed","setFeed","setLoading","getFeed","result","fetchExternalData","items","error","console","log","loadingSpinner","noNews","section","item","Paragraph","Text","Meta","Card","BookTwoTone","MessageTwoTone","PlaySquareTwoTone","ProfileTwoTone","Offline","global","config","rtmpURL","serverConfig","rtmpServerPort","instanceUrl","location","hostname","serverURL","replace","data","twoToneColor","strong","copyable","chatDisabled","yp","enabled","federation","img","alt","src","Fragment","offset","OwncastLogo","variant","xs","sm","md","lg","description","UserOutlined","ClockCircleOutlined","streamDetailsFormatter","streamDetails","ul","li","videoCodec","videoBitrate","framerate","Home","broadcaster","configData","remoteAddr","encoder","logsData","setLogs","getLogs","fetchData","LOGS_WARN","getMoreStats","intervalId","setInterval","FETCH_INTERVAL","clearInterval","isEmptyObject","videoQualitySettings","currentBroadcast","outputSettings","setting","audioPassthrough","videoPassthrough","audioBitrate","audioSetting","audioCodec","videoSetting","viewerCount","sessionPeakViewerCount","streamAudioDetailString","broadcastDate","align","formatRelative","dirtyBaseDate","options","_options$locale","_ref2","_ref3","_ref4","_options$weekStartsOn","_options$locale2","_options$locale2$opti","_defaultOptions$local","_defaultOptions$local2","baseDate","defaultOptions","_lib_defaultOptions","j","locale","defaultLocale","weekStartsOn","toInteger","localize","formatLong","diff","isNaN","utcDate","subMilliseconds","utcBaseDate","formatStr","now","formatDistanceToNow","formatIPAddress","formatter","br","getLayout","page","AdminLayout","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","err","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes"],"sourceRoot":""} \ No newline at end of file diff --git a/static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js b/static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js similarity index 99% rename from static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js rename to static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js index 0c8324260..12308e1dd 100644 --- a/static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js +++ b/static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js @@ -1,2 +1,2 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9882,9534,1382],{15746:function(e,t,n){"use strict";var r=n(21584);t.Z=r.Z},99134:function(e,t,n){"use strict";var r=(0,n(67294).createContext)({});t.Z=r},21584:function(e,t,n){"use strict";var r=n(4942),o=n(87462),c=n(71002),a=n(94184),i=n.n(a),s=n(67294),l=n(53124),u=n(99134),f=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},p=["xs","sm","md","lg","xl","xxl"],d=s.forwardRef(function(e,t){var n,a=s.useContext(l.E_),d=a.getPrefixCls,m=a.direction,v=s.useContext(u.Z),y=v.gutter,h=v.wrap,x=v.supportFlexGap,b=e.prefixCls,g=e.span,Z=e.order,j=e.offset,O=e.push,C=e.pull,E=e.className,w=e.children,k=e.flex,N=e.style,S=f(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),P=d("col",b),T={};p.forEach(function(t){var n,a={},i=e[t];"number"==typeof i?a.span=i:"object"===(0,c.Z)(i)&&(a=i||{}),delete S[t],T=(0,o.Z)((0,o.Z)({},T),(n={},(0,r.Z)(n,"".concat(P,"-").concat(t,"-").concat(a.span),void 0!==a.span),(0,r.Z)(n,"".concat(P,"-").concat(t,"-order-").concat(a.order),a.order||0===a.order),(0,r.Z)(n,"".concat(P,"-").concat(t,"-offset-").concat(a.offset),a.offset||0===a.offset),(0,r.Z)(n,"".concat(P,"-").concat(t,"-push-").concat(a.push),a.push||0===a.push),(0,r.Z)(n,"".concat(P,"-").concat(t,"-pull-").concat(a.pull),a.pull||0===a.pull),(0,r.Z)(n,"".concat(P,"-rtl"),"rtl"===m),n))});var _=i()(P,(n={},(0,r.Z)(n,"".concat(P,"-").concat(g),void 0!==g),(0,r.Z)(n,"".concat(P,"-order-").concat(Z),Z),(0,r.Z)(n,"".concat(P,"-offset-").concat(j),j),(0,r.Z)(n,"".concat(P,"-push-").concat(O),O),(0,r.Z)(n,"".concat(P,"-pull-").concat(C),C),n),E,T),I={};if(y&&y[0]>0){var A=y[0]/2;I.paddingLeft=A,I.paddingRight=A}if(y&&y[1]>0&&!x){var R=y[1]/2;I.paddingTop=R,I.paddingBottom=R}return k&&(I.flex="number"==typeof k?"".concat(k," ").concat(k," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(k)?"0 0 ".concat(k):k,!1!==h||I.minWidth||(I.minWidth=0)),s.createElement("div",(0,o.Z)({},S,{style:(0,o.Z)((0,o.Z)({},I),N),className:_,ref:t}),w)});t.Z=d},92820:function(e,t,n){"use strict";var r=n(87462),o=n(4942),c=n(71002),a=n(97685),i=n(94184),s=n.n(i),l=n(67294),u=n(53124),f=n(98082),p=n(24308),d=n(93355),m=n(99134),v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function y(e,t){var n=l.useState("string"==typeof e?e:""),r=(0,a.Z)(n,2),o=r[0],i=r[1],s=function(){if("object"===(0,c.Z)(e))for(var n=0;n0?-(U[0]/2):void 0,H=null!=U[1]&&U[1]>0?-(U[1]/2):void 0;if(B&&(z.marginLeft=B,z.marginRight=B),W){var Y=(0,a.Z)(U,2);z.rowGap=Y[1]}else H&&(z.marginTop=H,z.marginBottom=H);var Q=(0,a.Z)(U,2),V=Q[0],X=Q[1],q=l.useMemo(function(){return{gutter:[V,X],wrap:C,supportFlexGap:W}},[V,X,C,W]);return l.createElement(m.Z.Provider,{value:q},l.createElement("div",(0,r.Z)({},E,{className:L,style:(0,r.Z)((0,r.Z)({},z),g),ref:t}),Z))});t.Z=h},97183:function(e,t,n){"use strict";var r=n(2897),o=n(7293),c=r.ZP;c.Header=r.h4,c.Footer=r.$_,c.Content=r.VY,c.Sider=o.Z,t.Z=c},71230:function(e,t,n){"use strict";var r=n(92820);t.Z=r.Z},11382:function(e,t,n){"use strict";var r=n(87462),o=n(4942),c=n(97685),a=n(94184),i=n.n(a),s=n(23279),l=n.n(s),u=n(98423),f=n(67294),p=n(53124),d=n(96159),m=n(93355),v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};(0,m.b)("small","default","large");var y=null,h=function(e){var t=e.spinPrefixCls,n=e.spinning,a=void 0===n||n,s=e.delay,m=e.className,h=e.size,x=void 0===h?"default":h,b=e.tip,g=e.wrapperClassName,Z=e.style,j=e.children,O=v(e,["spinPrefixCls","spinning","delay","className","size","tip","wrapperClassName","style","children"]),C=f.useState(function(){return a&&(!a||!s||!!isNaN(Number(s)))}),E=(0,c.Z)(C,2),w=E[0],k=E[1];return f.useEffect(function(){var e=l()(function(){k(a)},s);return e(),function(){var t;null===(t=null==e?void 0:e.cancel)||void 0===t||t.call(e)}},[s,a]),f.createElement(p.C,null,function(n){var c,a,s,l=n.direction,p=i()(t,(s={},(0,o.Z)(s,"".concat(t,"-sm"),"small"===x),(0,o.Z)(s,"".concat(t,"-lg"),"large"===x),(0,o.Z)(s,"".concat(t,"-spinning"),w),(0,o.Z)(s,"".concat(t,"-show-text"),!!b),(0,o.Z)(s,"".concat(t,"-rtl"),"rtl"===l),s),m),v=(0,u.Z)(O,["indicator","prefixCls"]),h=f.createElement("div",(0,r.Z)({},v,{style:Z,className:p,"aria-live":"polite","aria-busy":w}),(c=e.indicator,a="".concat(t,"-dot"),null===c?null:(0,d.l$)(c)?(0,d.Tm)(c,{className:i()(c.props.className,a)}):(0,d.l$)(y)?(0,d.Tm)(y,{className:i()(y.props.className,a)}):f.createElement("span",{className:i()(a,"".concat(t,"-dot-spin"))},f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}))),b?f.createElement("div",{className:"".concat(t,"-text")},b):null);if(void 0!==j){var C=i()("".concat(t,"-container"),(0,o.Z)({},"".concat(t,"-blur"),w));return f.createElement("div",(0,r.Z)({},v,{className:i()("".concat(t,"-nested-loading"),g)}),w&&f.createElement("div",{key:"loading"},h),f.createElement("div",{className:C,key:"container"},j))}return h})},x=function(e){var t=e.prefixCls,n=(0,f.useContext(p.E_).getPrefixCls)("spin",t),o=(0,r.Z)((0,r.Z)({},e),{spinPrefixCls:n});return f.createElement(h,(0,r.Z)({},o))};x.setDefaultIndicator=function(e){y=e},t.Z=x},20550:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(4942),o=n(87462),c=n(97685),a=n(97937),i=n(94184),s=n.n(i),l=n(98423),u=n(67294),f=n(53124),p=n(98787),d=n(68349),m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},y=RegExp("^(".concat(p.Y.join("|"),")(-inverse)?$")),h=RegExp("^(".concat(p.E.join("|"),")$")),x=u.forwardRef(function(e,t){var n,i=e.prefixCls,p=e.className,m=e.style,x=e.children,b=e.icon,g=e.color,Z=e.onClose,j=e.closeIcon,O=e.closable,C=v(e,["prefixCls","className","style","children","icon","color","onClose","closeIcon","closable"]),E=u.useContext(f.E_),w=E.getPrefixCls,k=E.direction,N=u.useState(!0),S=(0,c.Z)(N,2),P=S[0],T=S[1];u.useEffect(function(){"visible"in C&&T(C.visible)},[C.visible]);var _=function(){return!!g&&(y.test(g)||h.test(g))},I=(0,o.Z)({backgroundColor:g&&!_()?g:void 0},m),A=_(),R=w("tag",i),M=s()(R,(n={},(0,r.Z)(n,"".concat(R,"-").concat(g),A),(0,r.Z)(n,"".concat(R,"-has-color"),g&&!A),(0,r.Z)(n,"".concat(R,"-hidden"),!P),(0,r.Z)(n,"".concat(R,"-rtl"),"rtl"===k),n),p),$=function(e){e.stopPropagation(),null==Z||Z(e),!e.defaultPrevented&&("visible"in C||T(!1))},D="onClick"in C||x&&"a"===x.type,W=(0,l.Z)(C,["visible"]),F=b||null,G=F?u.createElement(u.Fragment,null,F,u.createElement("span",null,x)):x,U=u.createElement("span",(0,o.Z)({},W,{ref:t,className:M,style:I}),G,void 0!==O&&O?j?u.createElement("span",{className:"".concat(R,"-close-icon"),onClick:$},j):u.createElement(a.Z,{className:"".concat(R,"-close-icon"),onClick:$}):null);return D?u.createElement(d.Z,null,U):U});x.CheckableTag=function(e){var t,n=e.prefixCls,c=e.className,a=e.checked,i=e.onChange,l=e.onClick,p=m(e,["prefixCls","className","checked","onChange","onClick"]),d=(0,u.useContext(f.E_).getPrefixCls)("tag",n),v=s()(d,(t={},(0,r.Z)(t,"".concat(d,"-checkable"),!0),(0,r.Z)(t,"".concat(d,"-checkable-checked"),a),t),c);return u.createElement("span",(0,o.Z)({},p,{className:v,onClick:function(e){null==i||i(!a),null==l||l(e)}}))};var b=x},93645:function(e,t,n){"use strict";n.d(t,{u:function(){return o}});var r={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function o(e){return e?r[e]:r.trunc}},59910:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(19013),o=n(13882);function c(e,t){return(0,o.Z)(2,arguments),(0,r.Z)(e).getTime()-(0,r.Z)(t).getTime()}},11699:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(59910),o=n(13882),c=n(93645);function a(e,t,n){(0,o.Z)(2,arguments);var a=(0,r.Z)(e,t)/1e3;return(0,c.u)(null==n?void 0:n.roundingMethod)(a)}},62705:function(e,t,n){var r=n(55639).Symbol;e.exports=r},44239:function(e,t,n){var r=n(62705),o=n(89607),c=n(2333),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?o(e):c(e)}},27561:function(e,t,n){var r=n(67990),o=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(o,""):e}},31957:function(e,t,n){var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},89607:function(e,t,n){var r=n(62705),o=Object.prototype,c=o.hasOwnProperty,a=o.toString,i=r?r.toStringTag:void 0;e.exports=function(e){var t=c.call(e,i),n=e[i];try{e[i]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[i]=n:delete e[i]),o}},2333:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},55639:function(e,t,n){var r=n(31957),o="object"==typeof self&&self&&self.Object===Object&&self,c=r||o||Function("return this")();e.exports=c},67990:function(e){var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},23279:function(e,t,n){var r=n(13218),o=n(7771),c=n(14841),a=Math.max,i=Math.min;e.exports=function(e,t,n){var s,l,u,f,p,d,m=0,v=!1,y=!1,h=!0;if("function"!=typeof e)throw TypeError("Expected a function");function x(t){var n=s,r=l;return s=l=void 0,m=t,f=e.apply(r,n)}function b(e){var n=e-d,r=e-m;return void 0===d||n>=t||n<0||y&&r>=u}function g(){var e,n,r,c=o();if(b(c))return Z(c);p=setTimeout(g,(e=c-d,n=c-m,r=t-e,y?i(r,u-n):r))}function Z(e){return(p=void 0,h&&s)?x(e):(s=l=void 0,f)}function j(){var e,n=o(),r=b(n);if(s=arguments,l=this,d=n,r){if(void 0===p)return m=e=d,p=setTimeout(g,t),v?x(e):f;if(y)return clearTimeout(p),p=setTimeout(g,t),x(d)}return void 0===p&&(p=setTimeout(g,t)),f}return t=c(t)||0,r(n)&&(v=!!n.leading,u=(y="maxWait"in n)?a(c(n.maxWait)||0,t):u,h="trailing"in n?!!n.trailing:h),j.cancel=function(){void 0!==p&&clearTimeout(p),m=0,s=d=l=p=void 0},j.flush=function(){return void 0===p?f:Z(o())},j}},13218:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},33448:function(e,t,n){var r=n(44239),o=n(37005);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},7771:function(e,t,n){var r=n(55639);e.exports=function(){return r.Date.now()}},14841:function(e,t,n){var r=n(27561),o=n(13218),c=n(33448),a=0/0,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(c(e))return a;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):i.test(e)?a:+e}},26562:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/access-tokens",function(){return n(23341)}])},23341:function(e,t,n){"use strict";n.r(t);var r=n(85893),o=n(67294),c=n(85818),a=n(94199),i=n(20550),s=n(15746),l=n(32808),u=n(85402),f=n(79531),p=n(71230),d=n(71577),m=n(26713),v=n(54398),y=n(58091),h=n(5152),x=n.n(h),b=n(64777),g=n(6960);let{Title:Z,Paragraph:j}=c.Z,O=x()(()=>Promise.all([n.e(2074),n.e(7949)]).then(n.t.bind(n,77949,23)),{loadableGenerated:{webpack:()=>[77949]},ssr:!1}),C={CAN_SEND_SYSTEM_MESSAGES:{name:"System messages",description:"Can send official messages on behalf of the system.",color:"purple"},CAN_SEND_MESSAGES:{name:"User chat messages",description:"Can send chat messages on behalf of the owner of this token.",color:"green"},HAS_ADMIN_ACCESS:{name:"Has admin access",description:"Can perform administrative actions such as moderation, get server statuses, etc.",color:"red"}},E=e=>{let{onOk:t,onCancel:n,open:c}=e,[a,i]=(0,o.useState)([]),[m,v]=(0,o.useState)(""),y=Object.keys(C).map(e=>({value:e,label:C[e].description})),h={disabled:0===a.length||""===m},x=y.map(e=>(0,r.jsx)(s.Z,{span:8,children:(0,r.jsx)(l.Z,{value:e.value,children:e.label})},e.value));return(0,r.jsxs)(u.Z,{title:"Create New Access token",open:c,onOk:function(){t(m,a),i([]),v("")},onCancel:n,okButtonProps:h,children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("p",{children:"The name will be displayed as the chat user when sending messages with this access token."}),(0,r.jsx)(f.Z,{value:m,placeholder:"Name of bot, service, or integration",onChange:e=>v(e.currentTarget.value)})]}),(0,r.jsx)("p",{children:"Select the permissions this access token will have. It cannot be edited after it's created."}),(0,r.jsx)(l.Z.Group,{style:{width:"100%"},value:a,onChange:function(e){i(e)},children:(0,r.jsx)(p.Z,{children:x})}),(0,r.jsx)("p",{children:(0,r.jsx)(d.Z,{type:"primary",onClick:function(){i(Object.keys(C))},children:"Select all"})})]})},w=()=>{let[e,t]=(0,o.useState)([]),[n,c]=(0,o.useState)(!1);function s(e){console.error("error",e)}async function l(){try{let e=await (0,b.rQ)(b.ms);t(e)}catch(e){s(e)}}async function u(e){try{await (0,b.rQ)(b.Wr,{method:"POST",data:{token:e}}),l()}catch(e){s(e)}}async function p(n,r){try{let o=await (0,b.rQ)(b.IO,{method:"POST",data:{name:n,scopes:r}});t(e.concat(o))}catch(e){s(e)}}(0,o.useEffect)(()=>{l()},[]);let h=()=>{c(!0)},x=(e,t)=>{c(!1),p(e,t)},g=()=>{c(!1)};return(0,r.jsxs)("div",{children:[(0,r.jsx)(Z,{children:"Access Tokens"}),(0,r.jsx)(j,{children:"Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control."}),(0,r.jsxs)(j,{children:["Read more about how to use these tokens, with examples, at"," ",(0,r.jsx)("a",{href:"https://owncast.online/docs/integrations/?source=admin",target:"_blank",rel:"noopener noreferrer",children:"our documentation"}),"."]}),(0,r.jsx)(v.Z,{rowKey:"token",columns:[{title:"",key:"delete",render:(e,t)=>(0,r.jsx)(m.Z,{size:"middle",children:(0,r.jsx)(d.Z,{onClick:()=>u(t.accessToken),icon:(0,r.jsx)(O,{})})})},{title:"Name",dataIndex:"displayName",key:"displayName"},{title:"Token",dataIndex:"accessToken",key:"accessToken",render:e=>(0,r.jsx)(f.Z.Password,{size:"small",bordered:!1,value:e})},{title:"Scopes",dataIndex:"scopes",key:"scopes",render:e=>(0,r.jsx)(r.Fragment,{children:e.map(e=>(function(e){if(!e||!C[e])return null;let t=C[e];return(0,r.jsx)(a.Z,{title:t.description,children:(0,r.jsx)(i.Z,{color:t.color,children:t.name})},e)})(e))})},{title:"Last Used",dataIndex:"lastUsed",key:"lastUsed",render:e=>{if(!e)return"Never";let t=new Date(e);return(0,y.Z)(t,"P p")}}],dataSource:e,pagination:!1}),(0,r.jsx)("br",{}),(0,r.jsx)(d.Z,{type:"primary",onClick:h,children:"Create Access Token"}),(0,r.jsx)(E,{open:n,onOk:x,onCancel:g})]})};w.getLayout=function(e){return(0,r.jsx)(g.l,{page:e})},t.default=w},9008:function(e,t,n){e.exports=n(83121)},11163:function(e,t,n){e.exports=n(80880)},92703:function(e,t,n){"use strict";var r=n(50414);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,c,a){if(a!==r){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return n.PropTypes=n,n}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},function(e){e.O(0,[173,164,2138,31,4931,5402,2231,492,5818,7524,9915,6386,3698,3013,4398,8091,710,6960,9774,2888,179],function(){return e(e.s=26562)}),_N_E=e.O()}]); -//# sourceMappingURL=access-tokens-9d52cc19efec782b.js.map \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9882,9534,1382],{15746:function(e,t,n){"use strict";var r=n(21584);t.Z=r.Z},99134:function(e,t,n){"use strict";var r=(0,n(67294).createContext)({});t.Z=r},21584:function(e,t,n){"use strict";var r=n(4942),o=n(87462),c=n(71002),a=n(94184),i=n.n(a),s=n(67294),l=n(53124),u=n(99134),f=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},p=["xs","sm","md","lg","xl","xxl"],d=s.forwardRef(function(e,t){var n,a=s.useContext(l.E_),d=a.getPrefixCls,m=a.direction,v=s.useContext(u.Z),y=v.gutter,h=v.wrap,x=v.supportFlexGap,b=e.prefixCls,g=e.span,Z=e.order,j=e.offset,O=e.push,C=e.pull,E=e.className,w=e.children,k=e.flex,N=e.style,S=f(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),P=d("col",b),T={};p.forEach(function(t){var n,a={},i=e[t];"number"==typeof i?a.span=i:"object"===(0,c.Z)(i)&&(a=i||{}),delete S[t],T=(0,o.Z)((0,o.Z)({},T),(n={},(0,r.Z)(n,"".concat(P,"-").concat(t,"-").concat(a.span),void 0!==a.span),(0,r.Z)(n,"".concat(P,"-").concat(t,"-order-").concat(a.order),a.order||0===a.order),(0,r.Z)(n,"".concat(P,"-").concat(t,"-offset-").concat(a.offset),a.offset||0===a.offset),(0,r.Z)(n,"".concat(P,"-").concat(t,"-push-").concat(a.push),a.push||0===a.push),(0,r.Z)(n,"".concat(P,"-").concat(t,"-pull-").concat(a.pull),a.pull||0===a.pull),(0,r.Z)(n,"".concat(P,"-rtl"),"rtl"===m),n))});var _=i()(P,(n={},(0,r.Z)(n,"".concat(P,"-").concat(g),void 0!==g),(0,r.Z)(n,"".concat(P,"-order-").concat(Z),Z),(0,r.Z)(n,"".concat(P,"-offset-").concat(j),j),(0,r.Z)(n,"".concat(P,"-push-").concat(O),O),(0,r.Z)(n,"".concat(P,"-pull-").concat(C),C),n),E,T),I={};if(y&&y[0]>0){var A=y[0]/2;I.paddingLeft=A,I.paddingRight=A}if(y&&y[1]>0&&!x){var R=y[1]/2;I.paddingTop=R,I.paddingBottom=R}return k&&(I.flex="number"==typeof k?"".concat(k," ").concat(k," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(k)?"0 0 ".concat(k):k,!1!==h||I.minWidth||(I.minWidth=0)),s.createElement("div",(0,o.Z)({},S,{style:(0,o.Z)((0,o.Z)({},I),N),className:_,ref:t}),w)});t.Z=d},92820:function(e,t,n){"use strict";var r=n(87462),o=n(4942),c=n(71002),a=n(97685),i=n(94184),s=n.n(i),l=n(67294),u=n(53124),f=n(98082),p=n(24308),d=n(93355),m=n(99134),v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function y(e,t){var n=l.useState("string"==typeof e?e:""),r=(0,a.Z)(n,2),o=r[0],i=r[1],s=function(){if("object"===(0,c.Z)(e))for(var n=0;n0?-(U[0]/2):void 0,H=null!=U[1]&&U[1]>0?-(U[1]/2):void 0;if(B&&(z.marginLeft=B,z.marginRight=B),W){var Y=(0,a.Z)(U,2);z.rowGap=Y[1]}else H&&(z.marginTop=H,z.marginBottom=H);var Q=(0,a.Z)(U,2),V=Q[0],X=Q[1],q=l.useMemo(function(){return{gutter:[V,X],wrap:C,supportFlexGap:W}},[V,X,C,W]);return l.createElement(m.Z.Provider,{value:q},l.createElement("div",(0,r.Z)({},E,{className:L,style:(0,r.Z)((0,r.Z)({},z),g),ref:t}),Z))});t.Z=h},97183:function(e,t,n){"use strict";var r=n(2897),o=n(7293),c=r.ZP;c.Header=r.h4,c.Footer=r.$_,c.Content=r.VY,c.Sider=o.Z,t.Z=c},71230:function(e,t,n){"use strict";var r=n(92820);t.Z=r.Z},11382:function(e,t,n){"use strict";var r=n(87462),o=n(4942),c=n(97685),a=n(94184),i=n.n(a),s=n(23279),l=n.n(s),u=n(98423),f=n(67294),p=n(53124),d=n(96159),m=n(93355),v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};(0,m.b)("small","default","large");var y=null,h=function(e){var t=e.spinPrefixCls,n=e.spinning,a=void 0===n||n,s=e.delay,m=e.className,h=e.size,x=void 0===h?"default":h,b=e.tip,g=e.wrapperClassName,Z=e.style,j=e.children,O=v(e,["spinPrefixCls","spinning","delay","className","size","tip","wrapperClassName","style","children"]),C=f.useState(function(){return a&&(!a||!s||!!isNaN(Number(s)))}),E=(0,c.Z)(C,2),w=E[0],k=E[1];return f.useEffect(function(){var e=l()(function(){k(a)},s);return e(),function(){var t;null===(t=null==e?void 0:e.cancel)||void 0===t||t.call(e)}},[s,a]),f.createElement(p.C,null,function(n){var c,a,s,l=n.direction,p=i()(t,(s={},(0,o.Z)(s,"".concat(t,"-sm"),"small"===x),(0,o.Z)(s,"".concat(t,"-lg"),"large"===x),(0,o.Z)(s,"".concat(t,"-spinning"),w),(0,o.Z)(s,"".concat(t,"-show-text"),!!b),(0,o.Z)(s,"".concat(t,"-rtl"),"rtl"===l),s),m),v=(0,u.Z)(O,["indicator","prefixCls"]),h=f.createElement("div",(0,r.Z)({},v,{style:Z,className:p,"aria-live":"polite","aria-busy":w}),(c=e.indicator,a="".concat(t,"-dot"),null===c?null:(0,d.l$)(c)?(0,d.Tm)(c,{className:i()(c.props.className,a)}):(0,d.l$)(y)?(0,d.Tm)(y,{className:i()(y.props.className,a)}):f.createElement("span",{className:i()(a,"".concat(t,"-dot-spin"))},f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}),f.createElement("i",{className:"".concat(t,"-dot-item")}))),b?f.createElement("div",{className:"".concat(t,"-text")},b):null);if(void 0!==j){var C=i()("".concat(t,"-container"),(0,o.Z)({},"".concat(t,"-blur"),w));return f.createElement("div",(0,r.Z)({},v,{className:i()("".concat(t,"-nested-loading"),g)}),w&&f.createElement("div",{key:"loading"},h),f.createElement("div",{className:C,key:"container"},j))}return h})},x=function(e){var t=e.prefixCls,n=(0,f.useContext(p.E_).getPrefixCls)("spin",t),o=(0,r.Z)((0,r.Z)({},e),{spinPrefixCls:n});return f.createElement(h,(0,r.Z)({},o))};x.setDefaultIndicator=function(e){y=e},t.Z=x},20550:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(4942),o=n(87462),c=n(97685),a=n(97937),i=n(94184),s=n.n(i),l=n(98423),u=n(67294),f=n(53124),p=n(98787),d=n(68349),m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},y=RegExp("^(".concat(p.Y.join("|"),")(-inverse)?$")),h=RegExp("^(".concat(p.E.join("|"),")$")),x=u.forwardRef(function(e,t){var n,i=e.prefixCls,p=e.className,m=e.style,x=e.children,b=e.icon,g=e.color,Z=e.onClose,j=e.closeIcon,O=e.closable,C=v(e,["prefixCls","className","style","children","icon","color","onClose","closeIcon","closable"]),E=u.useContext(f.E_),w=E.getPrefixCls,k=E.direction,N=u.useState(!0),S=(0,c.Z)(N,2),P=S[0],T=S[1];u.useEffect(function(){"visible"in C&&T(C.visible)},[C.visible]);var _=function(){return!!g&&(y.test(g)||h.test(g))},I=(0,o.Z)({backgroundColor:g&&!_()?g:void 0},m),A=_(),R=w("tag",i),M=s()(R,(n={},(0,r.Z)(n,"".concat(R,"-").concat(g),A),(0,r.Z)(n,"".concat(R,"-has-color"),g&&!A),(0,r.Z)(n,"".concat(R,"-hidden"),!P),(0,r.Z)(n,"".concat(R,"-rtl"),"rtl"===k),n),p),$=function(e){e.stopPropagation(),null==Z||Z(e),!e.defaultPrevented&&("visible"in C||T(!1))},D="onClick"in C||x&&"a"===x.type,W=(0,l.Z)(C,["visible"]),F=b||null,G=F?u.createElement(u.Fragment,null,F,u.createElement("span",null,x)):x,U=u.createElement("span",(0,o.Z)({},W,{ref:t,className:M,style:I}),G,void 0!==O&&O?j?u.createElement("span",{className:"".concat(R,"-close-icon"),onClick:$},j):u.createElement(a.Z,{className:"".concat(R,"-close-icon"),onClick:$}):null);return D?u.createElement(d.Z,null,U):U});x.CheckableTag=function(e){var t,n=e.prefixCls,c=e.className,a=e.checked,i=e.onChange,l=e.onClick,p=m(e,["prefixCls","className","checked","onChange","onClick"]),d=(0,u.useContext(f.E_).getPrefixCls)("tag",n),v=s()(d,(t={},(0,r.Z)(t,"".concat(d,"-checkable"),!0),(0,r.Z)(t,"".concat(d,"-checkable-checked"),a),t),c);return u.createElement("span",(0,o.Z)({},p,{className:v,onClick:function(e){null==i||i(!a),null==l||l(e)}}))};var b=x},93645:function(e,t,n){"use strict";n.d(t,{u:function(){return o}});var r={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function o(e){return e?r[e]:r.trunc}},59910:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(19013),o=n(13882);function c(e,t){return(0,o.Z)(2,arguments),(0,r.Z)(e).getTime()-(0,r.Z)(t).getTime()}},11699:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(59910),o=n(13882),c=n(93645);function a(e,t,n){(0,o.Z)(2,arguments);var a=(0,r.Z)(e,t)/1e3;return(0,c.u)(null==n?void 0:n.roundingMethod)(a)}},62705:function(e,t,n){var r=n(55639).Symbol;e.exports=r},44239:function(e,t,n){var r=n(62705),o=n(89607),c=n(2333),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?o(e):c(e)}},27561:function(e,t,n){var r=n(67990),o=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(o,""):e}},31957:function(e,t,n){var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},89607:function(e,t,n){var r=n(62705),o=Object.prototype,c=o.hasOwnProperty,a=o.toString,i=r?r.toStringTag:void 0;e.exports=function(e){var t=c.call(e,i),n=e[i];try{e[i]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[i]=n:delete e[i]),o}},2333:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},55639:function(e,t,n){var r=n(31957),o="object"==typeof self&&self&&self.Object===Object&&self,c=r||o||Function("return this")();e.exports=c},67990:function(e){var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},23279:function(e,t,n){var r=n(13218),o=n(7771),c=n(14841),a=Math.max,i=Math.min;e.exports=function(e,t,n){var s,l,u,f,p,d,m=0,v=!1,y=!1,h=!0;if("function"!=typeof e)throw TypeError("Expected a function");function x(t){var n=s,r=l;return s=l=void 0,m=t,f=e.apply(r,n)}function b(e){var n=e-d,r=e-m;return void 0===d||n>=t||n<0||y&&r>=u}function g(){var e,n,r,c=o();if(b(c))return Z(c);p=setTimeout(g,(e=c-d,n=c-m,r=t-e,y?i(r,u-n):r))}function Z(e){return(p=void 0,h&&s)?x(e):(s=l=void 0,f)}function j(){var e,n=o(),r=b(n);if(s=arguments,l=this,d=n,r){if(void 0===p)return m=e=d,p=setTimeout(g,t),v?x(e):f;if(y)return clearTimeout(p),p=setTimeout(g,t),x(d)}return void 0===p&&(p=setTimeout(g,t)),f}return t=c(t)||0,r(n)&&(v=!!n.leading,u=(y="maxWait"in n)?a(c(n.maxWait)||0,t):u,h="trailing"in n?!!n.trailing:h),j.cancel=function(){void 0!==p&&clearTimeout(p),m=0,s=d=l=p=void 0},j.flush=function(){return void 0===p?f:Z(o())},j}},13218:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},33448:function(e,t,n){var r=n(44239),o=n(37005);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},7771:function(e,t,n){var r=n(55639);e.exports=function(){return r.Date.now()}},14841:function(e,t,n){var r=n(27561),o=n(13218),c=n(33448),a=0/0,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(c(e))return a;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):i.test(e)?a:+e}},26562:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/access-tokens",function(){return n(23341)}])},23341:function(e,t,n){"use strict";n.r(t);var r=n(85893),o=n(67294),c=n(85818),a=n(94199),i=n(20550),s=n(15746),l=n(32808),u=n(85402),f=n(79531),p=n(71230),d=n(71577),m=n(26713),v=n(54398),y=n(58091),h=n(5152),x=n.n(h),b=n(64777),g=n(6960);let{Title:Z,Paragraph:j}=c.Z,O=x()(()=>Promise.all([n.e(2074),n.e(7949)]).then(n.t.bind(n,77949,23)),{loadableGenerated:{webpack:()=>[77949]},ssr:!1}),C={CAN_SEND_SYSTEM_MESSAGES:{name:"System messages",description:"Can send official messages on behalf of the system.",color:"purple"},CAN_SEND_MESSAGES:{name:"User chat messages",description:"Can send chat messages on behalf of the owner of this token.",color:"green"},HAS_ADMIN_ACCESS:{name:"Has admin access",description:"Can perform administrative actions such as moderation, get server statuses, etc.",color:"red"}},E=e=>{let{onOk:t,onCancel:n,open:c}=e,[a,i]=(0,o.useState)([]),[m,v]=(0,o.useState)(""),y=Object.keys(C).map(e=>({value:e,label:C[e].description})),h={disabled:0===a.length||""===m},x=y.map(e=>(0,r.jsx)(s.Z,{span:8,children:(0,r.jsx)(l.Z,{value:e.value,children:e.label})},e.value));return(0,r.jsxs)(u.Z,{title:"Create New Access token",open:c,onOk:function(){t(m,a),i([]),v("")},onCancel:n,okButtonProps:h,children:[(0,r.jsxs)("p",{children:[(0,r.jsx)("p",{children:"The name will be displayed as the chat user when sending messages with this access token."}),(0,r.jsx)(f.Z,{value:m,placeholder:"Name of bot, service, or integration",onChange:e=>v(e.currentTarget.value)})]}),(0,r.jsx)("p",{children:"Select the permissions this access token will have. It cannot be edited after it's created."}),(0,r.jsx)(l.Z.Group,{style:{width:"100%"},value:a,onChange:function(e){i(e)},children:(0,r.jsx)(p.Z,{children:x})}),(0,r.jsx)("p",{children:(0,r.jsx)(d.Z,{type:"primary",onClick:function(){i(Object.keys(C))},children:"Select all"})})]})},w=()=>{let[e,t]=(0,o.useState)([]),[n,c]=(0,o.useState)(!1);function s(e){console.error("error",e)}async function l(){try{let e=await (0,b.rQ)(b.ms);t(e)}catch(e){s(e)}}async function u(e){try{await (0,b.rQ)(b.Wr,{method:"POST",data:{token:e}}),l()}catch(e){s(e)}}async function p(n,r){try{let o=await (0,b.rQ)(b.IO,{method:"POST",data:{name:n,scopes:r}});t(e.concat(o))}catch(e){s(e)}}(0,o.useEffect)(()=>{l()},[]);let h=()=>{c(!0)},x=(e,t)=>{c(!1),p(e,t)},g=()=>{c(!1)};return(0,r.jsxs)("div",{children:[(0,r.jsx)(Z,{children:"Access Tokens"}),(0,r.jsx)(j,{children:"Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control."}),(0,r.jsxs)(j,{children:["Read more about how to use these tokens, with examples, at"," ",(0,r.jsx)("a",{href:"https://owncast.online/docs/integrations/?source=admin",target:"_blank",rel:"noopener noreferrer",children:"our documentation"}),"."]}),(0,r.jsx)(v.Z,{rowKey:"token",columns:[{title:"",key:"delete",render:(e,t)=>(0,r.jsx)(m.Z,{size:"middle",children:(0,r.jsx)(d.Z,{onClick:()=>u(t.accessToken),icon:(0,r.jsx)(O,{})})})},{title:"Name",dataIndex:"displayName",key:"displayName"},{title:"Token",dataIndex:"accessToken",key:"accessToken",render:e=>(0,r.jsx)(f.Z.Password,{size:"small",bordered:!1,value:e})},{title:"Scopes",dataIndex:"scopes",key:"scopes",render:e=>(0,r.jsx)(r.Fragment,{children:e.map(e=>(function(e){if(!e||!C[e])return null;let t=C[e];return(0,r.jsx)(a.Z,{title:t.description,children:(0,r.jsx)(i.Z,{color:t.color,children:t.name})},e)})(e))})},{title:"Last Used",dataIndex:"lastUsed",key:"lastUsed",render:e=>{if(!e)return"Never";let t=new Date(e);return(0,y.Z)(t,"P p")}}],dataSource:e,pagination:!1}),(0,r.jsx)("br",{}),(0,r.jsx)(d.Z,{type:"primary",onClick:h,children:"Create Access Token"}),(0,r.jsx)(E,{open:n,onOk:x,onCancel:g})]})};w.getLayout=function(e){return(0,r.jsx)(g.l,{page:e})},t.default=w},9008:function(e,t,n){e.exports=n(83121)},11163:function(e,t,n){e.exports=n(80880)},92703:function(e,t,n){"use strict";var r=n(50414);function o(){}function c(){}c.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,c,a){if(a!==r){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:o};return n.PropTypes=n,n}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},function(e){e.O(0,[173,164,2138,31,4931,5402,2231,492,5818,7524,9915,6386,3698,3013,4398,8091,180,6960,9774,2888,179],function(){return e(e.s=26562)}),_N_E=e.O()}]); +//# sourceMappingURL=access-tokens-81cc2f32d2b56909.js.map \ No newline at end of file diff --git a/static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js.map b/static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js.map similarity index 99% rename from static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js.map rename to static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js.map index 2943dc2d3..8c8bdcc2d 100644 --- a/static/web/_next/static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js.map +++ b/static/web/_next/static/chunks/pages/admin/access-tokens-81cc2f32d2b56909.js.map @@ -1 +1 @@ -{"version":3,"file":"static/chunks/pages/admin/access-tokens-9d52cc19efec782b.js","mappings":"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","sources":["webpack://_N_E/./node_modules/antd/es/col/index.js","webpack://_N_E/./node_modules/antd/es/grid/RowContext.js","webpack://_N_E/./node_modules/antd/es/grid/col.js","webpack://_N_E/./node_modules/antd/es/grid/row.js","webpack://_N_E/./node_modules/antd/es/layout/index.js","webpack://_N_E/./node_modules/antd/es/row/index.js","webpack://_N_E/./node_modules/antd/es/spin/index.js","webpack://_N_E/./node_modules/antd/es/tag/CheckableTag.js","webpack://_N_E/./node_modules/antd/es/tag/index.js","webpack://_N_E/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://_N_E/./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://_N_E/./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://_N_E/./node_modules/lodash/_Symbol.js","webpack://_N_E/./node_modules/lodash/_baseGetTag.js","webpack://_N_E/./node_modules/lodash/_baseTrim.js","webpack://_N_E/./node_modules/lodash/_freeGlobal.js","webpack://_N_E/./node_modules/lodash/_getRawTag.js","webpack://_N_E/./node_modules/lodash/_objectToString.js","webpack://_N_E/./node_modules/lodash/_root.js","webpack://_N_E/./node_modules/lodash/_trimmedEndIndex.js","webpack://_N_E/./node_modules/lodash/debounce.js","webpack://_N_E/./node_modules/lodash/isObject.js","webpack://_N_E/./node_modules/lodash/isObjectLike.js","webpack://_N_E/./node_modules/lodash/isSymbol.js","webpack://_N_E/./node_modules/lodash/now.js","webpack://_N_E/./node_modules/lodash/toNumber.js","webpack://_N_E/?157f","webpack://_N_E/./pages/admin/access-tokens.tsx","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/"],"sourcesContent":["import { Col } from '../grid';\nexport default Col;","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return \"\".concat(flex, \" \").concat(flex, \" auto\");\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return \"0 0 \".concat(flex);\n }\n return flex;\n}\nvar sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nvar Col = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useContext2 = React.useContext(RowContext),\n gutter = _React$useContext2.gutter,\n wrap = _React$useContext2.wrap,\n supportFlexGap = _React$useContext2.supportFlexGap;\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n var sizeClassObj = {};\n sizes.forEach(function (size) {\n var _extends2;\n var sizeProps = {};\n var propSize = props[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === 'object') {\n sizeProps = propSize || {};\n }\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-\").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-order-\").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-offset-\").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-push-\").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-pull-\").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _extends2));\n });\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(span), span !== undefined), _defineProperty(_classNames, \"\".concat(prefixCls, \"-order-\").concat(order), order), _defineProperty(_classNames, \"\".concat(prefixCls, \"-offset-\").concat(offset), offset), _defineProperty(_classNames, \"\".concat(prefixCls, \"-push-\").concat(push), push), _defineProperty(_classNames, \"\".concat(prefixCls, \"-pull-\").concat(pull), pull), _classNames), className, sizeClassObj);\n var mergedStyle = {};\n // Horizontal gutter use padding\n if (gutter && gutter[0] > 0) {\n var horizontalGutter = gutter[0] / 2;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n }\n // Vertical gutter use padding when gap not support\n if (gutter && gutter[1] > 0 && !supportFlexGap) {\n var verticalGutter = gutter[1] / 2;\n mergedStyle.paddingTop = verticalGutter;\n mergedStyle.paddingBottom = verticalGutter;\n }\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n if (wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n style: _extends(_extends({}, mergedStyle), style),\n className: classes,\n ref: ref\n }), children);\n});\nif (process.env.NODE_ENV !== 'production') {\n Col.displayName = 'Col';\n}\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport { tuple } from '../_util/type';\nimport RowContext from './RowContext';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between', 'space-evenly');\nfunction useMergePropByScreen(oriProp, screen) {\n var _React$useState = React.useState(typeof oriProp === 'string' ? oriProp : ''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prop = _React$useState2[0],\n setProp = _React$useState2[1];\n var clacMergeAlignOrJustify = function clacMergeAlignOrJustify() {\n if (_typeof(oriProp) !== 'object') {\n return;\n }\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n // if do not match, do nothing\n if (!screen[breakpoint]) continue;\n var curVal = oriProp[breakpoint];\n if (curVal !== undefined) {\n setProp(curVal);\n return;\n }\n }\n };\n React.useEffect(function () {\n clacMergeAlignOrJustify();\n }, [JSON.stringify(oriProp), screen]);\n return prop;\n}\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter,\n wrap = props.wrap,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useState3 = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n screens = _React$useState4[0],\n setScreens = _React$useState4[1];\n // to save screens info when responsiveObserve callback had been call\n var _React$useState5 = React.useState({\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n curScreens = _React$useState6[0],\n setCurScreens = _React$useState6[1];\n // ================================== calc reponsive data ==================================\n var mergeAlign = useMergePropByScreen(align, curScreens);\n var mergeJustify = useMergePropByScreen(justify, curScreens);\n var supportFlexGap = useFlexGapSupport();\n var gutterRef = React.useRef(gutter);\n // ================================== Effect ==================================\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n setCurScreens(screen);\n var currentGutter = gutterRef.current || 0;\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []);\n // ================================== Render ==================================\n var getGutter = function getGutter() {\n var results = [undefined, undefined];\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g;\n }\n });\n return results;\n };\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var gutters = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-no-wrap\"), wrap === false), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergeJustify), mergeJustify), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(mergeAlign), mergeAlign), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n // Add gutter related style\n var rowStyle = {};\n var horizontalGutter = gutters[0] != null && gutters[0] > 0 ? gutters[0] / -2 : undefined;\n var verticalGutter = gutters[1] != null && gutters[1] > 0 ? gutters[1] / -2 : undefined;\n if (horizontalGutter) {\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n if (supportFlexGap) {\n // Set gap direct if flex gap support\n var _gutters = _slicedToArray(gutters, 2);\n rowStyle.rowGap = _gutters[1];\n } else if (verticalGutter) {\n rowStyle.marginTop = verticalGutter;\n rowStyle.marginBottom = verticalGutter;\n }\n // \"gutters\" is a new array in each rendering phase, it'll make 'React.useMemo' effectless.\n // So we deconstruct \"gutters\" variable here.\n var _gutters2 = _slicedToArray(gutters, 2),\n gutterH = _gutters2[0],\n gutterV = _gutters2[1];\n var rowContext = React.useMemo(function () {\n return {\n gutter: [gutterH, gutterV],\n wrap: wrap,\n supportFlexGap: supportFlexGap\n };\n }, [gutterH, gutterV, wrap, supportFlexGap]);\n return /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes,\n style: _extends(_extends({}, rowStyle), style),\n ref: ref\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Row.displayName = 'Row';\n}\nexport default Row;","import InternalLayout, { Content, Footer, Header } from './layout';\nimport Sider from './Sider';\nvar Layout = InternalLayout;\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\nLayout.Sider = Sider;\nexport default Layout;","import { Row } from '../grid';\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigConsumer, ConfigContext } from '../config-provider';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport { tuple } from '../_util/type';\nvar SpinSizes = tuple('small', 'default', 'large');\n// Render indicator\nvar defaultIndicator = null;\nfunction renderIndicator(prefixCls, props) {\n var indicator = props.indicator;\n var dotClassName = \"\".concat(prefixCls, \"-dot\");\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, {\n className: classNames(indicator.props.className, dotClassName)\n });\n }\n if (isValidElement(defaultIndicator)) {\n return cloneElement(defaultIndicator, {\n className: classNames(defaultIndicator.props.className, dotClassName)\n });\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(dotClassName, \"\".concat(prefixCls, \"-dot-spin\"))\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }), /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-dot-item\")\n }));\n}\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\nvar Spin = function Spin(props) {\n var prefixCls = props.spinPrefixCls,\n _props$spinning = props.spinning,\n customSpinning = _props$spinning === void 0 ? true : _props$spinning,\n delay = props.delay,\n className = props.className,\n _props$size = props.size,\n size = _props$size === void 0 ? 'default' : _props$size,\n tip = props.tip,\n wrapperClassName = props.wrapperClassName,\n style = props.style,\n children = props.children,\n restProps = __rest(props, [\"spinPrefixCls\", \"spinning\", \"delay\", \"className\", \"size\", \"tip\", \"wrapperClassName\", \"style\", \"children\"]);\n var _React$useState = React.useState(function () {\n return customSpinning && !shouldDelay(customSpinning, delay);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n spinning = _React$useState2[0],\n setSpinning = _React$useState2[1];\n React.useEffect(function () {\n var updateSpinning = debounce(function () {\n setSpinning(customSpinning);\n }, delay);\n updateSpinning();\n return function () {\n var _a;\n (_a = updateSpinning === null || updateSpinning === void 0 ? void 0 : updateSpinning.cancel) === null || _a === void 0 ? void 0 : _a.call(updateSpinning);\n };\n }, [delay, customSpinning]);\n var isNestedPattern = function isNestedPattern() {\n return typeof children !== 'undefined';\n };\n var renderSpin = function renderSpin(_ref) {\n var _classNames;\n var direction = _ref.direction;\n var spinClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spinning\"), spinning), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-text\"), !!tip), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n // fix https://fb.me/react-unknown-prop\n var divProps = omit(restProps, ['indicator', 'prefixCls']);\n var spinElement = /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n style: style,\n className: spinClassName,\n \"aria-live\": \"polite\",\n \"aria-busy\": spinning\n }), renderIndicator(prefixCls, props), tip ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-text\")\n }, tip) : null);\n if (isNestedPattern()) {\n var containerClassName = classNames(\"\".concat(prefixCls, \"-container\"), _defineProperty({}, \"\".concat(prefixCls, \"-blur\"), spinning));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n className: classNames(\"\".concat(prefixCls, \"-nested-loading\"), wrapperClassName)\n }), spinning && /*#__PURE__*/React.createElement(\"div\", {\n key: \"loading\"\n }, spinElement), /*#__PURE__*/React.createElement(\"div\", {\n className: containerClassName,\n key: \"container\"\n }, children));\n }\n return spinElement;\n };\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, renderSpin);\n};\nvar SpinFC = function SpinFC(props) {\n var customizePrefixCls = props.prefixCls;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var spinPrefixCls = getPrefixCls('spin', customizePrefixCls);\n var spinClassProps = _extends(_extends({}, props), {\n spinPrefixCls: spinPrefixCls\n });\n return /*#__PURE__*/React.createElement(Spin, _extends({}, spinClassProps));\n};\nSpinFC.setDefaultIndicator = function (indicator) {\n defaultIndicator = indicator;\n};\nif (process.env.NODE_ENV !== 'production') {\n SpinFC.displayName = 'Spin';\n}\nexport default SpinFC;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nvar CheckableTag = function CheckableTag(_a) {\n var _classNames;\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n checked = _a.checked,\n onChange = _a.onChange,\n onClick = _a.onClick,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var handleClick = function handleClick(e) {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checkable\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-checkable-checked\"), checked), _classNames), className);\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, restProps, {\n className: cls,\n onClick: handleClick\n }));\n};\nexport default CheckableTag;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { PresetColorTypes, PresetStatusColorTypes } from '../_util/colors';\nimport Wave from '../_util/wave';\nimport warning from '../_util/warning';\nimport CheckableTag from './CheckableTag';\nvar PresetColorRegex = new RegExp(\"^(\".concat(PresetColorTypes.join('|'), \")(-inverse)?$\"));\nvar PresetStatusColorRegex = new RegExp(\"^(\".concat(PresetStatusColorTypes.join('|'), \")$\"));\nvar InternalTag = function InternalTag(_a, ref) {\n var _classNames;\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n style = _a.style,\n children = _a.children,\n icon = _a.icon,\n color = _a.color,\n onClose = _a.onClose,\n closeIcon = _a.closeIcon,\n _a$closable = _a.closable,\n closable = _a$closable === void 0 ? false : _a$closable,\n props = __rest(_a, [\"prefixCls\", \"className\", \"style\", \"children\", \"icon\", \"color\", \"onClose\", \"closeIcon\", \"closable\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Tag', '`visible` will be removed in next major version, please use `visible && ` instead.') : void 0;\n }\n React.useEffect(function () {\n if ('visible' in props) {\n setVisible(props.visible);\n }\n }, [props.visible]);\n var isPresetColor = function isPresetColor() {\n if (!color) {\n return false;\n }\n return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);\n };\n var tagStyle = _extends({\n backgroundColor: color && !isPresetColor() ? color : undefined\n }, style);\n var presetColor = isPresetColor();\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n var tagClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(color), presetColor), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-color\"), color && !presetColor), _defineProperty(_classNames, \"\".concat(prefixCls, \"-hidden\"), !visible), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n var handleCloseClick = function handleCloseClick(e) {\n e.stopPropagation();\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n if (e.defaultPrevented) {\n return;\n }\n if (!('visible' in props)) {\n setVisible(false);\n }\n };\n var renderCloseIcon = function renderCloseIcon() {\n if (closable) {\n return closeIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-icon\"),\n onClick: handleCloseClick\n }, closeIcon) : /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-close-icon\"),\n onClick: handleCloseClick\n });\n }\n return null;\n };\n var isNeedWave = 'onClick' in props || children && children.type === 'a';\n var tagProps = omit(props, ['visible']);\n var iconNode = icon || null;\n var kids = iconNode ? /*#__PURE__*/React.createElement(React.Fragment, null, iconNode, /*#__PURE__*/React.createElement(\"span\", null, children)) : children;\n var tagNode = /*#__PURE__*/React.createElement(\"span\", _extends({}, tagProps, {\n ref: ref,\n className: tagClassName,\n style: tagStyle\n }), kids, renderCloseIcon());\n return isNeedWave ? /*#__PURE__*/React.createElement(Wave, null, tagNode) : tagNode;\n};\nvar Tag = /*#__PURE__*/React.forwardRef(InternalTag);\nif (process.env.NODE_ENV !== 'production') {\n Tag.displayName = 'Tag';\n}\nTag.CheckableTag = CheckableTag;\nexport default Tag;","var roundingMap = {\n ceil: Math.ceil,\n round: Math.round,\n floor: Math.floor,\n trunc: function trunc(value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n } // Math.trunc is not supported by IE\n\n};\nvar defaultRoundingMethod = 'trunc';\nexport function getRoundingMethod(method) {\n return method ? roundingMap[method] : roundingMap[defaultRoundingMethod];\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\n\nexport default function differenceInMilliseconds(dateLeft, dateRight) {\n requiredArgs(2, arguments);\n return toDate(dateLeft).getTime() - toDate(dateRight).getTime();\n}","import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getRoundingMethod } from \"../_lib/roundingMethods/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {String} [options.roundingMethod='trunc'] - a rounding method (`ceil`, `floor`, `round` or `trunc`)\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\n\nexport default function differenceInSeconds(dateLeft, dateRight, options) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);\n}","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/admin/access-tokens\",\n function () {\n return require(\"private-next-pages/admin/access-tokens.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/admin/access-tokens\"])\n });\n }\n ","import React, { useState, useEffect, ReactElement } from 'react';\nimport {\n Table,\n Tag,\n Space,\n Button,\n Modal,\n Checkbox,\n Input,\n Typography,\n Row,\n Col,\n Tooltip,\n} from 'antd';\n\nimport format from 'date-fns/format';\n\nimport dynamic from 'next/dynamic';\nimport {\n fetchData,\n ACCESS_TOKENS,\n DELETE_ACCESS_TOKEN,\n CREATE_ACCESS_TOKEN,\n} from '../../utils/apis';\n\nimport { AdminLayout } from '../../components/layouts/AdminLayout';\n\nconst { Title, Paragraph } = Typography;\n\n// Lazy loaded components\n\nconst DeleteOutlined = dynamic(() => import('@ant-design/icons/DeleteOutlined'), {\n ssr: false,\n});\n\nconst availableScopes = {\n CAN_SEND_SYSTEM_MESSAGES: {\n name: 'System messages',\n description: 'Can send official messages on behalf of the system.',\n color: 'purple',\n },\n CAN_SEND_MESSAGES: {\n name: 'User chat messages',\n description: 'Can send chat messages on behalf of the owner of this token.',\n color: 'green',\n },\n HAS_ADMIN_ACCESS: {\n name: 'Has admin access',\n description: 'Can perform administrative actions such as moderation, get server statuses, etc.',\n color: 'red',\n },\n};\n\nfunction convertScopeStringToTag(scopeString: string) {\n if (!scopeString || !availableScopes[scopeString]) {\n return null;\n }\n\n const scope = availableScopes[scopeString];\n\n return (\n \n {scope.name}\n \n );\n}\n\ninterface Props {\n onCancel: () => void;\n onOk: any; // todo: make better type\n open: boolean;\n}\nconst NewTokenModal = (props: Props) => {\n const { onOk, onCancel, open } = props;\n const [selectedScopes, setSelectedScopes] = useState([]);\n const [name, setName] = useState('');\n\n const scopes = Object.keys(availableScopes).map(key => ({\n value: key,\n label: availableScopes[key].description,\n }));\n\n function onChange(checkedValues) {\n setSelectedScopes(checkedValues);\n }\n\n function saveToken() {\n onOk(name, selectedScopes);\n\n // Clear the modal\n setSelectedScopes([]);\n setName('');\n }\n\n const okButtonProps = {\n disabled: selectedScopes.length === 0 || name === '',\n };\n\n function selectAll() {\n setSelectedScopes(Object.keys(availableScopes));\n }\n const checkboxes = scopes.map(singleEvent => (\n \n {singleEvent.label}\n \n ));\n\n return (\n \n

\n

\n The name will be displayed as the chat user when sending messages with this access token.\n

\n setName(input.currentTarget.value)}\n />\n

\n\n

\n Select the permissions this access token will have. It cannot be edited after it's\n created.\n

\n \n {checkboxes}\n \n\n

\n \n

\n \n );\n};\n\nconst AccessTokens = () => {\n const [tokens, setTokens] = useState([]);\n const [isTokenModalOpen, setIsTokenModalOpen] = useState(false);\n\n function handleError(error) {\n console.error('error', error);\n }\n\n async function getAccessTokens() {\n try {\n const result = await fetchData(ACCESS_TOKENS);\n setTokens(result);\n } catch (error) {\n handleError(error);\n }\n }\n useEffect(() => {\n getAccessTokens();\n }, []);\n\n async function handleDeleteToken(token) {\n try {\n await fetchData(DELETE_ACCESS_TOKEN, {\n method: 'POST',\n data: { token },\n });\n getAccessTokens();\n } catch (error) {\n handleError(error);\n }\n }\n\n async function handleSaveToken(name: string, scopes: string[]) {\n try {\n const newToken = await fetchData(CREATE_ACCESS_TOKEN, {\n method: 'POST',\n data: { name, scopes },\n });\n setTokens(tokens.concat(newToken));\n } catch (error) {\n handleError(error);\n }\n }\n\n const columns = [\n {\n title: '',\n key: 'delete',\n render: (text, record) => (\n \n

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Access Tokens

Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control.
Read more about how to use these tokens, with examples, at our documentation.
NameTokenScopesLast Used
No data

diff --git a/static/web/admin/actions/index.html b/static/web/admin/actions/index.html index 25443b000..57878995f 100644 --- a/static/web/admin/actions/index.html +++ b/static/web/admin/actions/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No data

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No data

diff --git a/static/web/admin/chat/emojis/index.html b/static/web/admin/chat/emojis/index.html index 1626dd35f..1b4496cb8 100644 --- a/static/web/admin/chat/emojis/index.html +++ b/static/web/admin/chat/emojis/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Emojis

Here you can upload new custom emojis for usage in the chat. When uploading a new emoji, the filename will be used as emoji name.
NameEmoji
No data

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Emojis

Here you can upload new custom emojis for usage in the chat. When uploading a new emoji, the filename will be used as emoji name.
NameEmoji
No data

diff --git a/static/web/admin/chat/messages/index.html b/static/web/admin/chat/messages/index.html index 9e60dbf0d..0aa389f45 100644 --- a/static/web/admin/chat/messages/index.html +++ b/static/web/admin/chat/messages/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No data
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No data
diff --git a/static/web/admin/chat/users/index.html b/static/web/admin/chat/users/index.html index 24acfa3db..916fd2464 100644 --- a/static/web/admin/chat/users/index.html +++ b/static/web/admin/chat/users/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

diff --git a/static/web/admin/config-chat/index.html b/static/web/admin/config-chat/index.html index cc4b7efc2..60aaff2f2 100644 --- a/static/web/admin/config-chat/index.html +++ b/static/web/admin/config-chat/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline
diff --git a/static/web/admin/config-federation/index.html b/static/web/admin/config-federation/index.html index 10c8a311a..20b38be8b 100644 --- a/static/web/admin/config-federation/index.html +++ b/static/web/admin/config-federation/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline
diff --git a/static/web/admin/config-notify/index.html b/static/web/admin/config-notify/index.html index ed23fb6b7..6a790f06f 100644 --- a/static/web/admin/config-notify/index.html +++ b/static/web/admin/config-notify/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Custom

Build your own notifications by using custom webhooks.

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Custom

Build your own notifications by using custom webhooks.

diff --git a/static/web/admin/config-social-items/index.html b/static/web/admin/config-social-items/index.html index 83fc5643c..1858e2729 100644 --- a/static/web/admin/config-social-items/index.html +++ b/static/web/admin/config-social-items/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Social Items

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Social Items

diff --git a/static/web/admin/config-video/index.html b/static/web/admin/config-video/index.html index 3b51a8e23..9acc7e046 100644 --- a/static/web/admin/config-video/index.html +++ b/static/web/admin/config-video/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

diff --git a/static/web/admin/config/general/index.html b/static/web/admin/config/general/index.html index e08960815..8054310f7 100644 --- a/static/web/admin/config/general/index.html +++ b/static/web/admin/config/general/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


diff --git a/static/web/admin/config/server/index.html b/static/web/admin/config/server/index.html index e89d8bfe9..a17ddc198 100644 --- a/static/web/admin/config/server/index.html +++ b/static/web/admin/config/server/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

You should change your admin password from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

You should change your admin password from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

diff --git a/static/web/admin/federation/actions/index.html b/static/web/admin/federation/actions/index.html index 1f11fac1d..acd519d52 100644 --- a/static/web/admin/federation/actions/index.html +++ b/static/web/admin/federation/actions/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No data
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No data
diff --git a/static/web/admin/federation/followers/index.html b/static/web/admin/federation/followers/index.html index 0db62a86d..33f99c85a 100644 --- a/static/web/admin/federation/followers/index.html +++ b/static/web/admin/federation/followers/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No data
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No data
diff --git a/static/web/admin/hardware-info/index.html b/static/web/admin/hardware-info/index.html index 14cc8f464..9dc1f8dfb 100644 --- a/static/web/admin/hardware-info/index.html +++ b/static/web/admin/hardware-info/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


CPU
0%
Memory
0%
Disk
0%
Loading...
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


CPU
0%
Memory
0%
Disk
0%
Loading...
diff --git a/static/web/admin/help/index.html b/static/web/admin/help/index.html index ec069348e..543822cfd 100644 --- a/static/web/admin/help/index.html +++ b/static/web/admin/help/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
diff --git a/static/web/admin/index.html b/static/web/admin/index.html index d44990ea3..61512a480 100644 --- a/static/web/admin/index.html +++ b/static/web/admin/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

diff --git a/static/web/admin/logs/index.html b/static/web/admin/logs/index.html index b6e867a7b..2efa62005 100644 --- a/static/web/admin/logs/index.html +++ b/static/web/admin/logs/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline
diff --git a/static/web/admin/stream-health/index.html b/static/web/admin/stream-health/index.html index 18e46787c..2435309ec 100644 --- a/static/web/admin/stream-health/index.html +++ b/static/web/admin/stream-health/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

diff --git a/static/web/admin/upgrade/index.html b/static/web/admin/upgrade/index.html index 3e2441272..35c4585ba 100644 --- a/static/web/admin/upgrade/index.html +++ b/static/web/admin/upgrade/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No data
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No data
diff --git a/static/web/admin/viewer-info/index.html b/static/web/admin/viewer-info/index.html index 779950719..75a6815b6 100644 --- a/static/web/admin/viewer-info/index.html +++ b/static/web/admin/viewer-info/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No data
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No data
diff --git a/static/web/admin/webhooks/index.html b/static/web/admin/webhooks/index.html index 231bc67c2..59e1b3946 100644 --- a/static/web/admin/webhooks/index.html +++ b/static/web/admin/webhooks/index.html @@ -1,7 +1,45 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No data

+/*# sourceMappingURL=b371655a6e3bc756.css.map*/

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No data

diff --git a/static/web/embed/chat/readonly/index.html b/static/web/embed/chat/readonly/index.html index 3438a8ffa..e7c7179d0 100644 --- a/static/web/embed/chat/readonly/index.html +++ b/static/web/embed/chat/readonly/index.html @@ -1,7 +1,45 @@ -
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/
diff --git a/static/web/embed/chat/readwrite/index.html b/static/web/embed/chat/readwrite/index.html index 497e3f87c..3974f23ff 100644 --- a/static/web/embed/chat/readwrite/index.html +++ b/static/web/embed/chat/readwrite/index.html @@ -1,7 +1,45 @@ -
+/*# sourceMappingURL=b371655a6e3bc756.css.map*/
diff --git a/static/web/embed/video/index.html b/static/web/embed/video/index.html index 719fe2c86..1a171dc4c 100644 --- a/static/web/embed/video/index.html +++ b/static/web/embed/video/index.html @@ -1,8 +1,46 @@ -
This stream is offline. Check back soon!
+/*# sourceMappingURL=1df159939d7a0181.css.map*/
This stream is offline. Check back soon!
diff --git a/static/web/index.html b/static/web/index.html index 778592f9c..a39b28e05 100644 --- a/static/web/index.html +++ b/static/web/index.html @@ -5,15 +5,53 @@ body { overflow: hidden; } -{{.Name}}{{.Name}}
+