add ui work in progress

This commit is contained in:
BlasenhauerJ 2022-11-16 15:14:33 +01:00
parent 6b9a6a7e3f
commit fdd393826f
1027 changed files with 25268 additions and 6665 deletions

4
.gitignore vendored
View File

@ -2,4 +2,6 @@ site/
.idea/
.vscode/
__pycache__
env
env
node_modules
/src/ui/*.txt

View File

@ -21,7 +21,7 @@ RUN mkdir -p /usr/share/bunkerweb/deps && \
rm -rf /tmp/req
# Install python requirements
RUN apk add --no-cache --virtual .build-deps g++ gcc libffi-dev && \
RUN apk add --no-cache --virtual .build-deps g++ gcc && \
pip install --no-cache-dir --upgrade pip && \
pip install wheel && \
mkdir -p /usr/share/bunkerweb/deps/python && \
@ -48,7 +48,7 @@ RUN apk add --no-cache bash file && \
chmod 750 /usr/share/bunkerweb/gen/main.py /usr/share/bunkerweb/deps/python/bin/*
# Fix CVEs
RUN apk add "libssl1.1>=1.1.1q-r0" "libcrypto1.1>=1.1.1q-r0" "git>=2.32.3-r0" "ncurses-libs>=6.2_p20210612-r1" "ncurses-terminfo-base>=6.2_p20210612-r1" "libtirpc>=1.3.2-r1" "libtirpc-conf>=1.3.2-r1" "zlib>=1.2.12-r2" "libxml2>=2.9.14-r1" "expat>=2.5.0-r0"
RUN apk add "libssl1.1>=1.1.1q-r0" "libcrypto1.1>=1.1.1q-r0" "git>=2.32.3-r0" "ncurses-libs>=6.2_p20210612-r1" "ncurses-terminfo-base>=6.2_p20210612-r1" "libtirpc>=1.3.2-r1" "libtirpc-conf>=1.3.2-r1" "zlib>=1.2.12-r2" "libxml2>=2.9.14-r1"
VOLUME /data /etc/nginx

View File

@ -0,0 +1,42 @@
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div
class="text-xs font-weight-bold text-primary text-uppercase mb-1"
>
BunkerWeb version
</div>
{% if check_version %}
<div class="h5 mb-0 font-weight-bold text-gray-800">
{{ version }} {% if not remote_version %}
<span class="h6 mb-0 text-warning"
>(couldn't fetch remote version)</span
>
{% endif %}
</div>
{% else %}
<div class="h5 mb-0 font-weight-bold">
<span class="text-warning">{{ version }} (your version)</span>
<i class="fa-solid fa-arrow-right-long"></i>
<span class="text-success">{{ remote_version }} (latest)</span>
</div>
{% endif %}
</div>
{% if not check_version %}
<div class="col-auto">
<a
href="https://github.com/bunkerity/bunkerweb"
class="btn btn-success"
>Update</a
>
</div>
{% endif %}
<div class="col-auto">
<i class="fa-solid fa-code-branch fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,20 @@
<ul class="list-unstyled pages">
<li>
<a href="https://www.bunkerweb.io" target="_blank">BunkerWeb</a>
</li>
<li>
<a href="https://docs.bunkerweb.io" target="_blank">Documentation</a>
</li>
<li>
<a
href="https://github.com/bunkerity/bunkerweb/blob/master/LICENSE"
target="_blank"
>License</a
>
</li>
<li>
<a href="https://www.bunkerweb.io/privacy-policy" target="_blank"
>Privacy Policy</a
>
</li>
</ul>

View File

@ -0,0 +1,36 @@
<form
action="https://bunkerity.us1.list-manage.com/subscribe/post?u=ec5b1577cf427972b9bd491a6&amp;id=37076d9d67"
method="POST"
class="needs-validation"
id="subscribe-newsletter"
>
<div class="input-group mb-2">
<input
type="text"
id="newsletter-email"
name="EMAIL"
class="form-control"
placeholder="John.doe@example.com"
pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,}$"
required=""
/>
<button class="btn btn-outline-light" type="submit" formtarget="_blank">
Subscribe
</button>
</div>
<div class="input-group align-items-center">
<input
class="col-auto form-check form-switch"
type="checkbox"
id="newsletter-check"
required=""
/>
&nbsp;&nbsp;
<h6 class="col-auto h6 mb-0">
I've read and agree to the
<a href="https://www.bunkerity.com/privacy-policy/" _target="_blank"
>privacy policy</a
>
</h6>
</div>
</form>

View File

@ -0,0 +1,25 @@
<div class="col-lg-2 footer-social animated fadeInDown">
<h4>Follow Us</h4>
<ul class="list-unstyled">
<li>
<a href="https://twitter.com/bunkerity" target="_blank"
><i class="bi bi-twitter" aria-label="Twitter"></i>Twitter</a
>
</li>
<li>
<a href="https://www.linkedin.com/company/bunkerity/" target="_blank"
><i class="bi bi-linkedin" aria-label="LinkedIn"></i>LinkedIn</a
>
</li>
<li>
<a href="https://discord.gg/fTf46FmtyD" target="_blank"
><i class="bi bi-discord" aria-label="Discord"></i>Discord</a
>
</li>
<li>
<a href="https://github.com/bunkerity" target="_blank"
><i class="bi bi-github" aria-label="GitHub"></i>GitHub</a
>
</li>
</ul>
</div>

1304
src/ui/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

12
src/ui/package.json Normal file
View File

@ -0,0 +1,12 @@
{
"devDependencies": {
"tailwindcss": "^3.1.8"
},
"dependencies": {
"ace-builds": "^1.12.5",
"air-datepicker": "^3.3.1",
"dropzone": "^6.0.0-beta.2",
"flatpickr": "^4.6.13",
"json-formatter-js": "^2.3.4"
}
}

View File

@ -24,14 +24,14 @@ class Config:
self.__logger.warning(
"Database is not initialized, retrying in 5s ...",
)
sleep(5)
sleep(3)
env = self.__db.get_config()
while not self.__db.is_first_config_saved() or not env:
self.__logger.warning(
"Database doesn't have any config saved yet, retrying in 5s ...",
)
sleep(5)
sleep(3)
env = self.__db.get_config()
self.reload_plugins()

File diff suppressed because one or more lines are too long

View File

@ -1,35 +0,0 @@
body.bg-light {
font-family: "Poppins", sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
background-position: center;
background-repeat: repeat;
background-size: 7%;
margin: 0;
min-height: 100vh;
}
.main-div {
flex: 1 0 auto;
}
::selection {
color: #fff;
background-color: #085577;
}
::-moz-selection {
color: #fff;
background-color: #085577;
}
[data-theme="dark"] .toast {
background-color: rgba(0, 0, 0, 0.85) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
[data-theme="dark"] .toast .toast-header {
background-color: rgba(0, 0, 0, 0.85) !important;
border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,327 +0,0 @@
.widget {
padding: 18px;
background-color: #fff;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
}
.folder-container {
margin: 10px;
padding: 0 20px;
margin: 0;
}
.folder-wrapper {
margin: 0;
padding: 0;
list-style-type: none;
}
.file-item,
.folder-item {
margin-left: -16px;
padding-left: 20px;
list-style-type: none;
}
.file-item {
background: transparent
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsUlEQVQ4T2NkgIKE2q4DMDZW+j+jAgPj//0LmssSkeUZEQZ0/1/QXArnoxuSUNPdwMDIEMDwn2HDgpbSBpg8aQYw/H/PwMCQwMDIMHFBc9kCkCGkGODAwMAAwiBd9TDXYhiQUNtdwPCfgR97ePy7uKClfENCLcK7RLsA2UC8BoADi4HhP44YObigpfTAsHfBgMcC3vwAzze0TAcUuKDrAMN/RlwJCNVcRoaPC5pLA0CCALOMnRHTr6OKAAAAAElFTkSuQmCC")
no-repeat left center;
}
.folder-item {
font-weight: bold;
background: transparent
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA6UlEQVQ4T62TvQ3CMBCF31OgDxPACGwATAAjeAOgSKpECgoCiRTABmYDNgA2yAawAUpNwiGHH0GBlATcuPH3vbPvTPy4+COPXKCCpY30sgORPIU6dLtF5FTeYgWgA2KtQ1fnQj8amQ2C81fJVcZ65sZUfhTr0GmrYN5iZjWLpIqwC0oLVjah8hd7WPUBsvQIwC4ieD9zFwgDELuyMCCHuwDcAliWFgg2jwoQgxxWEDzeICfZqSDoPa9QHjZpVq1B5UUnEIXa91GhSKKnrm3mQEqXngNyMNNqBKYD/QqSsQ6d1X8+U4X0F3IDjRRPOikDqHUAAAAASUVORK5CYII=")
no-repeat left center;
}
.folder-item .collapse-div {
display: inline-block;
}
.folder-item .collapse-div .fa-play {
color: var(--bs-body-color);
vertical-align: center;
}
.folder-container span,
.folder-container h6 {
font-weight: bold;
}
.folder-item .collapse-div .rotate-icon {
-o-transition: all 2s linear;
-moz-transition: all 2s linear;
-webkit-transition: all 2s linear;
transition: all 2s linear;
}
.folder-item .collapse-div .rotate-icon.down {
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.uploader {
display: flex;
align-items: center;
justify-content: center;
font-family: "Poppins", sans-serif;
}
.wrapper {
width: 322px;
background: #fff;
border-radius: 5px;
padding: 22px;
box-shadow: 7px 7px 12px rgba(0, 0, 0, 0.05);
}
.wrapper header {
color: #085577;
font-size: 20px;
font-weight: 600;
text-align: center;
}
.wrapper header .btn {
color: #085577;
border-color: #085577;
}
.wrapper header .btn:hover {
color: #fff;
background-color: #085577;
}
.wrapper form.drop-zone {
height: 125px;
display: flex;
cursor: pointer;
margin: 22px 0;
align-items: center;
justify-content: center;
flex-direction: column;
border-radius: 5px;
border: 2px dashed #085577;
}
.wrapper form.drop-zone.drop-zone--over {
border-style: solid;
}
.wrapper form :where(i, p, svg) {
color: #085577;
}
.wrapper form :where(i, svg) {
font-size: 37px;
}
.wrapper form p {
margin-top: 11px;
margin-bottom: 0.3rem;
font-size: 12px;
}
.wrapper section .row {
margin-bottom: 10px;
background: #e9f0ff;
list-style: none;
padding: 11px 15px;
border-radius: 5px;
display: flex;
align-items: center;
justify-content: space-between;
}
.wrapper section .row.failed {
background: #f9ecec;
}
.wrapper section .row :where(i, svg) {
color: #085577;
font-size: 22px;
}
.wrapper section .details span {
font-size: 10px;
}
.wrapper .progress-area .row .content {
width: 100%;
margin-left: 11px;
}
.wrapper .progress-area .details {
display: flex;
align-items: center;
margin-bottom: 7px;
justify-content: space-between;
}
.wrapper .progress-area .content .progress-bar {
height: 6px;
width: 100%;
margin-bottom: 4px;
background: #fff;
border-radius: 22px;
}
.wrapper .content .progress-bar .progress {
height: 100%;
width: 0%;
background: #085577;
border-radius: inherit;
}
.wrapper .uploaded-area {
max-height: 261px;
overflow-x: hidden;
overflow-y: auto;
}
.wrapper .uploaded-area.onprogress {
max-height: 112px;
}
.wrapper .uploaded-area::-webkit-scrollbar {
width: 0px;
}
.wrapper .uploaded-area .row .content {
display: flex;
align-items: center;
}
.wrapper .uploaded-area .row .details {
display: flex;
margin-left: 11px;
flex-direction: column;
}
.wrapper .uploaded-area .row .details .size {
color: #404040;
font-size: 8px;
}
.wrapper .uploaded-area :where(i, svg).fa-check,
.wrapper .uploaded-area :where(i, svg).fa-xmark {
font-size: 12px;
}
[data-theme="dark"] .widget {
background: #1d1d1d;
color: #fff;
}
[data-theme="dark"] .modal-content,
[data-theme="dark"] .wrapper {
background-color: #222 !important;
}
[data-theme="dark"] .modal-content .bg-light {
background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
border-color: #111 !important;
border: 1px solid #343636 !important;
}
[data-theme="dark"] .modal-body .nav-link span {
color: #fff !important;
}
[data-theme="dark"] .wrapper header {
color: #fff;
}
[data-theme="dark"] .wrapper header .btn {
color: #fff;
border-color: #fff;
}
[data-theme="dark"] .wrapper header .btn:hover {
color: #085577;
background-color: #fff;
}
[data-theme="dark"] .wrapper form.drop-zone {
border: 2px dashed #fff;
}
[data-theme="dark"] .wrapper form :where(i, p, svg) {
color: #fff;
}
[data-theme="dark"] .wrapper .progress-area .content .progress-bar {
background: #085577;
}
[data-theme="dark"] .wrapper .content .progress-bar .progress {
background: #fff;
}
[data-theme="dark"] .wrapper .uploaded-area .row .details .name {
color: #085577;
}
[data-theme="dark"] .wrapper section .row {
background: #cddcff;
}
[data-theme="dark"] .wrapper section .row.failed {
background: #ffcdcd;
}
[data-theme="dark"] textarea {
border: 1px solid #343636;
background: #222;
color: #fff;
}
[data-theme="dark"] textarea:focus {
background: inherit;
color: inherit;
}
.plugins-pages .row .col-form-label,
.plugins-pages .row .col-8 {
background-color: transparent;
}
.nav-pills .nav-link.active,
.nav-pills .nav-link:hover {
background-color: rgba(64, 187, 107, 0.5) !important;
background-clip: border-box !important;
}
.plugins-pages .nav-link span {
color: #000 !important;
}
.plugins-pages aside {
background: none !important;
}
[data-theme="dark"] .plugins-pages,
[data-theme="dark"] .wrapper {
background-color: #222 !important;
}
[data-theme="dark"] .plugins-pages .bg-light {
background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
border-color: #111 !important;
border: 1px solid #343636 !important;
}
[data-theme="dark"] .plugins-pages .nav-link span {
color: #fff !important;
}
[data-theme="dark"] .nav-pills .nav-link.active {
background-color: #535353 !important;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
.dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:inline-block;width:120px;margin:.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;width:0;background:green}.dropzone .dz-preview .dz-error-message{color:red;display:none}.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}/*# sourceMappingURL=basic.css.map */

