initial commit

This commit is contained in:
HorizonCode committed 2022-10-16 15:54:29 +02:00
commit d50cdd2a77
9 files changed
+259

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
node_modules/
yarn.lock
+50
View File
@@ -0,0 +1,50 @@
const { app, BrowserWindow, ipcMain, dialog } = require('electron');
const { setupTitlebar, attachTitlebarToWindow } = require('custom-electron-titlebar/main');
const windowManager = require('./ui/windowManager');
const run = () => {
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit();
return;
}
setupTitlebar();
let mainWindow;
app.whenReady().then(() => {
mainWindow = createWindow()
app.on('activate', function () {
if (BrowserWindow.getAllWindows().length === 0) mainWindow = createWindow();
})
app.on('window-all-closed', () => {
app.quit()
})
ipcMain.handle('open-folder-dialog', async (event) => {
const yes = await dialog.showOpenDialog({
properties: ['openDirectory']
})
return yes.filePaths;
})
})
}
function createWindow() {
// Create the browser window.
const win = windowManager.createWindow(480, 320);
win.loadFile('./html/index.html');
attachTitlebarToWindow(win);
win.webContents.on('new-window', function (e, url) {
e.preventDefault();
});
win.webContents.on('did-finish-load', function () {
if (win.webContents.getZoomFactor() != 0.9)
win.webContents.setZoomFactor(0.9)
});
return win;
}
run();
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

