diff --git a/dist/css/home.css b/dist/css/home.css index 639ea2e..a0632c5 100644 --- a/dist/css/home.css +++ b/dist/css/home.css @@ -1,2 +1,2 @@ -#b{width:200px;height:200px;border-radius:100%;display:inline-block;margin-bottom:40px;vertical-align:top;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:floatUp;animation-name:floatUp;-webkit-animation-timing-function:cubic-bezier(0,.71,.29,1);animation-timing-function:cubic-bezier(0,.71,.29,1)}.logo{max-height:200px}.logo.is-2x{display:none}#dropzone *{pointer-events:none}#panel,#tokenContainer{display:none}#maxSize{font-size:1rem}.dz-preview .dz-details{display:flex}.dz-preview .dz-details .dz-filename,.dz-preview .dz-details .dz-size{flex:1}.dz-preview .dz-error-mark,.dz-preview .dz-success-mark,.dz-preview img{display:none}@-webkit-keyframes floatUp{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}@keyframes floatUp{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}.uploads{display:flex;flex-direction:column}.uploads.is-reversed{flex-direction:column-reverse}.uploads>div{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s;margin:.75rem!important}.uploads.is-reversed>div{flex:0 0 auto}.uploads>div:first-child{margin-top:1.5rem}.uploads.nojs{margin-bottom:0}.uploads>div>.icon:not(.icon-block){color:#209cee}.uploads>div>.icon.icon-block{color:#da4453}.uploads .descriptive-progress{color:#bdc3c7}.uploads img{max-width:200px}.name{font-size:1rem;color:#eff0f1}.link>a,.name{word-break:break-all}.clipboard-mobile{margin-top:5px}#albumDiv{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#albumDiv .control{text-align:inherit}#linksColumn{margin-top:-.25rem;margin-left:-.25rem;margin-right:-.25rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#linksColumn .column{padding:.25rem}#linksColumn>span{padding:0 .3rem;color:#7f8c8d}.git-commit a{display:inline-block;word-break:break-all}#tabs{margin-bottom:1rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#tabs ul{border-bottom:1px solid #585858}#tabs li a{color:#bdc3c7;border-bottom-color:#585858}#tabs.is-boxed li.is-active a{color:#209cee;background:#000;border-color:#585858 #585858 #000}#tabs.is-boxed li:not(.is-active) a:hover{background:#585858}.tab-content{margin-bottom:-.75rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#tab-config.tab-content form{margin-bottom:.75rem}#urlMaxSize{font-weight:700}.render{position:fixed;right:0;bottom:0;font-size:1rem;color:#bdc3c7;cursor:pointer}.render.button{border-bottom-left-radius:0;border-bottom-right-radius:0;right:1%;opacity:.25;transition:opacity .25s}.render.button:hover{opacity:1}input[type=file].is-fullwidth{width:100%}#newsfeed{position:absolute;top:0;right:0;left:0;padding:1.5rem 1.5rem 0}#newsfeed .notification{padding:.9375rem 1.875rem .9375rem 1.125rem;margin-bottom:1.125rem}#newsfeed .notification .content{font-size:.75rem}#newsfeed .news-date.is-recent-week,#newsfeed .news-title{font-weight:700} +#b{width:200px;height:200px;border-radius:100%;display:inline-block;margin-bottom:40px;vertical-align:top;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.logo{max-height:200px}.logo.is-2x{display:none}#dropzone *{pointer-events:none}#panel,#tokenContainer{display:none}#maxSize{font-size:1rem}.dz-preview .dz-details{display:flex}.dz-preview .dz-details .dz-filename,.dz-preview .dz-details .dz-size{flex:1}.dz-preview .dz-error-mark,.dz-preview .dz-success-mark,.dz-preview img{display:none}.uploads{display:flex;flex-direction:column}.uploads.is-reversed{flex-direction:column-reverse}.uploads>div{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s;margin:.75rem!important}.uploads.is-reversed>div{flex:0 0 auto}.uploads>div:first-child{margin-top:1.5rem}.uploads.nojs{margin-bottom:0}.uploads>div>.icon:not(.icon-block){color:#209cee}.uploads>div>.icon.icon-block{color:#da4453}.uploads .descriptive-progress{color:#bdc3c7}.uploads img{max-width:200px}.name{font-size:1rem;color:#eff0f1}.link>a,.name{word-break:break-all}.clipboard-mobile{margin-top:5px}#albumDiv{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#albumDiv .control{text-align:inherit}#linksColumn{margin-top:-.25rem;margin-left:-.25rem;margin-right:-.25rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#linksColumn .column{padding:.25rem}#linksColumn>span{padding:0 .3rem;color:#7f8c8d}.git-commit a{display:inline-block;word-break:break-all}#tabs{margin-bottom:1rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#tabs ul{border-bottom:1px solid #585858}#tabs li a{color:#bdc3c7;border-bottom-color:#585858}#tabs.is-boxed li.is-active a{color:#209cee;background:#000;border-color:#585858 #585858 #000}#tabs.is-boxed li:not(.is-active) a:hover{background:#585858}.tab-content{margin-bottom:-.75rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}#tab-config.tab-content form{margin-bottom:.75rem}#urlMaxSize{font-weight:700}input[type=file].is-fullwidth{width:100%}.render{position:fixed;right:0;bottom:0;font-size:1rem;color:#bdc3c7;cursor:pointer;-webkit-animation:floatUp 1.5s cubic-bezier(0,.71,.29,1) .5s 1 normal both;animation:floatUp 1.5s cubic-bezier(0,.71,.29,1) .5s 1 normal both}.render.button{border-bottom-left-radius:0;border-bottom-right-radius:0;right:1%;opacity:.25;transition:opacity .25s}.render.button:hover{opacity:1}#newsfeed{position:absolute;top:0;right:0;left:0;padding:1.5rem 1.5rem 0}#newsfeed .column:last-child{-webkit-animation:floatUp 1.5s cubic-bezier(0,.71,.29,1) .5s 1 normal both;animation:floatUp 1.5s cubic-bezier(0,.71,.29,1) .5s 1 normal both}#newsfeed .notification{display:block;padding:.75rem 2.25rem .75rem 1.125rem;margin-bottom:1.125rem}#newsfeed .notification>.delete{top:.75rem}#newsfeed .notification .content{font-size:.75rem}#newsfeed .news-date.is-recent-week,#newsfeed .news-title{font-weight:700} /*# sourceMappingURL=home.css.map */ diff --git a/dist/css/home.css.map b/dist/css/home.css.map index e8d5ff8..72fcff9 100644 --- a/dist/css/home.css.map +++ b/dist/css/home.css.map @@ -1 +1 @@ -{"version":3,"sources":["css/home.css"],"names":[],"mappings":"AAAA,GACE,WAAY,CACZ,YAAa,CACb,kBAAmB,CACnB,oBAAqB,CACrB,kBAAmB,CACnB,kBAAmB,CACnB,2BAAqB,CAArB,mBAAqB,CACrB,+BAAwB,CAAxB,uBAAwB,CACxB,gCAAyB,CAAzB,wBAAyB,CACzB,8BAAuB,CAAvB,sBAAuB,CACvB,2DAAwD,CAAxD,mDACF,CAEA,MACE,gBACF,CAEA,YACE,YACF,CAEA,YACE,mBACF,CAEA,uBAEE,YACF,CAEA,SACE,cACF,CAEA,wBACE,YACF,CAEA,sEAEE,MACF,CAEA,wEAGE,YACF,CAEA,2BACE,GACE,SAAU,CACV,oBACF,CAEA,IACE,SACF,CAEA,IACE,kBACF,CAEA,GACE,kBACF,CACF,CAEA,mBACE,GACE,SAAU,CACV,oBACF,CAEA,IACE,SACF,CAEA,IACE,kBACF,CAEA,GACE,kBACF,CACF,CAEA,SACE,YAAa,CACb,qBACF,CAEA,qBACE,6BACF,CAEA,aACE,mCAA6B,CAA7B,2BAA6B,CAC7B,uBACF,CAEA,yBACE,aACF,CAEA,yBACE,iBACF,CAEA,cACE,eACF,CAEA,oCACE,aACF,CAEA,8BACE,aACF,CAEA,+BACE,aACF,CAEA,aACE,eACF,CAEA,MACE,cAAe,CACf,aAEF,CAEA,cAHE,oBAKF,CAEA,kBACE,cACF,CAEA,UACE,mCAA4B,CAA5B,2BACF,CAEA,mBACE,kBACF,CAEA,aACE,kBAAoB,CACpB,mBAAqB,CACrB,oBAAsB,CACtB,mCAA4B,CAA5B,2BACF,CAEA,qBACE,cACF,CAEA,kBACE,eAAiB,CACjB,aACF,CAEA,cACE,oBAAqB,CACrB,oBACF,CAEA,MACE,kBAAmB,CACnB,mCAA4B,CAA5B,2BACF,CAEA,SACE,+BACF,CAEA,WACE,aAAc,CACd,2BACF,CAEA,8BACE,aAAc,CACd,eAAgB,CAEhB,iCACF,CAEA,0CACE,kBACF,CAEA,aACE,qBAAuB,CACvB,mCAA4B,CAA5B,2BACF,CAEA,6BACE,oBACF,CAEA,YACE,eACF,CAEA,QACE,cAAe,CACf,OAAQ,CACR,QAAS,CACT,cAAe,CACf,aAAc,CACd,cACF,CAEA,eACE,2BAA4B,CAC5B,4BAA6B,CAC7B,QAAS,CACT,WAAa,CACb,uBACF,CAEA,qBACE,SACF,CAEA,8BACE,UACF,CAEA,UACE,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,MAAO,CACP,uBACF,CAEA,wBACE,2CAA8C,CAC9C,sBACF,CAEA,iCACE,gBACF,CAMA,0DACE,eACF","file":"home.css","sourcesContent":["#b {\n width: 200px;\n height: 200px;\n border-radius: 100%;\n display: inline-block;\n margin-bottom: 40px;\n vertical-align: top;\n animation-delay: 0.5s;\n animation-duration: 1.5s;\n animation-fill-mode: both;\n animation-name: floatUp;\n animation-timing-function: cubic-bezier(0, 0.71, 0.29, 1)\n}\n\n.logo {\n max-height: 200px\n}\n\n.logo.is-2x {\n display: none\n}\n\n#dropzone * {\n pointer-events: none\n}\n\n#tokenContainer,\n#panel {\n display: none\n}\n\n#maxSize {\n font-size: 1rem\n}\n\n.dz-preview .dz-details {\n display: flex\n}\n\n.dz-preview .dz-details .dz-size,\n.dz-preview .dz-details .dz-filename {\n flex: 1\n}\n\n.dz-preview img,\n.dz-preview .dz-success-mark,\n.dz-preview .dz-error-mark {\n display: none\n}\n\n@-webkit-keyframes floatUp {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n@keyframes floatUp {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n.uploads {\n display: flex;\n flex-direction: column\n}\n\n.uploads.is-reversed {\n flex-direction: column-reverse\n}\n\n.uploads > div {\n animation: fadeInOpacity 0.5s;\n margin: 0.75rem !important\n}\n\n.uploads.is-reversed > div {\n flex: 0 0 auto\n}\n\n.uploads > div:first-child {\n margin-top: 1.5rem\n}\n\n.uploads.nojs {\n margin-bottom: 0\n}\n\n.uploads > div > .icon:not(.icon-block) {\n color: #209cee\n}\n\n.uploads > div > .icon.icon-block {\n color: #da4453\n}\n\n.uploads .descriptive-progress {\n color: #bdc3c7\n}\n\n.uploads img {\n max-width: 200px\n}\n\n.name {\n font-size: 1rem;\n color: #eff0f1;\n word-break: break-all\n}\n\n.link > a {\n word-break: break-all\n}\n\n.clipboard-mobile {\n margin-top: 5px\n}\n\n#albumDiv {\n animation: fadeInOpacity 0.5s\n}\n\n#albumDiv .control {\n text-align: inherit\n}\n\n#linksColumn {\n margin-top: -0.25rem;\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n animation: fadeInOpacity 0.5s\n}\n\n#linksColumn .column {\n padding: 0.25rem\n}\n\n#linksColumn > span {\n padding: 0 0.3rem;\n color: #7f8c8d\n}\n\n.git-commit a {\n display: inline-block;\n word-break: break-all\n}\n\n#tabs {\n margin-bottom: 1rem;\n animation: fadeInOpacity 0.5s\n}\n\n#tabs ul {\n border-bottom: 1px solid #585858\n}\n\n#tabs li a {\n color: #bdc3c7;\n border-bottom-color: #585858\n}\n\n#tabs.is-boxed li.is-active a {\n color: #209cee;\n background: #000;\n border-color: #585858;\n border-bottom-color: #000\n}\n\n#tabs.is-boxed li:not(.is-active) a:hover {\n background: #585858\n}\n\n.tab-content {\n margin-bottom: -0.75rem;\n animation: fadeInOpacity 0.5s\n}\n\n#tab-config.tab-content form {\n margin-bottom: 0.75rem\n}\n\n#urlMaxSize {\n font-weight: bold\n}\n\n.render {\n position: fixed;\n right: 0;\n bottom: 0;\n font-size: 1rem;\n color: #bdc3c7;\n cursor: pointer\n}\n\n.render.button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n right: 1%;\n opacity: 0.25;\n transition: opacity 0.25s\n}\n\n.render.button:hover {\n opacity: 1\n}\n\ninput[type=\"file\"].is-fullwidth {\n width: 100%\n}\n\n#newsfeed {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 1.5rem 1.5rem 0 1.5rem\n}\n\n#newsfeed .notification {\n padding: 0.9375rem 1.875rem 0.9375rem 1.125rem;\n margin-bottom: 1.125rem\n}\n\n#newsfeed .notification .content {\n font-size: 0.75rem\n}\n\n#newsfeed .news-title {\n font-weight: bold\n}\n\n#newsfeed .news-date.is-recent-week {\n font-weight: bold\n}\n"]} \ No newline at end of file +{"version":3,"sources":["css/home.css"],"names":[],"mappings":"AAAA,GACE,WAAY,CACZ,YAAa,CACb,kBAAmB,CACnB,oBAAqB,CACrB,kBAAmB,CACnB,kBAAmB,CACnB,mCAA4B,CAA5B,2BACF,CAEA,MACE,gBACF,CAEA,YACE,YACF,CAEA,YACE,mBACF,CAEA,uBAEE,YACF,CAEA,SACE,cACF,CAEA,wBACE,YACF,CAEA,sEAEE,MACF,CAEA,wEAGE,YACF,CAEA,SACE,YAAa,CACb,qBACF,CAEA,qBACE,6BACF,CAEA,aACE,mCAA6B,CAA7B,2BAA6B,CAC7B,uBACF,CAEA,yBACE,aACF,CAEA,yBACE,iBACF,CAEA,cACE,eACF,CAEA,oCACE,aACF,CAEA,8BACE,aACF,CAEA,+BACE,aACF,CAEA,aACE,eACF,CAEA,MACE,cAAe,CACf,aAEF,CAEA,cAHE,oBAKF,CAEA,kBACE,cACF,CAEA,UACE,mCAA4B,CAA5B,2BACF,CAEA,mBACE,kBACF,CAEA,aACE,kBAAoB,CACpB,mBAAqB,CACrB,oBAAsB,CACtB,mCAA4B,CAA5B,2BACF,CAEA,qBACE,cACF,CAEA,kBACE,eAAiB,CACjB,aACF,CAEA,cACE,oBAAqB,CACrB,oBACF,CAEA,MACE,kBAAmB,CACnB,mCAA4B,CAA5B,2BACF,CAEA,SACE,+BACF,CAEA,WACE,aAAc,CACd,2BACF,CAEA,8BACE,aAAc,CACd,eAAgB,CAEhB,iCACF,CAEA,0CACE,kBACF,CAEA,aACE,qBAAuB,CACvB,mCAA4B,CAA5B,2BACF,CAEA,6BACE,oBACF,CAEA,YACE,eACF,CAEA,8BACE,UACF,CAIA,QACE,cAAe,CACf,OAAQ,CACR,QAAS,CACT,cAAe,CACf,aAAc,CACd,cAAe,CACf,0EAAwE,CAAxE,kEACF,CAEA,eACE,2BAA4B,CAC5B,4BAA6B,CAC7B,QAAS,CACT,WAAa,CACb,uBACF,CAEA,qBACE,SACF,CAIA,UACE,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,MAAO,CACP,uBACF,CAEA,6BACE,0EAAwE,CAAxE,kEACF,CAEA,wBACE,aAAc,CACd,sCAAyC,CACzC,sBACF,CAEA,gCACE,UACF,CAEA,iCACE,gBACF,CAMA,0DACE,eACF","file":"home.css","sourcesContent":["#b {\n width: 200px;\n height: 200px;\n border-radius: 100%;\n display: inline-block;\n margin-bottom: 40px;\n vertical-align: top;\n animation: fadeInOpacity 0.5s\n}\n\n.logo {\n max-height: 200px\n}\n\n.logo.is-2x {\n display: none\n}\n\n#dropzone * {\n pointer-events: none\n}\n\n#tokenContainer,\n#panel {\n display: none\n}\n\n#maxSize {\n font-size: 1rem\n}\n\n.dz-preview .dz-details {\n display: flex\n}\n\n.dz-preview .dz-details .dz-size,\n.dz-preview .dz-details .dz-filename {\n flex: 1\n}\n\n.dz-preview img,\n.dz-preview .dz-success-mark,\n.dz-preview .dz-error-mark {\n display: none\n}\n\n.uploads {\n display: flex;\n flex-direction: column\n}\n\n.uploads.is-reversed {\n flex-direction: column-reverse\n}\n\n.uploads > div {\n animation: fadeInOpacity 0.5s;\n margin: 0.75rem !important\n}\n\n.uploads.is-reversed > div {\n flex: 0 0 auto\n}\n\n.uploads > div:first-child {\n margin-top: 1.5rem\n}\n\n.uploads.nojs {\n margin-bottom: 0\n}\n\n.uploads > div > .icon:not(.icon-block) {\n color: #209cee\n}\n\n.uploads > div > .icon.icon-block {\n color: #da4453\n}\n\n.uploads .descriptive-progress {\n color: #bdc3c7\n}\n\n.uploads img {\n max-width: 200px\n}\n\n.name {\n font-size: 1rem;\n color: #eff0f1;\n word-break: break-all\n}\n\n.link > a {\n word-break: break-all\n}\n\n.clipboard-mobile {\n margin-top: 5px\n}\n\n#albumDiv {\n animation: fadeInOpacity 0.5s\n}\n\n#albumDiv .control {\n text-align: inherit\n}\n\n#linksColumn {\n margin-top: -0.25rem;\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n animation: fadeInOpacity 0.5s\n}\n\n#linksColumn .column {\n padding: 0.25rem\n}\n\n#linksColumn > span {\n padding: 0 0.3rem;\n color: #7f8c8d\n}\n\n.git-commit a {\n display: inline-block;\n word-break: break-all\n}\n\n#tabs {\n margin-bottom: 1rem;\n animation: fadeInOpacity 0.5s\n}\n\n#tabs ul {\n border-bottom: 1px solid #585858\n}\n\n#tabs li a {\n color: #bdc3c7;\n border-bottom-color: #585858\n}\n\n#tabs.is-boxed li.is-active a {\n color: #209cee;\n background: #000;\n border-color: #585858;\n border-bottom-color: #000\n}\n\n#tabs.is-boxed li:not(.is-active) a:hover {\n background: #585858\n}\n\n.tab-content {\n margin-bottom: -0.75rem;\n animation: fadeInOpacity 0.5s\n}\n\n#tab-config.tab-content form {\n margin-bottom: 0.75rem\n}\n\n#urlMaxSize {\n font-weight: bold\n}\n\ninput[type=\"file\"].is-fullwidth {\n width: 100%\n}\n\n/** Render **/\n\n.render {\n position: fixed;\n right: 0;\n bottom: 0;\n font-size: 1rem;\n color: #bdc3c7;\n cursor: pointer;\n animation: floatUp 1.5s cubic-bezier(0, 0.71, 0.29, 1) 0.5s 1 normal both\n}\n\n.render.button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n right: 1%;\n opacity: 0.25;\n transition: opacity 0.25s\n}\n\n.render.button:hover {\n opacity: 1\n}\n\n/** Newsfeed **/\n\n#newsfeed {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n padding: 1.5rem 1.5rem 0 1.5rem\n}\n\n#newsfeed .column:last-child {\n animation: floatUp 1.5s cubic-bezier(0, 0.71, 0.29, 1) 0.5s 1 normal both\n}\n\n#newsfeed .notification {\n display: block;\n padding: 0.75rem 2.25rem 0.75rem 1.125rem;\n margin-bottom: 1.125rem\n}\n\n#newsfeed .notification > .delete {\n top: 0.75rem\n}\n\n#newsfeed .notification .content {\n font-size: 0.75rem\n}\n\n#newsfeed .news-title {\n font-weight: bold\n}\n\n#newsfeed .news-date.is-recent-week {\n font-weight: bold\n}\n"]} \ No newline at end of file diff --git a/dist/css/style.css b/dist/css/style.css index e0d5f16..398e572 100644 --- a/dist/css/style.css +++ b/dist/css/style.css @@ -1,2 +1,2 @@ -html{background-color:#000;overflow-y:auto}body{color:#eff0f1;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}@-webkit-keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}@keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}a{color:#209cee}a:hover{color:#67c3ff}hr{background-color:#585858}.message-body code,code{background-color:#000;border-radius:5px;font-size:1rem}.subtitle,.subtitle strong{color:#bdc3c7}.subtitle.is-brighter,.subtitle.is-brighter strong,.title{color:#eff0f1}.input,.select select,.textarea{color:#eff0f1;border-color:#585858;background-color:#000}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#bdc3c7}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#bdc3c7}.input:-moz-placeholder,.textarea:-moz-placeholder{color:#bdc3c7}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#bdc3c7}.input.is-active,.input.is-focused,.input:active,.input:focus,.input:not([disabled]):hover,.select fieldset:not([disabled]) select:hover,.select select:not([disabled]):hover,.textarea.is-active,.textarea.is-focused,.textarea:active,.textarea:focus,.textarea:not([disabled]):hover,fieldset:not([disabled]) .input:hover,fieldset:not([disabled]) .select select:hover,fieldset:not([disabled]) .textarea:hover{border-color:#209cee}.input[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{border-color:#585858;background-color:#2f2f2f}.label{color:#eff0f1;font-weight:400}.help{color:#bdc3c7}.progress{background-color:#585858}.button.is-info.is-hovered [class*=" icon-"]:before,.button.is-info.is-hovered [class^=icon-]:before,.button.is-info:hover [class*=" icon-"]:before,.button.is-info:hover [class^=icon-]:before{fill:#fff}.button.is-dangerish{background-color:#ff7043;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-hovered,.button.is-dangerish:not([disabled]):hover{background-color:#ff8a65;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-active,.button.is-dangerish:not([disabled]):active{background-color:#ff5722;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-outlined{background-color:transparent;border-color:#ff7043;color:#ff7043}.button.is-dangerish.is-outlined.is-focused,.button.is-dangerish.is-outlined.is-hovered,.button.is-dangerish.is-outlined:not([disabled]):focus,.button.is-dangerish.is-outlined:not([disabled]):hover{background-color:#ff7043;border-color:#ff7043;color:rgba(0,0,0,.7)}.button.is-wrappable{white-space:break-spaces;min-height:2.25em;height:auto}.checkbox:hover,.radio:hover{color:#7f8c8d}.select:not(.is-multiple):not(.is-loading):after,.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#eff0f1}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#585858}.message{background-color:#2f2f2f}.message-body{color:#eff0f1;border:0}.table{color:#bdc3c7;background-color:#000}.table.is-narrow{font-size:.75rem}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#2f2f2f}.table td,.table th{white-space:nowrap;vertical-align:middle;border-bottom:1px solid #585858}.table th{color:#eff0f1;height:2.25em;font-weight:400}.table th.capitalize{text-transform:capitalize}.table thead td,.table thead th{color:#eff0f1;background-color:#383838;border-bottom:0;height:31px}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:1px}.table .cell-indent{padding-left:2.25em}.cc-window{font-family:inherit!important}.cc-link{padding:0!important}.section.has-extra-bottom-padding{padding-bottom:6.5rem}a.floating-home-button{display:flex;position:fixed;right:1.5rem;bottom:1.5rem;border-radius:100%;background-color:#209cee;color:#fff;width:3.5rem;height:3.5rem;justify-content:center;align-items:center;transition:background-color .25s}a.floating-home-button:hover{background-color:#67c3ff;color:#fff}a.floating-home-button>.icon{margin-top:-2px}.hero.is-fullheight>.hero-body{min-height:100vh;height:100%}.hero.is-fullheight>.hero-body>.container{width:100%} +@-webkit-keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}@keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}@-webkit-keyframes floatUp{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}@keyframes floatUp{0%{opacity:0;transform:scale(.86)}25%{opacity:1}67%{transform:scale(1)}to{transform:scale(1)}}html{background-color:#000;overflow-y:auto}body{color:#eff0f1;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}a{color:#209cee}a:hover{color:#67c3ff}hr{background-color:#585858}.message-body code,code{background-color:#000;border-radius:5px;font-size:1rem}.subtitle,.subtitle strong{color:#bdc3c7}.subtitle.is-brighter,.subtitle.is-brighter strong,.title{color:#eff0f1}.input,.select select,.textarea{color:#eff0f1;border-color:#585858;background-color:#000}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#bdc3c7}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#bdc3c7}.input:-moz-placeholder,.textarea:-moz-placeholder{color:#bdc3c7}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#bdc3c7}.input.is-active,.input.is-focused,.input:active,.input:focus,.input:not([disabled]):hover,.select fieldset:not([disabled]) select:hover,.select select:not([disabled]):hover,.textarea.is-active,.textarea.is-focused,.textarea:active,.textarea:focus,.textarea:not([disabled]):hover,fieldset:not([disabled]) .input:hover,fieldset:not([disabled]) .select select:hover,fieldset:not([disabled]) .textarea:hover{border-color:#209cee}.input[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{border-color:#585858;background-color:#2f2f2f}.label{color:#eff0f1;font-weight:400}.help{color:#bdc3c7}.progress{background-color:#585858}.button.is-info.is-hovered [class*=" icon-"]:before,.button.is-info.is-hovered [class^=icon-]:before,.button.is-info:hover [class*=" icon-"]:before,.button.is-info:hover [class^=icon-]:before{fill:#fff}.button.is-dangerish{background-color:#ff7043;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-hovered,.button.is-dangerish:not([disabled]):hover{background-color:#ff8a65;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-active,.button.is-dangerish:not([disabled]):active{background-color:#ff5722;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-dangerish.is-outlined{background-color:transparent;border-color:#ff7043;color:#ff7043}.button.is-dangerish.is-outlined.is-focused,.button.is-dangerish.is-outlined.is-hovered,.button.is-dangerish.is-outlined:not([disabled]):focus,.button.is-dangerish.is-outlined:not([disabled]):hover{background-color:#ff7043;border-color:#ff7043;color:rgba(0,0,0,.7)}.button.is-wrappable{white-space:break-spaces;min-height:2.25em;height:auto}.checkbox:hover,.radio:hover{color:#7f8c8d}.select:not(.is-multiple):not(.is-loading):after,.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#eff0f1}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#585858}.message{background-color:#2f2f2f}.message-body{color:#eff0f1;border:0}.table{color:#bdc3c7;background-color:#000}.table.is-narrow{font-size:.75rem}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#2f2f2f}.table td,.table th{white-space:nowrap;vertical-align:middle;border-bottom:1px solid #585858}.table th{color:#eff0f1;height:2.25em;font-weight:400}.table th.capitalize{text-transform:capitalize}.table thead td,.table thead th{color:#eff0f1;background-color:#383838;border-bottom:0;height:31px}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:1px}.table .cell-indent{padding-left:2.25em}.cc-window{font-family:inherit!important}.cc-link{padding:0!important}.section.has-extra-bottom-padding{padding-bottom:6.5rem}a.floating-home-button{display:flex;position:fixed;right:1.5rem;bottom:1.5rem;border-radius:100%;background-color:#209cee;color:#fff;width:3.5rem;height:3.5rem;justify-content:center;align-items:center;transition:background-color .25s}a.floating-home-button:hover{background-color:#67c3ff;color:#fff}a.floating-home-button>.icon{margin-top:-2px}.hero.is-fullheight>.hero-body{min-height:100vh;height:100%}.hero.is-fullheight>.hero-body>.container{width:100%} /*# sourceMappingURL=style.css.map */ diff --git a/dist/css/style.css.map b/dist/css/style.css.map index d5c5684..659aec7 100644 --- a/dist/css/style.css.map +++ b/dist/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["css/style.css"],"names":[],"mappings":"AAAA,KACE,qBAAsB,CACtB,eACF,CAEA,KACE,aAAc,CACd,mCAA4B,CAA5B,2BACF,CAEA,iCACE,GACE,SACF,CAEA,GACE,SACF,CACF,CAEA,yBACE,GACE,SACF,CAEA,GACE,SACF,CACF,CAEA,EACE,aACF,CAEA,QACE,aACF,CAEA,GACE,wBACF,CAEA,wBAEE,qBAAsB,CACtB,iBAAkB,CAClB,cACF,CAMA,2BACE,aACF,CAEA,0DAGE,aACF,CAEA,gCAGE,aAAc,CACd,oBAAqB,CACrB,qBACF,CAEA,qDAEE,aACF,CAEA,uEAEE,aACF,CAEA,mDAEE,aACF,CAEA,6DAEE,aACF,CAYA,qZAQE,oBACF,CAEA,yLAOE,oBAAqB,CACrB,wBACF,CAEA,OACE,aAAc,CACd,eACF,CAEA,MACE,aACF,CAEA,UACE,wBACF,CAEA,gMAIE,SACF,CAEA,qBACE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,2EAEE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,2EAEE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,iCACE,4BAA6B,CAC7B,oBAAqB,CACrB,aACF,CAEA,sMAIE,wBAAyB,CACzB,oBAAqB,CACrB,oBACF,CAEA,qBACE,wBAAyB,CACzB,iBAAkB,CAClB,WACF,CAEA,6BAEE,aACF,CAMA,wGACE,oBACF,CAEA,uEAEE,oBACF,CAEA,SACE,wBACF,CAEA,cACE,aAAc,CACd,QACF,CAEA,OACE,aAAc,CACd,qBACF,CAEA,iBACE,gBACF,CAEA,qDACE,wBACF,CAEA,oBAEE,kBAAmB,CACnB,qBAAsB,CACtB,+BACF,CAEA,UACE,aAAc,CACd,aAAc,CACd,eACF,CAEA,qBACE,yBACF,CAEA,gCAEE,aAAc,CACd,wBAAyB,CACzB,eAAgB,CAChB,WACF,CAEA,4DAEE,uBACF,CAEA,oBACE,mBACF,CAGA,WACE,6BACF,CAEA,SACE,mBACF,CAGA,kCACE,qBACF,CAEA,uBACE,YAAa,CACb,cAAe,CACf,YAAa,CACb,aAAc,CACd,kBAAmB,CACnB,wBAAyB,CACzB,UAAY,CACZ,YAAa,CACb,aAAc,CACd,sBAAuB,CACvB,kBAAmB,CACnB,gCACF,CAEA,6BACE,wBAAyB,CACzB,UACF,CAEA,6BACE,eACF,CAGA,+BACE,gBAAiB,CACjB,WACF,CAGA,0CACE,UACF","file":"style.css","sourcesContent":["html {\n background-color: #000;\n overflow-y: auto\n}\n\nbody {\n color: #eff0f1;\n animation: fadeInOpacity 0.5s\n}\n\n@-webkit-keyframes fadeInOpacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\n@keyframes fadeInOpacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\na {\n color: #209cee\n}\n\na:hover {\n color: #67c3ff\n}\n\nhr {\n background-color: #585858\n}\n\ncode,\n.message-body code {\n background-color: #000;\n border-radius: 5px;\n font-size: 1rem\n}\n\n.subtitle {\n color: #bdc3c7\n}\n\n.subtitle strong {\n color: #bdc3c7\n}\n\n.title,\n.subtitle.is-brighter,\n.subtitle.is-brighter strong {\n color: #eff0f1\n}\n\n.input,\n.select select,\n.textarea {\n color: #eff0f1;\n border-color: #585858;\n background-color: #000\n}\n\n.input::-moz-placeholder,\n.textarea::-moz-placeholder {\n color: #bdc3c7\n}\n\n.input::-webkit-input-placeholder,\n.textarea::-webkit-input-placeholder {\n color: #bdc3c7\n}\n\n.input:-moz-placeholder,\n.textarea:-moz-placeholder {\n color: #bdc3c7\n}\n\n.input:-ms-input-placeholder,\n.textarea:-ms-input-placeholder {\n color: #bdc3c7\n}\n\n.input:not([disabled]):hover,\n.select fieldset:not([disabled]) select:hover,\n.select select:not([disabled]):hover,\n.textarea:not([disabled]):hover,\nfieldset:not([disabled]) .input:hover,\nfieldset:not([disabled]) .select select:hover,\nfieldset:not([disabled]) .textarea:hover {\n border-color: #209cee\n}\n\n.input.is-active,\n.input.is-focused,\n.input:active,\n.input:focus,\n.textarea.is-active,\n.textarea.is-focused,\n.textarea:active,\n.textarea:focus {\n border-color: #209cee\n}\n\n.input[disabled],\n.select fieldset[disabled] select,\n.select select[disabled],\n.textarea[disabled],\nfieldset[disabled] .input,\nfieldset[disabled] .select select,\nfieldset[disabled] .textarea {\n border-color: #585858;\n background-color: #2f2f2f\n}\n\n.label {\n color: #eff0f1;\n font-weight: normal\n}\n\n.help {\n color: #bdc3c7\n}\n\n.progress {\n background-color: #585858\n}\n\n.button.is-info.is-hovered [class^=\"icon-\"]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=\"icon-\"]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff\n}\n\n.button.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-hovered,\n.button.is-dangerish:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-active,\n.button.is-dangerish:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043\n}\n\n.button.is-dangerish.is-outlined.is-focused,\n.button.is-dangerish.is-outlined.is-hovered,\n.button.is-dangerish.is-outlined:not([disabled]):focus,\n.button.is-dangerish.is-outlined:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto\n}\n\n.checkbox:hover,\n.radio:hover {\n color: #7f8c8d\n}\n\n.select:not(.is-multiple):not(.is-loading)::after {\n border-color: #eff0f1\n}\n\n.select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: #eff0f1\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: #585858\n}\n\n.message {\n background-color: #2f2f2f\n}\n\n.message-body {\n color: #eff0f1;\n border: 0\n}\n\n.table {\n color: #bdc3c7;\n background-color: #000\n}\n\n.table.is-narrow {\n font-size: 0.75rem\n}\n\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f\n}\n\n.table td,\n.table th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid #585858\n}\n\n.table th {\n color: #eff0f1;\n height: 2.25em;\n font-weight: normal\n}\n\n.table th.capitalize {\n text-transform: capitalize\n}\n\n.table thead td,\n.table thead th {\n color: #eff0f1;\n background-color: #383838;\n border-bottom: 0;\n height: 31px\n}\n\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 1px\n}\n\n.table .cell-indent {\n padding-left: 2.25em\n}\n\n/** Cookie Consent **/\n.cc-window {\n font-family: inherit !important\n}\n\n.cc-link {\n padding: 0 !important\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem\n}\n\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: #209cee;\n color: white;\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s\n}\n\na.floating-home-button:hover {\n background-color: #67c3ff;\n color: white\n}\n\na.floating-home-button > .icon {\n margin-top: -2px\n}\n\n/* https://github.com/philipwalton/flexbugs#flexbug-3 */\n.hero.is-fullheight > .hero-body {\n min-height: 100vh;\n height: 100%\n}\n\n/* https://github.com/philipwalton/flexbugs#flexbug-2 */\n.hero.is-fullheight > .hero-body > .container {\n width: 100%\n}\n"]} \ No newline at end of file +{"version":3,"sources":["css/style.css"],"names":[],"mappings":"AAEA,iCACE,GACE,SACF,CAEA,GACE,SACF,CACF,CAEA,yBACE,GACE,SACF,CAEA,GACE,SACF,CACF,CAEA,2BACE,GACE,SAAU,CACV,oBACF,CAEA,IACE,SACF,CAEA,IACE,kBACF,CAEA,GACE,kBACF,CACF,CAEA,mBACE,GACE,SAAU,CACV,oBACF,CAEA,IACE,SACF,CAEA,IACE,kBACF,CAEA,GACE,kBACF,CACF,CAIA,KACE,qBAAsB,CACtB,eACF,CAEA,KACE,aAAc,CACd,mCAA4B,CAA5B,2BACF,CAEA,EACE,aACF,CAEA,QACE,aACF,CAEA,GACE,wBACF,CAEA,wBAEE,qBAAsB,CACtB,iBAAkB,CAClB,cACF,CAMA,2BACE,aACF,CAEA,0DAGE,aACF,CAEA,gCAGE,aAAc,CACd,oBAAqB,CACrB,qBACF,CAEA,qDAEE,aACF,CAEA,uEAEE,aACF,CAEA,mDAEE,aACF,CAEA,6DAEE,aACF,CAYA,qZAQE,oBACF,CAEA,yLAOE,oBAAqB,CACrB,wBACF,CAEA,OACE,aAAc,CACd,eACF,CAEA,MACE,aACF,CAEA,UACE,wBACF,CAEA,gMAIE,SACF,CAEA,qBACE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,2EAEE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,2EAEE,wBAAyB,CACzB,wBAAyB,CACzB,oBACF,CAEA,iCACE,4BAA6B,CAC7B,oBAAqB,CACrB,aACF,CAEA,sMAIE,wBAAyB,CACzB,oBAAqB,CACrB,oBACF,CAEA,qBACE,wBAAyB,CACzB,iBAAkB,CAClB,WACF,CAEA,6BAEE,aACF,CAMA,wGACE,oBACF,CAEA,uEAEE,oBACF,CAEA,SACE,wBACF,CAEA,cACE,aAAc,CACd,QACF,CAEA,OACE,aAAc,CACd,qBACF,CAEA,iBACE,gBACF,CAEA,qDACE,wBACF,CAEA,oBAEE,kBAAmB,CACnB,qBAAsB,CACtB,+BACF,CAEA,UACE,aAAc,CACd,aAAc,CACd,eACF,CAEA,qBACE,yBACF,CAEA,gCAEE,aAAc,CACd,wBAAyB,CACzB,eAAgB,CAChB,WACF,CAEA,4DAEE,uBACF,CAEA,oBACE,mBACF,CAGA,WACE,6BACF,CAEA,SACE,mBACF,CAGA,kCACE,qBACF,CAEA,uBACE,YAAa,CACb,cAAe,CACf,YAAa,CACb,aAAc,CACd,kBAAmB,CACnB,wBAAyB,CACzB,UAAY,CACZ,YAAa,CACb,aAAc,CACd,sBAAuB,CACvB,kBAAmB,CACnB,gCACF,CAEA,6BACE,wBAAyB,CACzB,UACF,CAEA,6BACE,eACF,CAGA,+BACE,gBAAiB,CACjB,WACF,CAGA,0CACE,UACF","file":"style.css","sourcesContent":["/** Animations **/\n\n@-webkit-keyframes fadeInOpacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\n@keyframes fadeInOpacity {\n 0% {\n opacity: 0\n }\n\n 100% {\n opacity: 1\n }\n}\n\n@-webkit-keyframes floatUp {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n@keyframes floatUp {\n 0% {\n opacity: 0;\n transform: scale(0.86)\n }\n\n 25% {\n opacity: 100\n }\n\n 67% {\n transform: scale(1)\n }\n\n 100% {\n transform: scale(1)\n }\n}\n\n/** General **/\n\nhtml {\n background-color: #000;\n overflow-y: auto\n}\n\nbody {\n color: #eff0f1;\n animation: fadeInOpacity 0.5s\n}\n\na {\n color: #209cee\n}\n\na:hover {\n color: #67c3ff\n}\n\nhr {\n background-color: #585858\n}\n\ncode,\n.message-body code {\n background-color: #000;\n border-radius: 5px;\n font-size: 1rem\n}\n\n.subtitle {\n color: #bdc3c7\n}\n\n.subtitle strong {\n color: #bdc3c7\n}\n\n.title,\n.subtitle.is-brighter,\n.subtitle.is-brighter strong {\n color: #eff0f1\n}\n\n.input,\n.select select,\n.textarea {\n color: #eff0f1;\n border-color: #585858;\n background-color: #000\n}\n\n.input::-moz-placeholder,\n.textarea::-moz-placeholder {\n color: #bdc3c7\n}\n\n.input::-webkit-input-placeholder,\n.textarea::-webkit-input-placeholder {\n color: #bdc3c7\n}\n\n.input:-moz-placeholder,\n.textarea:-moz-placeholder {\n color: #bdc3c7\n}\n\n.input:-ms-input-placeholder,\n.textarea:-ms-input-placeholder {\n color: #bdc3c7\n}\n\n.input:not([disabled]):hover,\n.select fieldset:not([disabled]) select:hover,\n.select select:not([disabled]):hover,\n.textarea:not([disabled]):hover,\nfieldset:not([disabled]) .input:hover,\nfieldset:not([disabled]) .select select:hover,\nfieldset:not([disabled]) .textarea:hover {\n border-color: #209cee\n}\n\n.input.is-active,\n.input.is-focused,\n.input:active,\n.input:focus,\n.textarea.is-active,\n.textarea.is-focused,\n.textarea:active,\n.textarea:focus {\n border-color: #209cee\n}\n\n.input[disabled],\n.select fieldset[disabled] select,\n.select select[disabled],\n.textarea[disabled],\nfieldset[disabled] .input,\nfieldset[disabled] .select select,\nfieldset[disabled] .textarea {\n border-color: #585858;\n background-color: #2f2f2f\n}\n\n.label {\n color: #eff0f1;\n font-weight: normal\n}\n\n.help {\n color: #bdc3c7\n}\n\n.progress {\n background-color: #585858\n}\n\n.button.is-info.is-hovered [class^=\"icon-\"]::before,\n.button.is-info.is-hovered [class*=\" icon-\"]::before,\n.button.is-info:hover [class^=\"icon-\"]::before,\n.button.is-info:hover [class*=\" icon-\"]::before {\n fill: #fff\n}\n\n.button.is-dangerish {\n background-color: #ff7043;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-hovered,\n.button.is-dangerish:not([disabled]):hover {\n background-color: #ff8a65;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-active,\n.button.is-dangerish:not([disabled]):active {\n background-color: #ff5722;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-dangerish.is-outlined {\n background-color: transparent;\n border-color: #ff7043;\n color: #ff7043\n}\n\n.button.is-dangerish.is-outlined.is-focused,\n.button.is-dangerish.is-outlined.is-hovered,\n.button.is-dangerish.is-outlined:not([disabled]):focus,\n.button.is-dangerish.is-outlined:not([disabled]):hover {\n background-color: #ff7043;\n border-color: #ff7043;\n color: rgba(0, 0, 0, 0.7)\n}\n\n.button.is-wrappable {\n white-space: break-spaces;\n min-height: 2.25em;\n height: auto\n}\n\n.checkbox:hover,\n.radio:hover {\n color: #7f8c8d\n}\n\n.select:not(.is-multiple):not(.is-loading)::after {\n border-color: #eff0f1\n}\n\n.select:not(.is-multiple):not(.is-loading):hover::after {\n border-color: #eff0f1\n}\n\n.select select[disabled]:hover,\nfieldset[disabled] .select select:hover {\n border-color: #585858\n}\n\n.message {\n background-color: #2f2f2f\n}\n\n.message-body {\n color: #eff0f1;\n border: 0\n}\n\n.table {\n color: #bdc3c7;\n background-color: #000\n}\n\n.table.is-narrow {\n font-size: 0.75rem\n}\n\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #2f2f2f\n}\n\n.table td,\n.table th {\n white-space: nowrap;\n vertical-align: middle;\n border-bottom: 1px solid #585858\n}\n\n.table th {\n color: #eff0f1;\n height: 2.25em;\n font-weight: normal\n}\n\n.table th.capitalize {\n text-transform: capitalize\n}\n\n.table thead td,\n.table thead th {\n color: #eff0f1;\n background-color: #383838;\n border-bottom: 0;\n height: 31px\n}\n\n.table tbody tr:last-child td,\n.table tbody tr:last-child th {\n border-bottom-width: 1px\n}\n\n.table .cell-indent {\n padding-left: 2.25em\n}\n\n/** Cookie Consent **/\n.cc-window {\n font-family: inherit !important\n}\n\n.cc-link {\n padding: 0 !important\n}\n\n/* floating button's bottom offset + height + bottom offset */\n.section.has-extra-bottom-padding {\n padding-bottom: 6.5rem\n}\n\na.floating-home-button {\n display: flex;\n position: fixed;\n right: 1.5rem;\n bottom: 1.5rem;\n border-radius: 100%;\n background-color: #209cee;\n color: white;\n width: 3.5rem;\n height: 3.5rem;\n justify-content: center;\n align-items: center;\n transition: background-color 0.25s\n}\n\na.floating-home-button:hover {\n background-color: #67c3ff;\n color: white\n}\n\na.floating-home-button > .icon {\n margin-top: -2px\n}\n\n/* https://github.com/philipwalton/flexbugs#flexbug-3 */\n.hero.is-fullheight > .hero-body {\n min-height: 100vh;\n height: 100%\n}\n\n/* https://github.com/philipwalton/flexbugs#flexbug-2 */\n.hero.is-fullheight > .hero-body > .container {\n width: 100%\n}\n"]} \ No newline at end of file diff --git a/dist/js/misc/newsfeed.js b/dist/js/misc/newsfeed.js index 8e76057..df98475 100644 --- a/dist/js/misc/newsfeed.js +++ b/dist/js/misc/newsfeed.js @@ -1,2 +1,2 @@ -var newsfeed={lsKey:"newsfeed",feedUrl:"https://blog.fiery.me/rss-newsfeed.xml",maxItems:3,dismissed:{},done:!1,simpleParseDate:function(e){var t={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},n=e.match(/[a-zA-Z]*,\s(\d{2})\s([a-zA-Z]{3})\s(\d{4})\s(\d{2}):(\d{2}):(\d{2})\sGMT/);if(n&&void 0!==t[n[2]]){var i=new Date;return i.setUTCDate(n[1]),i.setUTCMonth(t[n[2]]),i.setUTCFullYear(n[3]),i.setUTCHours(n[4]),i.setUTCMinutes(n[5]),i.setUTCSeconds(n[6]),i}},formatRelativeDate:function(e){var t,n;return e<60?(t=e,n="second"):e<3600?(t=Math.floor(e/60),n="minute"):e<86400?(t=Math.floor(e/3600),n="hour"):e<604800?(t=Math.floor(e/86400),n="day"):(t=Math.floor(e/604800),n="week"),t+" "+n+(1!==t?"s":"")+" ago"},formatNotification:function(e){var t=newsfeed.simpleParseDate(e.pubDate),n=Math.round((+new Date-t)/1e3),i=n<=604800,s=document.createElement("div");return s.dataset.identifier=e.identifier,s.className="notification is-info",s.innerHTML='\n \n
\n
\n '+(e.title||"Untitled")+'\n
\n
\n '+(e.description?""+("…"===e.description.slice(-1)?e.description.slice(0,-1)+' […]':e.description):"N/A")+'\n
\n
\n '+newsfeed.formatRelativeDate(n)+"\n
\n
\n ",s},dismissNotification:function(e){if(e&&e.dataset.identifier){newsfeed.dismissed[e.dataset.identifier]=1,e.parentNode.removeChild(e);var t=Object.keys(newsfeed.dismissed);if(t.length>newsfeed.maxItems)for(var n=0;n\n
\n
\n
\n
\n ';for(var s=i.querySelector(".columns > .column:last-child"),d=0;d\n
\n
\n '+(e.title||"Untitled")+'\n
\n
\n '+(e.description?""+("…"===e.description.slice(-1)?e.description.slice(0,-1)+" […]":e.description):"N/A")+'\n
\n
\n '+newsfeed.formatRelativeDate(n)+"\n
\n
\n ",s},dismissNotification:function(e){if(e&&e.dataset.identifier){newsfeed.dismissed[e.dataset.identifier]=1,e.parentNode.removeChild(e);var t=Object.keys(newsfeed.dismissed);if(t.length>newsfeed.maxItems)for(var n=0;n\n
\n
\n
\n
\n ';for(var s=i.querySelector(".columns > .column:last-child"),d=0;d {\n // For now limited to support the following examples (used in blog.fiery.me):\n // Mon, 27 Jul 2020 18:30:00 GMT\n // Sat, 16 May 2020 14:55:00 GMT\n // Probably better to use a library if it needs to support other formats.\n const months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 }\n const match = string.match(/[a-zA-Z]*,\\s(\\d{2})\\s([a-zA-Z]{3})\\s(\\d{4})\\s(\\d{2}):(\\d{2}):(\\d{2})\\sGMT/)\n if (match && (months[match[2]] !== undefined)) {\n const date = new Date()\n date.setUTCDate(match[1])\n date.setUTCMonth(months[match[2]])\n date.setUTCFullYear(match[3])\n date.setUTCHours(match[4])\n date.setUTCMinutes(match[5])\n date.setUTCSeconds(match[6])\n return date\n }\n}\n\nnewsfeed.formatRelativeDate = delta => {\n // https://stackoverflow.com/a/7641812\n const minute = 60\n const hour = minute * 60\n const day = hour * 24\n const week = day * 7\n\n let fuzzy\n let unit\n if (delta < minute) {\n fuzzy = delta\n unit = 'second'\n } else if (delta < hour) {\n fuzzy = Math.floor(delta / minute)\n unit = 'minute'\n } else if (delta < day) {\n fuzzy = Math.floor(delta / hour)\n unit = 'hour'\n } else if (delta < week) {\n fuzzy = Math.floor(delta / day)\n unit = 'day'\n } else {\n fuzzy = Math.floor(delta / week)\n unit = 'week'\n }\n\n return `${fuzzy} ${unit}${fuzzy !== 1 ? 's' : ''} ago`\n}\n\nnewsfeed.formatNotification = item => {\n const parsedDate = newsfeed.simpleParseDate(item.pubDate)\n const dateDelta = Math.round((+new Date() - parsedDate) / 1000)\n const isRecentWeek = dateDelta <= 604800\n\n const element = document.createElement('div')\n element.dataset.identifier = item.identifier\n element.className = 'notification is-info'\n element.innerHTML = `\n \n
\n \n
\n ${item.description\n ? `${item.description.slice(-1) === '…'\n ? `${item.description.slice(0, -1)} […]`\n : item.description}`\n : 'N/A'}\n
\n
\n ${newsfeed.formatRelativeDate(dateDelta)}\n
\n
\n `\n return element\n}\n\nnewsfeed.dismissNotification = element => {\n if (!element || !element.dataset.identifier) return\n\n newsfeed.dismissed[element.dataset.identifier] = 1\n element.parentNode.removeChild(element)\n\n const keys = Object.keys(newsfeed.dismissed)\n if (keys.length > newsfeed.maxItems)\n for (let i = 0; i < keys.length - newsfeed.maxItems; i++)\n delete newsfeed.dismissed[keys[i]]\n\n localStorage[newsfeed.lsKey] = JSON.stringify(newsfeed.dismissed)\n}\n\nnewsfeed.do = () => {\n return axios.get(newsfeed.feedUrl, {\n responseType: 'document'\n }).then(response => {\n if (response && response.data && response.data.documentElement instanceof Element) {\n const items = response.data.documentElement.querySelectorAll('item')\n\n if (items.length) {\n const dismissed = localStorage[newsfeed.lsKey]\n if (dismissed)\n newsfeed.dismissed = JSON.parse(dismissed)\n\n const element = document.createElement('section')\n element.id = 'newsfeed'\n element.className = 'section'\n element.innerHTML = `\n
\n
\n
\n
\n
\n `\n const column = element.querySelector('.columns > .column:last-child')\n\n for (let i = 0; i < Math.min(newsfeed.maxItems, items.length); i++) {\n const titleElement = items[i].querySelector('title')\n const descriptionElement = items[i].querySelector('description')\n const pubDateElement = items[i].querySelector('pubDate')\n const linkElement = items[i].querySelector('link')\n\n const title = titleElement ? titleElement.textContent : ''\n const description = descriptionElement ? descriptionElement.textContent : ''\n const pubDate = pubDateElement ? pubDateElement.textContent : ''\n const link = linkElement ? linkElement.textContent : ''\n\n const identifier = title + '|' + description + '|' + pubDate + '|' + link\n\n if (!newsfeed.dismissed[identifier]) {\n const notificationElement = newsfeed.formatNotification({\n title, description, pubDate, link, identifier\n })\n\n notificationElement.querySelector('.delete').addEventListener('click', function () {\n newsfeed.dismissNotification(event.target.parentNode)\n })\n\n column.appendChild(notificationElement)\n }\n }\n\n document.body.appendChild(element)\n }\n } else {\n throw Error('response.data.documentElement is NOT an instance of Element')\n }\n }).catch(console.error)\n}\n\nnewsfeed.onloaded = () => {\n // If the main script had already done its API check, yet newsfeed haven't been triggered, do it\n // This would only happen if this newsfeed script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !newsfeed.done)\n newsfeed.do()\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete')\n newsfeed.onloaded()\nelse\n window.addEventListener('DOMContentLoaded', () => newsfeed.onloaded())\n"]} \ No newline at end of file +{"version":3,"sources":["newsfeed.js"],"names":["const","newsfeed","lsKey","feedUrl","maxItems","dismissed","done","simpleParseDate","string","months","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","match","undefined","date","Date","setUTCDate","setUTCMonth","setUTCFullYear","setUTCHours","setUTCMinutes","setUTCSeconds","formatRelativeDate","delta","fuzzy","unit","minute","Math","floor","hour","day","formatNotification","item","parsedDate","pubDate","dateDelta","round","isRecentWeek","element","document","createElement","dataset","identifier","className","href","link","target","innerHTML","title","description","slice","toLocaleString","dismissNotification","parentNode","removeChild","keys","Object","length","let","i","localStorage","JSON","stringify","do","axios","get","responseType","then","response","data","documentElement","Element","Error","items","querySelectorAll","parse","id","column","querySelector","min","titleElement","descriptionElement","pubDateElement","linkElement","textContent","notificationElement","dismissTrigger","addEventListener","event","preventDefault","appendChild","body","catch","console","error","onloaded","page","apiChecked","readyState","window"],"mappings":"AAEAA,IAAMC,SAAW,CACfC,MAAO,WACPC,QAAS,yCACTC,SAAU,EACVC,UAAW,GACXC,MAAM,EAGRC,gBAAwB,SAAGC,GAKzBR,IAAMS,EAAS,CAAEC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,EAAGC,IAAK,GAAIC,IAAK,IACzGC,EAAQd,EAAOc,MAAM,6EAC3B,GAAIA,QAA+BC,IAArBd,EAAOa,EAAM,IAAoB,CAC7CtB,IAAMwB,EAAO,IAAIC,KAOjB,OANAD,EAAKE,WAAWJ,EAAM,IACtBE,EAAKG,YAAYlB,EAAOa,EAAM,KAC9BE,EAAKI,eAAeN,EAAM,IAC1BE,EAAKK,YAAYP,EAAM,IACvBE,EAAKM,cAAcR,EAAM,IACzBE,EAAKO,cAAcT,EAAM,IAClBE,IAIXQ,mBAA2B,SAAGC,GAE5BjC,IAKIkC,EACAC,EAkBJ,OAjBIF,EAPW,IAQbC,EAAQD,EACRE,EAAO,UACEF,EATEG,MAUXF,EAAQG,KAAKC,MAAML,EAXN,IAYbE,EAAO,UACEF,EAXCM,OAYVL,EAAQG,KAAKC,MAAML,EAbRG,MAcXD,EAAO,QACEF,EAbEO,QAcXN,EAAQG,KAAKC,MAAML,EAfTM,OAgBVJ,EAAO,QAEPD,EAAQG,KAAKC,MAAML,EAjBRO,QAkBXL,EAAO,QAGCD,EAAK,IAAIC,GAAiB,IAAVD,EAAc,IAAM,IAAE,QAGlDO,mBAA2B,SAAGC,GAC5B1C,IAAM2C,EAAa1C,SAASM,gBAAgBmC,EAAKE,SAC3CC,EAAYR,KAAKS,QAAQ,IAAIrB,KAASkB,GAAc,KACpDI,EAAeF,GAAa,OAE5BG,EAAUC,SAASC,cAAc,KAqBvC,OApBAF,EAAQG,QAAQC,WAAaV,EAAKU,WAClCJ,EAAQK,UAAY,uBACpBL,EAAQM,KAAOZ,EAAKa,KACpBP,EAAQQ,OAAS,SACjBR,EAAQS,UAAY,+HAIZf,EAAKgB,OAAS,YAAU,8DAGxBhB,EAAKiB,YACH,IAAkC,MAA/BjB,EAAKiB,YAAYC,OAAO,GAAgBlB,EAAKiB,YAAYC,MAAM,GAAI,GAAE,OAASlB,EAAKiB,aACtF,OAAK,+CAEYZ,EAAe,kBAAoB,IAAE,4BAC3CJ,EAAWkB,iBAAgB,KAAK5D,SAAS+B,mBAAmBa,GAAU,uCAIpFG,GAGTc,oBAA4B,SAAGd,GAC7B,GAAKA,GAAYA,EAAQG,QAAQC,WAAjC,CAEAnD,SAASI,UAAU2C,EAAQG,QAAQC,YAAc,EACjDJ,EAAQe,WAAWC,YAAYhB,GAE/BhD,IAAMiE,EAAOC,OAAOD,KAAKhE,SAASI,WAClC,GAAI4D,EAAKE,OAASlE,SAASG,SACzB,IAAKgE,IAAIC,EAAI,EAAGA,EAAIJ,EAAKE,OAASlE,SAASG,SAAUiE,WAC5CpE,SAASI,UAAU4D,EAAKI,IAEnCC,aAAarE,SAASC,OAASqE,KAAKC,UAAUvE,SAASI,aAGzDoE,GAAW,WACT,OAAOC,MAAMC,IAAI1E,SAASE,QAAS,CACjCyE,aAAc,aACbC,MAAI,SAACC,GACN,KAAIA,GAAYA,EAASC,MAAQD,EAASC,KAAKC,2BAA2BC,SAoDxE,MAAMC,MAAM,+DAnDZlF,IAAMmF,EAAQL,EAASC,KAAKC,gBAAgBI,iBAAiB,QAE7D,GAAID,EAAMhB,OAAQ,CAChBnE,IAAMK,EAAYiE,aAAarE,SAASC,OACpCG,IACFJ,SAASI,UAAYkE,KAAKc,MAAMhF,IAElCL,IAAMgD,EAAUC,SAASC,cAAc,WACvCF,EAAQsC,GAAK,WACbtC,EAAQK,UAAY,UACpBL,EAAQS,UAAY,oPASpB,IAFAzD,IAAMuF,EAASvC,EAAQwC,cAAc,iCAE5BnB,EAAI,EAAGA,EAAIhC,KAAKoD,IAAIxF,SAASG,SAAU+E,EAAMhB,QAASE,IAAK,CAClErE,IAAM0F,EAAeP,EAAMd,GAAGmB,cAAc,SACtCG,EAAqBR,EAAMd,GAAGmB,cAAc,eAC5CI,EAAiBT,EAAMd,GAAGmB,cAAc,WACxCK,EAAcV,EAAMd,GAAGmB,cAAc,QAErC9B,EAAQgC,EAAeA,EAAaI,YAAc,GAClDnC,EAAcgC,EAAqBA,EAAmBG,YAAc,GACpElD,EAAUgD,EAAiBA,EAAeE,YAAc,GACxDvC,EAAOsC,EAAcA,EAAYC,YAAc,GAE/C1C,EAAaM,EAAQ,IAAMC,EAAc,IAAMf,EAAU,IAAMW,EAErE,IAAKtD,SAASI,UAAU+C,GAAa,CACnCpD,IAAM+F,EAAsB9F,SAASwC,mBAAmB,CAlBtDiB,MAmBAA,EAAKC,YAAEA,EAAWf,QAAEA,EAAOW,KAAEA,EAAIH,WAAEA,IAG/B4C,EAAiBD,EAAoBP,cAAc,WACrDQ,GACFA,EAAeC,iBAAiB,SAAS,WACvCC,MAAMC,iBACNlG,SAAS6D,oBAAoBoC,MAAM1C,OAAOO,eAG9CwB,EAAOa,YAAYL,IAIvB9C,SAASoD,KAAKD,YAAYpD,OAK7BsD,MAAMC,QAAQC,QAGnBC,SAAiB,WAGK,oBAATC,MAAwBA,KAAKC,aAAe1G,SAASK,MAC9DL,SAASwE,OAGe,gBAAxBxB,SAAS2D,YAAwD,aAAxB3D,SAAS2D,WACpD3G,SAASwG,WAETI,OAAOZ,iBAAiB,oBAAkB,WAAK,OAAGhG,SAASwG","file":"newsfeed.js","sourcesContent":["/* global page, axios */\n\nconst newsfeed = {\n lsKey: 'newsfeed',\n feedUrl: 'https://blog.fiery.me/rss-newsfeed.xml',\n maxItems: 3,\n dismissed: {},\n done: false\n}\n\nnewsfeed.simpleParseDate = string => {\n // For now limited to support the following examples (used in blog.fiery.me):\n // Mon, 27 Jul 2020 18:30:00 GMT\n // Sat, 16 May 2020 14:55:00 GMT\n // Probably better to use a library if it needs to support other formats.\n const months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 }\n const match = string.match(/[a-zA-Z]*,\\s(\\d{2})\\s([a-zA-Z]{3})\\s(\\d{4})\\s(\\d{2}):(\\d{2}):(\\d{2})\\sGMT/)\n if (match && (months[match[2]] !== undefined)) {\n const date = new Date()\n date.setUTCDate(match[1])\n date.setUTCMonth(months[match[2]])\n date.setUTCFullYear(match[3])\n date.setUTCHours(match[4])\n date.setUTCMinutes(match[5])\n date.setUTCSeconds(match[6])\n return date\n }\n}\n\nnewsfeed.formatRelativeDate = delta => {\n // https://stackoverflow.com/a/7641812\n const minute = 60\n const hour = minute * 60\n const day = hour * 24\n const week = day * 7\n\n let fuzzy\n let unit\n if (delta < minute) {\n fuzzy = delta\n unit = 'second'\n } else if (delta < hour) {\n fuzzy = Math.floor(delta / minute)\n unit = 'minute'\n } else if (delta < day) {\n fuzzy = Math.floor(delta / hour)\n unit = 'hour'\n } else if (delta < week) {\n fuzzy = Math.floor(delta / day)\n unit = 'day'\n } else {\n fuzzy = Math.floor(delta / week)\n unit = 'week'\n }\n\n return `${fuzzy} ${unit}${fuzzy !== 1 ? 's' : ''} ago`\n}\n\nnewsfeed.formatNotification = item => {\n const parsedDate = newsfeed.simpleParseDate(item.pubDate)\n const dateDelta = Math.round((+new Date() - parsedDate) / 1000)\n const isRecentWeek = dateDelta <= 604800\n\n const element = document.createElement('a')\n element.dataset.identifier = item.identifier\n element.className = 'notification is-info'\n element.href = item.link\n element.target = '_blank'\n element.innerHTML = `\n \n
\n
\n ${item.title || 'Untitled'}\n
\n
\n ${item.description\n ? `${item.description.slice(-1) === '…' ? `${item.description.slice(0, -1)} […]` : item.description}`\n : 'N/A'}\n
\n
\n ${newsfeed.formatRelativeDate(dateDelta)}\n
\n
\n `\n return element\n}\n\nnewsfeed.dismissNotification = element => {\n if (!element || !element.dataset.identifier) return\n\n newsfeed.dismissed[element.dataset.identifier] = 1\n element.parentNode.removeChild(element)\n\n const keys = Object.keys(newsfeed.dismissed)\n if (keys.length > newsfeed.maxItems)\n for (let i = 0; i < keys.length - newsfeed.maxItems; i++)\n delete newsfeed.dismissed[keys[i]]\n\n localStorage[newsfeed.lsKey] = JSON.stringify(newsfeed.dismissed)\n}\n\nnewsfeed.do = () => {\n return axios.get(newsfeed.feedUrl, {\n responseType: 'document'\n }).then(response => {\n if (response && response.data && response.data.documentElement instanceof Element) {\n const items = response.data.documentElement.querySelectorAll('item')\n\n if (items.length) {\n const dismissed = localStorage[newsfeed.lsKey]\n if (dismissed)\n newsfeed.dismissed = JSON.parse(dismissed)\n\n const element = document.createElement('section')\n element.id = 'newsfeed'\n element.className = 'section'\n element.innerHTML = `\n
\n
\n
\n
\n
\n `\n const column = element.querySelector('.columns > .column:last-child')\n\n for (let i = 0; i < Math.min(newsfeed.maxItems, items.length); i++) {\n const titleElement = items[i].querySelector('title')\n const descriptionElement = items[i].querySelector('description')\n const pubDateElement = items[i].querySelector('pubDate')\n const linkElement = items[i].querySelector('link')\n\n const title = titleElement ? titleElement.textContent : ''\n const description = descriptionElement ? descriptionElement.textContent : ''\n const pubDate = pubDateElement ? pubDateElement.textContent : ''\n const link = linkElement ? linkElement.textContent : ''\n\n const identifier = title + '|' + description + '|' + pubDate + '|' + link\n\n if (!newsfeed.dismissed[identifier]) {\n const notificationElement = newsfeed.formatNotification({\n title, description, pubDate, link, identifier\n })\n\n const dismissTrigger = notificationElement.querySelector('.delete')\n if (dismissTrigger)\n dismissTrigger.addEventListener('click', function () {\n event.preventDefault()\n newsfeed.dismissNotification(event.target.parentNode)\n })\n\n column.appendChild(notificationElement)\n }\n }\n\n document.body.appendChild(element)\n }\n } else {\n throw Error('response.data.documentElement is NOT an instance of Element')\n }\n }).catch(console.error)\n}\n\nnewsfeed.onloaded = () => {\n // If the main script had already done its API check, yet newsfeed haven't been triggered, do it\n // This would only happen if this newsfeed script only gets loaded after the main script's API check\n if (typeof page !== 'undefined' && page.apiChecked && !newsfeed.done)\n newsfeed.do()\n}\n\nif (document.readyState === 'interactive' || document.readyState === 'complete')\n newsfeed.onloaded()\nelse\n window.addEventListener('DOMContentLoaded', () => newsfeed.onloaded())\n"]} \ No newline at end of file diff --git a/src/css/home.css b/src/css/home.css index 012fee9..9443c31 100644 --- a/src/css/home.css +++ b/src/css/home.css @@ -5,11 +5,7 @@ display: inline-block; margin-bottom: 40px; vertical-align: top; - animation-delay: 0.5s; - animation-duration: 1.5s; - animation-fill-mode: both; - animation-name: floatUp; - animation-timing-function: cubic-bezier(0, 0.71, 0.29, 1) + animation: fadeInOpacity 0.5s } .logo { @@ -48,44 +44,6 @@ display: none } -@-webkit-keyframes floatUp { - 0% { - opacity: 0; - transform: scale(0.86) - } - - 25% { - opacity: 100 - } - - 67% { - transform: scale(1) - } - - 100% { - transform: scale(1) - } -} - -@keyframes floatUp { - 0% { - opacity: 0; - transform: scale(0.86) - } - - 25% { - opacity: 100 - } - - 67% { - transform: scale(1) - } - - 100% { - transform: scale(1) - } -} - .uploads { display: flex; flex-direction: column @@ -209,13 +167,20 @@ font-weight: bold } +input[type="file"].is-fullwidth { + width: 100% +} + +/** Render **/ + .render { position: fixed; right: 0; bottom: 0; font-size: 1rem; color: #bdc3c7; - cursor: pointer + cursor: pointer; + animation: floatUp 1.5s cubic-bezier(0, 0.71, 0.29, 1) 0.5s 1 normal both } .render.button { @@ -230,9 +195,7 @@ opacity: 1 } -input[type="file"].is-fullwidth { - width: 100% -} +/** Newsfeed **/ #newsfeed { position: absolute; @@ -242,11 +205,20 @@ input[type="file"].is-fullwidth { padding: 1.5rem 1.5rem 0 1.5rem } +#newsfeed .column:last-child { + animation: floatUp 1.5s cubic-bezier(0, 0.71, 0.29, 1) 0.5s 1 normal both +} + #newsfeed .notification { - padding: 0.9375rem 1.875rem 0.9375rem 1.125rem; + display: block; + padding: 0.75rem 2.25rem 0.75rem 1.125rem; margin-bottom: 1.125rem } +#newsfeed .notification > .delete { + top: 0.75rem +} + #newsfeed .notification .content { font-size: 0.75rem } diff --git a/src/css/style.css b/src/css/style.css index 9e782bf..2d7fc2d 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -1,12 +1,4 @@ -html { - background-color: #000; - overflow-y: auto -} - -body { - color: #eff0f1; - animation: fadeInOpacity 0.5s -} +/** Animations **/ @-webkit-keyframes fadeInOpacity { 0% { @@ -28,6 +20,56 @@ body { } } +@-webkit-keyframes floatUp { + 0% { + opacity: 0; + transform: scale(0.86) + } + + 25% { + opacity: 100 + } + + 67% { + transform: scale(1) + } + + 100% { + transform: scale(1) + } +} + +@keyframes floatUp { + 0% { + opacity: 0; + transform: scale(0.86) + } + + 25% { + opacity: 100 + } + + 67% { + transform: scale(1) + } + + 100% { + transform: scale(1) + } +} + +/** General **/ + +html { + background-color: #000; + overflow-y: auto +} + +body { + color: #eff0f1; + animation: fadeInOpacity 0.5s +} + a { color: #209cee } diff --git a/src/js/misc/newsfeed.js b/src/js/misc/newsfeed.js index b5bda7a..6b178be 100644 --- a/src/js/misc/newsfeed.js +++ b/src/js/misc/newsfeed.js @@ -61,24 +61,24 @@ newsfeed.formatNotification = item => { const dateDelta = Math.round((+new Date() - parsedDate) / 1000) const isRecentWeek = dateDelta <= 604800 - const element = document.createElement('div') + const element = document.createElement('a') element.dataset.identifier = item.identifier element.className = 'notification is-info' + element.href = item.link + element.target = '_blank' element.innerHTML = `
- ${item.title || 'Untitled'} + ${item.title || 'Untitled'}
${item.description - ? `${item.description.slice(-1) === '…' - ? `${item.description.slice(0, -1)} […]` - : item.description}` + ? `${item.description.slice(-1) === '…' ? `${item.description.slice(0, -1)} […]` : item.description}` : 'N/A'}
-
- ${newsfeed.formatRelativeDate(dateDelta)} +
+ ${newsfeed.formatRelativeDate(dateDelta)}
` @@ -118,7 +118,7 @@ newsfeed.do = () => {
-
+
` const column = element.querySelector('.columns > .column:last-child') @@ -141,9 +141,12 @@ newsfeed.do = () => { title, description, pubDate, link, identifier }) - notificationElement.querySelector('.delete').addEventListener('click', function () { - newsfeed.dismissNotification(event.target.parentNode) - }) + const dismissTrigger = notificationElement.querySelector('.delete') + if (dismissTrigger) + dismissTrigger.addEventListener('click', function () { + event.preventDefault() + newsfeed.dismissNotification(event.target.parentNode) + }) column.appendChild(notificationElement) } diff --git a/src/versions.json b/src/versions.json index c739013..5f38aa7 100644 --- a/src/versions.json +++ b/src/versions.json @@ -1,5 +1,5 @@ { - "1": "1595882711", + "1": "1595929408", "2": "1589010026", "3": "1581416390", "4": "1581416390",