View File

@ -0,0 +1 @@
@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0px)}100%{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0px)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:1px solid rgba(0,0,0,.8);border-radius:5px;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:3em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:rgba(255,255,255,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05, 1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px;background:rgba(0,0,0,.8);border-radius:50%}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px;fill:#fff}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:20px;top:50%;margin-top:-10px;left:15%;right:15%;border:3px solid rgba(0,0,0,.8);background:rgba(0,0,0,.8);border-radius:10px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#fff;display:block;position:relative;height:100%;width:0;transition:width 300ms ease-in-out;border-radius:17px}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#b10606;padding:.5em 1em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #b10606}/*# sourceMappingURL=dropzone.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../src/dropzone.scss"],"names":[],"mappings":"AAGA,2BACE,GACE,UACA,2BAGF,QACE,UACA,0BAGF,KACE,UACA,6BAKJ,oBACE,GACE,UACA,2BAEF,IACE,UACA,2BAMJ,iBACE,sBACA,yBACA,wBAKF,sBACE,sBAEF,UAmBE,iBACA,gCACA,kBACA,kBAhBA,uBACE,eAEA,yBACE,eAGA,wEACE,eAWJ,iCACE,aAIJ,wBACE,mBACA,oCACE,WAGJ,sBACE,kBACA,aAEA,iCACE,gBACA,cACA,YACA,UACA,aACA,eACA,gBAMJ,sBACE,kBACA,qBAEA,mBAEA,YACA,iBAEA,4BAEE,aACA,wCACE,UAMF,gDACE,cArEgB,KAsEhB,gBACA,kDAGF,kDACE,UAIJ,uCACE,gBACA,mDACE,8BAIJ,iCACE,eACA,kBACA,cACA,eACA,YACA,uCACE,0BAIJ,wCACE,UAEF,kCAGE,WAEA,kBACA,MACA,OAEA,UAEA,eACA,eACA,eACA,gBACA,kBACA,qBAIA,iBAEA,2CACE,kBACA,eAGF,+CAEE,mBAGE,0DACE,sCACA,sCAGJ,2DAIE,gBACA,uBAJA,gEACE,6BASJ,oGACE,sCACA,eACA,kBASF,0CACE,4BACA,iBAIN,gCACE,cAvKkB,KAwKlB,gBACA,MA3KS,MA4KT,OA5KS,MA6KT,kBACA,cACA,WAEA,oCACE,cAMF,kDACE,6DAIF,8CACE,UACA,sDASJ,4EAKE,oBAEA,UACA,YAEA,kBACA,cACA,QACA,SACA,kBACA,iBAEA,WApBiB,eAqBjB,kBAEA,oFACE,cACA,MAnBY,KAoBZ,OArBa,KAsBb,KA5BY,KAiChB,iDACE,UACA,0BAEF,+CACE,UACA,+BAIA,uDACE,iCAGJ,mCAIE,UACA,aAEA,oBACA,kBACA,YACA,QACA,iBACA,SACA,UAEA,gCACA,WA9DiB,eAgEjB,mBAEA,gBAEA,8CACE,WAtEY,KAwEZ,cACA,kBACA,YACA,QACA,mCAEA,mBAMF,iDACE,cAEF,uDACE,UACA,oBAIJ,wCAIE,oBACA,aACA,kBACA,cACA,aACA,UACA,4BACA,kBACA,eACA,UACA,WACA,MAdQ,MAeR,WAdQ,QAeR,iBACA,WAGA,8CACE,WACA,kBACA,SACA,UACA,QACA,SACA,kCACA,mCACA","file":"dropzone.css"}

File diff suppressed because one or more lines are too long

View File

@ -1,176 +0,0 @@
.footer-bs {
background-image: linear-gradient(#085577, #05364b);
padding: 60px 40px;
color: rgba(255, 255, 255, 1);
transition: all 200ms linear 0s;
}
[data-theme="dark"] .footer-bs {
background-image: linear-gradient(#05364b, #031e29);
}
.footer-bs .footer-brand,
.footer-bs .footer-nav,
.footer-bs .footer-social,
.footer-bs .footer-ns {
padding: 10px 25px;
}
.footer-bs .footer-nav,
.footer-bs .footer-social,
.footer-bs .footer-ns {
border-color: transparent;
}
.footer-bs .footer-brand h2 {
margin: 0px 0px 10px;
}
.footer-bs .footer-brand p {
margin-top: 10px;
font-size: 12px;
color: rgba(255, 255, 255, 0.7);
}
.footer-bs .footer-nav ul.pages {
list-style: none;
padding: 0px;
}
.footer-bs .footer-nav ul.pages li {
padding: 5px 0px;
}
.footer-bs .footer-nav ul.pages a {
text-decoration: none;
color: rgba(255, 255, 255, 1);
font-weight: bold;
text-transform: uppercase;
}
.footer-bs .footer-nav ul.pages a:hover {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
}
.footer-bs .footer-nav h4 {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 3px;
margin-bottom: 10px;
}
.footer-bs .footer-nav ul.list {
list-style: none;
padding: 0px;
}
.footer-bs .footer-nav ul.list li {
padding: 5px 0px;
}
.footer-bs .footer-nav ul.list a {
color: rgba(255, 255, 255, 0.8);
}
.footer-bs .footer-nav ul.list a:hover {
color: rgba(255, 255, 255, 0.6);
text-decoration: none;
}
.footer-bs .footer-social ul {
list-style: none;
padding: 0px;
}
.footer-bs .footer-social h4 {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 3px;
}
.footer-bs .footer-social li {
padding: 5px 4px;
}
.footer-bs .footer-social a {
text-decoration: none;
color: rgba(255, 255, 255, 1);
}
.footer-bs .footer-social a:hover {
color: rgba(255, 255, 255, 0.8);
}
.footer-bs .footer-ns h4 {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 3px;
margin-bottom: 10px;
}
.footer-bs .footer-ns div {
font-size: 12px;
color: rgba(255, 255, 255, 0.7);
}
@media (min-width: 768px) {
.footer-bs .footer-nav,
.footer-bs .footer-social,
.footer-bs .footer-ns {
border-left: solid 1px rgba(255, 255, 255, 0.1);
}
}
.footer-brand {
justify-content: center;
align-items: center;
text-align: center;
}
.footer-brand img {
width: 40%;
}
@media (min-width: 992px) {
.footer-brand img {
width: 50%;
}
}
.footer-social .bi {
padding-right: 10px;
}
.bi-twitter {
color: #1da1f2;
}
.bi-linkedin {
color: #00a0dc;
}
.bi-discord {
color: #7289da;
}
.input-group .btn-light {
background-color: #fff;
border: 1px solid #e5e5e5;
border-radius: 0.25rem !important;
border-top-left-radius: 0 !important;
border-bottom-left-radius: 0 !important;
z-index: 2;
}
.input-group .btn-light:hover {
background-color: #e5e5e5;
border: 1px solid #e5e5e5;
}
.footer-bs h4 {
color: #fff;
}
.footer-ns .invalid-feedback {
color: red !important;
}
.footer-ns .btn-light {
margin-left: 10px;
}

View File

@ -1,53 +0,0 @@
#form-edit-global-conf .row .col-form-label,
#form-edit-global-conf .row .col-8 {
background-color: transparent;
}
.nav-pills .nav-link.active,
.nav-pills .nav-link:hover {
background-color: rgba(64, 187, 107, 0.5) !important;
background-clip: border-box !important;
}
#form-edit-global-conf .fa-circle-info,
#form-edit-global-conf .fa-question-circle,
#form-edit-global-conf .fa-circle-question {
color: #085577 !important;
}
#form-edit-global-conf .nav-link span {
color: #000 !important;
}
#form-edit-global-conf aside {
background: none !important;
}
#form-edit-global-conf .btn-primary {
background-color: #085577;
border-color: #085577;
}
#form-edit-global-conf .btn-primary:hover {
background-color: #247496;
border-color: #247496;
}
[data-theme="dark"] #form-edit-global-conf,
[data-theme="dark"] .wrapper {
background-color: #222 !important;
}
[data-theme="dark"] #form-edit-global-conf .bg-light {
background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
border-color: #111 !important;
border: 1px solid #343636 !important;
}
[data-theme="dark"] #form-edit-global-conf .nav-link span {
color: #fff !important;
}
[data-theme="dark"] .nav-pills .nav-link.active {
background-color: #535353 !important;
}