+23
View File
@@ -0,0 +1,23 @@
:root{--mdb-blue:#0d6efd;--mdb-indigo:#6610f2;--mdb-purple:#6f42c1;--mdb-pink:#d63384;--mdb-red:#dc3545;--mdb-orange:#fd7e14;--mdb-yellow:#ffc107;--mdb-green:#198754;--mdb-teal:#20c997;--mdb-cyan:#0dcaf0;--mdb-gray:#757575;--mdb-gray-dark:#4f4f4f;--mdb-gray-100:#f5f5f5;--mdb-gray-200:#eee;--mdb-gray-300:#e0e0e0;--mdb-gray-400:#bdbdbd;--mdb-gray-500:#9e9e9e;--mdb-gray-600:#757575;--mdb-gray-700:#616161;--mdb-gray-800:#4f4f4f;--mdb-gray-900:#262626;--mdb-primary:#1266f1;--mdb-secondary:#b23cfd;--mdb-success:#00b74a;--mdb-info:#39c0ed;--mdb-warning:#ffa900;--mdb-danger:#f93154;--mdb-light:#f9f9f9;--mdb-dark:#262626;--mdb-white:#fff;--mdb-black:#000;--mdb-primary-rgb:18,102,241;--mdb-secondary-rgb:178,60,253;--mdb-success-rgb:0,183,74;--mdb-info-rgb:57,192,237;--mdb-warning-rgb:255,169,0;--mdb-danger-rgb:249,49,84;--mdb-light-rgb:249,249,249;--mdb-dark-rgb:38,38,38;--mdb-white-rgb:255,255,255;--mdb-black-rgb:0,0,0;--mdb-body-color-rgb:79,79,79;--mdb-body-bg-rgb:255,255,255;--mdb-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--mdb-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--mdb-gradient:linear-gradient(180deg,hsla(0,0%,100%,0.15),hsla(0,0%,100%,0));--mdb-body-font-family:var(--mdb-font-roboto);--mdb-body-font-size:1rem;--mdb-body-font-weight:400;--mdb-body-line-height:1.6;--mdb-body-color:#4f4f4f;--mdb-body-bg:#fff}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--mdb-body-font-family);font-size:var(--mdb-body-font-size);font-weight:var(--mdb-body-font-weight);line-height:var(--mdb-body-line-height);color:var(--mdb-body-color);text-align:var(--mdb-body-text-align);background-color:var(--mdb-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-mdb-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#1266f1;text-decoration:underline}a:hover{color:#0e52c1}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--mdb-font-monospace);font-size:1em;/*!rtl:ignore*/direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#262626;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:1rem;padding-bottom:1rem;color:#757575;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;foLine truncated
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#757575}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#757575}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--mdb-gutter-x,.75rem);padding-left:var(--mdb-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--mdb-gutter-x:1.5rem;--mdb-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--mdb-gutter-y)*-1);margin-right:calc(var(--mdb-gutter-x)*-0.5);margin-left:calc(var(--mdb-gutter-x)*-0.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--mdb-gutter-x)*0.5);padding-left:calc(var(--mdb-gutter-x)*0.5);margin-top:var(--mdb-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--mdb-gutter-x:0}.g-0,.gy-0{--mdb-gutter-y:0}.g-1,.gx-1{--mdb-gutter-x:0.25rem}.g-1,.gy-1{--mdb-gutter-y:0.25rem}.g-2,.gx-2{--mdb-gutter-x:0.5rem}.g-2,.gy-2{--mdb-gutter-y:0.5rem}.g-3,.gx-3{--mdb-gutter-x:1rem}.g-3,.gy-3{--mdb-gutter-y:1rem}.g-4,.gx-4{--mdb-gutter-x:1.5rem}.g-4,.gy-4{--mdb-gutter-y:1.5rem}.g-5,.gx-5{--mdb-gutter-x:3rem}.g-5,.gy-5{--mdb-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;widthLine truncated
"autoRename": true,
"stringMap":[ {
"name" : "prev-next",
"search" : "prev",
"replace" : "next"
} ]
}*/.carousel-control-next-icon,.carousel-control-prev-icon{background-image:none}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-mdb-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-mdb-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-mdb-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{/*!rtl:ignore*/to{transform:rotate(1turn)}}@keyframes spinner-border{/*!rtl:ignore*/to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem}.offcanvas-header .btn-close{padding:.5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.6}.offcanvas-body{flex-grow:1;padding:1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom,.offcanvas-top{right:0;left:0;height:30vh;max-height:100%}.offcanvas-bottom{border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.tooltip{position:absolute;z-index:1090;display:block;margin:0;font-family:var(--mdb-font-roboto);font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:bLine truncated
* # Semantic UI 2.4.2 - Flag
* http://github.com/semantic-org/semantic-ui/
*
*
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/#mdb-table-flag tr{cursor:pointer}.mdb-flag-selected{border-top-left-radius:5px;border-top-right-radius:5px;text-align:center;max-width:150px;margin:10px auto 0}.mdb-selected-flag-text{margin:0 auto;max-width:150px}i.flag:not(.icon){margin:0 .5em 0 0;line-height:11px;text-decoration:inherit;vertical-align:baseline;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:before,i.flag:not(.icon){display:inline-block;width:16px;height:11px}i.flag:before{content:"";background:url(https://mdbootstrap.com/img/svg/flags.png) no-repeat -108px -1976px}i.flag-ad:before,i.flag-andorra:before{background-position:0 0!important}i.flag-ae:before,i.flag-uae:before,i.flag-united-arab-emirates:before{background-position:0 -26px!important}i.flag-af:before,i.flag-afghanistan:before{background-position:0 -52px!important}i.flag-ag:before,i.flag-antigua:before{background-position:0 -78px!important}i.flag-ai:before,i.flag-anguilla:before{background-position:0 -104px!important}i.flag-al:before,i.flag-albania:before{background-position:0 -130px!important}i.flag-am:before,i.flag-armenia:before{background-position:0 -156px!important}i.flag-an:before,i.flag-netherlands-antilles:before{background-position:0 -182px!important}i.flag-angola:before,i.flag-ao:before{background-position:0 -208px!important}i.flag-ar:before,i.flag-argentina:before{background-position:0 -234px!important}i.flag-american-samoa:before,i.flag-as:before{background-position:0 -260px!important}i.flag-at:before,i.flag-austria:before{background-position:0 -286px!important}i.flag-au:before,i.flag-australia:before{background-position:0 -312px!important}i.flag-aruba:before,i.flag-aw:before{background-position:0 -338px!important}i.flag-aland-islands:before,i.flag-ax:before{background-position:0 -364px!important}i.flag-az:before,i.flag-azerbaijan:before{background-position:0 -390px!important}i.flag-ba:before,i.flag-bosnia:before{background-position:0 -416px!important}i.flag-barbados:before,i.flag-bb:before{background-position:0 -442px!important}i.flag-bangladesh:before,i.flag-bd:before{background-position:0 -468px!important}i.flag-be:before,i.flag-belgium:before{background-position:0 -494px!important}i.flag-bf:before,i.flag-burkina-faso:before{background-position:0 -520px!important}i.flag-bg:before,i.flag-bulgaria:before{background-position:0 -546px!important}i.flag-bahrain:before,i.flag-bh:before{background-position:0 -572px!important}i.flag-bi:before,i.flag-burundi:before{background-position:0 -598px!important}i.flag-benin:before,i.flag-bj:before{background-position:0 -624px!important}i.flag-bermuda:before,i.flag-bm:before{background-position:0 -650px!important}i.flag-bn:before,i.flag-brunei:before{background-position:0 -676px!important}i.flag-bo:before,i.flag-bolivia:before{background-position:0 -702px!important}i.flag-br:before,i.flag-brazil:before{background-position:0 -728px!important}i.flag-bahamas:before,i.flag-bs:before{background-position:0 -754px!important}i.flag-bhutan:before,i.flag-bt:before{background-position:0 -780px!important}i.flag-bouvet-island:before,i.flag-bv:before{background-position:0 -806px!important}i.flag-botswana:before,i.flag-bw:before{background-position:0 -832px!important}i.flag-belarus:before,i.flag-by:before{background-position:0 -858px!important}i.flag-belize:before,i.flag-bz:before{background-position:0 -884px!important}i.flag-ca:before,i.flag-canada:before{background-position:0 -910px!important}i.flag-cc:before,i.flag-cocos-islands:before{background-position:0 -962px!important}i.flag-cd:before,i.flag-congo:before{background-position:0 -988px!important}i.flag-central-african-republic:before,i.flag-cf:before{background-position:0 -1014px!important}i.flag-cg:before,i.flag-congo-brazzaville:before{background-position:0 -1040px!important}i.flag-ch:before,i.flag-switzerland:before{background-position:0 -1066px!important}i.flag-ci:before,i.flag-cote-divoire:before{background-position:0 -1092px!important}i.flag-ck:before,i.flag-cook-islands:before{background-position:0 -1118px!important}i.flag-chile:before,i.flag-cl:before{background-position:0 -1144px!important}i.flag-cameroon:before,i.flag-cm:before{background-position:0 -1170px!important}i.flag-china:before,i.flag-cn:before{background-position:0 -1196px!important}i.flag-co:before,i.flag-colombia:before{background-position:0 -1222px!important}i.flag-costa-rica:before,i.flag-cr:before{background-position:0 -1248px!important}i.flag-cs:before,i.flag-serbia:before{background-position:0 -1274px!important}i.flag-cu:before,i.flag-cuba:before{background-position:0 -1300px!important}i.flag-cape-verde:before,i.flag-cv:before{background-position:0 -1326px!important}i.flag-christmas-island:before,i.flag-cx:before{background-position:0 -1352px!important}i.flag-cy:before,i.flag-cyprus:before{background-position:0 -1378px!important}i.flag-cz:before,i.flag-czech-republic:before{background-position:0 -1404px!important}i.flag-de:before,i.flag-germany:before{background-position:0 -1430px!important}Line truncated
+20
View File
@@ -0,0 +1,20 @@
/*!
* MDB5
* Version: FREE 4.2.0
*
*
* Copyright: Material Design for Bootstrap
* https://mdbootstrap.com/
*
* Read the license: https://mdbootstrap.com/general/license/
*
*
* Documentation: https://mdbootstrap.com/docs/standard/
*
* Support: https://mdbootstrap.com/support/
*
* Contact: [email protected]
*
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("mdb",[],e):"object"==typeof exports?exports.mdb=e():t.mdb=e()}(this,function(){return n=[function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){"use strict";var i=n(18),n=n(45);i({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},function(t,e,n){var n=n(33),i=Function.prototype,o=i.bind,r=i.call,s=n&&o.bind(r,r);t.exports=n?function(t){return t&&s(t)}:function(t){return t&&function(){return r.apply(t,arguments)}}},function(t,e){t.exports=function(t){return"function"==typeof t}},function(n,t,e){!function(t){function e(t){return t&&t.Math==Math&&t}n.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof t&&t)||function(){return this}()||Function("return this")()}.call(this,e(75))},function(t,e,n){var i=n(4),o=n(36),r=n(7),s=n(55),a=n(50),c=n(49),l=o("wks"),u=i.Symbol,h=u&&u.for,d=c?u:u&&u.withoutSetter||s;t.exports=function(t){var e;return r(l,t)&&(a||"string"==typeof l[t])||(e="Symbol."+t,a&&r(u,t)?l[t]=u[t]:l[t]=(c&&h?h:d)(e)),l[t]}},function(t,e,n){n=n(0);t.exports=!n(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},function(t,e,n){var i=n(2),o=n(28),r=i({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return r(o(t),e)}},function(t,e,n){"use strict";var i=n(18),o=n(61).includes,r=n(0),n=n(71);i({target:"Array",proto:!0,forced:r(function(){return!Array(1).includes()})},{includes:function(t){return o(this,t,1<arguments.length?arguments[1]:void 0)}}),n("includes")},function(t,e,n){var i=n(6),o=n(56),r=n(57),s=n(12),a=n(34),c=TypeError,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,h="enumerable",d="configurable",f="writable";e.f=i?r?function(t,e,n){var i;return s(t),e=a(e),s(n),"function"==typeof t&&"prototype"===e&&"value"in n&&f in n&&!n[f]&&((i=u(t,e))&&i[f]&&(t[e]=n.value,n={configurable:(d in n?n:i)[d],enumerable:(h in n?n:i)[h],writable:!1})),l(t,e,n)}:l:function(t,e,n){if(s(t),e=a(e),s(n),o)try{return l(t,e,n)}catch(t){}if("get"in n||"set"in n)throw c("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){"use strict";var i=n(19),o=n(71),r=n(46),s=n(29),a=n(9).f,c=n(105),l=n(27),n=n(6),u="Array Iterator",h=s.set,d=s.getterFor(u),s=(t.exports=c(Array,"Array",function(t,e){h(this,{type:u,target:i(t),index:0,kind:e})},function(){var t=d(this),e=t.target,n=t.kind,i=t.index++;return!e||i>=e.length?{value:t.target=void 0,done:!0}:"keys"==n?{value:i,done:!1}:"values"==n?{value:e[i],done:!1}:{value:[i,e[i]],done:!1}},"values"),r.Arguments=r.Array);if(o("keys"),o("values"),o("entries"),!l&&n&&"values"!==s.name)try{a(s,"name",{value:"values"})}catch(t){}},function(t,e,n){var n=n(33),i=Function.prototype.call;t.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},function(t,e,n){var i=n(14),o=String,r=TypeError;t.exports=function(t){if(i(t))return t;throw r(o(t)+" is not an object")}},function(t,e,n){function i(e,t){if(e){if(e[u]!==d)try{l(e,u,d)}catch(t){e[u]=d}if(e[h]||l(e,h,t),s[t])for(var n in c)if(e[n]!==c[n])try{l(e,n,c[n])}catch(t){e[n]=c[n]}}}var o,r=n(4),s=n(108),a=n(109),c=n(10),l=n(15),n=n(5),u=n("iterator"),h=n("toStringTag"),d=c.values;for(o in s)i(r[o]&&r[o].prototype,o);i(a,"DOMTokenList")},function(t,e,n){var i=n(3);t.exports=function(t){return"object"==typeof t?null!==t:i(t)}},function(t,e,n){var i=n(6),o=n(9),r=n(24);t.exports=i?function(t,e,n){return o.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(86),o=String;t.exports=function(t){if("Symbol"===i(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},function(M,H,t){var e=t(6),n=t(4),i=t(2),o=t(64),l=t(93),u=t(15),r=t(59).f,h=t(35),d=t(95),f=t(16),p=t(96),s=t(66),a=t(97),c=t(22),g=t(0),m=t(7),_=t(29).enforce,v=t(98),b=t(5),y=t(67),w=t(68),E=b("match"),x=n.RegExp,C=x.prototype,T=n.SyntaxError,O=i(C.exec),A=i("".charAt),S=i("".replace),L=i("".indexOf),R=i("".slice),B=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,I=/a/g,k=/a/g,t=new x(I)!==I,D=s.MISSED_STICKY,W=s.UNSUPPORTED_Y,b=e&&(!t||D||y||w||g(function(){return k[E]=!1,x(I)!=I||x(k)==k||"/a/i"!=x(I,"i")}));if(o("RegExp",b)){function N(t,e){var n,i,o=h(C,this),r=d(t),s=void 0===e,a=[],c=t;if(!o&&r&&s&&t.constructor===N)return t;if((r||h(C,t))&&(t=t.source,s&&(e=p(c))),t=void 0===t?"":f(t),e=void 0===e?"":f(e),c=t,r=e=y&&"dotAll"in I&&(n=!!e&&-1<L(e,"s"))?S(e,/s/g,""):e,D&&"sticky"in I&&(i=!!e&&-1<L(e,"y"))&&W&&(e=S(e,/y/g,"")),w&&(t=(s=function(t){for(var e,n=t.length,i=0,o="",r=[],s={},a=!1,c=!1,l=0,u="";i<=n;i++){if("\\"===(e=A(t,i)))e+=A(t,++i);else if("]"===e)a=!1;else if(!a)switch(!0){case"["===e:a=!0;break;case"("===e:O(B,R(t,i+1))&&(i+=2,c=!0),o+=e,l++;continue;case">"===e&&c:if(""===u||m(s,u))throw new T("Invalid capture group name");s[u]=!0,c=!(r[r.length]=[u,l]),u="";continue}c?u+=e:o+=e}return[o,r]}(Line truncated
//# sourceMappingURL=mdb.min.js.map
+51
View File
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>EZPPLauncher</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="../assets/mdb.min.css" rel="stylesheet" />
</head>
<body class="fixed-sn mdb-skin-custom" data-spy="scroll" data-target="#scrollspy" data-offset="15"
oncontextmenu="return false;">
<main style="margin-top: 2rem;">
<div class="noselect">
<div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center text-lg-end d-flex align-items-center justify-content-center"
style="border-radius: 0.5em;">
<div class="position-relative overflow-hidden p-3 p-md-5 m-md-3">
<div class="container py-2 h-100">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col col-xl-10">
<div class="card" style="border-radius: 1rem;">
<div class="row g-0">
<div class="card-body p-4 p-lg-5 text-black">
<div class="d-flex align-items-center mb-3 pb-1 text-white">
<span class="h1 fw-bold mb-0">EZPPLauncher</span>
</div>
<h5 class="fw-normal mb-3 pb-3 text-white text-start"
style="letter-spacing: 1px;">
Launch osu! with connection to the EZPPFarm server
</h5>
<div class="pt-1 mb-4">
<button id="launch-btn" class="btn btn-primary btn-lg btn-block"
type="button" style="background-color:#d6016f">Launch</button>
</div>
<button class="btn btn-dark btn-sm float-start" id="folder-btn">
set osu! directory
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
<script type="text/javascript" src="../assets/mdb.min.js"></script>
</html>
+51
View File
@@ -0,0 +1,51 @@
{
"name": "ezpplauncher",
"version": "1.0.0",
"main": "app.js",
"license": "MIT",
"build": {
"appId": "farm.ezpp.ezppfarm.launcher",
"productName": "ezpplauncher",
"directories": {
"output": "release",
"buildResources": "dist"
},
"asar": true,
"win": {
"icon": "./assets/logo.png",
"target": [
"portable"
]
},
"nsis": {
"runAfterFinish": true
},
"portable": {
"artifactName": "EZPPLauncher.exe"
}
},
"frontend": {
"config": {
"applicationName": "EZPPLauncher"
}
},
"scripts": {
"start": "electron .",
"pack-win": "electron-builder --x64",
"pack-win32": "electron-builder --ia32",
"pack-winarm": "electron-builder --arm64",
"pack-linux": "electron-builder --dir --linux --ia32 --arm64 --x64",
"pack-mac": "electron-builder --dir --mac --ia32 --arm64 --x64",
"dist": "electron-builder"
},
"devDependencies": {
"electron": "^17.4.3",
"electron-builder": "^23.0.3",
"electron-packager": "^15.5.1"
},
"dependencies": {
"axios": "^0.27.2",
"custom-electron-titlebar": "^4.1.1",
"jquery": "^3.6.0"
}
}
+22
View File
@@ -0,0 +1,22 @@
const { ipcRenderer } = require('electron');
const { Titlebar, Color } = require('custom-electron-titlebar');
let titlebar;
window.addEventListener('DOMContentLoaded', () => {
titlebar = new Titlebar({
backgroundColor: Color.fromHex("#303030"),
itemBackgroundColor: Color.fromHex("#121212"),
icon: "https://ez-pp.farm/static/logos/circle.png",
menu: null,
maximizable: false
});
titlebar.updateTitle("EZPPLauncher");
const $ = require('jquery');
$("#folder-btn").on('click', async () => {
const folderLoc = await ipcRenderer.invoke('open-folder-dialog');
alert(folderLoc);
});
})
+40
View File
@@ -0,0 +1,40 @@
const path = require("path");
const { BrowserWindow } = require('electron');
const { attachTitlebarToWindow } = require('custom-electron-titlebar/main');
module.exports = {
createWindow: function (windowWidth, windowHeight) {
const window = new BrowserWindow({
width: windowWidth,
height: windowHeight,
minHeight: windowHeight / 1.25,
minWidth: windowWidth / 1.25,
frame: false,
titleBarStyle: 'hidden',
backgroundColor: "#121212",
resizable: false,
maximizable: false,
minimizable: true,
alwaysOnTop: false,
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true,
show: false,
zoomFactor: 0.9,
preload: path.join(__dirname, '../preload/preload.js')
},
icon: './assets/logo.png'
})
window.hide();
window.webContents.once("did-finish-load", function (event, input) {
window.show();
});
window.webContents.setUserAgent("EZPPLauncher");
attachTitlebarToWindow(window);
window.webContents.openDevTools();
return window;
},
}