mirror of
https://github.com/BobbyWibowo/lolisafe.git
synced 2025-01-18 09:21:32 +00:00
Updated
Updated axios to v0.18.1. Also added its source map. Updated lazyload to v12.0.0. Also added its source map. Added bulma's source map. --- Moved fontello.css from public/libs/fontello to src/libs/fontello, to make use of CSS builder. Updated thumbnails styling to properly make sure the thumbnails are displayed as 200x200 (their actual configured dimension). Added fixes to some flexbox's bugs that affect IE 10/11. The safe should display much better in those browsers now. Show files' expiry dates in thumbs view. Updated global error handlers in home.js. I will do similar setup with dashboard.js in the future. Just not now, I'm tired. Only load renders after API request to /api/check has been initiated. Used native lazyloading on album pages' nojs version. Removed unnecessary is-expanded class. Rephrased max upload size disclaimer in nojs uploader page. Bumped v1 and v3 version strings.
This commit is contained in:
parent
0e5a64d81d
commit
21f39dff9d
@ -1,3 +1,4 @@
|
||||
**/*.min.js
|
||||
dist/js/*
|
||||
public/libs/*
|
||||
src/libs/*
|
||||
|
@ -1,2 +1,3 @@
|
||||
dist/css/*
|
||||
public/libs/*
|
||||
src/libs/*
|
||||
|
2
dist/css/album.css.map
vendored
2
dist/css/album.css.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"sources":["album.css"],"names":[],"mappings":"AAAA,SACE,eACF,CAEA,oCACE,aACE,iBACF,CACF","file":"album.css","sourcesContent":[".section {\n background: none\n}\n\n@media screen and (max-width: 768px) {\n .description {\n text-align: center\n }\n}\n"]}
|
||||
{"version":3,"sources":["css/album.css"],"names":[],"mappings":"AAAA,SACE,eACF,CAEA,oCACE,aACE,iBACF,CACF","file":"album.css","sourcesContent":[".section {\n background: none\n}\n\n@media screen and (max-width: 768px) {\n .description {\n text-align: center\n }\n}\n"]}
|
2
dist/css/dashboard.css
vendored
2
dist/css/dashboard.css
vendored
@ -1,2 +1,2 @@
|
||||
body{-webkit-animation:none;animation:none}#dashboard{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.section{background:none}.menu-list a{color:#3794d2}.menu-list a:hover{color:#60a8dc;background-color:#4d4d4d}.menu-list a.is-active{color:#eff0f1;background-color:#3794d2}.menu-list a[disabled]{color:#7a7a7a;cursor:not-allowed}.menu-list a[disabled]:hover{background:none}ul#albumsContainer{border-left:0;padding-left:0}ul#albumsContainer li{border-left:1px solid #898b8d;padding-left:.75em}#page.fade-in,ul#albumsContainer li{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.pagination{margin-bottom:1.25rem}.pagination a:not([disabled]){color:#eff0f1;border-color:#4d4d4d;background-color:#31363b}a.pagination-link:not(.is-current):hover,a.pagination-next:not([disabled]):hover,a.pagination-previous:not([disabled]):hover{color:#eff0f1;border-color:#60a8dc;background-color:#31363b}a.pagination-link.is-current{background-color:#3794d2;border-color:#3794d2}a.pagination-link.is-current:hover{border-color:#60a8dc}li[data-action=page-ellipsis]{cursor:pointer}.label{color:#bdc3c7}.menu-list li ul{border-left-color:#898b8d}.image-container .checkbox{position:absolute;top:.75rem;left:.75rem}.no-touch .image-container .checkbox{opacity:.5}.no-touch .image-container .controls,.no-touch .image-container .details{opacity:0}.no-touch .image-container:hover .checkbox,.no-touch .image-container:hover .controls,.no-touch .image-container:hover .details{opacity:1}#page{min-width:0}.table{color:#bdc3c7;background-color:#31363b;font-size:.75rem}.table.is-striped tbody tr:nth-child(2n),.table tr:hover{background:none}.table.is-striped tbody tr:hover,.table.is-striped tbody tr:nth-child(2n):hover,.tag{background-color:#4d4d4d}.table td,.table th{border:0;white-space:nowrap}.table th{color:#eff0f1;height:2.25em}.table thead td,.table thead th{color:#eff0f1;background-color:#ff3860}.table .cell-indent{padding-left:2.25em}.is-linethrough{text-decoration:line-through}#menu.is-loading li a{cursor:progress}#statistics tr :nth-child(2){min-width:50%}
|
||||
body{-webkit-animation:none;animation:none}#dashboard{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.section{background:none}.menu-list a{color:#3794d2}.menu-list a:hover{color:#60a8dc;background-color:#4d4d4d}.menu-list a.is-active{color:#eff0f1;background-color:#3794d2}.menu-list a[disabled]{color:#7a7a7a;cursor:not-allowed}.menu-list a[disabled]:hover{background:none}ul#albumsContainer{border-left:0;padding-left:0}ul#albumsContainer li{border-left:1px solid #898b8d;padding-left:.75em}#page.fade-in,ul#albumsContainer li{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.pagination{margin-bottom:1.25rem}.pagination a:not([disabled]){color:#eff0f1;border-color:#4d4d4d;background-color:#31363b}a.pagination-link:not(.is-current):hover,a.pagination-next:not([disabled]):hover,a.pagination-previous:not([disabled]):hover{color:#eff0f1;border-color:#60a8dc;background-color:#31363b}a.pagination-link.is-current{background-color:#3794d2;border-color:#3794d2}a.pagination-link.is-current:hover{border-color:#60a8dc}li[data-action=page-ellipsis]{cursor:pointer}.label{color:#bdc3c7}.menu-list li ul{border-left-color:#898b8d}.image-container .checkbox{position:absolute;top:12px;left:12px}.no-touch .image-container .checkbox{opacity:.5}.no-touch .image-container .controls,.no-touch .image-container .details{opacity:0}.no-touch .image-container:hover .checkbox,.no-touch .image-container:hover .controls,.no-touch .image-container:hover .details{opacity:1}#page{min-width:0}.table{color:#bdc3c7;background-color:#31363b;font-size:.75rem}.table.is-striped tbody tr:nth-child(2n),.table tr:hover{background:none}.table.is-striped tbody tr:hover,.table.is-striped tbody tr:nth-child(2n):hover,.tag{background-color:#4d4d4d}.table td,.table th{border:0;white-space:nowrap}.table th{color:#eff0f1;height:2.25em}.table thead td,.table thead th{color:#eff0f1;background-color:#ff3860}.table .cell-indent{padding-left:2.25em}.is-linethrough{text-decoration:line-through}#menu.is-loading li a{cursor:progress}#statistics tr :nth-child(2){min-width:50%}.expirydate{color:#bdc3c7}
|
||||
/*# sourceMappingURL=dashboard.css.map */
|
||||
|
2
dist/css/dashboard.css.map
vendored
2
dist/css/dashboard.css.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"sources":["dashboard.css"],"names":[],"mappings":"AAAA,KACE,sBAAc,CAAd,cACF,CAEA,WACE,mCAA4B,CAA5B,2BACF,CAEA,SACE,eACF,CAEA,aACE,aACF,CAEA,mBACE,aAAc,CACd,wBACF,CAEA,uBACE,aAAc,CACd,wBACF,CAEA,uBACE,aAAc,CACd,kBACF,CAEA,6BACE,eACF,CAEA,mBACE,aAAc,CACd,cACF,CAEA,sBACE,6BAA8B,CAC9B,kBAEF,CAEA,oCAHE,mCAA4B,CAA5B,2BAKF,CAEA,YACE,qBACF,CAEA,8BACE,aAAc,CACd,oBAAqB,CACrB,wBACF,CAEA,6HAGE,aAAc,CACd,oBAAqB,CACrB,wBACF,CAEA,6BACE,wBAAyB,CACzB,oBACF,CAEA,mCACE,oBACF,CAEA,8BACE,cACF,CAEA,OACE,aACF,CAEA,iBACE,yBACF,CAEA,2BACE,iBAAkB,CAClB,UAAY,CACZ,WACF,CAEA,qCACE,UACF,CAEA,yEAEE,SACF,CAEA,gIAGE,SACF,CAEA,MAEE,WACF,CAEA,OACE,aAAc,CACd,wBAAyB,CACzB,gBACF,CAEA,yDAEE,eACF,CAEA,qFAGE,wBACF,CAEA,oBAEE,QAAS,CACT,kBACF,CAEA,UACE,aAAc,CACd,aACF,CAEA,gCAEE,aAAc,CACd,wBACF,CAEA,oBACE,mBACF,CAEA,gBACE,4BACF,CAEA,sBACE,eACF,CAEA,6BACE,aACF","file":"dashboard.css","sourcesContent":["body {\n animation: none\n}\n\n#dashboard {\n animation: fadeInOpacity 0.5s\n}\n\n.section {\n background: none\n}\n\n.menu-list a {\n color: #3794d2\n}\n\n.menu-list a:hover {\n color: #60a8dc;\n background-color: #4d4d4d\n}\n\n.menu-list a.is-active {\n color: #eff0f1;\n background-color: #3794d2\n}\n\n.menu-list a[disabled] {\n color: #7a7a7a;\n cursor: not-allowed\n}\n\n.menu-list a[disabled]:hover {\n background: none\n}\n\nul#albumsContainer {\n border-left: 0;\n padding-left: 0\n}\n\nul#albumsContainer li {\n border-left: 1px solid #898b8d;\n padding-left: 0.75em;\n animation: fadeInOpacity 0.5s\n}\n\n#page.fade-in {\n animation: fadeInOpacity 0.5s\n}\n\n.pagination {\n margin-bottom: 1.25rem\n}\n\n.pagination a:not([disabled]) {\n color: #eff0f1;\n border-color: #4d4d4d;\n background-color: #31363b\n}\n\na.pagination-link:not(.is-current):hover,\na.pagination-next:not([disabled]):hover,\na.pagination-previous:not([disabled]):hover {\n color: #eff0f1;\n border-color: #60a8dc;\n background-color: #31363b\n}\n\na.pagination-link.is-current {\n background-color: #3794d2;\n border-color: #3794d2\n}\n\na.pagination-link.is-current:hover {\n border-color: #60a8dc\n}\n\nli[data-action=\"page-ellipsis\"] {\n cursor: pointer\n}\n\n.label {\n color: #bdc3c7\n}\n\n.menu-list li ul {\n border-left-color: #898b8d\n}\n\n.image-container .checkbox {\n position: absolute;\n top: 0.75rem;\n left: 0.75rem\n}\n\n.no-touch .image-container .checkbox {\n opacity: 0.5\n}\n\n.no-touch .image-container .controls,\n.no-touch .image-container .details {\n opacity: 0\n}\n\n.no-touch .image-container:hover .checkbox,\n.no-touch .image-container:hover .controls,\n.no-touch .image-container:hover .details {\n opacity: 1\n}\n\n#page {\n /* fix overflow issue with flex */\n min-width: 0\n}\n\n.table {\n color: #bdc3c7;\n background-color: #31363b;\n font-size: 0.75rem\n}\n\n.table tr:hover,\n.table.is-striped tbody tr:nth-child(2n) {\n background: none\n}\n\n.table.is-striped tbody tr:hover,\n.table.is-striped tbody tr:nth-child(2n):hover,\n.tag {\n background-color: #4d4d4d\n}\n\n.table td,\n.table th {\n border: 0;\n white-space: nowrap\n}\n\n.table th {\n color: #eff0f1;\n height: 2.25em\n}\n\n.table thead td,\n.table thead th {\n color: #eff0f1;\n background-color: #ff3860\n}\n\n.table .cell-indent {\n padding-left: 2.25em\n}\n\n.is-linethrough {\n text-decoration: line-through\n}\n\n#menu.is-loading li a {\n cursor: progress\n}\n\n#statistics tr *:nth-child(2) {\n min-width: 50%\n}\n"]}
|
||||
{"version":3,"sources":["css/dashboard.css"],"names":[],"mappings":"AAAA,KACE,sBAAc,CAAd,cACF,CAEA,WACE,mCAA4B,CAA5B,2BACF,CAEA,SACE,eACF,CAEA,aACE,aACF,CAEA,mBACE,aAAc,CACd,wBACF,CAEA,uBACE,aAAc,CACd,wBACF,CAEA,uBACE,aAAc,CACd,kBACF,CAEA,6BACE,eACF,CAEA,mBACE,aAAc,CACd,cACF,CAEA,sBACE,6BAA8B,CAC9B,kBAEF,CAEA,oCAHE,mCAA4B,CAA5B,2BAKF,CAEA,YACE,qBACF,CAEA,8BACE,aAAc,CACd,oBAAqB,CACrB,wBACF,CAEA,6HAGE,aAAc,CACd,oBAAqB,CACrB,wBACF,CAEA,6BACE,wBAAyB,CACzB,oBACF,CAEA,mCACE,oBACF,CAEA,8BACE,cACF,CAEA,OACE,aACF,CAEA,iBACE,yBACF,CAEA,2BACE,iBAAkB,CAClB,QAAS,CACT,SACF,CAEA,qCACE,UACF,CAEA,yEAEE,SACF,CAEA,gIAGE,SACF,CAEA,MAEE,WACF,CAEA,OACE,aAAc,CACd,wBAAyB,CACzB,gBACF,CAEA,yDAEE,eACF,CAEA,qFAGE,wBACF,CAEA,oBAEE,QAAS,CACT,kBACF,CAEA,UACE,aAAc,CACd,aACF,CAEA,gCAEE,aAAc,CACd,wBACF,CAEA,oBACE,mBACF,CAEA,gBACE,4BACF,CAEA,sBACE,eACF,CAEA,6BACE,aACF,CAEA,YACE,aACF","file":"dashboard.css","sourcesContent":["body {\n animation: none\n}\n\n#dashboard {\n animation: fadeInOpacity 0.5s\n}\n\n.section {\n background: none\n}\n\n.menu-list a {\n color: #3794d2\n}\n\n.menu-list a:hover {\n color: #60a8dc;\n background-color: #4d4d4d\n}\n\n.menu-list a.is-active {\n color: #eff0f1;\n background-color: #3794d2\n}\n\n.menu-list a[disabled] {\n color: #7a7a7a;\n cursor: not-allowed\n}\n\n.menu-list a[disabled]:hover {\n background: none\n}\n\nul#albumsContainer {\n border-left: 0;\n padding-left: 0\n}\n\nul#albumsContainer li {\n border-left: 1px solid #898b8d;\n padding-left: 0.75em;\n animation: fadeInOpacity 0.5s\n}\n\n#page.fade-in {\n animation: fadeInOpacity 0.5s\n}\n\n.pagination {\n margin-bottom: 1.25rem\n}\n\n.pagination a:not([disabled]) {\n color: #eff0f1;\n border-color: #4d4d4d;\n background-color: #31363b\n}\n\na.pagination-link:not(.is-current):hover,\na.pagination-next:not([disabled]):hover,\na.pagination-previous:not([disabled]):hover {\n color: #eff0f1;\n border-color: #60a8dc;\n background-color: #31363b\n}\n\na.pagination-link.is-current {\n background-color: #3794d2;\n border-color: #3794d2\n}\n\na.pagination-link.is-current:hover {\n border-color: #60a8dc\n}\n\nli[data-action=\"page-ellipsis\"] {\n cursor: pointer\n}\n\n.label {\n color: #bdc3c7\n}\n\n.menu-list li ul {\n border-left-color: #898b8d\n}\n\n.image-container .checkbox {\n position: absolute;\n top: 12px;\n left: 12px\n}\n\n.no-touch .image-container .checkbox {\n opacity: 0.5\n}\n\n.no-touch .image-container .controls,\n.no-touch .image-container .details {\n opacity: 0\n}\n\n.no-touch .image-container:hover .checkbox,\n.no-touch .image-container:hover .controls,\n.no-touch .image-container:hover .details {\n opacity: 1\n}\n\n#page {\n /* fix overflow issue with flex */\n min-width: 0\n}\n\n.table {\n color: #bdc3c7;\n background-color: #31363b;\n font-size: 0.75rem\n}\n\n.table tr:hover,\n.table.is-striped tbody tr:nth-child(2n) {\n background: none\n}\n\n.table.is-striped tbody tr:hover,\n.table.is-striped tbody tr:nth-child(2n):hover,\n.tag {\n background-color: #4d4d4d\n}\n\n.table td,\n.table th {\n border: 0;\n white-space: nowrap\n}\n\n.table th {\n color: #eff0f1;\n height: 2.25em\n}\n\n.table thead td,\n.table thead th {\n color: #eff0f1;\n background-color: #ff3860\n}\n\n.table .cell-indent {\n padding-left: 2.25em\n}\n\n.is-linethrough {\n text-decoration: line-through\n}\n\n#menu.is-loading li a {\n cursor: progress\n}\n\n#statistics tr *:nth-child(2) {\n min-width: 50%\n}\n\n.expirydate {\n color: #bdc3c7\n}\n"]}
|
2
dist/css/home.css
vendored
2
dist/css/home.css
vendored
@ -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);box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}#b img.logo{max-height:200px}#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;box-shadow:0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0);transform:scale(.86)}25%{opacity:1}67%{box-shadow:0 0 0 rgba(10,10,10,0),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}to{box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}}@keyframes floatUp{0%{opacity:0;box-shadow:0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0);transform:scale(.86)}25%{opacity:1}67%{box-shadow:0 0 0 rgba(10,10,10,0),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}to{box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}}.uploads.is-reversed{display:flex;flex-direction:column-reverse}.uploads>div{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s;margin:1rem}.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:#3794d2}.uploads>div>.icon.icon-block{color:#da4453}.uploads progress{margin-top:.5rem;margin-bottom:1rem}.uploads img{max-width:200px}.name{font-size:1rem;color:#bdc3c7}.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 #898b8d}#tabs li a{color:#bdc3c7;border-bottom-color:#898b8d}#tabs.is-boxed li.is-active a{color:#3794d2;background:#232629;border-color:#898b8d #898b8d #232629}#tabs.is-boxed li:not(.is-active) a:hover{background:#4d4d4d}.tab-content{margin-bottom:-.75rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.tab-content .label{color:#bdc3c7;font-weight:400}#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}
|
||||
#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);box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}#b img.logo{max-height:200px}#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;box-shadow:0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0);transform:scale(.86)}25%{opacity:1}67%{box-shadow:0 0 0 rgba(10,10,10,0),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}to{box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}}@keyframes floatUp{0%{opacity:0;box-shadow:0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0),0 0 0 rgba(10,10,10,0);transform:scale(.86)}25%{opacity:1}67%{box-shadow:0 0 0 rgba(10,10,10,0),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}to{box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2);transform:scale(1)}}.uploads.is-reversed{display:flex;flex-direction:column-reverse}.uploads>div{-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s;margin:1rem}.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:#3794d2}.uploads>div>.icon.icon-block{color:#da4453}.uploads progress{margin-top:.5rem;margin-bottom:1rem}.uploads img{max-width:200px}.name{font-size:1rem;color:#bdc3c7}.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 #898b8d}#tabs li a{color:#bdc3c7;border-bottom-color:#898b8d}#tabs.is-boxed li.is-active a{color:#3794d2;background:#232629;border-color:#898b8d #898b8d #232629}#tabs.is-boxed li:not(.is-active) a:hover{background:#4d4d4d}.tab-content{margin-bottom:-.75rem;-webkit-animation:fadeInOpacity .5s;animation:fadeInOpacity .5s}.tab-content .label{color:#bdc3c7;font-weight:400}#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%}
|
||||
/*# sourceMappingURL=home.css.map */
|
||||
|
2
dist/css/home.css.map
vendored
2
dist/css/home.css.map
vendored
File diff suppressed because one or more lines are too long
2
dist/css/style.css
vendored
2
dist/css/style.css
vendored
@ -1,2 +1,2 @@
|
||||
html{background-color:#232629;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:#3794d2}a:hover{color:#60a8dc}hr{background-color:#898b8d}.message-body code,code{background-color:#222528;border-radius:5px}.title{color:#eff0f1}.subtitle,.subtitle strong{color:#bdc3c7}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#7f8c8d}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#7f8c8d}.input:-moz-placeholder,.textarea:-moz-placeholder{color:#7f8c8d}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#7f8c8d}.input.is-active,.input.is-focused,.input:active,.input:focus,.textarea.is-active,.textarea.is-focused,.textarea:active,.textarea:focus{border-color:#3794d2}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#4d4d4d}.table td,.table th{vertical-align:middle}.help{color:#7f8c8d}.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}.checkbox:hover,.radio:hover{color:#7f8c8d}.message{background-color:#31363b}.message-body{color:#eff0f1;border:0;box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}.menu-list a.is-loading:after{-webkit-animation:spinAround .5s linear infinite;animation:spinAround .5s linear infinite;border-radius:290486px;border-color:transparent transparent #dbdbdb #dbdbdb;border-style:solid;border-width:2px;content:"";display:block;height:1em;width:1em;right:.5em;top:calc(50% - .5em);position:absolute!important}
|
||||
html{background-color:#232629;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:#3794d2}a:hover{color:#60a8dc}hr{background-color:#898b8d}.message-body code,code{background-color:#222528;border-radius:5px}.title{color:#eff0f1}.subtitle,.subtitle strong{color:#bdc3c7}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#7f8c8d}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:#7f8c8d}.input:-moz-placeholder,.textarea:-moz-placeholder{color:#7f8c8d}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:#7f8c8d}.input.is-active,.input.is-focused,.input:active,.input:focus,.textarea.is-active,.textarea.is-focused,.textarea:active,.textarea:focus{border-color:#3794d2}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#4d4d4d}.table td,.table th{vertical-align:middle}.help{color:#7f8c8d}.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}.checkbox:hover,.radio:hover{color:#7f8c8d}.message{background-color:#31363b}.message-body{color:#eff0f1;border:0;box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}.menu-list a.is-loading:after{-webkit-animation:spinAround .5s linear infinite;animation:spinAround .5s linear infinite;border-radius:290486px;border-color:transparent transparent #dbdbdb #dbdbdb;border-style:solid;border-width:2px;content:"";display:block;height:1em;width:1em;right:.5em;top:calc(50% - .5em);position:absolute!important}.hero.is-fullheight>.hero-body{min-height:100vh;height:100%}.hero.is-fullheight>.hero-body>.container{width:100%}
|
||||
/*# sourceMappingURL=style.css.map */
|
||||
|
2
dist/css/style.css.map
vendored
2
dist/css/style.css.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"sources":["style.css"],"names":[],"mappings":"AAAA,KACE,wBAAyB,CACzB,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,wBAAyB,CACzB,iBACF,CAEA,OACE,aACF,CAMA,2BACE,aACF,CAEA,qDAEE,aACF,CAEA,uEAEE,aACF,CAEA,mDAEE,aACF,CAEA,6DAEE,aACF,CAEA,wIAQE,oBACF,CAEA,qDACE,wBACF,CAEA,oBAEE,qBACF,CAEA,MACE,aACF,CAEA,gMAIE,SACF,CAEA,6BAEE,aACF,CAEA,SACE,wBACF,CAEA,cACE,aAAc,CACd,QAAS,CACT,kGACF,CAEA,8BACE,gDAA0C,CAA1C,wCAA0C,CAE1C,sBAAuB,CAEvB,oDAA6B,CAA7B,kBAA6B,CAA7B,gBAA6B,CAC7B,UAAW,CACX,aAAc,CACd,UAAW,CACX,SAAU,CACV,UAA2B,CAC3B,oBAA0B,CAC1B,2BACF","file":"style.css","sourcesContent":["html {\n background-color: #232629;\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: #3794d2\n}\n\na:hover {\n color: #60a8dc\n}\n\nhr {\n background-color: #898b8d\n}\n\ncode,\n.message-body code {\n background-color: #222528;\n border-radius: 5px\n}\n\n.title {\n color: #eff0f1\n}\n\n.subtitle {\n color: #bdc3c7\n}\n\n.subtitle strong {\n color: #bdc3c7\n}\n\n.input::-moz-placeholder,\n.textarea::-moz-placeholder {\n color: #7f8c8d\n}\n\n.input::-webkit-input-placeholder,\n.textarea::-webkit-input-placeholder {\n color: #7f8c8d\n}\n\n.input:-moz-placeholder,\n.textarea:-moz-placeholder {\n color: #7f8c8d\n}\n\n.input:-ms-input-placeholder,\n.textarea:-ms-input-placeholder {\n color: #7f8c8d\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: #3794d2\n}\n\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #4d4d4d\n}\n\n.table td,\n.table th {\n vertical-align: middle\n}\n\n.help {\n color: #7f8c8d\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.checkbox:hover,\n.radio:hover {\n color: #7f8c8d\n}\n\n.message {\n background-color: #31363b\n}\n\n.message-body {\n color: #eff0f1;\n border: 0;\n box-shadow: 0 20px 60px rgba(10, 10, 10, 0.05), 0 5px 10px rgba(10, 10, 10, 0.1), 0 1px 1px rgba(10, 10, 10, 0.2)\n}\n\n.menu-list a.is-loading::after {\n animation: spinAround 0.5s infinite linear;\n border: 2px solid #dbdbdb;\n border-radius: 290486px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n width: 1em;\n right: calc(0% + (1em / 2));\n top: calc(50% - (1em / 2));\n position: absolute !important\n}\n"]}
|
||||
{"version":3,"sources":["css/style.css"],"names":[],"mappings":"AAAA,KACE,wBAAyB,CACzB,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,wBAAyB,CACzB,iBACF,CAEA,OACE,aACF,CAMA,2BACE,aACF,CAEA,qDAEE,aACF,CAEA,uEAEE,aACF,CAEA,mDAEE,aACF,CAEA,6DAEE,aACF,CAEA,wIAQE,oBACF,CAEA,qDACE,wBACF,CAEA,oBAEE,qBACF,CAEA,MACE,aACF,CAEA,gMAIE,SACF,CAEA,6BAEE,aACF,CAEA,SACE,wBACF,CAEA,cACE,aAAc,CACd,QAAS,CACT,kGACF,CAEA,8BACE,gDAA0C,CAA1C,wCAA0C,CAE1C,sBAAuB,CAEvB,oDAA6B,CAA7B,kBAA6B,CAA7B,gBAA6B,CAC7B,UAAW,CACX,aAAc,CACd,UAAW,CACX,SAAU,CACV,UAA2B,CAC3B,oBAA0B,CAC1B,2BACF,CAGA,+BACE,gBAAiB,CACjB,WACF,CAGA,0CACE,UACF","file":"style.css","sourcesContent":["html {\n background-color: #232629;\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: #3794d2\n}\n\na:hover {\n color: #60a8dc\n}\n\nhr {\n background-color: #898b8d\n}\n\ncode,\n.message-body code {\n background-color: #222528;\n border-radius: 5px\n}\n\n.title {\n color: #eff0f1\n}\n\n.subtitle {\n color: #bdc3c7\n}\n\n.subtitle strong {\n color: #bdc3c7\n}\n\n.input::-moz-placeholder,\n.textarea::-moz-placeholder {\n color: #7f8c8d\n}\n\n.input::-webkit-input-placeholder,\n.textarea::-webkit-input-placeholder {\n color: #7f8c8d\n}\n\n.input:-moz-placeholder,\n.textarea:-moz-placeholder {\n color: #7f8c8d\n}\n\n.input:-ms-input-placeholder,\n.textarea:-ms-input-placeholder {\n color: #7f8c8d\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: #3794d2\n}\n\n.table.is-hoverable tbody tr:not(.is-selected):hover {\n background-color: #4d4d4d\n}\n\n.table td,\n.table th {\n vertical-align: middle\n}\n\n.help {\n color: #7f8c8d\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.checkbox:hover,\n.radio:hover {\n color: #7f8c8d\n}\n\n.message {\n background-color: #31363b\n}\n\n.message-body {\n color: #eff0f1;\n border: 0;\n box-shadow: 0 20px 60px rgba(10, 10, 10, 0.05), 0 5px 10px rgba(10, 10, 10, 0.1), 0 1px 1px rgba(10, 10, 10, 0.2)\n}\n\n.menu-list a.is-loading::after {\n animation: spinAround 0.5s infinite linear;\n border: 2px solid #dbdbdb;\n border-radius: 290486px;\n border-right-color: transparent;\n border-top-color: transparent;\n content: \"\";\n display: block;\n height: 1em;\n width: 1em;\n right: calc(0% + (1em / 2));\n top: calc(50% - (1em / 2));\n position: absolute !important\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"]}
|
2
dist/css/sweetalert.css.map
vendored
2
dist/css/sweetalert.css.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"sources":["sweetalert.css"],"names":[],"mappings":"AAAA,YACE,wBACF,CAEA,mBACE,eAAkB,CAAlB,kBACF,CAEA,wBACE,UAAW,CACX,aACF,CAEA,uBAEE,aACF,CAEA,WACE,iBACF,CAEA,kEAGE,aACF,CAEA,yDAEE,aACF,CAEA,aACE,wBAAyB,CACzB,aACF,CAEA,mBACE,wBACF,CAEA,mBACE,2DACF,CAEA,sBACE,iBACF,CAEA,qBACE,wBACF,CAEA,iBACE,oBACF,CAEA,+CAEE,wBACF,CAEA,kBACE,oBACF,CAEA,wBACE,wBACF,CAEA,oBACE,oBAAqB,CACrB,qDAA8C,CAA9C,6CACF,CAEA,mDAEE,wBAAyB,CACzB,yDAAkD,CAAlD,iDACF,CAEA,gCACE,GACE,oBACF,CAEA,GACE,oBACF,CACF,CAEA,wBACE,GACE,oBACF,CAEA,GACE,oBACF,CACF,CAEA,oCACE,GACE,wBACF,CAEA,GACE,wBACF,CACF,CAEA,4BACE,GACE,wBACF,CAEA,GACE,wBACF,CACF,CAEA,oBACE,oBACF,CAEA,0BACE,wBACF,CAEA,kCACE,wBACF,CAEA,qDAEE,kBACF,CAEA,8BACE,eAAgB,CAChB,gBAAiB,CACjB,YAAa,CACb,kBAAmB,CACnB,sBACF","file":"sweetalert.css","sourcesContent":[".swal-modal {\n background-color: #31363b\n}\n\n.swal-modal .field {\n text-align: initial\n}\n\n.swal-modal.is-expanded {\n width: auto;\n max-width: 90%\n}\n\n.swal-title,\n.swal-text {\n color: #eff0f1\n}\n\n.swal-text {\n text-align: center\n}\n\n.swal-content .label,\n.swal-content .checkbox,\n.swal-content .radio {\n color: #eff0f1\n}\n\n.swal-content .checkbox:hover,\n.swal-content .radio:hover {\n color: #bdc3c7\n}\n\n.swal-button {\n background-color: #3794d2;\n color: #eff0f1\n}\n\n.swal-button:hover {\n background-color: #60a8dc\n}\n\n.swal-button:focus {\n box-shadow: 0 0 0 1px #31363b, 0 0 0 3px rgba(55, 148, 210, 0.29)\n}\n\n.swal-button--loading {\n color: transparent\n}\n\n.swal-button--danger {\n background-color: #da4453\n}\n\n.swal-icon--info {\n border-color: #3794d2\n}\n\n.swal-icon--info::after,\n.swal-icon--info::before {\n background-color: #3794d2\n}\n\n.swal-icon--error {\n border-color: #da4453\n}\n\n.swal-icon--error__line {\n background-color: #da4453\n}\n\n.swal-icon--warning {\n border-color: #f67400;\n animation: pulseWarning 0.5s infinite alternate\n}\n\n.swal-icon--warning__body,\n.swal-icon--warning__dot {\n background-color: #f67400;\n animation: pulseWarningBody 0.5s infinite alternate\n}\n\n@-webkit-keyframes pulseWarning {\n 0% {\n border-color: #ffaa60\n }\n\n to {\n border-color: #f67400\n }\n}\n\n@keyframes pulseWarning {\n 0% {\n border-color: #ffaa60\n }\n\n to {\n border-color: #f67400\n }\n}\n\n@-webkit-keyframes pulseWarningBody {\n 0% {\n background-color: #ffaa60\n }\n\n to {\n background-color: #f67400\n }\n}\n\n@keyframes pulseWarningBody {\n 0% {\n background-color: #ffaa60\n }\n\n to {\n background-color: #f67400\n }\n}\n\n.swal-icon--success {\n border-color: #27ae60\n}\n\n.swal-icon--success__line {\n background-color: #27ae60\n}\n\n.swal-icon--success__hide-corners {\n background-color: #31363b\n}\n\n.swal-icon--success::after,\n.swal-icon--success::before {\n background: #31363b\n}\n\n.swal-display-thumb-container {\n min-width: 200px;\n min-height: 200px;\n display: flex;\n align-items: center;\n justify-content: center\n}\n"]}
|
||||
{"version":3,"sources":["css/sweetalert.css"],"names":[],"mappings":"AAAA,YACE,wBACF,CAEA,mBACE,eAAkB,CAAlB,kBACF,CAEA,wBACE,UAAW,CACX,aACF,CAEA,uBAEE,aACF,CAEA,WACE,iBACF,CAEA,kEAGE,aACF,CAEA,yDAEE,aACF,CAEA,aACE,wBAAyB,CACzB,aACF,CAEA,mBACE,wBACF,CAEA,mBACE,2DACF,CAEA,sBACE,iBACF,CAEA,qBACE,wBACF,CAEA,iBACE,oBACF,CAEA,+CAEE,wBACF,CAEA,kBACE,oBACF,CAEA,wBACE,wBACF,CAEA,oBACE,oBAAqB,CACrB,qDAA8C,CAA9C,6CACF,CAEA,mDAEE,wBAAyB,CACzB,yDAAkD,CAAlD,iDACF,CAEA,gCACE,GACE,oBACF,CAEA,GACE,oBACF,CACF,CAEA,wBACE,GACE,oBACF,CAEA,GACE,oBACF,CACF,CAEA,oCACE,GACE,wBACF,CAEA,GACE,wBACF,CACF,CAEA,4BACE,GACE,wBACF,CAEA,GACE,wBACF,CACF,CAEA,oBACE,oBACF,CAEA,0BACE,wBACF,CAEA,kCACE,wBACF,CAEA,qDAEE,kBACF,CAEA,8BACE,eAAgB,CAChB,gBAAiB,CACjB,YAAa,CACb,kBAAmB,CACnB,sBACF","file":"sweetalert.css","sourcesContent":[".swal-modal {\n background-color: #31363b\n}\n\n.swal-modal .field {\n text-align: initial\n}\n\n.swal-modal.is-expanded {\n width: auto;\n max-width: 90%\n}\n\n.swal-title,\n.swal-text {\n color: #eff0f1\n}\n\n.swal-text {\n text-align: center\n}\n\n.swal-content .label,\n.swal-content .checkbox,\n.swal-content .radio {\n color: #eff0f1\n}\n\n.swal-content .checkbox:hover,\n.swal-content .radio:hover {\n color: #bdc3c7\n}\n\n.swal-button {\n background-color: #3794d2;\n color: #eff0f1\n}\n\n.swal-button:hover {\n background-color: #60a8dc\n}\n\n.swal-button:focus {\n box-shadow: 0 0 0 1px #31363b, 0 0 0 3px rgba(55, 148, 210, 0.29)\n}\n\n.swal-button--loading {\n color: transparent\n}\n\n.swal-button--danger {\n background-color: #da4453\n}\n\n.swal-icon--info {\n border-color: #3794d2\n}\n\n.swal-icon--info::after,\n.swal-icon--info::before {\n background-color: #3794d2\n}\n\n.swal-icon--error {\n border-color: #da4453\n}\n\n.swal-icon--error__line {\n background-color: #da4453\n}\n\n.swal-icon--warning {\n border-color: #f67400;\n animation: pulseWarning 0.5s infinite alternate\n}\n\n.swal-icon--warning__body,\n.swal-icon--warning__dot {\n background-color: #f67400;\n animation: pulseWarningBody 0.5s infinite alternate\n}\n\n@-webkit-keyframes pulseWarning {\n 0% {\n border-color: #ffaa60\n }\n\n to {\n border-color: #f67400\n }\n}\n\n@keyframes pulseWarning {\n 0% {\n border-color: #ffaa60\n }\n\n to {\n border-color: #f67400\n }\n}\n\n@-webkit-keyframes pulseWarningBody {\n 0% {\n background-color: #ffaa60\n }\n\n to {\n background-color: #f67400\n }\n}\n\n@keyframes pulseWarningBody {\n 0% {\n background-color: #ffaa60\n }\n\n to {\n background-color: #f67400\n }\n}\n\n.swal-icon--success {\n border-color: #27ae60\n}\n\n.swal-icon--success__line {\n background-color: #27ae60\n}\n\n.swal-icon--success__hide-corners {\n background-color: #31363b\n}\n\n.swal-icon--success::after,\n.swal-icon--success::before {\n background: #31363b\n}\n\n.swal-display-thumb-container {\n min-width: 200px;\n min-height: 200px;\n display: flex;\n align-items: center;\n justify-content: center\n}\n"]}
|
2
dist/css/thumbs.css
vendored
2
dist/css/thumbs.css
vendored
@ -1,2 +1,2 @@
|
||||
.image-container{display:flex;width:200px;height:200px;margin:9px;background-color:#31363b;overflow:hidden;align-items:center;box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}.image-container .title{font-weight:400;word-break:break-all}.image-container .image{display:flex;height:100%;width:100%;align-items:center;justify-content:center}.image-container .image img{max-height:100%;max-width:100%;height:auto;width:auto}.image-container .controls{display:flex;position:absolute;top:.75rem;right:.75rem}.image-container .controls .button{border-radius:0}.image-container .controls .button:not(:active):not(:hover){color:#fff;background-color:rgba(49,54,59,.75)}.image-container .details{position:absolute;left:.75rem;bottom:.75rem;right:.75rem;background-color:rgba(49,54,59,.75);color:#eff0f1;padding:.25rem;font-size:.75rem}.image-container .details p{display:block;text-overflow:ellipsis;overflow:hidden}.image-container .details p span{font-weight:700}
|
||||
.image-container{display:flex;width:224px;height:224px;margin:9px;padding:12px;background-color:#31363b;overflow:hidden;align-items:center;box-shadow:0 20px 60px rgba(10,10,10,.05),0 5px 10px rgba(10,10,10,.1),0 1px 1px rgba(10,10,10,.2)}.image-container .title{font-weight:400;word-break:break-all}.image-container .image{display:flex;height:100%;width:100%;align-items:center;justify-content:center}.image-container .image img{max-height:100%;max-width:100%;height:auto;width:auto}.image-container .controls{display:flex;position:absolute;top:12px;right:12px}.image-container .controls .button{border-radius:0}.image-container .controls .button:not(:active):not(:hover){color:#fff;background-color:rgba(49,54,59,.75)}.image-container .details{position:absolute;left:12px;bottom:12px;right:12px;background-color:rgba(49,54,59,.75);color:#eff0f1;padding:3px;font-size:.75rem}.image-container .details p{display:block;text-overflow:ellipsis;overflow:hidden}.image-container .details p span{font-weight:700}
|
||||
/*# sourceMappingURL=thumbs.css.map */
|
||||
|
2
dist/css/thumbs.css.map
vendored
2
dist/css/thumbs.css.map
vendored
@ -1 +1 @@
|
||||
{"version":3,"sources":["thumbs.css"],"names":[],"mappings":"AAAA,iBACE,YAAa,CACb,WAAY,CACZ,YAAa,CACb,UAAW,CACX,wBAAyB,CACzB,eAAgB,CAChB,kBAAmB,CACnB,kGACF,CAEA,wBACE,eAAmB,CACnB,oBACF,CAEA,wBACE,YAAa,CACb,WAAY,CACZ,UAAW,CACX,kBAAmB,CACnB,sBACF,CAEA,4BACE,eAAgB,CAChB,cAAe,CACf,WAAY,CACZ,UACF,CAEA,2BACE,YAAa,CACb,iBAAkB,CAClB,UAAY,CACZ,YACF,CAEA,mCACE,eACF,CAEA,4DACE,UAAW,CACX,mCACF,CAEA,0BACE,iBAAkB,CAClB,WAAa,CACb,aAAe,CACf,YAAc,CACd,mCAAwC,CACxC,aAAc,CACd,cAAgB,CAChB,gBACF,CAEA,4BACE,aAAc,CACd,sBAAuB,CACvB,eACF,CAEA,iCACE,eACF","file":"thumbs.css","sourcesContent":[".image-container {\n display: flex;\n width: 200px;\n height: 200px;\n margin: 9px;\n background-color: #31363b;\n overflow: hidden;\n align-items: center;\n box-shadow: 0 20px 60px rgba(10, 10, 10, 0.05), 0 5px 10px rgba(10, 10, 10, 0.1), 0 1px 1px rgba(10, 10, 10, 0.2)\n}\n\n.image-container .title {\n font-weight: normal;\n word-break: break-all\n}\n\n.image-container .image {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: center\n}\n\n.image-container .image img {\n max-height: 100%;\n max-width: 100%;\n height: auto;\n width: auto\n}\n\n.image-container .controls {\n display: flex;\n position: absolute;\n top: 0.75rem;\n right: 0.75rem\n}\n\n.image-container .controls .button {\n border-radius: 0\n}\n\n.image-container .controls .button:not(:active):not(:hover) {\n color: #fff;\n background-color: rgba(49, 54, 59, 0.75)\n}\n\n.image-container .details {\n position: absolute;\n left: 0.75rem;\n bottom: 0.75rem;\n right: 0.75rem;\n background-color: rgba(49, 54, 59, 0.75);\n color: #eff0f1;\n padding: 0.25rem;\n font-size: 0.75rem\n}\n\n.image-container .details p {\n display: block;\n text-overflow: ellipsis;\n overflow: hidden\n}\n\n.image-container .details p span {\n font-weight: bold\n}\n"]}
|
||||
{"version":3,"sources":["css/thumbs.css"],"names":[],"mappings":"AAAA,iBACE,YAAa,CACb,WAAY,CACZ,YAAa,CACb,UAAW,CACX,YAAa,CACb,wBAAyB,CACzB,eAAgB,CAChB,kBAAmB,CACnB,kGACF,CAEA,wBACE,eAAmB,CACnB,oBACF,CAEA,wBACE,YAAa,CACb,WAAY,CACZ,UAAW,CACX,kBAAmB,CACnB,sBACF,CAEA,4BACE,eAAgB,CAChB,cAAe,CACf,WAAY,CACZ,UACF,CAEA,2BACE,YAAa,CACb,iBAAkB,CAClB,QAAS,CACT,UACF,CAEA,mCACE,eACF,CAEA,4DACE,UAAW,CACX,mCACF,CAEA,0BACE,iBAAkB,CAClB,SAAU,CACV,WAAY,CACZ,UAAW,CACX,mCAAwC,CACxC,aAAc,CACd,WAAY,CACZ,gBACF,CAEA,4BACE,aAAc,CACd,sBAAuB,CACvB,eACF,CAEA,iCACE,eACF","file":"thumbs.css","sourcesContent":[".image-container {\n display: flex;\n width: 224px;\n height: 224px;\n margin: 9px;\n padding: 12px;\n background-color: #31363b;\n overflow: hidden;\n align-items: center;\n box-shadow: 0 20px 60px rgba(10, 10, 10, 0.05), 0 5px 10px rgba(10, 10, 10, 0.1), 0 1px 1px rgba(10, 10, 10, 0.2)\n}\n\n.image-container .title {\n font-weight: normal;\n word-break: break-all\n}\n\n.image-container .image {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: center\n}\n\n.image-container .image img {\n max-height: 100%;\n max-width: 100%;\n height: auto;\n width: auto\n}\n\n.image-container .controls {\n display: flex;\n position: absolute;\n top: 12px;\n right: 12px\n}\n\n.image-container .controls .button {\n border-radius: 0\n}\n\n.image-container .controls .button:not(:active):not(:hover) {\n color: #fff;\n background-color: rgba(49, 54, 59, 0.75)\n}\n\n.image-container .details {\n position: absolute;\n left: 12px;\n bottom: 12px;\n right: 12px;\n background-color: rgba(49, 54, 59, 0.75);\n color: #eff0f1;\n padding: 3px;\n font-size: 0.75rem\n}\n\n.image-container .details p {\n display: block;\n text-overflow: ellipsis;\n overflow: hidden\n}\n\n.image-container .details p span {\n font-weight: bold\n}\n"]}
|
2
dist/js/dashboard.js
vendored
2
dist/js/dashboard.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/dashboard.js.map
vendored
2
dist/js/dashboard.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/js/home.js
vendored
2
dist/js/home.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/home.js.map
vendored
2
dist/js/home.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/js/misc/render.js
vendored
2
dist/js/misc/render.js
vendored
@ -1,2 +1,2 @@
|
||||
lsKeys.render="render",page.renderType="miku",page.renderConfig={al:{name:"ship waifu~",root:"render/al/",array:["admiral_graf_spee_1.png","admiral_hipper_1.png","akagi_1.png","akashi_1.png","akashi_2.png","atago_1.png","atago_3.png","atago_4.png","atago_5.png","belfast_2.png","choukai_1.png","deutschland_1.png","enterprise_1.png","glorious_1.png","hammann_1.png","hammann_2.png","hammann_3.png","hatsuharu_1.png","kaga_1.png","kaga_2.png","kaga_3.png","laffey_1.png","laffey_2.png","laffey_3.png","prinz_eugen_3.png","san_diego_1.png","takao_3.png","unicorn_1.png","unicorn_2.png","unicorn_3.png","unicorn_4.png","unicorn_6.png","unicorn_7.png","unicorn_8.png","yamashiro_1.png","yamashiro_2.png","yamashiro_3.png","yukikaze_1.png"]},miku:{name:"miku ❤️~",root:"render/miku/",array:[]}};for(var i=1;i<=50;i++)page.renderConfig.miku.array.push(("00"+i).slice(-3)+".png");page.config=null,page.render=null,page.doRenderSwal=function(){var e=document.createElement("div");e.innerHTML='\n <div class="field">\n <div class="control">\n <label class="checkbox">\n <input id="swalRender" type="checkbox" '+("0"===localStorage[lsKeys.render]?"":"checked")+">\n Enable random render of "+page.config.name+'\n </label>\n </div>\n <p class="help">If disabled, you will still be able to see a small button on the bottom right corner of the screen to re-enable it.</p>\n </div>\n ',swal({content:e,buttons:{confirm:!0}}).then((function(n){if(n){var a=e.querySelector("#swalRender").checked?void 0:"0";if(a!==localStorage[lsKeys.render])a?localStorage[lsKeys.render]=a:localStorage.removeItem(lsKeys.render),swal("Success!","Random render is now "+(a?"disabled":"enabled")+".","success"),document.querySelector("body > .render").remove(),page.doRender()}}))},page.getRenderVersion=function(){var e=document.querySelector("#renderScript");return e&&e.dataset.version?"?v="+e.dataset.version:""},page.doRender=function(){var e;(page.config=page.renderConfig[page.renderType],page.config&&page.config.array.length)&&("0"===localStorage[lsKeys.render]?((e=document.createElement("a")).className="button is-info is-hidden-mobile",e.title=page.config.name,e.innerHTML='<i class="icon-picture"></i>'):(page.render=page.config.array[Math.floor(Math.random()*page.config.array.length)],(e=document.createElement("img")).alt=e.title=page.config.name,e.className="is-hidden-mobile",e.src=""+page.config.root+page.render+page.getRenderVersion()),e.classList.add("render"),e.addEventListener("click",page.doRenderSwal),document.body.appendChild(e))},page.doRender();
|
||||
lsKeys.render="render",page.renderType="miku",page.renderConfig={al:{name:"ship waifu~",root:"render/al/",array:["admiral_graf_spee_1.png","admiral_hipper_1.png","akagi_1.png","akashi_1.png","akashi_2.png","atago_1.png","atago_3.png","atago_4.png","atago_5.png","belfast_2.png","choukai_1.png","deutschland_1.png","enterprise_1.png","glorious_1.png","hammann_1.png","hammann_2.png","hammann_3.png","hatsuharu_1.png","kaga_1.png","kaga_2.png","kaga_3.png","laffey_1.png","laffey_2.png","laffey_3.png","prinz_eugen_3.png","san_diego_1.png","takao_3.png","unicorn_1.png","unicorn_2.png","unicorn_3.png","unicorn_4.png","unicorn_6.png","unicorn_7.png","unicorn_8.png","yamashiro_1.png","yamashiro_2.png","yamashiro_3.png","yukikaze_1.png"]},miku:{name:"miku ❤️~",root:"render/miku/",array:[]}};for(var i=1;i<=50;i++)page.renderConfig.miku.array.push(("00"+i).slice(-3)+".png");page.config=null,page.render=null,page.doRenderSwal=function(){var e=document.createElement("div");e.innerHTML='\n <div class="field">\n <div class="control">\n <label class="checkbox">\n <input id="swalRender" type="checkbox" '+("0"===localStorage[lsKeys.render]?"":"checked")+">\n Enable random render of "+page.config.name+'\n </label>\n </div>\n <p class="help">If disabled, you will still be able to see a small button on the bottom right corner of the screen to re-enable it.</p>\n </div>\n ',swal({content:e,buttons:{confirm:!0}}).then((function(n){if(n){var a=e.querySelector("#swalRender").checked?void 0:"0";if(a!==localStorage[lsKeys.render])a?localStorage[lsKeys.render]=a:localStorage.removeItem(lsKeys.render),swal("Success!","Random render is now "+(a?"disabled":"enabled")+".","success"),document.querySelector("body > .render").remove(),page.doRender()}}))},page.getRenderVersion=function(){var e=document.querySelector("#renderScript");return e&&e.dataset.version?"?v="+e.dataset.version:""},page.doRender=function(){var e;(page.config=page.renderConfig[page.renderType],page.config&&page.config.array.length)&&("0"===localStorage[lsKeys.render]?((e=document.createElement("a")).className="button is-info is-hidden-mobile",e.title=page.config.name,e.innerHTML='<i class="icon-picture"></i>'):(page.render=page.config.array[Math.floor(Math.random()*page.config.array.length)],(e=document.createElement("img")).alt=e.title=page.config.name,e.className="is-hidden-mobile",e.src=""+page.config.root+page.render+page.getRenderVersion()),e.classList.add("render"),e.addEventListener("click",page.doRenderSwal),document.body.appendChild(e))};
|
||||
//# sourceMappingURL=render.js.map
|
||||
|
2
dist/js/misc/render.js.map
vendored
2
dist/js/misc/render.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/libs/fontello/fontello.css
vendored
Normal file
2
dist/libs/fontello/fontello.css
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
@font-face{font-family:fontello;src:url(fontello.eot?fFS2CGH95j);src:url(fontello.eot?fFS2CGH95j#iefix) format("embedded-opentype"),url(fontello.woff2?fFS2CGH95j) format("woff2"),url(fontello.woff?fFS2CGH95j) format("woff"),url(fontello.ttf?fFS2CGH95j) format("truetype"),url(fontello.svg?fFS2CGH95j#fontello) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-feature-settings:normal;font-variant:normal;text-transform:none;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-2x:before{font-size:2rem}.icon-archive:before{content:"\e800"}.icon-sharex:before{content:"\e801"}.icon-picture:before{content:"\e802"}.icon-th-list:before{content:"\e803"}.icon-trash:before{content:"\e804"}.icon-cancel:before{content:"\e805"}.icon-arrows-cw:before{content:"\e806"}.icon-plus:before{content:"\e807"}.icon-clipboard:before{content:"\e808"}.icon-login:before{content:"\e809"}.icon-home:before{content:"\e80a"}.icon-gauge:before{content:"\e80b"}.icon-help-circled:before{content:"\e80d"}.icon-github-circled:before{content:"\e80e"}.icon-pencil:before{content:"\e80f"}.icon-terminal:before{content:"\e810"}.icon-hammer:before{content:"\e811"}.icon-block:before{content:"\e812"}.icon-link:before{content:"\e813"}.icon-cog-alt:before{content:"\e814"}.icon-floppy:before{content:"\e815"}.icon-user-plus:before{content:"\e816"}.icon-privatebin:before{content:"\e817"}.icon-upload-cloud:before{content:"\e819"}.icon-th-large:before{content:"\e81a"}.icon-download:before{content:"\e81b"}.icon-gatsby:before{content:"\e81c"}.icon-filter:before{content:"\f0b0"}.icon-docs:before{content:"\f0c5"}.icon-doc-inv:before{content:"\f15b"}.icon-paper-plane:before{content:"\f1d8"}.icon-chrome:before{content:"\f268"}.icon-firefox:before{content:"\f269"}
|
||||
/*# sourceMappingURL=fontello.css.map */
|
1
dist/libs/fontello/fontello.css.map
vendored
Normal file
1
dist/libs/fontello/fontello.css.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["libs/fontello/fontello.css"],"names":[],"mappings":"AAAA,WACE,oBAAuB,CACvB,gCAAmC,CACnC,kQAKuD,CACvD,eAAmB,CACnB,iBACF,CAaA,+CAEE,oBAAuB,CACvB,iBAAkB,CAClB,eAAmB,CACnB,UAAW,CACX,oBAAqB,CACrB,uBAAwB,CACxB,SAAU,CACV,iBAAmB,CACnB,iBAAkB,CAIlB,4BAAoB,CAApB,mBAAoB,CACpB,mBAAoB,CAOpB,gBAAkB,CAMlB,kCAAmC,CACnC,iCAIF,CAEA,gBACE,cACF,CAEA,qBAAwB,eAAiB,CACzC,oBAAuB,eAAiB,CACxC,qBAAwB,eAAiB,CACzC,qBAAwB,eAAiB,CACzC,mBAAsB,eAAiB,CACvC,oBAAuB,eAAiB,CACxC,uBAA0B,eAAiB,CAC3C,kBAAqB,eAAiB,CACtC,uBAA0B,eAAiB,CAC3C,mBAAsB,eAAiB,CACvC,kBAAqB,eAAiB,CACtC,mBAAsB,eAAiB,CACvC,0BAA6B,eAAiB,CAC9C,4BAA+B,eAAiB,CAChD,oBAAuB,eAAiB,CACxC,sBAAyB,eAAiB,CAC1C,oBAAuB,eAAiB,CACxC,mBAAsB,eAAiB,CACvC,kBAAqB,eAAiB,CACtC,qBAAwB,eAAiB,CACzC,oBAAuB,eAAiB,CACxC,uBAA0B,eAAiB,CAC3C,wBAA2B,eAAiB,CAC5C,0BAA6B,eAAiB,CAC9C,sBAAyB,eAAiB,CAC1C,sBAAyB,eAAiB,CAC1C,oBAAuB,eAAiB,CACxC,oBAAuB,eAAiB,CACxC,kBAAqB,eAAiB,CACtC,qBAAwB,eAAiB,CACzC,yBAA4B,eAAiB,CAC7C,oBAAuB,eAAiB,CACxC,qBAAwB,eAAiB","file":"fontello.css","sourcesContent":["@font-face {\n font-family: 'fontello';\n src: url('fontello.eot?fFS2CGH95j');\n src:\n url('fontello.eot?fFS2CGH95j#iefix') format('embedded-opentype'),\n url('fontello.woff2?fFS2CGH95j') format('woff2'),\n url('fontello.woff?fFS2CGH95j') format('woff'),\n url('fontello.ttf?fFS2CGH95j') format('truetype'),\n url('fontello.svg?fFS2CGH95j#fontello') format('svg');\n font-weight: normal;\n font-style: normal\n}\n\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n @font-face {\n font-family: 'fontello';\n src: url('fontello.svg?fFS2CGH95j#fontello') format('svg');\n }\n}\n*/\n\n[class^=\"icon-\"]::before,\n[class*=\" icon-\"]::before {\n font-family: \"fontello\";\n font-style: normal;\n font-weight: normal;\n speak: none;\n display: inline-block;\n text-decoration: inherit;\n width: 1em;\n margin-right: 0.2em;\n text-align: center;\n /* opacity: .8; */\n\n /* For safety - reset parent styles, that can break glyph codes */\n font-variant: normal;\n text-transform: none;\n\n /* fix buttons height, for twitter bootstrap */\n /* line-height: 1em; */\n\n /* Animation center compensation - margins should be symmetric */\n /* remove if not needed */\n margin-left: 0.2em;\n\n /* you can be more comfortable with increased icons size */\n /* font-size: 120%; */\n\n /* Font smoothing. That was taken from TWBS */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n /* Uncomment for 3D effect */\n /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n\n.icon-2x::before {\n font-size: 2rem\n}\n\n.icon-archive::before { content: '\\e800' } /* '' */\n.icon-sharex::before { content: '\\e801' } /* '' */\n.icon-picture::before { content: '\\e802' } /* '' */\n.icon-th-list::before { content: '\\e803' } /* '' */\n.icon-trash::before { content: '\\e804' } /* '' */\n.icon-cancel::before { content: '\\e805' } /* '' */\n.icon-arrows-cw::before { content: '\\e806' } /* '' */\n.icon-plus::before { content: '\\e807' } /* '' */\n.icon-clipboard::before { content: '\\e808' } /* '' */\n.icon-login::before { content: '\\e809' } /* '' */\n.icon-home::before { content: '\\e80a' } /* '' */\n.icon-gauge::before { content: '\\e80b' } /* '' */\n.icon-help-circled::before { content: '\\e80d' } /* '' */\n.icon-github-circled::before { content: '\\e80e' } /* '' */\n.icon-pencil::before { content: '\\e80f' } /* '' */\n.icon-terminal::before { content: '\\e810' } /* '' */\n.icon-hammer::before { content: '\\e811' } /* '' */\n.icon-block::before { content: '\\e812' } /* '' */\n.icon-link::before { content: '\\e813' } /* '' */\n.icon-cog-alt::before { content: '\\e814' } /* '' */\n.icon-floppy::before { content: '\\e815' } /* '' */\n.icon-user-plus::before { content: '\\e816' } /* '' */\n.icon-privatebin::before { content: '\\e817' } /* '' */\n.icon-upload-cloud::before { content: '\\e819' } /* '' */\n.icon-th-large::before { content: '\\e81a' } /* '' */\n.icon-download::before { content: '\\e81b' } /* '' */\n.icon-gatsby::before { content: '\\e81c' } /* '' */\n.icon-filter::before { content: '\\f0b0' } /* '' */\n.icon-docs::before { content: '\\f0c5' } /* '' */\n.icon-doc-inv::before { content: '\\f15b' } /* '' */\n.icon-paper-plane::before { content: '\\f1d8' } /* '' */\n.icon-chrome::before { content: '\\f268' } /* '' */\n.icon-firefox::before { content: '\\f269' } /* '' */\n"]}
|
34
gulpfile.js
34
gulpfile.js
@ -14,13 +14,17 @@ const terser = require('gulp-terser')
|
||||
/** TASKS: LINT */
|
||||
|
||||
gulp.task('lint:js', () => {
|
||||
return gulp.src('./src/js/**/*.js')
|
||||
return gulp.src('./src/**/*.js', {
|
||||
ignore: './src/libs/**/*'
|
||||
})
|
||||
.pipe(eslint())
|
||||
.pipe(eslint.failAfterError())
|
||||
})
|
||||
|
||||
gulp.task('lint:css', () => {
|
||||
return gulp.src('./src/css/**/*.css')
|
||||
return gulp.src('./src/**/*.css', {
|
||||
ignore: './src/libs/**/*'
|
||||
})
|
||||
.pipe(stylelint())
|
||||
})
|
||||
|
||||
@ -29,14 +33,26 @@ gulp.task('lint', gulp.parallel('lint:js', 'lint:css'))
|
||||
/** TASKS: CLEAN */
|
||||
|
||||
gulp.task('clean:css', () => {
|
||||
return del(['dist/css'])
|
||||
return del([
|
||||
'./dist/**/*.css',
|
||||
'./dist/**/*.css.map'
|
||||
])
|
||||
})
|
||||
|
||||
gulp.task('clean:js', () => {
|
||||
return del(['dist/js'])
|
||||
return del([
|
||||
'./dist/**/*.js',
|
||||
'./dist/**/*.js.map'
|
||||
])
|
||||
})
|
||||
|
||||
gulp.task('clean', gulp.parallel('clean:css', 'clean:js'))
|
||||
gulp.task('clean:rest', () => {
|
||||
return del([
|
||||
'./dist/*'
|
||||
])
|
||||
})
|
||||
|
||||
gulp.task('clean', gulp.parallel('clean:css', 'clean:js', 'clean:rest'))
|
||||
|
||||
/** TASKS: BUILD */
|
||||
|
||||
@ -49,21 +65,21 @@ gulp.task('build:css', () => {
|
||||
if (process.env.NODE_ENV !== 'development')
|
||||
plugins.push(cssnano())
|
||||
|
||||
return gulp.src('./src/css/**/*.css')
|
||||
return gulp.src('./src/**/*.css')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(postcss(plugins))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest('./dist/css'))
|
||||
.pipe(gulp.dest('./dist'))
|
||||
})
|
||||
|
||||
gulp.task('build:js', () => {
|
||||
return gulp.src('./src/js/**/*.js')
|
||||
return gulp.src('./src/**/*.js')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(buble())
|
||||
// Minify on production
|
||||
.pipe(gulpif(process.env.NODE_ENV !== 'development', terser()))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest('./dist/js'))
|
||||
.pipe(gulp.dest('./dist'))
|
||||
})
|
||||
|
||||
gulp.task('build', gulp.parallel('build:css', 'build:js'))
|
||||
|
10
public/libs/axios/axios.min.js
vendored
10
public/libs/axios/axios.min.js
vendored
File diff suppressed because one or more lines are too long
1
public/libs/axios/axios.min.map
Normal file
1
public/libs/axios/axios.min.map
Normal file
File diff suppressed because one or more lines are too long
1
public/libs/bulma/bulma.css.map
Normal file
1
public/libs/bulma/bulma.css.map
Normal file
File diff suppressed because one or more lines are too long
94
public/libs/fontello/fontello.css
vendored
94
public/libs/fontello/fontello.css
vendored
@ -1,94 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('fontello.eot?fFS2CGH95j');
|
||||
src: url('fontello.eot?fFS2CGH95j#iefix') format('embedded-opentype'),
|
||||
url('fontello.woff2?fFS2CGH95j') format('woff2'),
|
||||
url('fontello.woff?fFS2CGH95j') format('woff'),
|
||||
url('fontello.ttf?fFS2CGH95j') format('truetype'),
|
||||
url('fontello.svg?fFS2CGH95j#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('fontello.svg?fFS2CGH95j#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: "fontello";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
/* line-height: 1em; */
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.icon-2x:before {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.icon-archive:before { content: '\e800'; } /* '' */
|
||||
.icon-sharex:before { content: '\e801'; } /* '' */
|
||||
.icon-picture:before { content: '\e802'; } /* '' */
|
||||
.icon-th-list:before { content: '\e803'; } /* '' */
|
||||
.icon-trash:before { content: '\e804'; } /* '' */
|
||||
.icon-cancel:before { content: '\e805'; } /* '' */
|
||||
.icon-arrows-cw:before { content: '\e806'; } /* '' */
|
||||
.icon-plus:before { content: '\e807'; } /* '' */
|
||||
.icon-clipboard:before { content: '\e808'; } /* '' */
|
||||
.icon-login:before { content: '\e809'; } /* '' */
|
||||
.icon-home:before { content: '\e80a'; } /* '' */
|
||||
.icon-gauge:before { content: '\e80b'; } /* '' */
|
||||
.icon-help-circled:before { content: '\e80d'; } /* '' */
|
||||
.icon-github-circled:before { content: '\e80e'; } /* '' */
|
||||
.icon-pencil:before { content: '\e80f'; } /* '' */
|
||||
.icon-terminal:before { content: '\e810'; } /* '' */
|
||||
.icon-hammer:before { content: '\e811'; } /* '' */
|
||||
.icon-block:before { content: '\e812'; } /* '' */
|
||||
.icon-link:before { content: '\e813'; } /* '' */
|
||||
.icon-cog-alt:before { content: '\e814'; } /* '' */
|
||||
.icon-floppy:before { content: '\e815'; } /* '' */
|
||||
.icon-user-plus:before { content: '\e816'; } /* '' */
|
||||
.icon-privatebin:before { content: '\e817'; } /* '' */
|
||||
.icon-upload-cloud:before { content: '\e819'; } /* '' */
|
||||
.icon-th-large:before { content: '\e81a'; } /* '' */
|
||||
.icon-download:before { content: '\e81b'; } /* '' */
|
||||
.icon-gatsby:before { content: '\e81c'; } /* '' */
|
||||
.icon-filter:before { content: '\f0b0'; } /* '' */
|
||||
.icon-docs:before { content: '\f0c5'; } /* '' */
|
||||
.icon-doc-inv:before { content: '\f15b'; } /* '' */
|
||||
.icon-paper-plane:before { content: '\f1d8'; } /* '' */
|
||||
.icon-chrome:before { content: '\f268'; } /* '' */
|
||||
.icon-firefox:before { content: '\f269'; } /* '' */
|
3
public/libs/lazyload/lazyload.min.js
vendored
Executable file → Normal file
3
public/libs/lazyload/lazyload.min.js
vendored
Executable file → Normal file
File diff suppressed because one or more lines are too long
1
public/libs/lazyload/lazyload.min.js.map
Normal file
1
public/libs/lazyload/lazyload.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@ -5,7 +5,7 @@ const config = require('./../config')
|
||||
|
||||
const renderOptions = {
|
||||
uploadDisabled: false,
|
||||
maxFileSize: config.cloudflare.noJsMaxSize || config.uploads.maxSize
|
||||
maxFileSize: parseInt(config.cloudflare.noJsMaxSize || config.uploads.maxSize)
|
||||
}
|
||||
|
||||
if (config.private)
|
||||
|
@ -89,8 +89,8 @@ li[data-action="page-ellipsis"] {
|
||||
|
||||
.image-container .checkbox {
|
||||
position: absolute;
|
||||
top: 0.75rem;
|
||||
left: 0.75rem
|
||||
top: 12px;
|
||||
left: 12px
|
||||
}
|
||||
|
||||
.no-touch .image-container .checkbox {
|
||||
@ -162,3 +162,7 @@ li[data-action="page-ellipsis"] {
|
||||
#statistics tr *:nth-child(2) {
|
||||
min-width: 50%
|
||||
}
|
||||
|
||||
.expirydate {
|
||||
color: #bdc3c7
|
||||
}
|
||||
|
@ -234,3 +234,7 @@
|
||||
.render.button:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
input[type="file"].is-fullwidth {
|
||||
width: 100%
|
||||
}
|
||||
|
@ -138,3 +138,14 @@ code,
|
||||
top: calc(50% - (1em / 2));
|
||||
position: absolute !important
|
||||
}
|
||||
|
||||
/* https://github.com/philipwalton/flexbugs#flexbug-3 */
|
||||
.hero.is-fullheight > .hero-body {
|
||||
min-height: 100vh;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
/* https://github.com/philipwalton/flexbugs#flexbug-2 */
|
||||
.hero.is-fullheight > .hero-body > .container {
|
||||
width: 100%
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
.image-container {
|
||||
display: flex;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
width: 224px;
|
||||
height: 224px;
|
||||
margin: 9px;
|
||||
padding: 12px;
|
||||
background-color: #31363b;
|
||||
overflow: hidden;
|
||||
align-items: center;
|
||||
@ -32,8 +33,8 @@
|
||||
.image-container .controls {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 0.75rem;
|
||||
right: 0.75rem
|
||||
top: 12px;
|
||||
right: 12px
|
||||
}
|
||||
|
||||
.image-container .controls .button {
|
||||
@ -47,12 +48,12 @@
|
||||
|
||||
.image-container .details {
|
||||
position: absolute;
|
||||
left: 0.75rem;
|
||||
bottom: 0.75rem;
|
||||
right: 0.75rem;
|
||||
left: 12px;
|
||||
bottom: 12px;
|
||||
right: 12px;
|
||||
background-color: rgba(49, 54, 59, 0.75);
|
||||
color: #eff0f1;
|
||||
padding: 0.25rem;
|
||||
padding: 3px;
|
||||
font-size: 0.75rem
|
||||
}
|
||||
|
||||
|
@ -509,7 +509,7 @@ page.getUploads = (params = {}) => {
|
||||
if (hasExpiryDateColumn)
|
||||
files[i].prettyExpiryDate = files[i].expirydate
|
||||
? page.getPrettyDate(new Date(files[i].expirydate * 1000))
|
||||
: '-'
|
||||
: null
|
||||
|
||||
// Update selected status
|
||||
files[i].selected = page.selected[page.currentView].includes(files[i].id)
|
||||
@ -578,6 +578,8 @@ page.getUploads = (params = {}) => {
|
||||
<div class="details">
|
||||
<p><span class="name" title="${upload.file}">${upload.name}</span></p>
|
||||
<p>${upload.appendix ? `<span>${upload.appendix}</span> – ` : ''}${upload.prettyBytes}</p>
|
||||
${hasExpiryDateColumn && upload.prettyExpiryDate ? `
|
||||
<p class="expirydate">EXP: ${upload.prettyExpiryDate}</p>` : ''}
|
||||
</div>
|
||||
`
|
||||
|
||||
@ -625,7 +627,7 @@ page.getUploads = (params = {}) => {
|
||||
<td>${upload.prettyBytes}</td>
|
||||
${params.all ? `<td>${upload.ip || ''}</td>` : ''}
|
||||
<td>${upload.prettyDate}</td>
|
||||
${hasExpiryDateColumn ? `<td>${upload.prettyExpiryDate}</td>` : ''}
|
||||
${hasExpiryDateColumn ? `<td>${upload.prettyExpiryDate || '-'}</td>` : ''}
|
||||
<td class="controls has-text-right">
|
||||
<a class="button is-small is-primary" title="${upload.thumb ? 'View thumbnail' : 'File doesn\'t have thumbnail'}" data-action="display-thumbnail"${upload.thumb ? '' : ' disabled'}>
|
||||
<span class="icon">
|
||||
|
175
src/js/home.js
175
src/js/home.js
@ -45,25 +45,92 @@ const page = {
|
||||
imageExtensions: ['.webp', '.jpg', '.jpeg', '.bmp', '.gif', '.png', '.svg']
|
||||
}
|
||||
|
||||
page.checkIfPublic = onFailure => {
|
||||
return axios.get('api/check')
|
||||
.then(response => {
|
||||
page.private = response.data.private
|
||||
page.enableUserAccounts = response.data.enableUserAccounts
|
||||
page.maxSize = parseInt(response.data.maxSize)
|
||||
page.maxSizeBytes = page.maxSize * 1e6
|
||||
page.chunkSize = parseInt(response.data.chunkSize)
|
||||
page.temporaryUploadAges = response.data.temporaryUploadAges
|
||||
page.fileIdentifierLength = response.data.fileIdentifierLength
|
||||
return page.preparePage(onFailure)
|
||||
})
|
||||
.catch(onFailure)
|
||||
// Error handler for all API requests on init
|
||||
page.onInitError = error => {
|
||||
console.error(error)
|
||||
|
||||
// Hide these elements
|
||||
document.querySelector('#albumDiv').classList.add('is-hidden')
|
||||
document.querySelector('#tabs').classList.add('is-hidden')
|
||||
document.querySelectorAll('.tab-content').forEach(element => {
|
||||
return element.classList.add('is-hidden')
|
||||
})
|
||||
|
||||
// Update upload button
|
||||
const uploadButton = document.querySelector('#loginToUpload')
|
||||
uploadButton.innerText = 'An error occurred. Try to reload?'
|
||||
uploadButton.classList.remove('is-loading')
|
||||
uploadButton.classList.remove('is-hidden')
|
||||
|
||||
uploadButton.addEventListener('click', () => {
|
||||
location.reload()
|
||||
})
|
||||
|
||||
// Defer to the other handler if not API errors
|
||||
if (!error.response)
|
||||
return page.onUnexpectedError(error, true)
|
||||
|
||||
// Better error messages for Cloudflare errors
|
||||
const cloudflareErrors = {
|
||||
520: 'Unknown Error',
|
||||
521: 'Web Server Is Down',
|
||||
522: 'Connection Timed Out',
|
||||
523: 'Origin Is Unreachable',
|
||||
524: 'A Timeout Occurred',
|
||||
525: 'SSL Handshake Failed',
|
||||
526: 'Invalid SSL Certificate',
|
||||
527: 'Railgun Error',
|
||||
530: 'Origin DNS Error'
|
||||
}
|
||||
const statusText = cloudflareErrors[error.response.status] || error.response.statusText
|
||||
const description = error.response.data && error.response.data.description
|
||||
? error.response.data.description
|
||||
: 'Please check the console for more information.'
|
||||
return swal(`${error.response.status} ${statusText}`, description, 'error')
|
||||
}
|
||||
|
||||
page.preparePage = onFailure => {
|
||||
// Error handler for all other unexpected errors
|
||||
page.onUnexpectedError = (error, skipLog) => {
|
||||
if (!skipLog) console.error(error)
|
||||
|
||||
if (error.response)
|
||||
return swal('An error occurred!', 'There was an error with the request, please check the console for more information.', 'error')
|
||||
|
||||
const content = document.createElement('div')
|
||||
content.innerHTML = `<code>${error.toString()}</code>`
|
||||
return swal({
|
||||
title: 'An error occurred!',
|
||||
icon: 'error',
|
||||
content
|
||||
})
|
||||
}
|
||||
|
||||
page.checkIfPublic = onFailure => {
|
||||
let renderShown = false
|
||||
return axios.get('api/check', {
|
||||
onDownloadProgress: () => {
|
||||
// Only show render after this request has been initiated
|
||||
if (!renderShown && typeof page.doRender === 'function') {
|
||||
page.doRender()
|
||||
renderShown = true
|
||||
}
|
||||
}
|
||||
}).then(response => {
|
||||
page.private = response.data.private
|
||||
page.enableUserAccounts = response.data.enableUserAccounts
|
||||
page.maxSize = parseInt(response.data.maxSize)
|
||||
page.maxSizeBytes = page.maxSize * 1e6
|
||||
page.chunkSize = parseInt(response.data.chunkSize)
|
||||
page.temporaryUploadAges = response.data.temporaryUploadAges
|
||||
page.fileIdentifierLength = response.data.fileIdentifierLength
|
||||
return page.preparePage(onFailure)
|
||||
}).catch(page.onInitError)
|
||||
}
|
||||
|
||||
page.preparePage = () => {
|
||||
if (page.private)
|
||||
if (page.token) {
|
||||
return page.verifyToken(page.token, onFailure, true)
|
||||
return page.verifyToken(page.token, true)
|
||||
} else {
|
||||
const button = document.querySelector('#loginToUpload')
|
||||
button.href = 'auth'
|
||||
@ -74,10 +141,10 @@ page.preparePage = onFailure => {
|
||||
button.innerText = 'Running in private mode. Log in to upload.'
|
||||
}
|
||||
else
|
||||
return page.prepareUpload(onFailure)
|
||||
return page.prepareUpload()
|
||||
}
|
||||
|
||||
page.verifyToken = (token, onFailure, reloadOnError) => {
|
||||
page.verifyToken = (token, reloadOnError) => {
|
||||
return axios.post('api/tokens/verify', { token }).then(response => {
|
||||
if (response.data.success === false)
|
||||
return swal({
|
||||
@ -92,11 +159,11 @@ page.verifyToken = (token, onFailure, reloadOnError) => {
|
||||
|
||||
localStorage.token = token
|
||||
page.token = token
|
||||
return page.prepareUpload(onFailure)
|
||||
}).catch(onFailure)
|
||||
return page.prepareUpload()
|
||||
}).catch(page.onInitError)
|
||||
}
|
||||
|
||||
page.prepareUpload = onFailure => {
|
||||
page.prepareUpload = () => {
|
||||
// I think this fits best here because we need to check for a valid token before we can get the albums
|
||||
if (page.token) {
|
||||
// Display the album selection
|
||||
@ -111,7 +178,7 @@ page.prepareUpload = onFailure => {
|
||||
})
|
||||
|
||||
// Fetch albums
|
||||
page.fetchAlbums(onFailure)
|
||||
page.fetchAlbums()
|
||||
}
|
||||
|
||||
// Prepare & generate config tab
|
||||
@ -175,7 +242,7 @@ page.setActiveTab = index => {
|
||||
}
|
||||
}
|
||||
|
||||
page.fetchAlbums = onFailure => {
|
||||
page.fetchAlbums = () => {
|
||||
return axios.get('api/albums', { headers: { token: page.token } }).then(response => {
|
||||
if (response.data.success === false)
|
||||
return swal('An error occurred!', response.data.description, 'error')
|
||||
@ -189,7 +256,7 @@ page.fetchAlbums = onFailure => {
|
||||
option.innerHTML = album.name
|
||||
page.albumSelect.appendChild(option)
|
||||
}
|
||||
}).catch(onFailure)
|
||||
}).catch(page.onInitError)
|
||||
}
|
||||
|
||||
page.prepareDropzone = () => {
|
||||
@ -492,10 +559,7 @@ page.createAlbum = () => {
|
||||
option.selected = true
|
||||
|
||||
swal('Woohoo!', 'Album was created successfully.', 'success')
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
return swal('An error occurred!', 'There was an error with the request, please check the console for more information.', 'error')
|
||||
})
|
||||
}).catch(page.onUnexpectedError)
|
||||
})
|
||||
}
|
||||
|
||||
@ -665,60 +729,7 @@ window.addEventListener('paste', event => {
|
||||
})
|
||||
|
||||
window.onload = () => {
|
||||
// Global error callback
|
||||
function onFailure (error) {
|
||||
if (error === undefined) return
|
||||
console.error(error)
|
||||
|
||||
// Hide these elements
|
||||
document.querySelector('#albumDiv').classList.add('is-hidden')
|
||||
document.querySelector('#tabs').classList.add('is-hidden')
|
||||
document.querySelectorAll('.tab-content').forEach(element => {
|
||||
return element.classList.add('is-hidden')
|
||||
})
|
||||
|
||||
// Update upload button
|
||||
const uploadButton = document.querySelector('#loginToUpload')
|
||||
uploadButton.innerText = 'An error occurred. Try to reload?'
|
||||
uploadButton.classList.remove('is-loading')
|
||||
uploadButton.classList.remove('is-hidden')
|
||||
|
||||
uploadButton.addEventListener('click', () => {
|
||||
location.reload()
|
||||
})
|
||||
|
||||
// Show alert modal
|
||||
if (error.response) {
|
||||
console.error(error.response)
|
||||
// Better error messages for Cloudflare errors
|
||||
const cloudflareErrors = {
|
||||
520: 'Unknown Error',
|
||||
521: 'Web Server Is Down',
|
||||
522: 'Connection Timed Out',
|
||||
523: 'Origin Is Unreachable',
|
||||
524: 'A Timeout Occurred',
|
||||
525: 'SSL Handshake Failed',
|
||||
526: 'Invalid SSL Certificate',
|
||||
527: 'Railgun Error',
|
||||
530: 'Origin DNS Error'
|
||||
}
|
||||
const statusText = cloudflareErrors[error.response.status] || error.response.statusText
|
||||
const description = error.response.data && error.response.data.description
|
||||
? error.response.data.description
|
||||
: 'Please check the console for more information.'
|
||||
return swal(`${error.response.status} ${statusText}`, description, 'error')
|
||||
} else {
|
||||
const content = document.createElement('div')
|
||||
content.innerHTML = `<code>${error.toString()}</code>`
|
||||
return swal({
|
||||
title: 'An error occurred!',
|
||||
icon: 'error',
|
||||
content
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
page.checkIfPublic(onFailure)
|
||||
page.checkIfPublic()
|
||||
|
||||
page.clipboardJS = new ClipboardJS('.clipboard-js')
|
||||
|
||||
@ -726,7 +737,7 @@ window.onload = () => {
|
||||
return swal('Copied!', 'The link has been copied to clipboard.', 'success')
|
||||
})
|
||||
|
||||
page.clipboardJS.on('error', onFailure)
|
||||
page.clipboardJS.on('error', page.onUnexpectedError)
|
||||
|
||||
page.lazyLoad = new LazyLoad({
|
||||
elements_selector: '.field.uploads img'
|
||||
|
@ -128,5 +128,3 @@ page.doRender = () => {
|
||||
element.addEventListener('click', page.doRenderSwal)
|
||||
document.body.appendChild(element)
|
||||
}
|
||||
|
||||
page.doRender()
|
||||
|
96
src/libs/fontello/fontello.css
vendored
Normal file
96
src/libs/fontello/fontello.css
vendored
Normal file
@ -0,0 +1,96 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('fontello.eot?fFS2CGH95j');
|
||||
src:
|
||||
url('fontello.eot?fFS2CGH95j#iefix') format('embedded-opentype'),
|
||||
url('fontello.woff2?fFS2CGH95j') format('woff2'),
|
||||
url('fontello.woff?fFS2CGH95j') format('woff'),
|
||||
url('fontello.ttf?fFS2CGH95j') format('truetype'),
|
||||
url('fontello.svg?fFS2CGH95j#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('fontello.svg?fFS2CGH95j#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="icon-"]::before,
|
||||
[class*=" icon-"]::before {
|
||||
font-family: "fontello";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: 0.2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes */
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
/* line-height: 1em; */
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: 0.2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.icon-2x::before {
|
||||
font-size: 2rem
|
||||
}
|
||||
|
||||
.icon-archive::before { content: '\e800' } /* '' */
|
||||
.icon-sharex::before { content: '\e801' } /* '' */
|
||||
.icon-picture::before { content: '\e802' } /* '' */
|
||||
.icon-th-list::before { content: '\e803' } /* '' */
|
||||
.icon-trash::before { content: '\e804' } /* '' */
|
||||
.icon-cancel::before { content: '\e805' } /* '' */
|
||||
.icon-arrows-cw::before { content: '\e806' } /* '' */
|
||||
.icon-plus::before { content: '\e807' } /* '' */
|
||||
.icon-clipboard::before { content: '\e808' } /* '' */
|
||||
.icon-login::before { content: '\e809' } /* '' */
|
||||
.icon-home::before { content: '\e80a' } /* '' */
|
||||
.icon-gauge::before { content: '\e80b' } /* '' */
|
||||
.icon-help-circled::before { content: '\e80d' } /* '' */
|
||||
.icon-github-circled::before { content: '\e80e' } /* '' */
|
||||
.icon-pencil::before { content: '\e80f' } /* '' */
|
||||
.icon-terminal::before { content: '\e810' } /* '' */
|
||||
.icon-hammer::before { content: '\e811' } /* '' */
|
||||
.icon-block::before { content: '\e812' } /* '' */
|
||||
.icon-link::before { content: '\e813' } /* '' */
|
||||
.icon-cog-alt::before { content: '\e814' } /* '' */
|
||||
.icon-floppy::before { content: '\e815' } /* '' */
|
||||
.icon-user-plus::before { content: '\e816' } /* '' */
|
||||
.icon-privatebin::before { content: '\e817' } /* '' */
|
||||
.icon-upload-cloud::before { content: '\e819' } /* '' */
|
||||
.icon-th-large::before { content: '\e81a' } /* '' */
|
||||
.icon-download::before { content: '\e81b' } /* '' */
|
||||
.icon-gatsby::before { content: '\e81c' } /* '' */
|
||||
.icon-filter::before { content: '\f0b0' } /* '' */
|
||||
.icon-docs::before { content: '\f0c5' } /* '' */
|
||||
.icon-doc-inv::before { content: '\f15b' } /* '' */
|
||||
.icon-paper-plane::before { content: '\f1d8' } /* '' */
|
||||
.icon-chrome::before { content: '\f268' } /* '' */
|
||||
.icon-firefox::before { content: '\f269' } /* '' */
|
5
todo.md
5
todo.md
@ -3,7 +3,7 @@
|
||||
Normal priority:
|
||||
|
||||
* [ ] Improve performance of album public pages, and maybe paginate them.
|
||||
* [ ] Use [native lazy-load tag](https://web.dev/native-lazy-loading) on nojs pages.
|
||||
* [x] Use [native lazy-load tag](https://web.dev/native-lazy-loading) on nojs album pages.
|
||||
* [ ] Use incremental version numbering instead of randomized strings.
|
||||
* [ ] Use versioning in APIs, somehow.
|
||||
* [ ] Better `df` handling (system disk stats).
|
||||
@ -14,8 +14,9 @@ Normal priority:
|
||||
* [x] Use Gatsby logo for link to [blog.fiery.me](https://blog.fiery.me/) on the homepage.
|
||||
* [ ] Auto-detect missing columns in `database/db.js`.
|
||||
* [x] Better error message when server is down.
|
||||
* [ ] Show expiry date in thumbs view.
|
||||
* [x] Show expiry date in thumbs view.
|
||||
* [ ] Add Select all checkbox somewhere in thumbs view.
|
||||
* [x] Display renders after API check.
|
||||
|
||||
Low priority:
|
||||
|
||||
|
@ -16,9 +16,9 @@
|
||||
v3: CSS and JS files (libs such as bulma, lazyload, etc).
|
||||
v4: Renders in /public/render/* directories (to be used by render.js).
|
||||
#}
|
||||
{% set v1 = "JxzI0kN09F" %}
|
||||
{% set v1 = "GqfmYYUziT" %}
|
||||
{% set v2 = "hiboQUzAzp" %}
|
||||
{% set v3 = "fFS2CGH95j" %}
|
||||
{% set v3 = "GqfmYYUziT" %}
|
||||
{% set v4 = "S3TAWpPeFS" %}
|
||||
|
||||
{#
|
||||
|
@ -87,7 +87,7 @@
|
||||
<a class="image" href="{{ file.file }}" target="_blank" rel="noopener">
|
||||
{% if file.thumb -%}
|
||||
{% if nojs -%}
|
||||
<img alt="{{ file.name }}" src="{{ file.thumb }}">
|
||||
<img alt="{{ file.name }}" src="{{ file.thumb }}" width="200" height="200" loading="lazy">
|
||||
{%- else -%}
|
||||
<img alt="{{ file.name }}" data-src="{{ file.thumb }}">
|
||||
{%- endif %}
|
||||
|
@ -111,7 +111,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<a id="uploadUrls" class="button is-danger is-fullwidth is-unselectable">
|
||||
<span class="icon">
|
||||
<i class="icon-upload-cloud"></i>
|
||||
@ -127,7 +127,7 @@
|
||||
<form>
|
||||
<div class="field">
|
||||
<label class="label">File size display</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="siBytes">
|
||||
<option value="default">1000 B = 1 kB = 1 Kilobyte (default)</option>
|
||||
@ -139,7 +139,7 @@
|
||||
</div>
|
||||
<div id="fileLengthDiv" class="field is-hidden">
|
||||
<label class="label">File identifier length</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<input id="fileLength" class="input is-fullwidth" type="number" min="0">
|
||||
</div>
|
||||
<p class="help"></p>
|
||||
@ -147,7 +147,7 @@
|
||||
{%- if temporaryUploadAges %}
|
||||
<div id="uploadAgeDiv" class="field is-hidden">
|
||||
<label class="label">Upload age</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="uploadAge"></select>
|
||||
</div>
|
||||
@ -157,21 +157,21 @@
|
||||
{%- endif %}
|
||||
<div id="chunkSizeDiv" class="field">
|
||||
<label class="label">Upload chunk size (MB)</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<input id="chunkSize" class="input is-fullwidth" type="number" min="0">
|
||||
</div>
|
||||
<p class="help"></p>
|
||||
</div>
|
||||
<div id="parallelUploadsDiv" class="field">
|
||||
<label class="label">Parallel uploads</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<input id="parallelUploads" class="input is-fullwidth" type="number" name="parallelUploads" min="0">
|
||||
</div>
|
||||
<p class="help"></p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">Uploads history order</label>
|
||||
<div class="control is-expanded">
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="uploadsHistoryOrder">
|
||||
<option value="default">Older files on top (default)</option>
|
||||
@ -182,7 +182,7 @@
|
||||
<p class="help">Newer files on top only works in <a href="https://caniuse.com/#feat=mdn-css_properties_flex-direction" target="_blank" rel="noopener">these browsers</a>.</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<p class="control is-expanded">
|
||||
<p class="control">
|
||||
<button id="saveConfig" type="submit" class="button is-danger is-fullwidth">
|
||||
<span class="icon">
|
||||
<i class="icon-floppy"></i>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<h2 class="subtitle">{{ globals.home_subtitle | safe }}</h2>
|
||||
|
||||
<h3 class="subtitle" id="maxSize">
|
||||
Maximum upload size per file is {{ renderOptions.maxFileSize }}
|
||||
Maximum total size per upload attempt is {{ renderOptions.maxFileSize }} MB
|
||||
</h3>
|
||||
|
||||
<div class="columns is-gapless">
|
||||
@ -28,14 +28,14 @@
|
||||
{{ renderOptions.uploadDisabled }}
|
||||
</a>
|
||||
{%- else -%}
|
||||
<form id="form" class="field" action="?no-cache" method="post" enctype="multipart/form-data">
|
||||
<form id="form" class="field" action="" method="post" enctype="multipart/form-data">
|
||||
<div class="field">
|
||||
<p class="control is-expanded">
|
||||
<input type="file" name="files[]" multiple="multiple">
|
||||
<p class="control">
|
||||
<input type="file" class="is-fullwidth" name="files[]" multiple="multiple">
|
||||
</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<p class="control is-expanded">
|
||||
<p class="control">
|
||||
<input type="submit" class="button is-danger is-fullwidth" value="Upload">
|
||||
</p>
|
||||
<p class="help">
|
||||
|
Loading…
Reference in New Issue
Block a user