View File

@ -1,309 +0,0 @@
.card-body .btn-outline-success {
background-color: #40bb6b;
border-color: #40bb6b;
}
.no_internet.container-fluid {
padding-top: 0 !important;
}
section.blog-list {
padding-top: 0 !important;
}
.blog-list .item .title {
font-size: 1.275rem;
font-weight: bold;
}
.blog-list .item .title a {
color: #292929;
}
.blog-list .item .title a:hover {
color: #292929;
}
.blog-list .item .post-thumb {
border-radius: 2px;
}
.blog-list .item .intro {
font-size: 0.875rem;
}
.blog-list .item .more-link {
font-size: 0.8125rem;
}
.blog-list .text-link {
color: #40bb6b;
}
.blog-list a.text-link {
text-decoration: none;
}
.blog-list a.text-link:hover {
text-decoration: underline;
}
.blog-list .blog-nav .nav-link {
background: #53b463;
color: #fff;
font-size: 1rem;
padding: 1rem;
font-weight: bold;
position: relative;
}
.blog-list .blog-nav .nav-link:hover {
background: #3dba52;
}
.blog-list .blog-nav .nav-link-prev {
border-right: 1px solid #309441;
}
@media (min-width: 992px) {
.blog-list .post-thumb {
max-width: 100%;
}
}
@media (min-width: 1200px) {
.blog-list .post-thumb {
max-width: 150px;
}
}
.blog-list .single-col-max-width {
max-width: 820px;
}
.blog-list .meta {
color: #8f8f8f;
font-size: 0.8125rem;
}
.blog-list .meta span {
display: inline-block;
}
.blog-list .meta span a {
color: #8f8f8f;
}
.blog-list .meta span a:hover {
color: #4f4f4f;
}
.blog-list .meta span:after {
content: "";
display: inline-block;
width: 3px;
height: 3px;
border-radius: 50%;
background: #8f8f8f;
margin-left: 0.5rem;
margin-right: 0.5rem;
position: relative;
top: -3px;
}
.blog-list .meta span:last-child:after {
display: none;
}
.blog-list .intro {
color: #4f4f4f;
}
.blog-list h1 {
margin-bottom: 5vh;
}
.text-xs {
font-size: 0.7rem;
}
.text-primary {
color: #085577 !important;
}
.font-weight-bold {
font-weight: 700 !important;
}
.text-uppercase {
text-transform: uppercase !important;
}
.mb-1,
.my-1 {
margin-bottom: 0.25rem !important;
}
.fa-arrow-right-long {
margin-left: 5px;
margin-right: 5px;
}
.text-gray-800 {
color: #5a5c69 !important;
}
.text-gray-300 {
color: #dddfeb !important;
}
a .fa-twitter:hover {
color: #1da1f2 !important;
}
a .fa-linkedin:hover {
color: #0077b5 !important;
}
a .fa-discord:hover {
color: #7289da !important;
}
a .fa-github:hover {
color: #333 !important;
}
.border-left-primary {
border-left: 0.25rem solid #085577 !important;
}
.card .btn {
color: #222;
font-size: 12px;
background: none;
}
[data-theme="dark"] a .fa-twitter:hover {
color: #1da1f2 !important;
}
[data-theme="dark"] a .fa-linkedin:hover {
color: #0077b5 !important;
}
[data-theme="dark"] a .fa-discord:hover {
color: #7289da !important;
}
[data-theme="dark"] a .fa-github:hover {
color: #ccc !important;
}
[data-theme="dark"] .card {
background-color: #222 !important;
}
[data-theme="dark"] .card .text-gray-800 {
color: #f6f6f6 !important;
}
[data-theme="dark"] .card .card-title,
[data-theme="dark"] .card .btn,
[data-theme="dark"] .blog-list .title .text-link {
color: #fff;
}
[data-theme="dark"] .blog-list .intro {
color: #f6f6f6;
}
[data-theme="dark"] .blog-list .meta {
color: #b8b8b8;
}
[data-theme="dark"] .blog-list .blog-nav .nav-link {
background: #459653;
}
[data-theme="dark"] .blog-list .blog-nav .nav-link:hover {
background: #2e8b3d;
}
[data-theme="dark"] .blog-list .blog-nav .nav-link-prev {
border-right: 1px solid #2e8b3d;
}
.no_internet h3 {
color: #9e9e9e;
font-size: calc(20px + 6 * ((100vw - 320px) / 680));
}
.no_internet button:focus {
box-shadow: none !important;
outline-width: 0;
}
.no_internet .card {
border-radius: 0;
box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.8);
}
.no_internet .card-header {
background-color: #f44236 !important;
color: #fff;
}
.no_internet img {
width: 180px !important;
}
.no_internet .btn-primary {
background: #b52ab4;
color: #fff !important;
border-radius: 0 !important;
letter-spacing: 1px;
}
.no_internet .btn-primary:hover {
background: #b52ab4;
}
.no_internet .btn-primary:focus {
background: #b52ab4 !important;
}
.no_internet .btn-success {
border: 1px solid #b52ab4;
padding: 8px 20px 8px 20px !important;
border-radius: 20px !important;
}
.no_internet .btn-success:hover {
background: #b52ab4;
color: #fff !important;
border-color: #b52ab4 !important;
}
.no_internet .btn-success:focus {
background: #b52ab4 !important;
color: #fff !important;
}
.no_internet .btn-success {
background: #b52ab4 !important;
}
.inner li {
list-style-type: disc !important;
}
.fa-times-circle {
vertical-align: middle !important;
cursor: pointer !important;
}
@media (max-width: 654px) {
.card {
width: unset;
}
}

View File

@ -1,151 +0,0 @@
.card {
border: none;
border-radius: 10px;
}
.c-details span {
font-weight: 300;
font-size: 13px;
}
.icon {
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 39px;
}
.icon.True {
background-color: #00ce6e;
}
.icon.False {
background-color: #f44336;
}
.icon .fa-power-off {
color: #fff;
}
.badge span {
background-color: #fffbec;
width: 60px;
height: 25px;
padding-bottom: 3px;
border-radius: 5px;
display: flex;
color: #fed85d;
justify-content: center;
align-items: center;
}
.progress {
height: 10px;
border-radius: 10px;
}
.progress div {
background-color: red;
}
.text1 {
font-size: 14px;
font-weight: 600;
}
.text2 {
color: #a5aec0;
}
.dropdown-menu .svg-inline--fa {
width: 14px !important;
height: 16px !important;
}
.modal {
padding: 0 !important;
}
.modal-body .flex-grow-1.d-flex {
background-clip: content-box;
}
.modal-body .row .col-form-label,
.modal-body .row .col-8 {
background-color: transparent;
}
.nav-pills .nav-link.active,
.modal-body .nav-link:hover {
background-color: rgba(64, 187, 107, 0.5) !important;
background-clip: border-box !important;
}
.modal-body .fa-circle-info,
.modal-body .fa-question-circle,
.modal-body .fa-circle-question {
color: #085577 !important;
}
.modal-body .nav-link span {
color: #000 !important;
}
.modal-body aside {
background: none !important;
}
.modal-footer .btn-primary {
background-color: #085577;
border-color: #085577;
}
.modal-footer .btn-primary:hover {
background-color: #247496;
border-color: #247496;
}
button.state-button {
border: none;
background-color: transparent;
}
[data-theme="dark"] .card {
background-color: #222 !important;
}
[data-theme="dark"] .btn-outline-secondary {
color: #fff !important;
border-color: #fff !important;
}
[data-theme="dark"] .btn-outline-secondary:hover {
color: #000 !important;
background-color: #fff !important;
}
[data-theme="dark"] .modal-content {
background-color: #222 !important;
}
[data-theme="dark"] .modal-content .bg-light {
background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
border-color: #111 !important;
border: 1px solid #343636 !important;
}
[data-theme="dark"] .modal-body .nav-link span {
color: #fff !important;
}
[data-theme="dark"] .nav-pills .nav-link.active {
background-color: #535353 !important;
}
[data-theme="dark"] .modal-body .fa-circle-info,
[data-theme="dark"] .modal-body .fa-circle-question {
color: #1da1f2 !important;
}

View File

