commit 48bfb61cc073669c54b3d9c3cc1970261b9d92ca Author: David Ashby Date: Sun Apr 17 11:27:31 2022 -0400 initial commit diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..2209ff2 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.yetaga.in/alazyreader/prusa-connect-local + +go 1.18 diff --git a/main.go b/main.go new file mode 100644 index 0000000..89dca2e --- /dev/null +++ b/main.go @@ -0,0 +1,55 @@ +package main + +import ( + "bytes" + "flag" + "io" + "log" + "net/http" + "strings" + "time" +) + +type Config struct { + PrinterHostname string + Port string +} + +func main() { + var hostname string + flag.StringVar(&hostname, "hostname", "localhost", "Hostname the Prusa Connect API is available at (assumes http)") + var port string + flag.StringVar(&port, "port", "3000", "Local port to run server on") + config := Config{ + PrinterHostname: "http://" + hostname, + Port: port, + } + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "index.html" || r.URL.Path == "/" { + http.ServeFile(w, r, "./static/") + } else if strings.HasSuffix(r.URL.Path, ".js") { + http.ServeFile(w, r, "./static/"+r.URL.Path) + } else if strings.HasSuffix(r.URL.Path, ".css") { + http.ServeFile(w, r, "./static/"+r.URL.Path) + } else if strings.HasSuffix(r.URL.Path, ".ico") { + http.ServeFile(w, r, "./static/"+r.URL.Path) + } else if strings.HasPrefix(r.URL.Path, "/api") { + resp, err := http.Get(config.PrinterHostname + r.URL.Path) + if err != nil { + log.Println(err) + http.NotFoundHandler().ServeHTTP(w, r) + } else { + b, err := io.ReadAll(resp.Body) + if err != nil { + log.Println(err) + http.NotFoundHandler().ServeHTTP(w, r) + } + http.ServeContent(w, r, "", time.Now(), bytes.NewReader(b)) + } + } else { + http.NotFoundHandler().ServeHTTP(w, r) + } + }) + http.ListenAndServe(":"+config.Port, nil) +} diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100755 index 0000000..f0d43fa Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/index.html b/static/index.html new file mode 100755 index 0000000..19801c3 --- /dev/null +++ b/static/index.html @@ -0,0 +1,10 @@ + + + + + Original Prusa Mini - Prusa Connect + + + + + diff --git a/static/main.b322e2869b73e803bb67.css b/static/main.b322e2869b73e803bb67.css new file mode 100755 index 0000000..264b721 --- /dev/null +++ b/static/main.b322e2869b73e803bb67.css @@ -0,0 +1,5 @@ +@-webkit-keyframes spinAround{to{transform:rotate(359deg)}}@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.button,.delete,.file{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select:not(.is-multiple):not(.is-loading):after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.box:not(:last-child),.progress:not(:last-child){margin-bottom:1.5rem}.delete{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.delete:after,.delete:before{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.delete:before{height:2px;width:50%}.delete:after{height:50%;width:2px}.delete:focus,.delete:hover{background-color:rgba(10,10,10,.3)}.delete:active{background-color:rgba(10,10,10,.4)}.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.modal,.modal-background{bottom:0;left:0;position:absolute;right:0;top:0}.button,.input,.select select{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px) calc(.75em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.input:active,.input:focus,.is-active.button,.is-active.input,.select select.is-active,.select select:active,.select select:focus{outline:none}.select select[disabled],[disabled].button,[disabled].input{cursor:not-allowed}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */body,dd,dl,dt,figure,h1,h4,h6,hr,html,li,p,ul{margin:0;padding:0}h1,h4,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select{margin:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}img{height:auto;max-width:100%}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#0a0a0a;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}figure,header,section{display:block}body,button,input,select{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}body{color:#f5f5f5;font-size:1em;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a:hover{color:#363636}hr{background-color:#f5f5f5}hr{border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}span{font-style:inherit;font-weight:inherit}.is-pulled-right{float:right!important}.is-clipped{overflow:hidden!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-5{font-size:1.25rem!important}@media screen and (min-width:1024px){.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}}.has-text-centered{text-align:center!important}.has-text-right{text-align:right!important}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-black{background-color:#0a0a0a!important}.has-background-success{background-color:#f8651b!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-weight-bold{font-weight:700!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.input,.select select{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#fff}.input::-moz-placeholder,.select select::-moz-placeholder{color:hsla(0,0%,100%,.3)}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder{color:hsla(0,0%,100%,.3)}.input:-moz-placeholder,.select select:-moz-placeholder{color:hsla(0,0%,100%,.3)}.input:-ms-input-placeholder,.select select:-ms-input-placeholder{color:hsla(0,0%,100%,.3)}.input:hover,.select select:hover{border-color:#b5b5b5}.input:active,.input:focus,.is-active.input,.select select.is-active,.select select:active,.select select:focus{border-color:#3273dc;box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.select select[disabled],[disabled].input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#b5b5b5}.select select[disabled]::-moz-placeholder,[disabled].input::-moz-placeholder{color:hsla(0,0%,71%,.3)}.select select[disabled]::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder{color:hsla(0,0%,71%,.3)}.select select[disabled]:-moz-placeholder,[disabled].input:-moz-placeholder{color:hsla(0,0%,71%,.3)}.select select[disabled]:-ms-input-placeholder,[disabled].input:-ms-input-placeholder{color:hsla(0,0%,71%,.3)}.input{box-shadow:inset 0 .0625em .125em rgba(10,10,10,.05);max-width:100%;width:100%}[readonly].input{box-shadow:none}.is-black.input{border-color:#0a0a0a}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.is-success.input{border-color:#f8651b}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input{box-shadow:0 0 0 .125em rgba(248,101,27,.25)}.is-medium.input{font-size:1.25rem}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading):after{border-color:#3273dc;right:1.125em;z-index:4}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#fff}.select.is-black:not(:hover):after,.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover{border-color:#000}.select.is-black select.is-active,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.select.is-success:not(:hover):after,.select.is-success select{border-color:#f8651b}.select.is-success select:hover{border-color:#f25607}.select.is-success select.is-active,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(248,101,27,.25)}.select.is-medium{font-size:1.25rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-medium{font-size:1.25rem}.file.is-centered{justify-content:center}.box{background-color:#fff;border-radius:6px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);color:#f5f5f5;display:block;padding:1.25rem}a.box:focus,a.box:hover{box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px #3273dc}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2),0 0 0 1px #3273dc}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#fff;cursor:pointer;justify-content:center;padding:calc(.5em - 1px) 1em;text-align:center;white-space:nowrap}.button:hover{border-color:#b5b5b5;color:#363636}.button:focus{border-color:#3273dc;color:#363636}.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled]{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-success{background-color:#f8651b;border-color:transparent;color:#fff}.button.is-success:hover{background-color:#f85d0f;border-color:transparent;color:#fff}.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(248,101,27,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#f25607;border-color:transparent;color:#fff}.button.is-success[disabled]{background-color:#f8651b;border-color:transparent;box-shadow:none}.button.is-medium{font-size:1.25rem}.button[disabled]{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (min-width:1216px){.container{max-width:1152px}}@media screen and (min-width:1408px){.container{max-width:1344px}}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image.is-24x24{height:24px;width:24px}.image.is-48x48{height:48px;width:48px}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:0;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#7a7a7a}.progress::-webkit-progress-value{background-color:#f5f5f5}.progress::-moz-progress-bar{background-color:#f5f5f5}.progress::-ms-fill{background-color:#f5f5f5;border:none}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(90deg,#0a0a0a 30%,#7a7a7a 0)}.progress.is-success::-webkit-progress-value{background-color:#f8651b}.progress.is-success::-moz-progress-bar{background-color:#f8651b}.progress.is-success::-ms-fill{background-color:#f8651b}.progress.is-success:indeterminate{background-image:linear-gradient(90deg,#f8651b 30%,#7a7a7a 0)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#7a7a7a;background-image:linear-gradient(90deg,#f5f5f5 30%,#7a7a7a 0);background-position:0 0;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-medium{height:1.25rem}@-webkit-keyframes moveIndeterminate{to{background-position:-200% 0}}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.media{align-items:flex-start;display:flex;text-align:left}.media .media{border-top:1px solid hsla(0,0%,85.9%,.5);display:flex;padding-top:.75rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid hsla(0,0%,85.9%,.5);margin-top:1rem;padding-top:1rem}.media-left{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.navbar{background-color:#0a0a0a;min-height:3.25rem;position:relative;z-index:30}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-black .navbar-end>.navbar-item{color:#fff}.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover{background-color:#000;color:#fff}}.navbar.is-success{background-color:#f8651b;color:#fff}.navbar.is-success .navbar-brand>.navbar-item{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover{background-color:#f25607;color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-success .navbar-end>.navbar-item{color:#fff}.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover{background-color:#f25607;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar-brand{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-burger{color:#f5f5f5;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:first-child{top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:first-child{transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item{color:#f5f5f5;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}a.navbar-item{cursor:pointer}a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:hover,a.navbar-item[focus-within]{background-color:#0a0a0a;color:#fff}a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#0a0a0a;color:#fff}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item{align-items:center;display:flex}.navbar-menu{background-color:#0a0a0a;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar-burger{display:none}.navbar-item{align-items:center;display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-end{justify-content:flex-end;margin-left:auto}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}a.navbar-item.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover){background-color:transparent}}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,.86)}.modal-content{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media print,screen and (min-width:769px){.modal-content{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section.is-medium{padding:9rem 1.5rem}}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-offset-1{margin-left:8.3333333333%}.columns.is-mobile>.column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.3333333333%}.columns.is-mobile>.column.is-offset-5{margin-left:41.6666666667%}.columns.is-mobile>.column.is-10{flex:none;width:83.3333333333%}@media screen and (max-width:768px){.column.is-full-mobile{flex:none;width:100%}}@media print,screen and (min-width:769px){.column.is-full{flex:none;width:100%}.column.is-half{flex:none;width:50%}.column.is-one-third{flex:none;width:33.3333%}.column.is-two-fifths{flex:none;width:40%}.column.is-offset-1{margin-left:8.3333333333%}.column.is-4{flex:none;width:33.3333333333%}.column.is-offset-4{margin-left:33.3333333333%}.column.is-offset-5{margin-left:41.6666666667%}.column.is-10{flex:none;width:83.3333333333%}}@media screen and (max-width:1023px){.column.is-full-touch{flex:none;width:100%}.column.is-half-touch{flex:none;width:50%}}@media screen and (min-width:1024px){.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-half-desktop{flex:none;width:50%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media print,screen and (min-width:769px){.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.prusa-no-focus:focus{outline:none} +.prusa-text-orange{color:#f8651b}.prusa-line{border-bottom:.1rem solid grey;border-radius:0} +.temp-svg{pointer-events:all;width:100%;height:auto}.temp-g-label{max-width:100%;height:100%;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.temp-legend-led{fill:#f8651b}.temp-legend-amb{fill:#1b73f8}.temp-line-amb,.temp-line-led{fill:transparent;stroke-width:1%;opacity:1}.temp-line-led{stroke:#f8651b}.temp-line-amb{stroke:#1b73f8}.temp-text{fill:#fff;font-size:15px;letter-spacing:normal;padding:8px;stroke:transparent;stroke-width:0px}.temp-label-line{stroke:#fff;fill:transparent;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.temp-label-x,.temp-label-y{font-size:15px;fill:#fff;text-anchor:middle;letter-spacing:normal;stroke:transparent;stroke-width:0px}.temp-label-x{padding:30px}.temp-label-y{padding:35px}.temp-h-line{stroke:grey;stroke-dasharray:none;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:painted}.temp-connect-text{stroke:#fff;size:5px;fill:transparent;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.temp-line-text{font-size:15px;padding:5px;fill:#fff;letter-spacing:normal;stroke:transparent;stroke-width:0px} +.prusa-job-button,.prusa-job-button:hover{border-color:transparent}.prusa-flex-no-grow{flex-grow:0}.prusa-job-buttons-tab{margin-top:2rem}.prusa-job-right-button{padding-top:4px;font-weight:700;float:right!important;color:#fff;background-color:#f8651b;border-color:#f8651b}.prusa-job-right-button:hover{color:#fff;background-color:rgba(234,93,22,.92157);border-color:rgba(234,93,22,.92157)}.prusa-job-left-button{padding-top:4px;font-weight:700;float:right!important;margin-right:.8rem;color:#fff;background-color:#0fb82b;border-color:#0fb82b}.prusa-job-left-button:hover{color:#fff;background-color:#49a258;border-color:#49a258}.prusa-job-question{padding-top:8rem;padding-bottom:8rem}.prusa-job-set-value:hover{cursor:pointer} +.select{margin-top:4px;outline:none}.select,.select:not(.is-multiple){height:auto}.select:focus{border:none;outline:none}.select:not(.is-multiple):not(.is-loading):after{border-color:#fff;right:1.125em;z-index:4}.select select{font-family:Atlas Grotesk Bold Web;font-size:1.8rem;background-color:#0a0a0a;height:auto}.select select,.select select:focus{border:none;outline:none}.select select:not(.is-multiple){height:auto}select:focus{border:none;outline:none}@media(min-width:1024px){.select select{font-size:1rem}}.prusa-menu{border-bottom:1px solid grey}.prusa-menu-item{border-bottom:1px solid transparent;padding-bottom:0;padding-top:0;bottom:-1px}.prusa-menu-item.active:hover,.prusa-menu-item:hover{border-bottom:1px solid #0f0}.prusa-menu-item.active{border-bottom:1px solid #f8651b}.navbar-logo{background:url("data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E %3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E %3C!-- Creator: CorelDRAW 2017 --%3E %3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='105.833mm' height='18.3444mm' version='1.1' style='shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd' viewBox='0 0 10583.32 1834.44' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3Cdefs%3E %3Cstyle type='text/css'%3E %3C!%5BCDATA%5B .fil0 %7Bfill:%23FEFEFE%7D .fil2 %7Bfill:%23FA6831%7D .fil3 %7Bfill:%23FEFEFE;fill-rule:nonzero%7D .fil1 %7Bfill:%232B2A29;fill-rule:nonzero%7D %5D%5D%3E %3C/style%3E %3C/defs%3E %3Cg id='Layer_x0020_1'%3E %3Cmetadata id='CorelCorpID_0Corel-Layer'/%3E %3Crect class='fil0' y='535.92' width='4257.14' height='1298.52'/%3E %3Cpath class='fil1' d='M427.69 945.08l142.58 0c65.02,0 114.07,29.65 114.07,107.22 0,74.14 -46.76,101.52 -114.07,101.52l-142.58 0 0 -208.74zm-212.17 644.48l212.17 0 0 -271.48 174.52 0c179.09,0 294.3,-78.71 294.3,-280.61 0,-192.77 -142.59,-262.36 -294.3,-262.36l-386.69 0 0 814.45z'/%3E %3Cpath id='1' class='fil1' d='M1173.13 945.08l168.82 0c59.32,0 107.22,27.37 107.22,87.83 0,62.74 -34.22,95.82 -98.09,95.82l-177.95 0 0 -183.65zm-212.17 644.48l212.17 0 0 -296.58 160.84 0c100.38,0 112.92,84.41 118.63,166.54 3.42,23.96 5.7,101.52 23.95,130.04l209.89 0c-28.52,-31.94 -30.8,-148.29 -34.22,-183.65 -5.71,-77.57 -33.08,-173.38 -118.64,-195.06l0 -2.28c86.7,-33.08 127.76,-116.35 127.76,-204.18 0,-164.26 -142.58,-229.28 -285.17,-229.28l-415.21 0 0 814.45z'/%3E %3Cpath id='2' class='fil1' d='M2452.4 775.11l-212.16 0 0 490.5c0,104.94 -37.65,158.55 -142.59,158.55 -104.94,0 -142.58,-53.61 -142.58,-158.55l0 -490.5 -212.17 0 0 477.95c0,236.12 108.36,353.61 354.75,353.61 246.39,0 354.75,-117.49 354.75,-353.61l0 -477.95z'/%3E %3Cpath id='3' class='fil1' d='M2511.15 1315.8c0,208.74 167.68,290.87 353.61,290.87 179.08,0 354.75,-66.16 354.75,-272.62 0,-147.15 -118.63,-201.9 -236.12,-234.98 -118.63,-33.08 -236.12,-43.35 -236.12,-107.23 0,-53.61 57.03,-69.58 102.66,-69.58 63.88,0 134.6,25.1 131.18,98.1l212.16 0c0,-182.51 -165.4,-262.36 -326.23,-262.36 -152.85,0 -331.94,69.59 -331.94,247.53 0,150.57 123.19,201.9 238.4,234.98 117.49,33.08 233.84,45.63 233.84,118.63 0,60.46 -66.16,83.27 -130.04,83.27 -91.25,0 -149.43,-30.8 -153.99,-126.61l-212.16 0z'/%3E %3Cpath id='4' class='fil1' d='M3199.54 1589.56l217.87 0 51.33 -146.01 284.03 0 50.19 146.01 221.3 0 -304.57 -814.45 -215.58 0 -304.57 814.45zm410.65 -588.59l2.28 0 90.11 285.17 -184.79 0 92.4 -285.17z'/%3E %3Crect class='fil0' x='4431.78' y='535.92' width='6058.96' height='1298.52'/%3E %3Cpath class='fil1' d='M5450.42 1065.99c-5.7,-196.2 -195.05,-307.99 -371.86,-307.99 -247.53,0 -406.08,188.22 -406.08,424.34 0,236.12 158.55,424.33 406.08,424.33 206.46,0 359.31,-122.05 371.86,-333.08l-212.16 0c-7.99,94.68 -63.88,150.57 -164.26,150.57 -136.88,0 -189.35,-119.77 -189.35,-241.82 0,-122.06 52.47,-241.83 189.35,-241.83 90.11,0 151.71,43.35 164.26,125.48l212.16 0z'/%3E %3Cpath id='1' class='fil1' d='M5708.79 1182.34c0,-122.06 52.47,-241.83 189.35,-241.83 136.89,0 189.36,119.77 189.36,241.83 0,122.05 -52.47,241.82 -189.36,241.82 -136.88,0 -189.35,-119.77 -189.35,-241.82zm-212.16 0c0,236.12 146,424.33 401.51,424.33 255.52,0 401.52,-188.21 401.52,-424.33 0,-236.12 -146,-424.34 -401.52,-424.34 -255.51,0 -401.51,188.22 -401.51,424.34z'/%3E %3Cpolygon id='2' class='fil1' points='6376.66,1589.56 6576.28,1589.56 6576.28,1081.96 6578.56,1081.96 6861.45,1589.56 7079.32,1589.56 7079.32,775.11 6879.7,775.11 6879.7,1277.01 6877.42,1277.01 6594.53,775.11 6376.66,775.11 '/%3E %3Cpolygon id='3' class='fil1' points='7185.97,1589.56 7385.59,1589.56 7385.59,1081.96 7387.87,1081.96 7670.76,1589.56 7888.63,1589.56 7888.63,775.11 7689.01,775.11 7689.01,1277.01 7686.73,1277.01 7403.84,775.11 7185.97,775.11 '/%3E %3Cpolygon id='4' class='fil1' points='7997.56,1589.56 8658.02,1589.56 8658.02,1407.05 8209.73,1407.05 8209.73,1251.92 8608.97,1251.92 8608.97,1087.66 8209.73,1087.66 8209.73,945.08 8646.61,945.08 8646.61,775.11 7997.56,775.11 '/%3E %3Cpath id='5' class='fil1' d='M9495.85 1065.99c-5.7,-196.2 -195.05,-307.99 -371.86,-307.99 -247.53,0 -406.08,188.22 -406.08,424.34 0,236.12 158.55,424.33 406.08,424.33 206.46,0 359.31,-122.05 371.86,-333.08l-212.16 0c-7.99,94.68 -63.88,150.57 -164.26,150.57 -136.88,0 -189.35,-119.77 -189.35,-241.82 0,-122.06 52.47,-241.83 189.35,-241.83 90.11,0 151.71,43.35 164.26,125.48l212.16 0z'/%3E %3Cpolygon id='6' class='fil1' points='10218.48,775.11 9520.38,775.11 9520.38,957.62 9763.35,957.62 9763.35,1589.56 9975.51,1589.56 9975.51,957.62 10218.48,957.62 '/%3E %3Crect class='fil2' x='8318.67' width='2264.66' height='676.14'/%3E %3Cpolygon class='fil3' points='8471.86,559.69 8785.68,559.69 8785.68,462.94 8584.33,462.94 8584.33,127.96 8471.86,127.96 '/%3E %3Cpath id='1' class='fil3' d='M8918.4 343.82c0,-64.7 27.82,-128.19 100.38,-128.19 72.56,0 100.37,63.49 100.37,128.19 0,64.7 -27.81,128.19 -100.37,128.19 -72.56,0 -100.38,-63.49 -100.38,-128.19zm-112.47 0c0,125.17 77.4,224.94 212.85,224.94 135.44,0 212.84,-99.77 212.84,-224.94 0,-125.16 -77.4,-224.93 -212.84,-224.93 -135.45,0 -212.85,99.77 -212.85,224.93z'/%3E %3Cpath id='2' class='fil3' d='M9672.72 282.15c-3.02,-104.01 -103.4,-163.26 -197.12,-163.26 -131.21,0 -215.26,99.77 -215.26,224.93 0,125.17 84.05,224.94 215.26,224.94 109.44,0 190.47,-64.7 197.12,-176.56l-112.47 0c-4.23,50.18 -33.86,79.81 -87.07,79.81 -72.56,0 -100.38,-63.49 -100.38,-128.19 0,-64.7 27.82,-128.19 100.38,-128.19 47.77,0 80.42,22.98 87.07,66.52l112.47 0z'/%3E %3Cpath id='3' class='fil3' d='M9669.39 559.69l115.49 0 27.21 -77.4 150.56 0 26.61 77.4 117.3 0 -161.44 -431.73 -114.29 0 -161.44 431.73zm217.68 -312.01l1.21 0 47.77 151.17 -97.96 0 48.98 -151.17z'/%3E %3Cpolygon id='4' class='fil3' points='10120.17,559.69 10433.99,559.69 10433.99,462.94 10232.64,462.94 10232.64,127.96 10120.17,127.96 '/%3E %3C/g%3E %3C/svg%3E") no-repeat 50%;background-size:cover;width:328px;height:auto;bottom:3px} diff --git a/static/main.b322e2869b73e803bb67.js b/static/main.b322e2869b73e803bb67.js new file mode 100755 index 0000000..9327910 --- /dev/null +++ b/static/main.b322e2869b73e803bb67.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}([function(e,t,n){"use strict";n.r(t),n.d(t,"render",(function(){return R})),n.d(t,"hydrate",(function(){return V})),n.d(t,"createElement",(function(){return m})),n.d(t,"h",(function(){return m})),n.d(t,"Fragment",(function(){return v})),n.d(t,"createRef",(function(){return g})),n.d(t,"isValidElement",(function(){return i})),n.d(t,"Component",(function(){return y})),n.d(t,"cloneElement",(function(){return N})),n.d(t,"createContext",(function(){return F})),n.d(t,"toChildArray",(function(){return z})),n.d(t,"__u",(function(){return B})),n.d(t,"options",(function(){return r}));var r,i,o,a,s,l,u,c={},p=[],d=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function f(e,t){for(var n in t)e[n]=t[n];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function m(e,t,n){var r,i,o,a=arguments,s={};for(o in t)"key"==o?r=t[o]:"ref"==o?i=t[o]:s[o]=t[o];if(arguments.length>3)for(n=[n],o=3;o1&&D(i,t,n),t=T(n,i,i,e.__k,null,i.__e,t),"function"==typeof e.type&&(e.__d=t)))}function S(e,t,n,i,o,a,s,l,u){var c,p,d,h,m,_,g,x,b,w,C,z=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(u=n.__h,l=t.__e=n.__e,t.__h=null,a=[l]),(c=r.__b)&&c(t);try{e:if("function"==typeof z){if(x=t.props,b=(c=z.contextType)&&i[c.__c],w=c?b?b.props.value:c.__:i,n.__c?g=(p=t.__c=n.__c).__=p.__E:("prototype"in z&&z.prototype.render?t.__c=p=new z(x,w):(t.__c=p=new y(x,w),p.constructor=z,p.render=A),b&&b.sub(p),p.props=x,p.state||(p.state={}),p.context=w,p.__n=i,d=p.__d=!0,p.__h=[]),null==p.__s&&(p.__s=p.state),null!=z.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=f({},p.__s)),f(p.__s,z.getDerivedStateFromProps(x,p.__s))),h=p.props,m=p.state,d)null==z.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(null==z.getDerivedStateFromProps&&x!==h&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(x,w),!p.__e&&null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(x,p.__s,w)||t.__v===n.__v){p.props=x,p.state=p.__s,t.__v!==n.__v&&(p.__d=!1),p.__v=t,t.__e=n.__e,t.__k=n.__k,p.__h.length&&s.push(p),D(t,l,e);break e}null!=p.componentWillUpdate&&p.componentWillUpdate(x,p.__s,w),null!=p.componentDidUpdate&&p.__h.push((function(){p.componentDidUpdate(h,m,_)}))}p.context=w,p.props=x,p.state=p.__s,(c=r.__r)&&c(t),p.__d=!1,p.__v=t,p.__P=e,c=p.render(p.props,p.state,p.context),p.state=p.__s,null!=p.getChildContext&&(i=f(f({},i),p.getChildContext())),d||null==p.getSnapshotBeforeUpdate||(_=p.getSnapshotBeforeUpdate(h,m)),C=null!=c&&c.type==v&&null==c.key?c.props.children:c,k(e,Array.isArray(C)?C:[C],t,n,i,o,a,s,l,u),p.base=t.__e,t.__h=null,p.__h.length&&s.push(p),g&&(p.__E=p.__=null),p.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=U(n.__e,t,n,i,o,a,s,u);(c=r.diffed)&&c(t)}catch(e){t.__v=null,(u||null!=a)&&(t.__e=l,t.__h=!!u,a[a.indexOf(l)]=null),r.__e(e,t,n)}return t.__e}function M(e,t){r.__c&&r.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){r.__e(e,t.__v)}}))}function U(e,t,n,r,i,o,a,s){var l,u,d,f,h,m=n.props,_=t.props;if(i="svg"===t.type||i,null!=o)for(l=0;l3)for(n=[n],o=3;ot.rank?-1:e.index-t.index}function l(e,t){return e.index=t,e.rank=function(e){return e.props.default?0:(t=e.props.path,u(t).map(c).join(""));var t}(e),e.props}function u(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function c(e){return":"==e.charAt(0)?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}var p=null,d=[],f=[],h={};function m(){var e;return""+((e=p&&p.location?p.location:p&&p.getCurrentLocation?p.getCurrentLocation():"undefined"!=typeof location?location:h).pathname||"")+(e.search||"")}function _(e,t){return void 0===t&&(t=!1),"string"!=typeof e&&e.url&&(t=e.replace,e=e.url),function(e){for(var t=d.length;t--;)if(d[t].canRoute(e))return!0;return!1}(e)&&function(e,t){void 0===t&&(t="push"),p&&p[t]?p[t](e):"undefined"!=typeof history&&history[t+"State"]&&history[t+"State"](null,null,e)}(e,t?"replace":"push"),g(e)}function g(e){for(var t=!1,n=0;n0},t.prototype.routeTo=function(e){this.setState({url:e});var t=this.canRoute(e);return this.updating||this.forceUpdate(),t},t.prototype.componentWillMount=function(){d.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var e=this;p&&(this.unlisten=p.listen((function(t){e.routeTo(""+(t.pathname||"")+(t.search||""))}))),this.updating=!1},t.prototype.componentWillUnmount=function(){"function"==typeof this.unlisten&&this.unlisten(),d.splice(d.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(e,t,n){return e.filter(l).sort(s).map((function(e){var i=a(t,e.props.path,e.props);if(i){if(!1!==n){var s={url:t,matches:i};return o(s,i),delete s.ref,delete s.key,Object(r.cloneElement)(e,s)}return e}})).filter(Boolean)},t.prototype.render=function(e,t){var n=e.children,i=e.onChange,o=t.url,a=this.getMatchingChildren(Object(r.toChildArray)(n),o,!0),s=a[0]||null,l=this.previousUrl;return o!==l&&(this.previousUrl=o,"function"==typeof i&&i({router:this,url:o,previous:l,active:a,current:s})),s},t}(r.Component),k=function(e){return Object(r.createElement)("a",o({onClick:y},e))},z=function(e){return Object(r.createElement)(e.component,e)};C.subscribers=f,C.getCurrentUrl=m,C.route=_,C.Router=C,C.Route=z,C.Link=k,C.exec=a,t.default=C},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?a.formatTime(t):"0 min"}),i.h(s,{id:"estimated-end",title:"Estimated end",value:t>0?a.formatTimeEnd(t):"00:00"}),i.h(s,{id:"printing-time",title:"Printing time",value:n>0?a.formatTime(n):"0 min"})),i.h("div",{class:"columns"},i.h(s,{id:"layer",title:"Layer",value:o>0?r+"/"+o:"0/0"}),i.h(s,{id:"remaining-resin",title:"Remaining resin",value:a.numberFormat(l)+" ml"}),i.h(s,{id:"consumed-resin",title:"Consumed resin",value:a.numberFormat(u)+" ml"})))},t.StatusBoardMini=function(e){var t=e.pos_z_mm,n=e.printing_speed,r=e.flow_factor,o=e.print_dur,a=e.time_est,u=e.time_zone,c=function(e,t){return void 0===t&&(t=null),e?e+(t?" "+t:""):"NA"};return i.h(i.Fragment,null,i.h("div",{class:"columns"},i.h(s,{id:"pos_z_mm",title:"Z-Height",value:c(t,"mm")}),i.h(s,{id:"printing-speed",title:"Printing Speed",value:c(n,"%")}),i.h(s,{id:"flow-factor",title:"Printing Flow",value:c(r)})),i.h("div",{class:"columns"},i.h(l,{time_est:a,time_zone:u}),i.h(s,{id:"print-dur",title:"Printing time",value:c(o)})))},t.StatusBoardTable=function(e){return i.h(t.StatusBoardMini,r({},e))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatEstimatedTime=t.formatTimeEnd=t.formatTime=t.numberFormat=void 0,t.numberFormat=function(e){var t=e.toString().indexOf(".")+1;return e.toString().length-t>3?Number.parseFloat(e.toPrecision(t)):e},t.formatTime=function(e){var t=Math.floor(e/6e4%60),n=Math.floor(e/36e5%24);return n>0?n+" h "+("0"+Math.floor(e/6e4%60)).substr(-2)+" min":t>0?t+" min":""},t.formatTimeEnd=function(e){var t=new Date,n=new Date(t.getTime()+e);return("0"+n.getHours()).substr(-2)+":"+("0"+n.getMinutes()).substr(-2)},t.formatEstimatedTime=function(e){if(e){var t=new Date,n=new Date(t.getTime()+1e3*e),r=Math.abs(n.getDate()-t.getDate()),i="";return 1==r?i="Tomorrow ":r>1&&(i=r+" D+ "),i+(("0"+n.getHours()).substr(-2)+":")+("0"+n.getMinutes()).substr(-2)}return"00:00"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatusProgress=void 0;var r=n(0);t.StatusProgress=function(e){return r.h("div",null,r.h("p",{class:"title is-size-2 is-size-5-desktop is-marginless"},e.project_name),r.h("progress",{class:"progress is-success is-medium is-marginless",value:""+e.progress,max:"100"}),r.h("div",{class:"title has-text-centered is-size-1 is-size-3-desktop"},e.progress+"%"))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Temperature=void 0;var r=n(0),i=n(1);n(20),t.Temperature=i.withText({title:r.h(i.Text,{id:"temperature.title"},"Temperatures"),label_x:r.h(i.Text,{id:"temperature.label_x"},"Time [s]"),label_y:r.h(i.Text,{id:"temperature.label_y"},"Temperature [°C]")})((function(e){var t=e.temperatures,n=[];if(t.length>1){for(var i=(new Date).getTime(),o=t[0],a=500-2.66*(i-o[0])/1e3,s=1;s-1&&this.changeLanguage(e)},t.prototype.render=function(){return o.h(a.default,{definition:this.state.definition,changeLanguage:this.changeLanguage})},t}(o.Component);t.default=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2e5},a=0;return t.temperatures.findIndex(i)>-1&&(a=t.temperatures.findIndex((function(e){return!i(e)}))),{printer_state:o(o({},t.printer_state),e.printer_state),progress_bar:o(o({},t.progress_bar),e.progress_bar),progress_status:o(o({},t.progress_status),e.progress_status),temperatures:t.temperatures.slice(a).concat(e.temperatures)}}))},t.clearData=function(){t.setState((function(e){return o(o({},e),m)}))},t}return i(t,e),t.prototype.componentDidMount=function(){this.timer=setInterval(u.update(this.updateData,this.clearData),Number(5e3))},t.prototype.componentWillUnmount=function(){clearInterval(this.timer)},t.prototype.render=function(){var e=this;return a.h(l.IntlProvider,{definition:this.props.definition},a.h("section",{id:"app",class:"section"},a.h("div",{class:"columns is-vcentered is-centered is-desktop"},a.h("div",{class:"column is-three-quarters-desktop is-full-mobile"},a.h(d.default,{changeLanguage:this.props.changeLanguage}))),a.h("div",{class:"columns is-centered is-desktop"},a.h("div",{class:"column is-three-quarters-desktop is-full-mobile"},a.h("div",{class:"columns is-centered is-desktop"},a.h("div",{class:"column is-full-mobile"},a.h(f.default,{printer_state:this.state.printer_state})),a.h("div",{class:"column is-three-quarters-desktop is-full-mobile"},a.h(s.Router,{onChange:function(t){e.setState((function(e,n){return o(o({},e),{currentUrl:t.url})}))}},a.h(c.Home,o({path:"/"},this.state)),a.h(p.default,{path:"/projects/",progress_bar:this.state.progress_bar,progress_status:this.state.progress_status}),a.h(h.default,{path:"/temperatures/",temperatures:this.state.temperatures}))))))))},t}(a.Component);t.default=_},function(e,t,n){"use strict";var r,i,o,a;Object.defineProperty(t,"__esModule",{value:!0}),t.update=t.initPrinterState=void 0,r=["material"],i=["temp_bed","temp_nozzle"],o=["pos_z_mm","printing_speed","flow_factor","print_dur","time_est","filament_status","time_zone"],a={temp_bed:0,temp_nozzle:0,material:"NA"},t.initPrinterState=a,t.update=function(e,t){return function(){fetch("/api/telemetry",{method:"GET",headers:{"X-Api-Key":"developer","Content-Type":"application/json",Accept:"application/json"}}).then((function(e){if(!e.ok)throw Error(e.statusText);return e})).then((function(e){return e.json()})).then((function(t){for(var n={},a=[],s={},l={},u=null,c=0,p=r;c0&&e({printer_state:n,progress_bar:l,progress_status:s,temperatures:[a]})})).catch((function(e){return t()}))}}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n-1?t.state={value:n}:t.state={value:"en"},t}return i(t,e),t.prototype.shouldComponentUpdate=function(e,t){return t.value!==this.state.value},t.prototype.render=function(e,t){var n=t.value;return o.h("div",{class:"navbar-item"},o.h("form",{class:"select",onSubmit:this.onSubmit},o.h("select",{value:n,onChange:this.onChange},o.h("option",{value:"en"},"EN"),o.h("option",{value:"cs"},"CS"),o.h("option",{value:"de"},"DE"),o.h("option",{value:"es"},"ES"),o.h("option",{value:"fr"},"FR"),o.h("option",{value:"it"},"IT"),o.h("option",{value:"pl"},"PL"))))},t}(o.Component),u=function(e){function t(){var t=e.call(this)||this;return t.state={is_burger_active:!1},t.onClickBurger=t.onClickBurger.bind(t),t}return i(t,e),t.prototype.onClickBurger=function(){this.setState({is_burger_active:!this.state.is_burger_active})},t.prototype.render=function(e,t){var n="";return t.is_burger_active&&(n="is-active"),o.h("nav",{class:"navbar is-black prusa-menu",role:"navigation","aria-label":"main navigation"},o.h("div",{class:"navbar-brand"},o.h("a",{class:"navbar-item navbar-logo",href:"https://www.prusa3d.com/"}),o.h("a",{role:"button",class:"navbar-burger burger "+n,"aria-label":"menu","aria-expanded":"false","data-target":"navbarBasicMenu",onClick:this.onClickBurger},o.h("span",{"aria-hidden":"true"}),o.h("span",{"aria-hidden":"true"}),o.h("span",{"aria-hidden":"true"}))),o.h("div",{id:"navbarBasicMenu",class:"navbar-menu "+n},o.h("div",{class:"navbar-end"},o.h(a.Link,{class:"navbar-item prusa-menu-item is-size-2 is-size-6-desktop",activeClassName:"active",href:"/",onClick:this.onClickBurger},o.h(s.Text,{id:"home.link"},"Dashboard")),!1,o.h(a.Link,{class:"navbar-item prusa-menu-item is-size-2 is-size-6-desktop",activeClassName:"active",href:"/temperatures",onClick:this.onClickBurger},o.h(s.Text,{id:"temperature.title"},"Temperatures")),o.h(l,{changeLanguage:this.props.changeLanguage}))))},t}(o.Component);t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Link=t.Match=void 0;var r=Object.assign||function(e){for(var t=1;t>>0,1)},t.prototype.render=function(e){var t=this.nextUrl||(0,o.getCurrentUrl)(),n=t.replace(/\?.+$/,"");return this.nextUrl=null,e.children({url:t,path:n,matches:!1!==(0,o.exec)(n,e.path,{})})},t}(i.Component),u=function(e){var t=e.activeClassName,n=e.path,a=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(e,["activeClassName","path"]);return(0,i.h)(l,{path:n||a.href},(function(e){var n=e.matches;return(0,i.h)(o.Link,r({},a,{class:[a.class||a.className,n&&t].filter(Boolean).join(" ")}))}))};t.Link=u,t.default=l,l.Link=u},function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(41);t.default=function(e){var t=e.printer_state,n=Object.keys(t).map((function(e){return r.h(i.default,{type:e,value:t[e]})}));return r.h("div",{class:"columns is-multiline is-mobile"},n)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(1),o=n(7);function a(e){return function(t){return(t>-1?o.numberFormat(t):"0")+e}}var s={};s={temp_nozzle:{title:"Nozzle Temperature",icon_scr:n(42),format:a(" °C")},temp_bed:{title:"Heatbed",icon_scr:n(43),format:a(" °C")},material:{title:"Material",icon_scr:n(44),format:null}};t.default=function(e){try{var t=s[e.type],n=t.title,o=t.icon_scr,a=t.format;return r.h("div",{class:"column is-half-touch is-full-desktop"},r.h("div",{class:"media"},r.h("img",{class:"media-left image is-24x24",src:o}),r.h("div",{class:"media-content is-clipped"},r.h("p",{class:"subtitle is-size-3 is-size-5-desktop has-text-grey"},r.h(i.Text,{id:"status-left."+e.type},n)),r.h("p",{class:"title is-size-2 is-size-5-desktop has-text-white"},a?a(e.value):e.value))))}catch(t){return console.log(e.type+" is not defined."),r.h("div",null)}}},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.389' height='15.439' viewBox='0 0 7.2 8.97' shape-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='nonzero'%3E %3Cpath d='M4.16 4.4V5.5a.56.56 0 0 1-.56.56H1.12v.34h5.53a.56.56 0 0 1 .56.56v1.45a.56.56 0 0 1-.56.56H.57a.56.56 0 1 1 0-1.12H6.1v-.34H.57a.56.56 0 0 1-.56-.56V5.5a.56.56 0 0 1 .56-.56h2.48V4.4h1.12z' fill='%23ef7f1a'/%3E %3Cpath d='M6.13 0v2.06L4.34 4.4H2.86l-1.8-2.33V0H2.2v1.68l1.2 1.6h.4L5 1.68V0z' fill='%23ffffff'/%3E %3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.875' height='11.267' viewBox='0 0 10.08 8.18' shape-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd'%3E %3Cpath d='M3.12 5.02c-.8-.78-.9-1.24-.2-2.13.24-.3.35-.62.35-.92C3.27 1.34 2.8.72 2.2 0l-.95.9c.9 1.05.82 1.16.17 2.08-.2.3-.3.6-.3.9 0 .76.57 1.48 1.1 2.02l.9-.87zm5.7 0c-.8-.78-.9-1.24-.2-2.13.24-.3.35-.62.35-.92C8.96 1.34 8.5.72 7.9 0l-.95.9c.9 1.05.82 1.16.17 2.08-.2.3-.3.6-.3.9 0 .76.57 1.48 1.1 2.02l.9-.87zm-2.88 0c-.8-.78-.9-1.24-.2-2.13.24-.3.35-.62.35-.92 0-.63-.46-1.25-1.06-1.97l-.95.9c.9 1.05.82 1.16.17 2.08-.2.3-.3.6-.3.9 0 .76.57 1.48 1.1 2.02l.9-.87z' fill='%23ef7f1a'/%3E %3Cpath d='M0 6.8h10.08v1.4H0z' fill-rule='nonzero' fill='%23ffffff'/%3E %3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44.561' height='44.561' viewBox='0 0 231.76 231.76' shape-rendering='geometricPrecision' image-rendering='optimizeQuality' fill-rule='evenodd'%3E %3Cpath d='M115.88 0C51.88 0 0 51.88 0 115.88c0 21.47 5.84 41.57 16.02 58.8v-59.05c.13-55.04 44.8-99.62 99.85-99.62 88.68 0 133.36 107.72 70.6 170.47-47.62 47.63-121.14 33.36-153.82-15.06v25.08c21.06 21.73 50.56 35.24 83.2 35.24 64 0 115.88-51.88 115.88-115.88S179.87-.01 115.87-.01zm30.67 85.2c-27.24-27.25-74.03-7.86-74.03 30.67 0 38.52 46.8 57.92 74.03 30.67 16.93-16.94 16.94-44.4 0-61.33zm-30.67-.54c-17.23 0-31.2 13.97-31.2 31.2s13.97 31.2 31.2 31.2 31.2-13.97 31.2-31.2-13.97-31.2-31.2-31.2z' fill='%23ffffff'/%3E %3Cpath d='M115.88 16.02c88.68 0 133.36 107.72 70.6 170.47-47.62 47.63-121.14 33.36-153.82-15.06v51.42a8.32 8.32 0 1 1-16.64 0v-107.2c.13-55.04 44.8-99.62 99.85-99.62zm30.67 69.2c-27.24-27.25-74.03-7.86-74.03 30.67 0 38.52 46.8 57.92 74.03 30.67 16.93-16.94 16.94-44.4 0-61.33z' fill='%23ef7f1a'/%3E %3C/svg%3E"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(2),o=n(9);t.default=function(e){return r.h(r.Fragment,null,r.h(i.default,{id:"temperature.title",default_text:"Printer temperatures"}),r.h("div",{class:"columns is-centered"},r.h("div",{class:"column is-full"},r.h(o.Temperature,{temperatures:e.temperatures,bigSize:!0}))))}},function(e,t,n){var r={"./cs.json":47,"./de.json":48,"./en.json":11,"./es.json":49,"./fr.json":50,"./it.json":51,"./pl.json":52};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=46},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"Teplota CPU","temp_led":"Teplota UV LED","temp_amb":"Teplota okolí","uv_led_fan":"Ventilátor UV LED","blower_fan":"Ventilátor","rear_fan":"Zadní ventilátor","cover_state":"Stav víka","temp_nozzle":"Teplota trysky","temp_bed":"Vyhřívaná podložka","speed":"Rychlost tisku","flow":"Tok tisku","height":"Výška Z","material":"Materiál","cover_state_false":"Uzavřené","cover_state_true":"Otevřené"},"home":{"link":"Přehled","title":"Stav tiskárny:","status-idle":"Nečinná","status-priting":"Probíhá tisk"},"status-board":{"remaining-time":"Zbývající čas","estimated-end":"Odhadovaný konec","printing-time":"Doba tisku","layer":"Vrstvy","remaining-resin":"Zbývající resin","consumed-resin":"Spotřeba resinu","pos_z_mm":"Výška Z","printing-speed":"Rychlost tisku","flow-factor":"Tok tisku","time-est":"Zbývající čas","print-dur":"Doba tisku","filament-status":"Senzor filamentu","today-at":"Dnes v","tmw-at":"Zítra v","at":"v"},"temperature":{"title":"Teploty","label_x":"Čas [s]","label_y":"Teplota [°C]"},"project":{"title":"Soubory projektu","material":"Materiál","leyer-height":"Výška vrstvy","back":"Zpět","start_print":"Start tisku","change-exposure":"Změnit expoziční časy","exposure_time_ms":"doba expozice","exposure_time_first_ms":"první vrstva","refill-resin":"Doplnit resin","cancel-print":"Zrušit tisk","cancel-print-question":"Chcete opravdu zrušit tisk?","please-refill":"Prosím naplňte vaničku na resin."},"notification":{"welcome-part1":"Vítejte na webovém rozhraní vaší","welcome-part2":"Upozornění: některé hodnoty jsou zobrazeny pouze v průběhu tisku."},"under-construction":"Under construction","questions":{"yes":"Ano","no":"Ne","save-changes":"Uložit změny","resin-fully-refilled":"Resin doplněn","cancel":"Zrušit"}}')},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"CPU Temperatur","temp_led":"UV LED Temperatur","temp_amb":"Außentemperatur","uv_led_fan":"UV LED Lüfter","blower_fan":"Kühllüfter","rear_fan":"Hinterer Lüfter","cover_state":"Abdeckungsstatus","temp_nozzle":"Düsentemperatur","temp_bed":"Heizbett","speed":"Druckgeschwindigkeit","flow":"Druckfluss","height":"Z-Höhe","material":"Material","cover_state_false":"Geschlossen","cover_state_true":"Geöffnet"},"home":{"link":"Dashboard","title":"Druckerstatus:","status-idle":"Leerlauf","status-priting":"Druckt"},"status-board":{"remaining-time":"Restzeit","estimated-end":"Erwartetes Ende","printing-time":"Druckzeit","layer":"Schichten","remaining-resin":"Restharz","consumed-resin":"Verbrauchtes Harz","pos_z_mm":"Z-Höhe","printing-speed":"Druckgeschwindigkeit","flow-factor":"Druckfluss","time-est":"Restzeit","print-dur":"Druckzeit","filament-status":"Filament-Sensor","tmw-at":"Morgen um","today-at":"Heute um","at":"um"},"temperature":{"title":"Temperaturen","label_x":"Zeit [s]","label_y":"Temperatur [°C]"},"project":{"title":"Projektdateien","material":"Material","leyer-height":"Schichthöhe","back":"Zurück","start_print":"Druck starten","change-exposure":"Belichtungszeiten ändern","exposure_time_ms":"Belichtungszeit","exposure_time_first_ms":"Erste Schicht","refill-resin":"Harz auffüllen","cancel-print":"Druck abbrechen","cancel-print-question":"Wollen Sie den Druck wirklich abbrechen?","please-refill":"Bitte füllen Sie den Harztank vollständig auf."},"notification":{"welcome-part1":"Willkommen zur Weboberfläche Ihres","welcome-part2":"Bitte beachten Sie, dass die Werte nur angezeigt werden, wenn der Drucker gerade druckt."},"under-construction":"Under construction","questions":{"yes":"Ja","no":"Nein","save-changes":"Änderungen speichern","resin-fully-refilled":"Harz voll aufgefüllt","cancel":"Abbrechen"}}')},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"Temperatura de la CPU","temp_led":"Temperatura de los LED UV","temp_amb":"Temperatura ambiente","uv_led_fan":"Ventilador LED UV","blower_fan":"Ventilador radial","rear_fan":"Ventilador trasero","cover_state":"Estado cubierta","temp_nozzle":"Temperatura del nozzle","temp_bed":"Base calefactable","speed":"Velocidad de impresión","flow":"Flujo de impresión","height":"Altura-Z","material":"Material","cover_state_false":"Cerrada","cover_state_true":"Abierta"},"home":{"link":"Panel principal","title":"Estado de la impresora:","status-idle":"En espera","status-priting":"Imprimiendo"},"status-board":{"remaining-time":"Tiempo restante","estimated-end":"Fin estimado","printing-time":"Tiempo de impresión","layer":"Capas","remaining-resin":"Resina restante","consumed-resin":"Resina consumida","pos_z_mm":"Altura-Z","printing-speed":"Velocidad de impresión","flow-factor":"Flujo de impresión","time-est":"Tiempo restante","print-dur":"Tiempo de impresión","filament-status":"Sensor de filamento","tmw-at":"Mañana a las ","today-at":"Hoy a las","at":"a las"},"temperature":{"title":"Temperaturas","label_x":"Tiempo [s]","label_y":"Temperatura [°C]"},"project":{"title":"Archivos de proyecto","material":"Material","leyer-height":"Altura de Capa","back":"Atrás","start_print":"Empezar impresión","change-exposure":"Cambiar tiempos de exposición","exposure_time_ms":"tiempo de exposición","exposure_time_first_ms":"primera capa","refill-resin":"Rellenar resina","cancel-print":"Cancelar impresión","cancel-print-question":"¿Realmente quieres cancelar la impresión?","please-refill":"Rellena completamente el tanque de resina."},"notification":{"welcome-part1":"Bienvenido a la interfaz web de tu","welcome-part2":"Tenga en cuenta que los valores se muestran solo cuando la impresora está imprimiendo."},"under-construction":"Under construction","questions":{"yes":"Sí","no":"No","save-changes":"Guardar cambios","resin-fully-refilled":"Resina completamente rellenada","cancel":"Cancelar"}}')},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"Température du CPU","temp_led":"Température des LED UV","temp_amb":"Température ambiante","uv_led_fan":"Ventilateur des LED UV","blower_fan":"Ventilateur radial","rear_fan":"Ventilateur arrière","cover_state":"État du capot","temp_nozzle":"Température de la buse","temp_bed":"Plateau chauffant","speed":"Vitesse d\'impression","flow":"Flux d\'impression","height":"Hauteur en Z","material":"Matériau","cover_state_false":"Fermé","cover_state_true":"Ouvert"},"home":{"link":"Tableau de bord","title":"État de l\'imprimante:","status-idle":"Repos","status-priting":"Impression"},"status-board":{"remaining-time":"Temps restant","estimated-end":"Fin estimée","printing-time":"Temps d\'impression","layer":"Couches","remaining-resin":"Résine restante","consumed-resin":"Résine consommée","pos_z_mm":"Hauteur en Z","printing-speed":"Vitesse d\'impression","flow-factor":"Flux d\'impression","time-est":"Temps restant","print-dur":"Temps d\'impression","filament-status":"Capteur de filament","tmw-at":"Demain à","today-at":"Aujourd\'hui à","at":"à"},"temperature":{"title":"Températures","label_x":"Temps [s]","label_y":"Température [°C]"},"project":{"title":"Fichiers de projet","material":"Matériau","leyer-height":"Hauteur de Couche","back":"Retour","start_print":"Lancer l\'impression","change-exposure":"Modifier les temps d\'exposition","exposure_time_ms":"temps d\'exposition","exposure_time_first_ms":"première couche","refill-resin":"Faire le plein de résine","cancel-print":"Annuler l\'impression","cancel-print-question":"Voulez-vous vraiment annuler l\'impression ?","please-refill":"Veuillez remplir complètement le réservoir de résine."},"notification":{"welcome-part1":"Bienvenue dans l\'interface web de votre","welcome-part2":"Veuillez noter que les valeurs sont affichées uniquement lorsque l\'imprimante imprime."},"under-construction":"Under construction","questions":{"yes":"Oui","no":"Non","save-changes":"Enregistrer les modifications","resin-fully-refilled":"Plein de résine fait","cancel":"Annuler"}}')},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"Temperatura CPU","temp_led":"Temperatura LED UV","temp_amb":"Temperatura ambiente","uv_led_fan":"Ventola LED UV","blower_fan":"Ventola","rear_fan":"Ventola posteriore","cover_state":"Stato coperchio","temp_nozzle":"Temperatura ugello","temp_bed":"Piano riscaldato","speed":"Velocità di stampa","flow":"Flusso di stampa","height":"Altezza-Z","material":"Materiale","cover_state_false":"Chiuso","cover_state_true":"Aperto"},"home":{"link":"Dashboard","title":"Stato della stampante:","status-idle":"Inattivo","status-priting":"Stampa"},"status-board":{"remaining-time":"Tempo residuo","estimated-end":"Fine prevista","printing-time":"Tempo di stampa","layer":"Layer","remaining-resin":"Resina residua","consumed-resin":"Resina consumata","pos_z_mm":"Altezza-Z","printing-speed":"Velocità di stampa","flow-factor":"Flusso di stampa","time-est":"Tempo residuo","print-dur":"Tempo di stampa","filament-status":"Sensore del filamento","tmw-at":"Domani alle","today-at":"Oggi alle","at":"alle"},"temperature":{"title":"Temperature","label_x":"Tempo [s]","label_y":"Temperatura [°C]"},"project":{"title":"File di progetto","material":"Materiale","leyer-height":"Altezza Layer","back":"Indietro","start_print":"Inizia stampa","change-exposure":"Cambia i tempi di esposizione","exposure_time_ms":"tempo di esposizione","exposure_time_first_ms":"primo layer","refill-resin":"Riempire la resina","cancel-print":"Annulla stampa","cancel-print-question":"Vuoi davvero annullare la stampa?","please-refill":"Si prega di riempire completamente il serbatoio della resina."},"notification":{"welcome-part1":"Benvenuto nell\'interfaccia web del tuo","welcome-part2":"Si noti che i valori vengono visualizzati solo durante la stampa."},"under-construction":"Under construction","questions":{"yes":"Sì","no":"No","save-changes":"Salva le modifiche","resin-fully-refilled":"Resina completamente riempita","cancel":"Annulla"}}')},function(e){e.exports=JSON.parse('{"status-left":{"temp_cpu":"Temperatura CPU","temp_led":"Temperatura UV LED","temp_amb":"Temperatura otoczenia","uv_led_fan":"Wentylator UV LED","blower_fan":"Wentylator boczny","rear_fan":"Tylny wentylator","cover_state":"Stan pokrywy","temp_nozzle":"Temperatura dyszy","temp_bed":"Stół","speed":"Prędkość drukowania","flow":"Przepływ filamentu","height":"Wysokość Z","material":"Materiał","cover_state_false":"Zamknięta","cover_state_true":"Otwarta"},"home":{"link":"Panel kontrolny","title":"Stan drukarki:","status-idle":"Oczekuje","status-priting":"Drukowanie"},"status-board":{"remaining-time":"Pozostały czas","estimated-end":"Szacowane zakończenie","printing-time":"Czas druku","layer":"Warstwy","remaining-resin":"Pozostała żywica","consumed-resin":"Zużyta żywica","pos_z_mm":"Wysokość Z","printing-speed":"Prędkość drukowania","flow-factor":"Przepływ filamentu","time-est":"Pozostały czas","print-dur":"Czas druku","filament-status":"Czujnik filamentu","tmw-at":"Jutro o","today-at":"Dzisiaj o","at":"o"},"temperature":{"title":"Temperatury","label_x":"Czas [s]","label_y":"Temperatura [°C]"},"project":{"title":"Pliki projektu","material":"Materiał","leyer-height":"Wysokość Warstwy","back":"Wstecz","start_print":"Start druku","change-exposure":"Zmień czasy naświetlania","exposure_time_ms":"czas naświetlania","exposure_time_first_ms":"pierwsza warstwa","refill-resin":"Uzupełnij żywicę","cancel-print":"Anuluj wydruk","cancel-print-question":"Czy na pewno chcesz anulować wydruk?","please-refill":"Uzupełnij żywicę do znacznika 100%."},"notification":{"welcome-part1":"Witaj w interfejsie Twojej","welcome-part2":"Wartości będą wyświetlane tylko podczas drukowania."},"under-construction":"Under construction","questions":{"yes":"Tak","no":"Nie","save-changes":"Zapisz zmiany","resin-fully-refilled":"Żywica uzupełniona","cancel":"Anuluj"}}')}]);