@ -1,32 +0,0 @@
div.numberedtextarea-wrapper {
position: relative;
}
div.numberedtextarea-wrapper textarea {
display: block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
div.numberedtextarea-line-numbers {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 50px;
border-right: 1px solid rgba(0, 0, 0, 0.5);
color: rgba(0, 0, 0, 0.5);
overflow: hidden;
}
div.numberedtextarea-number {
padding-right: 6px;
text-align: right;
}
[data-theme="dark"] div.numberedtextarea-line-numbers {
border-right: 1px solid rgba(255, 255, 255, 0.5);
color: rgba(255, 255, 255, 0.5);
}

View File

@ -1,144 +0,0 @@
body,
html {
width: 100%;
height: 100%;
background-color: #042a3a;
}
body {
color: #fff;
text-align: center;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
padding: 0;
min-height: 100%;
-webkit-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.8);
box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.8);
display: table;
font-family: "Open Sans", Arial, sans-serif;
margin: 0;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
h1 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
font-size: 36px;
}
h1 small {
font-size: 68%;
font-weight: 400;
line-height: 1;
color: #777;
}
a {
text-decoration: none;
color: #fff;
font-size: inherit;
border-bottom: dotted 1px #979797;
}
.lead {
color: silver;
font-size: 21px;
line-height: 1.4;
}
.cover {
display: table-cell;
vertical-align: middle;
padding: 0 20px;
}
img {
width: 175px;
}
footer {
position: fixed;
width: 100%;
left: 0;
bottom: 0;
color: #a0a0a0;
font-size: 14px;
}
.lds-roller {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.lds-roller div {
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
transform-origin: 40px 40px;
}
.lds-roller div:after {
content: " ";
display: block;
position: absolute;
width: 7px;
height: 7px;
border-radius: 50%;
background: #fff;
margin: -4px 0 0 -4px;
}
.lds-roller div:nth-child(1) {
animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
top: 63px;
left: 63px;
}
.lds-roller div:nth-child(2) {
animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
top: 68px;
left: 56px;
}
.lds-roller div:nth-child(3) {
animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
top: 71px;
left: 48px;
}
.lds-roller div:nth-child(4) {
animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
top: 72px;
left: 40px;
}
.lds-roller div:nth-child(5) {
animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
top: 71px;
left: 32px;
}
.lds-roller div:nth-child(6) {
animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
top: 68px;
left: 24px;
}
.lds-roller div:nth-child(7) {
animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
top: 63px;
left: 17px;
}
.lds-roller div:nth-child(8) {
animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
top: 56px;
left: 12px;
}
@keyframes lds-roller {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

View File

@ -1,133 +0,0 @@
body {
font-family: "Karla", sans-serif;
background-image: linear-gradient(#085577, #05364b);
min-height: 100vh;
}
.brand-wrapper {
padding-top: 7px;
padding-bottom: 8px;
}
.brand-wrapper .logo {
height: 8vh;
}
.login-section-wrapper {
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
padding: 68px 100px;
background-color: #fff;
}
@media (max-width: 991px) {
.login-section-wrapper {
padding-left: 50px;
padding-right: 50px;
}
}
@media (max-width: 575px) {
.login-section-wrapper {
padding-top: 20px;
padding-bottom: 20px;
min-height: 100vh;
}
}
.login-wrapper {
width: 300px;
max-width: 100%;
padding-top: 24px;
padding-bottom: 24px;
}
@media (max-width: 575px) {
.login-wrapper {
width: 100%;
}
}
.login-wrapper label {
font-size: 14px;
font-weight: bold;
color: #b0adad;
}
.login-wrapper .form-control {
border: none;
border-bottom: 1px solid #e7e7e7;
border-radius: 0;
padding: 9px 5px;
min-height: 40px;
font-size: 18px;
font-weight: normal;
}
.login-wrapper .form-control::-webkit-input-placeholder {
color: #b0adad;
}
.login-wrapper .form-control::-moz-placeholder {
color: #b0adad;
}
.login-wrapper .form-control:-ms-input-placeholder {
color: #b0adad;
}
.login-wrapper .form-control::-ms-input-placeholder {
color: #b0adad;
}
.login-wrapper .form-control::placeholder {
color: #b0adad;
}
.login-wrapper .login-btn {
padding: 13px 20px;
background-color: #085577;
border-radius: 0;
font-size: 20px;
font-weight: bold;
color: #fff;
margin-bottom: 14px;
}
.login-wrapper .login-btn:hover {
border: 1px solid #085577;
background-color: #fff;
color: #085577;
}
.login-wrapper a.forgot-password-link {
color: #080808;
font-size: 14px;
text-decoration: underline;
display: inline-block;
margin-bottom: 54px;
}
@media (max-width: 575px) {
.login-wrapper a.forgot-password-link {
margin-bottom: 16px;
}
}
.login-wrapper-footer-text {
font-size: 16px;
color: #000;
margin-bottom: 0;
}
.login-title {
font-size: 30px;
color: #085577;
font-weight: bold;
margin-bottom: 25px;
}
.login-img {
width: 100%;
height: 100vh;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: left;
object-position: left;
}
.login-logo {
position: absolute;
width: 20%;
top: 0;
bottom: 0;
left: 65%;
margin: auto;
}

View File

@ -1,103 +0,0 @@
.search-bar form {
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50px;
height: 50px;
background: white;
box-sizing: border-box;
border-radius: 25px;
border: 4px solid white;
padding: 5px;
width: 75%;
cursor: pointer;
}
.search-bar input {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 42.5px;
line-height: 30px;
outline: 0;
border: 0;
display: block;
font-size: 1em;
border-radius: 20px;
padding: 0 20px;
}
.search-bar svg:not(:host).svg-inline--fa,
.search-bar svg:not(:root).svg-inline--fa {
box-sizing: border-box !important;
}
.search-bar .fa-magnifying-glass {
padding: 10px;
width: 42.5px;
height: 42.5px;
position: absolute;
top: 0;
right: 0;
border-radius: 50%;
color: #07051a;
text-align: center;
font-size: 1.2em;
}
.search-bar form .fa-magnifying-glass {
background: #07051a;
color: white;
}
#date-clear {
display: none;
}
.widget {
padding: 18px;
background-color: #fff;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24);
}
.rotate {
animation: rotation 2s linear infinite;
}
@keyframes rotation {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}
.container .nav {
overflow-x: auto;
overflow-y: hidden;
}
[data-theme="dark"] .widget {
background: #1d1d1d;
color: #fff;
}
[data-theme="dark"] .nav .nav-link.active {
background-color: #535353 !important;
color: #fff;
}
[data-theme="dark"] .list-group .list-group-item {
background-color: #1d1d1d;
color: #fff;
border-color: #7e7e7e;
}
@media screen and (max-width: 767px) {
.search-bar form {
width: 100%;
}
}

View File

@ -1,274 +0,0 @@
/* #Navigation
================================================== */
body[data-theme="dark"] {
color: #fff;
background-color: #1f2029 !important;
}
.start-body {
opacity: 1;
transform: translateY(0);
padding: 20px 0;
box-shadow: 0 10px 30px 0 rgba(138, 155, 165, 0.15);
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.start-body.scroll-on {
box-shadow: 0 5px 10px 0 rgba(138, 155, 165, 0.15);
padding: 10px 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.start-body.scroll-on .navbar-brand img {
height: 32px;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.navigation-wrap {
width: 100%;
top: 0;
left: 0;
z-index: 1000;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.navbar {
padding: 0;
}
.navbar-brand img {
height: 32px;
width: auto;
display: block;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.navbar-toggler {
float: right;
border: none;
padding-right: 0;
}
.navbar-toggler:active,
.navbar-toggler:focus {
outline: none;
}
.navbar-light .navbar-toggler-icon {
width: 24px;
height: 17px;
background-image: none;
position: relative;
border-bottom: 1px solid #fff;
transition: all 300ms linear;
}
.navbar-light .navbar-toggler-icon:after,
.navbar-light .navbar-toggler-icon:before {
width: 24px;
position: absolute;
height: 1px;
background-color: #fff;
top: 0;
left: 0;
content: "";
z-index: 2;
transition: all 300ms linear;
}
.navbar-light .navbar-toggler-icon:after {
top: 8px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
transform: translateY(8px) rotate(-45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
border-color: transparent;
}
.navbar .nav-link {
color: #fff !important;
font-weight: 500;
transition: all 200ms linear;
}
.navbar .nav-item:hover .nav-link,
.navbar .nav-item.active .nav-link {
color: #40bb6b !important;
}
.navbar .nav-link {
position: relative;
padding: 5px 0 !important;
display: inline-block;
}
.navbar .nav-item:after {
position: absolute;
bottom: -5px;
left: 0;
width: 100%;
height: 2px;
content: "";
background-color: #40bb6b;
opacity: 0;
transition: all 200ms linear;
}
.navbar .nav-item:hover:after,
.navbar .nav-item.active:after {
bottom: 4px;
opacity: 1;
}
.navbar .nav-item {
position: relative;
transition: all 200ms linear;
}
/* #Primary style
================================================== */
.bg-custom {
background-color: #085577 !important;
transition: all 200ms linear;
}
.section {
position: relative;
width: 100%;
display: block;
}
.full-height {
height: 100vh;
}
.over-hide {
overflow: hidden;
}
.absolute-center {
position: absolute;
top: 50%;
left: 0;
width: 100%;
margin-top: 40px;
transform: translateY(-50%);
z-index: 20;
}
[data-theme="dark"] .bg-custom {
background-color: #05364b !important;
}
[data-theme="dark"] .start-body {
box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.15);
}
[data-theme="dark"] .start-body.scroll-on {
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
}
[data-theme="dark"] .dropdown-menu {
color: #fff;
background-color: #1f2029;
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.25);
}
[data-theme="dark"] .dropdown-item {
color: #fff;
}
[data-theme="dark"] .navbar-light .navbar-toggler-icon {
border-bottom: 1px solid #fff;
}
[data-theme="dark"] .navbar-light .navbar-toggler-icon:after,
[data-theme="dark"] .navbar-light .navbar-toggler-icon:before {
background-color: #fff;
}
[data-theme="dark"] .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
border-color: transparent;
}
/* #Media
================================================== */
@media (max-width: 767px) {
.navbar .nav-item:after {
display: none;
}
.navbar .nav-item::before {
position: absolute;
display: block;
top: 17px;
left: -15px;
width: 11px;
height: 1px;
content: "";
border: none;
background-color: #fff;
vertical-align: 0;
}
.dropdown-toggle::after {
position: absolute;
display: block;
top: 10px;
left: -23px;
width: 1px;
height: 11px;
content: "";
border: none;
background-color: #000;
vertical-align: 0;
transition: all 200ms linear;
}
.dropdown-toggle[aria-expanded="true"]::after {
transform: rotate(90deg);
opacity: 0;
}
[data-theme="dark"] .navbar .nav-item::before {
background-color: #fff;
}
[data-theme="dark"] .dropdown-toggle::after {
background-color: #fff;
}
}
@media (min-width: 768px) {
.navbar-nav {
position: absolute;
right: 0;
bottom: 8px;
}
}
/* #Link to page
================================================== */
.logo {
position: absolute;
bottom: 30px;
right: 30px;
display: block;
z-index: 100;
transition: all 250ms linear;
}
.logo img {
height: 26px;
width: auto;
display: block;
filter: brightness(10%);
transition: all 250ms linear;
}
[data-theme="dark"] .logo img {
filter: brightness(100%);
}
.navbar-collapse .nav-item {
margin-left: 2.3rem;
}
.navbar-collapse .nav-item-switch {
margin-left: 4rem;
}
.nav-switch {
color: #fff !important;
font-weight: 500;
transition: all 200ms linear;
}
.nav-switch {
position: relative;
padding: 5px 0 !important;
display: inline-block;
}
[data-theme="dark"] .nav-switch {
color: #fff !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,146 @@
declare type AirDatepickerSelector = string | HTMLElement;
export declare type AirDatepickerLocale = {
days: string[],
daysShort: string[],
daysMin: string[],
months: string[],
monthsShort: string[],
today: string,
clear: string,
dateFormat: string,
timeFormat: string,
firstDay: 0 | 1 | 2 | 3 | 4 | 5 | 6,
}
export declare type AirDatepickerButton = {
content: string | ((dp: AirDatepicker) => string),
tagName?: keyof HTMLElementTagNameMap,
className?: string,
attrs?: Record<string, string>,
onClick?: (dp: AirDatepicker) => void
}
export declare type AirDatepickerButtonPresets = 'clear' | 'today';
export declare type AirDatepickerPosition = 'left' | 'left top' | 'left bottom' | 'top' | 'top left' | 'top right' | 'right' | 'right top' | 'right bottom' | 'bottom' | 'bottom left' | 'bottom right';
export declare type AirDatepickerViews = 'days' | 'months' | 'years';
export declare type AirDatepickerViewsSingle = 'day' | 'month' | 'year';
export declare type AirDatepickerDate = string | number | Date;
export declare type AirDatepickerNavEntry = string | ((dp: AirDatepicker) => string);
export declare type AirDatepickerDecade = [number, number];
export declare type AirDatepickerPositionCallback = (
{
$datepicker,
$target,
$pointer,
isViewChange,
done
}: {
$datepicker: HTMLDivElement,
$target: HTMLInputElement,
$pointer: HTMLElement,
isViewChange: boolean,
done: () => void
}) => void | (() => void)
export declare type AirDatepickerOptions = {
classes: string
inline: boolean,
locale: Partial<AirDatepickerLocale>,
startDate: AirDatepickerDate,
firstDay: number,
isMobile: boolean,
visible: boolean,
weekends: [number, number],
dateFormat: string | ((d: Date) => string),
altField: AirDatepickerSelector,
altFieldDateFormat: string,
toggleSelected: boolean,
keyboardNav: boolean,
selectedDates: AirDatepickerDate[] | false,
container: AirDatepickerSelector,
position: AirDatepickerPosition | AirDatepickerPositionCallback,
offset: number,
view: AirDatepickerViews,
minView: AirDatepickerViews,
showOtherMonths: boolean,
selectOtherMonths: boolean,
moveToOtherMonthsOnSelect: boolean,
showOtherYears: boolean,
selectOtherYears: boolean,
moveToOtherYearsOnSelect: boolean,
minDate: AirDatepickerDate | false,
maxDate: AirDatepickerDate | false,
disableNavWhenOutOfRange: true,
multipleDates: number | true | false,
multipleDatesSeparator: string,
range: boolean,
dynamicRange: boolean,
buttons: AirDatepickerButtonPresets | AirDatepickerButton | (AirDatepickerButtonPresets| AirDatepickerButton)[] | false,
monthsField: keyof AirDatepickerLocale,
showEvent: string,
autoClose: boolean,
prevHtml: string,
nextHtml: string,
navTitles: {
days?: AirDatepickerNavEntry,
months?: AirDatepickerNavEntry,
years?: AirDatepickerNavEntry
},
timepicker: boolean,
onlyTimepicker: boolean,
dateTimeSeparator: string,
timeFormat: string,
minHours: number,
maxHours: number,
minMinutes: number,
maxMinutes: number,
hoursStep: number,
minutesStep: number,
onSelect: ({date, formattedDate, datepicker}: {date: Date | Date[], formattedDate: string | string[], datepicker: AirDatepicker}) => void,
onChangeViewDate: ({month, year, decade}: {month: number, year: number, decade: AirDatepickerDecade}) => void,
onChangeView: (view: AirDatepickerViews) => void,
onRenderCell: (params: {date: Date, cellType: AirDatepickerViewsSingle, datepicker: AirDatepicker}) => ({
disabled?: boolean,
classes?: string,
html?: string
attrs?: Record<string, string | number | undefined>
} | void),
onShow: (isAnimationComplete: boolean) => void,
onHide: (isAnimationComplete: boolean) => void,
onClickDayName: ({dayIndex, datepicker}: {dayIndex: number, datepicker: AirDatepicker}) => void
}
declare class AirDatepicker<E extends HTMLElement = HTMLInputElement> {
constructor(el: string | E, opts? : Partial<AirDatepickerOptions>)
static version: string
show: () => void
hide: () => void
next: () => void
prev: () => void
selectDate: (date: AirDatepickerDate | AirDatepickerDate[], opts?: {updateTime?: boolean, silent?: boolean}) => void
unselectDate: (date: AirDatepickerDate) => void
clear: () => void
formatDate: (date: AirDatepickerDate, format: string) => string
destroy: () => void
update: (newOpts: Partial<AirDatepickerOptions>) => void
setCurrentView: (newView: AirDatepickerViews) => void
setViewDate: (newViewDate: AirDatepickerDate) => void
setFocusDate: (date: AirDatepickerDate | false, opts?: {viewDateTransition?: boolean}) => void
up: (date?: AirDatepickerDate) => void
down: (date?: AirDatepickerDate) => void
$el: E
$datepicker: HTMLDivElement
viewDate: Date
currentView: AirDatepickerViews
selectedDates: Date[]
focusDate: Date | false
visible: boolean
}
export default AirDatepicker;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
import AirDatepicker from "air-datepicker";
export default AirDatepicker;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/ar' {
import {AirDatepickerLocale} from 'air-datepicker';
const ar: AirDatepickerLocale;
export default ar;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['الأحد', 'الأثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعه', 'السبت'],
daysShort: ['الأحد', 'الأثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعه', 'السبت'],
daysMin: ['الأحد', 'الأثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعه', 'السبت'],
months: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'اكتوبر', 'نوفمبر', 'ديسمبر'],
monthsShort: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'اكتوبر', 'نوفمبر', 'ديسمبر'],
today: 'اليوم',
clear: 'حذف',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'hh:mm aa',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/cs' {
import {AirDatepickerLocale} from 'air-datepicker';
const cs: AirDatepickerLocale;
export default cs;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],
daysShort: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
daysMin: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
months: ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'],
monthsShort: ['Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čvn', 'Čvc', 'Srp', 'Zář', 'Říj', 'Lis', 'Pro'],
today: 'Dnes',
clear: 'Vymazat',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/da' {
import {AirDatepickerLocale} from 'air-datepicker';
const da: AirDatepickerLocale;
export default da;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'],
daysShort: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'],
daysMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'],
months: ['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
today: 'I dag',
clear: 'Nulstil',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/de' {
import {AirDatepickerLocale} from 'air-datepicker';
const de: AirDatepickerLocale;
export default de;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
daysShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
daysMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
monthsShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
today: 'Heute',
clear: 'Aufräumen',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:ii',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/en' {
import {AirDatepickerLocale} from 'air-datepicker';
const en: AirDatepickerLocale;
export default en;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
today: 'Today',
clear: 'Clear',
dateFormat: 'MM/dd/yyyy',
timeFormat: 'hh:mm aa',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/es' {
import {AirDatepickerLocale} from 'air-datepicker';
const es: AirDatepickerLocale;
export default es;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
daysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
daysMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
today: 'Hoy',
clear: 'Limpiar',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'hh:mm aa',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/fi' {
import {AirDatepickerLocale} from 'air-datepicker';
const fi: AirDatepickerLocale;
export default fi;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],
daysShort: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
daysMin: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],
months: ['Tammikuu', 'Helmikuu', 'Maaliskuu', 'Huhtikuu', 'Toukokuu', 'Kesäkuu', 'Heinäkuu', 'Elokuu', 'Syyskuu', 'Lokakuu', 'Marraskuu', 'Joulukuu'],
monthsShort: ['Tammi', 'Helmi', 'Maalis', 'Huhti', 'Touko', 'Kesä', 'Heinä', 'Elo', 'Syys', 'Loka', 'Marras', 'Joulu'],
today: 'Tänään',
clear: 'Tyhjennä',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/fr' {
import {AirDatepickerLocale} from 'air-datepicker';
const fr: AirDatepickerLocale;
export default fr;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthsShort: ['Jan', 'Fév', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Dec'],
today: "Aujourd'hui",
clear: 'Effacer',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/hu' {
import {AirDatepickerLocale} from 'air-datepicker';
const hu: AirDatepickerLocale;
export default hu;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
daysShort: ['Va', 'Hé', 'Ke', 'Sze', 'Cs', 'Pé', 'Szo'],
daysMin: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],
months: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június', 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún', 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
today: 'Ma',
clear: 'Törlés',
dateFormat: 'yyyy-MM-dd',
timeFormat: 'hh:mm aa',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/it' {
import {AirDatepickerLocale} from 'air-datepicker';
const it: AirDatepickerLocale;
export default it;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
daysShort: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'],
daysMin: ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'],
months: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
monthsShort: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'],
today: 'Oggi',
clear: 'Cancella',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/ja' {
import {AirDatepickerLocale} from 'air-datepicker';
const ja: AirDatepickerLocale;
export default ja;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
daysShort: ['日', '月', '火', '水', '木', '金', '土'],
daysMin: ['日', '月', '火', '水', '木', '金', '土'],
months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
monthsShort: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
today: '今日',
clear: 'クリア',
dateFormat: 'yyyy/MM/dd',
timeFormat: 'HH:mm',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/ko' {
import {AirDatepickerLocale} from 'air-datepicker';
const ko: AirDatepickerLocale;
export default ko;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
daysShort: ['일', '월', '화', '수', '목', '금', '토'],
daysMin: ['일', '월', '화', '수', '목', '금', '토'],
months: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthsShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
today: '오늘',
clear: '초기화',
dateFormat: 'MM/dd/yyyy',
timeFormat: 'hh:mm aa',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/nl' {
import {AirDatepickerLocale} from 'air-datepicker';
const nl: AirDatepickerLocale;
export default nl;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
daysShort: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
daysMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
today: 'Vandaag',
clear: 'Legen',
dateFormat: 'dd-MM-yyyy',
timeFormat: 'HH:mm',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/pl' {
import {AirDatepickerLocale} from 'air-datepicker';
const pl: AirDatepickerLocale;
export default pl;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'],
daysShort: ['Nie', 'Pon', 'Wto', 'Śro', 'Czw', 'Pią', 'Sob'],
daysMin: ['Nd', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So'],
months: ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'],
monthsShort: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'],
today: 'Dzisiaj',
clear: 'Wyczyść',
dateFormat: 'yyyy-MM-dd',
timeFormat: 'hh:mm:aa',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/pt-BR' {
import {AirDatepickerLocale} from 'air-datepicker';
const pt-BR: AirDatepickerLocale;
export default pt-BR;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
daysMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
today: 'Hoje',
clear: 'Limpar',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/pt' {
import {AirDatepickerLocale} from 'air-datepicker';
const pt: AirDatepickerLocale;
export default pt;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],
daysMin: ['Do', 'Se', 'Te', 'Qa', 'Qi', 'Sx', 'Sa'],
months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
today: 'Hoje',
clear: 'Limpar',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/ro' {
import {AirDatepickerLocale} from 'air-datepicker';
const ro: AirDatepickerLocale;
export default ro;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],
daysShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
daysMin: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'],
months: ['Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie'],
monthsShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],
today: 'Azi',
clear: 'Şterge',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/ru' {
import {AirDatepickerLocale} from 'air-datepicker';
const ru: AirDatepickerLocale;
export default ru;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
daysShort: ['Вос', 'Пон', 'Вто', 'Сре', 'Чет', 'Пят', 'Суб'],
daysMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
monthsShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
today: 'Сегодня',
clear: 'Очистить',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/si' {
import {AirDatepickerLocale} from 'air-datepicker';
const si: AirDatepickerLocale;
export default si;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['ඉරිදා', 'සදුදා', 'අඟහරැවදා', 'බදාදා', 'බ්‍රහස්‍පතින්‍', 'සිකුරාදා', 'සෙනසුරාදා'],
daysShort: ['ඉරිදා', 'සදුදා', 'අඟහ', 'බදාදා', 'බ්‍රහස්‍', 'සිකුරා', 'සෙන'],
daysMin: ['ඉරි', 'සදු', 'අඟ', 'බදා', 'බ්‍රහ', 'සිකු', 'සෙ'],
months: ['ජනවාරි', 'පෙබරවාරි', 'මාර්තු', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝස්තු', 'සැප්තැම්බර්', 'ඔක්තෝබර්', 'නොවැම්බර්', 'දෙසැම්බර්'],
monthsShort: ['ජන', 'පෙබ', 'මාර්', 'අප්‍රේල්', 'මැයි', 'ජූනි', 'ජූලි', 'අගෝ', 'සැප්', 'ඔක්', 'නොවැ', 'දෙසැ'],
today: 'අද',
clear: 'යලි සකසන්න',
dateFormat: 'yyyy-mm-dd',
timeFormat: 'hh:ii aa',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/sk' {
import {AirDatepickerLocale} from 'air-datepicker';
const sk: AirDatepickerLocale;
export default sk;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],
daysShort: ['Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'],
daysMin: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],
months: ['Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', 'Júl', 'August', 'September', 'Október', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
today: 'Dnes',
clear: 'Vymazať',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/sv' {
import {AirDatepickerLocale} from 'air-datepicker';
const sv: AirDatepickerLocale;
export default sv;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag'],
daysShort: ['Sön', 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör'],
daysMin: ['Sö', 'Må', 'Ti', 'On', 'To', 'Fr', 'Lö'],
months: ['Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
today: 'I dag',
clear: 'Nollställ',
dateFormat: 'yyyy-MM-dd',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/th' {
import {AirDatepickerLocale} from 'air-datepicker';
const th: AirDatepickerLocale;
export default th;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['วันอาทิตย์', 'วันจันทร์', 'วันอังคาร', 'วันพุธ', 'วันพฤหัสบดี', 'วันศุกร์', 'วันเสาร์'],
daysShort: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],
daysMin: ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'],
months: ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'],
monthsShort: ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
today: 'วันนี้',
clear: 'ล้าง',
dateFormat: 'dd/MM/yyyy',
timeFormat: 'HH:mm',
firstDay: 0
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/tr' {
import {AirDatepickerLocale} from 'air-datepicker';
const tr: AirDatepickerLocale;
export default tr;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
daysShort: ['Pzr', 'Pts', 'Sl', 'Çar', 'Per', 'Cum', 'Cts'],
daysMin: ['Pa', 'Pt', 'Sl', 'Ça', 'Pe', 'Cu', 'Ct'],
months: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
monthsShort: ['Oca', 'Şbt', 'Mrt', 'Nsn', 'Mys', 'Hzr', 'Tmz', 'Ağt', 'Eyl', 'Ekm', 'Ksm', 'Arl'],
today: 'Bugün',
clear: 'Temizle',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'hh:mm aa',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/uk' {
import {AirDatepickerLocale} from 'air-datepicker';
const uk: AirDatepickerLocale;
export default uk;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П’ятниця', 'Субота'],
daysShort: ['Нед', 'Пнд', 'Вів', 'Срд', 'Чтв', 'Птн', 'Сбт'],
daysMin: ['Нд', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
months: ['Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'],
monthsShort: ['Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'],
today: 'Сьогодні',
clear: 'Очистити',
dateFormat: 'dd.MM.yyyy',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

View File

@ -0,0 +1,6 @@
declare module 'air-datepicker/locale/zh' {
import {AirDatepickerLocale} from 'air-datepicker';
const zh: AirDatepickerLocale;
export default zh;
}

View File

@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = {
days: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
daysShort: ['日', '一', '二', '三', '四', '五', '六'],
daysMin: ['日', '一', '二', '三', '四', '五', '六'],
months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
monthsShort: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
today: '今天',
clear: '清除',
dateFormat: 'yyyy-MM-dd',
timeFormat: 'HH:mm',
firstDay: 1
};
exports.default = _default;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,27 +1,11 @@
var editor_path = "";
import {
FolderNav,
FolderEditor,
FolderModal,
FolderDropdown,
} from "./utils.js";
$(document).ready(function () {
$("textarea").numberedtextarea({ allowTabChar: true });
$("#modal-see-file").on("show.bs.modal", function (event) {
var button = $(event.relatedTarget);
var path = button.data("path");
var content = button.data("content");
$("#modal-see-file-label").html(`File: ${path}`);
if (editor_path != path) {
$("#editor").html(atob(content));
}
editor_path = path;
});
$(".download-button").click(function () {
var filepath = $(this).attr("data-path");
windows.open(`${location.href}/download?path=${filepath}`, "_blank");
});
$(".collapse-div").click(function () {
$(this).find(".rotate-icon").toggleClass("down");
});
});
const setModal = new FolderModal("cache");
const setEditor = new FolderEditor();
const setFolderNav = new FolderNav("cache");
const setDropdown = new FolderDropdown("cache");

View File

@ -1,96 +1,11 @@
var editor_path = "";
var decoder = new TextDecoder("utf-8");
$(document).ready(function () {
$("textarea").numberedtextarea({ allowTabChar: true });
$("#modal-edit-new-file").on("show.bs.modal", function (event) {
var button = $(event.relatedTarget);
var path = button.data("path");
$("#file-path").val(path);
var new_path = path.split("/");
var name = new_path.pop().replace(".conf", "");
var action = button.data("action");
$("#file-operation").val(action);
var content = button.data("content");
$("#modal-edit-new-file-label").html(
`<div class="d-flex align-items-center"><div class="flex-grow-1">${
action == "edit" ? "Editing" : "New"
} file: <span class="d-md-inline d-none">${
action == "edit" ? new_path.join("/") : path
}</span><span class="d-md-none">.../${
action == "edit" ? new_path.pop() : path.split("/").pop()
}</span>/</div><div class="d-sm-flex align-items-center"><input type="text" class="form-control" id="new-file-name" name="name" value="${
action == "edit" ? name : ""
}" placeholder="File name" required="" pattern="^[a-zA-Z0-9_-]{1,64}$" title="File name can only contain numbers, letters, underscores and hyphens (min 1 character and max 64)" />.conf</div></div>`
);
var editor = $("#editor");
if (action == "edit") {
if (editor_path != path) {
editor.html(atob(content));
}
} else {
editor.html("");
}
editor.keyup();
editor_path = path;
});
$("#modal-edit-new-folder").on("show.bs.modal", function (event) {
var button = $(event.relatedTarget);
var path = button.data("path");
$("#folder-path").val(path);
var action = button.data("action");
$("#folder-operation").val(action);
var foldername = path.split("/").pop();
$("#modal-edit-new-folder-label").html(
`<div class="d-flex align-items-center"><div class="flex-grow-1">${
action == "edit" ? "Editing" : "New"
} folder: <span class="d-md-inline d-none">${path}</span><span class="d-md-none">.../${path
.split("/")
.pop()}</span>/</div><div class="d-sm-flex align-items-center"><input type="text" class="form-control" id="new-folder-name" name="name" placeholder="Folder name" value="${
action == "edit" ? foldername : ""
}" required="" pattern="^[a-zA-Z0-9_-]{1,64}$" title="Folder name can only contain numbers, letters, underscores and hyphens (min 1 character and max 64)" /></div></div>`
);
});
$("#modal-delete").on("show.bs.modal", function (event) {
var button = $(event.relatedTarget);
var path = button.data("path");
$("#delete-path").val(path);
var name = path.split("/").pop();
$("#modal-delete-label").html(
`Deleting ${name.includes(".") ? "file" : "folder"}`
);
$("#modal-delete-body").html(
`Are you sure you want to delete <b>${path}</b> ?`
);
});
$(".collapse-div").click(function () {
$(this).find(".rotate-icon").toggleClass("down");
});
$("form").on("focus", ".form-control", function () {
if ($(this).attr("type") == "text" && $(this).prop("validity").valid) {
$(this).addClass("is-valid");
}
});
$("form").on("focusout", ".form-control", function () {
if ($(this).attr("type") == "text") {
$(this).removeClass("is-valid");
}
});
$("form").on("change", ".form-control", function () {
if ($(this).attr("type") == "text" && !$(this).prop("validity").valid) {
$(this).addClass("is-invalid");
} else {
$(this).removeClass("is-invalid");
}
});
});
import {
FolderNav,
FolderEditor,
FolderModal,
FolderDropdown,
} from "./utils.js";
const setModal = new FolderModal("configs");
const setEditor = new FolderEditor();
const setFolderNav = new FolderNav("configs");
const setDropdown = new FolderDropdown("configs");

View File

@ -1,45 +0,0 @@
window.onload = init;
var darkMode = document.getElementById("dark-mode-switch");
var darkModeIcon = "darkModeIcon";
function init() {
if (darkMode) {
initTheme();
darkMode.addEventListener("change", function () {
resetTheme();
});
}
}
function initTheme() {
var darkThemeSelected =
window.matchMedia("(prefers-color-scheme: dark)").matches ||
(localStorage.getItem("dark-mode") !== null &&
localStorage.getItem("dark-mode") === "dark");
darkMode.checked = darkThemeSelected;
darkThemeSelected
? document.body.setAttribute("data-theme", "dark")
: document.body.removeAttribute("data-theme");
darkThemeSelected
? document.getElementById(darkModeIcon).classList.add("bi-moon")
: document.getElementById(darkModeIcon).classList.add("bi-sun");
}
function resetTheme() {
if (darkMode.checked) {
document.body.setAttribute("data-theme", "dark");
localStorage.setItem("dark-mode", "dark");
document.getElementById(darkModeIcon).classList.remove("bi-sun");
document.getElementById(darkModeIcon).classList.add("bi-moon");
} else {
document.body.removeAttribute("data-theme");
localStorage.removeItem("dark-mode");
document.getElementById(darkModeIcon).classList.remove("bi-moon");
document.getElementById(darkModeIcon).classList.add("bi-sun");
}
}

View File

@ -0,0 +1,63 @@
class Menu {
constructor() {
this.sidebarEl = document.querySelector("[sidebar-menu]");
this.toggleBtn = document.querySelector("[sidebar-menu-toggle]");
this.closeBtn = document.querySelector("[sidebar-menu-close]");
this.toggleBtn.addEventListener("click", this.toggle.bind(this));
this.closeBtn.addEventListener("click", this.close.bind(this));
}
toggle() {
this.sidebarEl.classList.toggle("-translate-x-full");
}
close() {
this.sidebarEl.classList.add("-translate-x-full");
}
}
class News {
constructor() {
this.sidebarEl = document.querySelector("[sidebar-info]");
this.openBtn = document.querySelector("[sidebar-info-open]");
this.closeBtn = document.querySelector("[sidebar-info-close]");
this.openBtn.addEventListener("click", this.open.bind(this));
this.closeBtn.addEventListener("click", this.close.bind(this));
}
open() {
this.sidebarEl.classList.add("translate-x-0");
this.sidebarEl.classList.remove("translate-x-90");
}
close() {
this.sidebarEl.classList.add("translate-x-90");
this.sidebarEl.classList.remove("translate-x-0");
}
}
class darkMode {
constructor() {
this.htmlEl = document.querySelector("html");
this.darkToggleEl = document.querySelector("[dark-toggle]");
this.darkToggleLabel = document.querySelector("[dark-toggle-label]");
this.setTxt();
this.darkToggleEl.addEventListener("change", this.toggle.bind(this));
}
setTxt() {
this.darkToggleLabel.textContent = this.darkToggleEl.checked
? "dark"
: "light";
}
toggle() {
document.querySelector("html").classList.toggle("dark");
this.setTxt();
}
}
const setMenu = new Menu();
const setNews = new News();
const setDarkM = new darkMode();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
define("ace/ext/beautify",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function i(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../token_iterator").TokenIterator;t.singletonTags=["area","base","br","col","command","embed","hr","html","img","input","keygen","link","meta","param","source","track","wbr"],t.blockTags=["article","aside","blockquote","body","div","dl","fieldset","footer","form","head","header","html","nav","ol","p","script","section","style","table","tbody","tfoot","thead","ul"],t.formatOptions={lineBreaksAfterCommasInCurlyBlock:!0},t.beautify=function(e){var n=new r(e,0,0),s=n.getCurrentToken(),o=e.getTabString(),u=t.singletonTags,a=t.blockTags,f=t.formatOptions||{},l,c=!1,h=!1,p=!1,d="",v="",m="",g=0,y=0,b=0,w=0,E=0,S=0,x=0,T,N=0,C=0,k=[],L=!1,A,O=!1,M=!1,_=!1,D=!1,P={0:0},H=[],B=!1,j=function(){l&&l.value&&l.type!=="string.regexp"&&(l.value=l.value.replace(/^\s*/,""))},F=function(){var e=d.length-1;for(;;){if(e==0)break;if(d[e]!==" ")break;e-=1}d=d.slice(0,e+1)},I=function(){d=d.trimRight(),c=!1};while(s!==null){N=n.getCurrentTokenRow(),k=n.$rowTokens,l=n.stepForward();if(typeof s!="undefined"){v=s.value,E=0,_=m==="style"||e.$modeId==="ace/mode/css",i(s,"tag-open")?(M=!0,l&&(D=a.indexOf(l.value)!==-1),v==="</"&&(D&&!c&&C<1&&C++,_&&(C=1),E=1,D=!1)):i(s,"tag-close")?M=!1:i(s,"comment.start")?D=!0:i(s,"comment.end")&&(D=!1),!M&&!C&&s.type==="paren.rparen"&&s.value.substr(0,1)==="}"&&C++,N!==T&&(C=N,T&&(C-=T));if(C){I();for(;C>0;C--)d+="\n";c=!0,!i(s,"comment")&&!s.type.match(/^(comment|string)$/)&&(v=v.trimLeft())}if(v){s.type==="keyword"&&v.match(/^(if|else|elseif|for|foreach|while|switch)$/)?(H[g]=v,j(),p=!0,v.match(/^(else|elseif)$/)&&d.match(/\}[\s]*$/)&&(I(),h=!0)):s.type==="paren.lparen"?(j(),v.substr(-1)==="{"&&(p=!0,O=!1,M||(C=1)),v.substr(0,1)==="{"&&(h=!0,d.substr(-1)!=="["&&d.trimRight().substr(-1)==="["?(I(),h=!1):d.trimRight().substr(-1)===")"?I():F())):s.type==="paren.rparen"?(E=1,v.substr(0,1)==="}"&&(H[g-1]==="case"&&E++,d.trimRight().substr(-1)==="{"?I():(h=!0,_&&(C+=2))),v.substr(0,1)==="]"&&d.substr(-1)!=="}"&&d.trimRight().substr(-1)==="}"&&(h=!1,w++,I()),v.substr(0,1)===")"&&d.substr(-1)!=="("&&d.trimRight().substr(-1)==="("&&(h=!1,w++,I()),F()):s.type!=="keyword.operator"&&s.type!=="keyword"||!v.match(/^(=|==|===|!=|!==|&&|\|\||and|or|xor|\+=|.=|>|>=|<|<=|=>)$/)?s.type==="punctuation.operator"&&v===";"?(I(),j(),p=!0,_&&C++):s.type==="punctuation.operator"&&v.match(/^(:|,)$/)?(I(),j(),v.match(/^(,)$/)&&x>0&&S===0&&f.lineBreaksAfterCommasInCurlyBlock?C++:(p=!0,c=!1)):s.type==="support.php_tag"&&v==="?>"&&!c?(I(),h=!0):i(s,"attribute-name")&&d.substr(-1).match(/^\s$/)?h=!0:i(s,"attribute-equals")?(F(),j()):i(s,"tag-close")?(F(),v==="/>"&&(h=!0)):s.type==="keyword"&&v.match(/^(case|default)$/)&&B&&(E=1):(I(),j(),h=!0,p=!0);if(c&&(!s.type.match(/^(comment)$/)||!!v.substr(0,1).match(/^[/#]$/))&&(!s.type.match(/^(string)$/)||!!v.substr(0,1).match(/^['"@]$/))){w=b;if(g>y){w++;for(A=g;A>y;A--)P[A]=w}else g<y&&(w=P[g]);y=g,b=w,E&&(w-=E),O&&!S&&(w++,O=!1);for(A=0;A<w;A++)d+=o}s.type==="keyword"&&v.match(/^(case|default)$/)?B===!1&&(H[g]=v,g++,B=!0):s.type==="keyword"&&v.match(/^(break)$/)&&H[g-1]&&H[g-1].match(/^(case|default)$/)&&(g--,B=!1),s.type==="paren.lparen"&&(S+=(v.match(/\(/g)||[]).length,x+=(v.match(/\{/g)||[]).length,g+=v.length),s.type==="keyword"&&v.match(/^(if|else|elseif|for|while)$/)?(O=!0,S=0):!S&&v.trim()&&s.type!=="comment"&&(O=!1);if(s.type==="paren.rparen"){S-=(v.match(/\)/g)||[]).length,x-=(v.match(/\}/g)||[]).length;for(A=0;A<v.length;A++)g--,v.substr(A,1)==="}"&&H[g]==="case"&&g--}s.type=="text"&&(v=v.replace(/\s+$/," ")),h&&!c&&(F(),d.substr(-1)!=="\n"&&(d+=" ")),d+=v,p&&(d+=" "),c=!1,h=!1,p=!1;if(i(s,"tag-close")&&(D||a.indexOf(m)!==-1)||i(s,"doctype")&&v===">")D&&l&&l.value==="</"?C=-1:C=1;l&&u.indexOf(l.value)===-1&&(i(s,"tag-open")&&v==="</"?g--:i(s,"tag-open")&&v==="<"?g++:i(s,"tag-close")&&v==="/>"&&g--),i(s,"tag-name")&&(m=v),T=N}}s=l}d=d.trim(),e.doc.setValue(d)},t.commands=[{name:"beautify",description:"Format selection (Beautify)",exec:function(e){t.beautify(e.session)},bindKey:"Ctrl-Shift-B"}]}); (function() {
window.require(["ace/ext/beautify"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -0,0 +1,8 @@
define("ace/ext/code_lens",["require","exports","module","ace/line_widgets","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/editor","ace/config"],function(e,t,n){"use strict";function u(e){var t=e.$textLayer,n=t.$lenses;n&&n.forEach(function(e){e.remove()}),t.$lenses=null}function a(e,t){var n=e&t.CHANGE_LINES||e&t.CHANGE_FULL||e&t.CHANGE_SCROLL||e&t.CHANGE_TEXT;if(!n)return;var r=t.session,i=t.session.lineWidgets,s=t.$textLayer,a=s.$lenses;if(!i){a&&u(t);return}var f=t.$textLayer.$lines.cells,l=t.layerConfig,c=t.$padding;a||(a=s.$lenses=[]);var h=0;for(var p=0;p<f.length;p++){var d=f[p].row,v=i[d],m=v&&v.lenses;if(!m||!m.length)continue;var g=a[h];g||(g=a[h]=o.buildDom(["div",{"class":"ace_codeLens"}],t.container)),g.style.height=l.lineHeight+"px",h++;for(var y=0;y<m.length;y++){var b=g.childNodes[2*y];b||(y!=0&&g.appendChild(o.createTextNode("\u00a0|\u00a0")),b=o.buildDom(["a"],g)),b.textContent=m[y].title,b.lensCommand=m[y]}while(g.childNodes.length>2*y-1)g.lastChild.remove();var w=t.$cursorLayer.getPixelPosition({row:d,column:0},!0).top-l.lineHeight*v.rowsAbove-l.offset;g.style.top=w+"px";var E=t.gutterWidth,S=r.getLine(d).search(/\S|$/);S==-1&&(S=0),E+=S*l.characterWidth,g.style.paddingLeft=c+E+"px"}while(h<a.length)a.pop().remove()}function f(e){if(!e.lineWidgets)return;var t=e.widgetManager;e.lineWidgets.forEach(function(e){e&&e.lenses&&t.removeLineWidget(e)})}function l(e){e.codeLensProviders=[],e.renderer.on("afterRender",a),e.$codeLensClickHandler||(e.$codeLensClickHandler=function(t){var n=t.target.lensCommand;if(!n)return;e.execCommand(n.id,n.arguments),e._emit("codeLensClick",t)},i.addListener(e.container,"click",e.$codeLensClickHandler,e)),e.$updateLenses=function(){function o(){var r=n.selection.cursor,i=n.documentToScreenRow(r),o=n.getScrollTop(),u=t.setLenses(n,s),a=n.$undoManager&&n.$undoManager.$lastDelta;if(a&&a.action=="remove"&&a.lines.length>1)return;var f=n.documentToScreenRow(r),l=e.renderer.layerConfig.lineHeight,c=n.getScrollTop()+(f-i)*l;u==0&&o<l/4&&o>-l/4&&(c=-l),n.setScrollTop(c)}var n=e.session;if(!n)return;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var i=e.codeLensProviders.length,s=[];e.codeLensProviders.forEach(function(e){e.provideCodeLenses(n,function(e,t){if(e)return;t.forEach(function(e){s.push(e)}),i--,i==0&&o()})})};var n=s.delayedCall(e.$updateLenses);e.$updateLensesOnInput=function(){n.delay(250)},e.on("input",e.$updateLensesOnInput)}function c(e){e.off("input",e.$updateLensesOnInput),e.renderer.off("afterRender",a),e.$codeLensClickHandler&&e.container.removeEventListener("click",e.$codeLensClickHandler)}var r=e("../line_widgets").LineWidgets,i=e("../lib/event"),s=e("../lib/lang"),o=e("../lib/dom");t.setLenses=function(e,t){var n=Number.MAX_VALUE;return f(e),t&&t.forEach(function(t){var r=t.start.row,i=t.start.column,s=e.lineWidgets&&e.lineWidgets[r];if(!s||!s.lenses)s=e.widgetManager.$registerLineWidget({rowCount:1,rowsAbove:1,row:r,column:i,lenses:[]});s.lenses.push(t.command),r<n&&(n=r)}),e._emit("changeFold",{data:{start:{row:n}}}),n},t.registerCodeLensProvider=function(e,t){e.setOption("enableCodeLens",!0),e.codeLensProviders.push(t),e.$updateLensesOnInput()},t.clear=function(e){t.setLenses(e,null)};var h=e("../editor").Editor;e("../config").defineOptions(h.prototype,"editor",{enableCodeLens:{set:function(e){e?l(this):c(this)}}}),o.importCssString("\n.ace_codeLens {\n position: absolute;\n color: #aaa;\n font-size: 88%;\n background: inherit;\n width: 100%;\n display: flex;\n align-items: flex-end;\n pointer-events: none;\n}\n.ace_codeLens > a {\n cursor: pointer;\n pointer-events: auto;\n}\n.ace_codeLens > a:hover {\n color: #0000ff;\n text-decoration: underline;\n}\n.ace_dark > .ace_codeLens > a:hover {\n color: #4e94ce;\n}\n","codelense.css",!1)}); (function() {
window.require(["ace/ext/code_lens"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -0,0 +1,8 @@
define("ace/ext/elastic_tabstops_lite",["require","exports","module","ace/editor","ace/config"],function(e,t,n){"use strict";var r=function(e){this.$editor=e;var t=this,n=[],r=!1;this.onAfterExec=function(){r=!1,t.processRows(n),n=[]},this.onExec=function(){r=!0},this.onChange=function(e){r&&(n.indexOf(e.start.row)==-1&&n.push(e.start.row),e.end.row!=e.start.row&&n.push(e.end.row))}};(function(){this.processRows=function(e){this.$inChange=!0;var t=[];for(var n=0,r=e.length;n<r;n++){var i=e[n];if(t.indexOf(i)>-1)continue;var s=this.$findCellWidthsForBlock(i),o=this.$setBlockCellWidthsToMax(s.cellWidths),u=s.firstRow;for(var a=0,f=o.length;a<f;a++){var l=o[a];t.push(u),this.$adjustRow(u,l),u++}}this.$inChange=!1},this.$findCellWidthsForBlock=function(e){var t=[],n,r=e;while(r>=0){n=this.$cellWidthsForRow(r);if(n.length==0)break;t.unshift(n),r--}var i=r+1;r=e;var s=this.$editor.session.getLength();while(r<s-1){r++,n=this.$cellWidthsForRow(r);if(n.length==0)break;t.push(n)}return{cellWidths:t,firstRow:i}},this.$cellWidthsForRow=function(e){var t=this.$selectionColumnsForRow(e),n=[-1].concat(this.$tabsForRow(e)),r=n.map(function(e){return 0}).slice(1),i=this.$editor.session.getLine(e);for(var s=0,o=n.length-1;s<o;s++){var u=n[s]+1,a=n[s+1],f=this.$rightmostSelectionInCell(t,a),l=i.substring(u,a);r[s]=Math.max(l.replace(/\s+$/g,"").length,f-u)}return r},this.$selectionColumnsForRow=function(e){var t=[],n=this.$editor.getCursorPosition();return this.$editor.session.getSelection().isEmpty()&&e==n.row&&t.push(n.column),t},this.$setBlockCellWidthsToMax=function(e){var t=!0,n,r,i,s=this.$izip_longest(e);for(var o=0,u=s.length;o<u;o++){var a=s[o];if(!a.push){console.error(a);continue}a.push(NaN);for(var f=0,l=a.length;f<l;f++){var c=a[f];t&&(n=f,i=0,t=!1);if(isNaN(c)){r=f;for(var h=n;h<r;h++)e[h][o]=i;t=!0}i=Math.max(i,c)}}return e},this.$rightmostSelectionInCell=function(e,t){var n=0;if(e.length){var r=[];for(var i=0,s=e.length;i<s;i++)e[i]<=t?r.push(i):r.push(0);n=Math.max.apply(Math,r)}return n},this.$tabsForRow=function(e){var t=[],n=this.$editor.session.getLine(e),r=/\t/g,i;while((i=r.exec(n))!=null)t.push(i.index);return t},this.$adjustRow=function(e,t){var n=this.$tabsForRow(e);if(n.length==0)return;var r=0,i=-1,s=this.$izip(t,n);for(var o=0,u=s.length;o<u;o++){var a=s[o][0],f=s[o][1];i+=1+a,f+=r;var l=i-f;if(l==0)continue;var c=this.$editor.session.getLine(e).substr(0,f),h=c.replace(/\s*$/g,""),p=c.length-h.length;l>0&&(this.$editor.session.getDocument().insertInLine({row:e,column:f+1},Array(l+1).join(" ")+" "),this.$editor.session.getDocument().removeInLine(e,f,f+1),r+=l),l<0&&p>=-l&&(this.$editor.session.getDocument().removeInLine(e,f+l,f),r+=l)}},this.$izip_longest=function(e){if(!e[0])return[];var t=e[0].length,n=e.length;for(var r=1;r<n;r++){var i=e[r].length;i>t&&(t=i)}var s=[];for(var o=0;o<t;o++){var u=[];for(var r=0;r<n;r++)e[r][o]===""?u.push(NaN):u.push(e[r][o]);s.push(u)}return s},this.$izip=function(e,t){var n=e.length>=t.length?t.length:e.length,r=[];for(var i=0;i<n;i++){var s=[e[i],t[i]];r.push(s)}return r}}).call(r.prototype),t.ElasticTabstopsLite=r;var i=e("../editor").Editor;e("../config").defineOptions(i.prototype,"editor",{useElasticTabstops:{set:function(e){e?(this.elasticTabstops||(this.elasticTabstops=new r(this)),this.commands.on("afterExec",this.elasticTabstops.onAfterExec),this.commands.on("exec",this.elasticTabstops.onExec),this.on("change",this.elasticTabstops.onChange)):this.elasticTabstops&&(this.commands.removeListener("afterExec",this.elasticTabstops.onAfterExec),this.commands.removeListener("exec",this.elasticTabstops.onExec),this.removeListener("change",this.elasticTabstops.onChange))}}})}); (function() {
window.require(["ace/ext/elastic_tabstops_lite"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More