mirror of
https://github.com/namooplol/unknow-dmb.git
synced 2025-04-28 06:58:07 +00:00
new update
This commit is contained in:
parent
9952c1239a
commit
0ad3419c76
21
LICENSE.txt
Normal file
21
LICENSE.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2024 DPSoftware
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
172
app/app.ejs
172
app/app.ejs
@ -39,25 +39,169 @@
|
|||||||
<%- include('overlay') %>
|
<%- include('overlay') %>
|
||||||
<div id="loadingContainer">
|
<div id="loadingContainer">
|
||||||
<div id="loadingContent">
|
<div id="loadingContent">
|
||||||
<div class="spinner"></div>
|
<div class="loader"></div>
|
||||||
<h3>Please wait...</h3>
|
<h3>Please wait...</h3>
|
||||||
|
<div class="dpclogoload">
|
||||||
|
<svg
|
||||||
|
width="42.92924mm"
|
||||||
|
height="4.587187mm"
|
||||||
|
viewBox="0 0 170.92924 17.587187"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm" />
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-19.884722,-141.35177)">
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:22.696px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke-width:0.851098"
|
||||||
|
x="105.2219"
|
||||||
|
y="158.59541"
|
||||||
|
id="text2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2"
|
||||||
|
style="stroke-width:0.851098"
|
||||||
|
x="105.22191"
|
||||||
|
y="158.59541"><tspan
|
||||||
|
style="fill:#ffe900;fill-opacity:1;stroke-width:0.851098"
|
||||||
|
id="tspan6">D</tspan><tspan
|
||||||
|
style="fill:#2bcd95;fill-opacity:1;stroke-width:0.851098"
|
||||||
|
id="tspan5">O</tspan><tspan
|
||||||
|
style="fill:#ff7e00;fill-opacity:1;stroke-width:0.851098"
|
||||||
|
id="tspan4">P</tspan><tspan
|
||||||
|
style="fill:#cdd127;fill-opacity:1;stroke-width:0.851098"
|
||||||
|
id="tspan3">Foundation</tspan></tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
<svg
|
||||||
|
width="38.435234mm"
|
||||||
|
height="8.858992mm"
|
||||||
|
viewBox="0 0 76.435234 16.858992"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||||
|
sodipodi:docname="powered-by-DPCloudev.svg"
|
||||||
|
inkscape:export-filename="powered-by-DPCloudev.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="1.0242632"
|
||||||
|
inkscape:cx="401.7522"
|
||||||
|
inkscape:cy="505.24122"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1009"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" /><defs
|
||||||
|
id="defs1"><rect
|
||||||
|
x="146.72466"
|
||||||
|
y="315.36963"
|
||||||
|
width="186.32265"
|
||||||
|
height="42.779961"
|
||||||
|
id="rect7" /></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-47.625001,-111.65416)"><text
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(0.26458334,0,0,0.26458334,3.9593842,27.136316)"
|
||||||
|
id="text7"
|
||||||
|
style="font-size:26.6667px;text-align:center;white-space:pre;shape-inside:url(#rect7);display:inline;fill:#ffaa00;fill-opacity:1;fill-rule:evenodd"><tspan
|
||||||
|
x="162.43122"
|
||||||
|
y="339.69798"
|
||||||
|
id="tspan2"><tspan
|
||||||
|
style="fill:#808080"
|
||||||
|
id="tspan1">Powered by</tspan></tspan></text><g
|
||||||
|
id="g1"
|
||||||
|
transform="matrix(0.51040974,0,0,0.51040974,39.378824,115.13105)"><g
|
||||||
|
id="text3"
|
||||||
|
style="font-size:23.05px;text-align:center;text-anchor:middle;fill:#2bcd95;fill-rule:evenodd;stroke-width:0.864374"
|
||||||
|
aria-label="DPCloudev"
|
||||||
|
transform="translate(-30.476699,-109.96845)"><path
|
||||||
|
style="fill:#ffe900"
|
||||||
|
d="m 89.092595,127.47554 q 0,2.28474 -1.001685,4.1418 -0.990429,1.85706 -2.644897,2.88125 -1.147998,0.70906 -2.566113,1.02419 -1.406861,0.31514 -3.714111,0.31514 H 74.933953 V 119.0794 h 4.186816 q 2.453564,0 3.894189,0.36016 1.45188,0.3489 2.453565,0.96792 1.710742,1.06921 2.667407,2.84748 0.956665,1.77827 0.956665,4.22058 z m -2.329761,-0.0338 q 0,-1.96961 -0.686548,-3.32019 -0.686547,-1.35059 -2.048388,-2.12717 -0.99043,-0.56275 -2.104663,-0.77659 -1.114234,-0.2251 -2.667407,-0.2251 H 77.16242 v 12.93186 h 2.093408 q 1.609448,0 2.802465,-0.23635 1.204273,-0.23635 2.205957,-0.87788 1.249292,-0.7991 1.868311,-2.10467 0.630273,-1.30556 0.630273,-3.26391 z"
|
||||||
|
id="path22" /><path
|
||||||
|
style="fill:#ff7e00"
|
||||||
|
d="m 103.65641,124.1441 q 0,1.11423 -0.39392,2.0709 -0.38266,0.94541 -1.08047,1.64321 -0.86662,0.86663 -2.04839,1.30557 -1.181758,0.42768 -2.982539,0.42768 h -2.228467 v 6.24646 H 92.694157 V 119.0794 h 4.546973 q 1.508154,0 2.554858,0.25886 1.046702,0.24761 1.857052,0.78785 0.95667,0.64152 1.47439,1.59819 0.52898,0.95666 0.52898,2.4198 z m -2.3185,0.0563 q 0,-0.86662 -0.30389,-1.50815 -0.30388,-0.64153 -0.9229,-1.04671 -0.54023,-0.3489 -1.238032,-0.49521 -0.686548,-0.15757 -1.744507,-0.15757 h -2.205957 v 6.69666 h 1.879565 q 1.350586,0 2.194702,-0.23636 0.844116,-0.2476 1.373099,-0.77658 0.52898,-0.54024 0.74282,-1.13675 0.2251,-0.59651 0.2251,-1.33933 z"
|
||||||
|
id="path23" /><path
|
||||||
|
style="fill:#0096ff"
|
||||||
|
d="m 119.53705,134.62239 q -0.61902,0.27012 -1.12549,0.50647 -0.49521,0.23636 -1.30556,0.49522 -0.68655,0.21384 -1.4969,0.36015 -0.7991,0.15757 -1.76702,0.15757 -1.82329,0 -3.32019,-0.50647 -1.48564,-0.51772 -2.58862,-1.60944 -1.08047,-1.06922 -1.68823,-2.71243 -0.60777,-1.65447 -0.60777,-3.83792 0,-2.07089 0.58526,-3.70285 0.58525,-1.63196 1.68823,-2.75745 1.06921,-1.09172 2.57737,-1.66572 1.51941,-0.574 3.36521,-0.574 1.35058,0 2.68991,0.32639 1.35059,0.32639 2.9938,1.148 v 2.6449 h -0.16882 q -1.38435,-1.15926 -2.74619,-1.68824 -1.36184,-0.52898 -2.91502,-0.52898 -1.2718,0 -2.29599,0.41644 -1.01294,0.40517 -1.81204,1.2718 -0.77659,0.84411 -1.21553,2.13842 -0.42768,1.28306 -0.42768,2.97129 0,1.76702 0.4727,3.03882 0.48396,1.2718 1.23804,2.0709 0.78784,0.83286 1.83455,1.23804 1.05796,0.39392 2.22846,0.39392 1.60945,0 3.01631,-0.55149 1.40686,-0.55149 2.63364,-1.65447 h 0.15757 z m 5.12097,1.21553 h -2.11591 v -17.5126 h 2.11591 z m 14.90147,-6.28022 q 0,3.07258 -1.57568,4.85085 -1.57569,1.77827 -4.22058,1.77827 -2.66741,0 -4.2431,-1.77827 -1.56442,-1.77827 -1.56442,-4.85085 0,-3.07259 1.56442,-4.85086 1.57569,-1.78952 4.2431,-1.78952 2.64489,0 4.22058,1.78952 1.57568,1.77827 1.57568,4.85086 z m -2.18345,0 q 0,-2.44231 -0.95666,-3.62408 -0.95667,-1.19301 -2.65615,-1.19301 -1.722,0 -2.67867,1.19301 -0.94541,1.18177 -0.94541,3.62408 0,2.36352 0.95667,3.5903 0.95666,1.21553 2.66741,1.21553 1.68823,0 2.64489,-1.20427 0.96792,-1.21553 0.96792,-3.60156 z m 15.88064,6.28022 h -2.11592 v -1.3956 q -1.06921,0.84411 -2.04839,1.29431 -0.97917,0.45019 -2.16094,0.45019 -1.98086,0 -3.08383,-1.20427 -1.10298,-1.21553 -1.10298,-3.55654 v -8.15979 h 2.11592 v 7.1581 q 0,0.95667 0.09,1.64322 0.09,0.67529 0.38267,1.15925 0.30388,0.49521 0.78784,0.72031 0.48396,0.2251 1.40686,0.2251 0.82161,0 1.78953,-0.42769 0.97917,-0.42768 1.82329,-1.09172 v -9.38657 h 2.11592 z m 14.36123,0 h -2.11592 v -1.31682 q -0.91165,0.78784 -1.90208,1.22678 -0.99043,0.43894 -2.14968,0.43894 -2.25098,0 -3.57905,-1.73325 -1.31682,-1.73325 -1.31682,-4.80583 0,-1.5982 0.45019,-2.84749 0.46145,-1.24929 1.23804,-2.12717 0.76533,-0.85537 1.77827,-1.30557 1.02419,-0.45019 2.11592,-0.45019 0.99043,0 1.75576,0.21384 0.76533,0.20259 1.60945,0.64153 v -5.44737 h 2.11592 z m -2.11592,-3.09509 v -7.21438 q -0.85537,-0.38267 -1.53067,-0.52898 -0.67529,-0.14631 -1.47439,-0.14631 -1.77827,0 -2.7687,1.23803 -0.99043,1.23804 -0.99043,3.51153 0,2.23972 0.76534,3.41023 0.76533,1.15925 2.45356,1.15925 0.90039,0 1.82329,-0.39392 0.9229,-0.40518 1.722,-1.03545 z"
|
||||||
|
id="path24" /><path
|
||||||
|
style="fill:#36ff00"
|
||||||
|
d="m 182.30553,129.77154 h -9.26276 q 0,1.15925 0.3489,2.02588 0.3489,0.85537 0.95666,1.40686 0.58526,0.54023 1.38435,0.81035 0.81035,0.27012 1.77827,0.27012 1.28306,0 2.57737,-0.50647 1.30557,-0.51773 1.85706,-1.01294 h 0.11255 v 2.30725 q -1.06922,0.45019 -2.18345,0.75408 -1.11423,0.30388 -2.34102,0.30388 -3.12885,0 -4.88461,-1.68823 -1.75577,-1.69949 -1.75577,-4.81709 0,-3.08384 1.67698,-4.89588 1.68823,-1.81203 4.43442,-1.81203 2.54361,0 3.9167,1.48564 1.38435,1.48565 1.38435,4.22058 z m -2.05964,-1.6207 q -0.0112,-1.66573 -0.84412,-2.57737 -0.8216,-0.91165 -2.50983,-0.91165 -1.69949,0 -2.71243,1.00169 -1.00169,1.00168 -1.13674,2.48733 z m 16.1395,-4.88462 -5.0872,12.5717 h -2.12718 l -5.05344,-12.5717 h 2.296 l 3.89419,10.00559 3.86042,-10.00559 z"
|
||||||
|
id="path25" /></g></g></g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
<style>
|
<style>
|
||||||
.spinner {
|
.loader {
|
||||||
border: 8px solid rgba(0, 0, 0, 0);
|
width: 90px;
|
||||||
border-left-color: #fdd700b9;
|
height: 14px;
|
||||||
border-radius: 50%;
|
box-shadow: 0 3px 0 #fff;
|
||||||
width: 50px;
|
position: relative;
|
||||||
|
clip-path: inset(-40px 0 -5px)
|
||||||
|
}
|
||||||
|
.loader:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: auto calc(50% - 17px) 0;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
animation: spin 1s linear infinite;
|
--g:no-repeat linear-gradient(#ccc 0 0);
|
||||||
|
background: var(--g),var(--g),var(--g),var(--g);
|
||||||
|
background-size: 16px 14px;
|
||||||
|
animation:
|
||||||
|
l7-1 2s infinite linear,
|
||||||
|
l7-2 2s infinite linear;
|
||||||
|
}
|
||||||
|
@keyframes l7-1 {
|
||||||
|
0%,
|
||||||
|
100% {background-position: 0 -50px,100% -50px}
|
||||||
|
17.5% {background-position: 0 100%,100% -50px,0 -50px,100% -50px}
|
||||||
|
35% {background-position: 0 100%,100% 100% ,0 -50px,100% -50px}
|
||||||
|
52.5% {background-position: 0 100%,100% 100% ,0 calc(100% - 16px),100% -50px}
|
||||||
|
70%,
|
||||||
|
98% {background-position: 0 100%,100% 100% ,0 calc(100% - 16px),100% calc(100% - 16px)}
|
||||||
|
}
|
||||||
|
@keyframes l7-2 {
|
||||||
|
0%,70% {transform:translate(0)}
|
||||||
|
100% {transform:translate(200%)}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes spin {
|
.dpclogoload {
|
||||||
0% {
|
position: fixed;
|
||||||
transform: rotate(0deg);
|
justify-content: center; /* Center horizontally */
|
||||||
}
|
bottom: 30px; /* Adjust as necessary */
|
||||||
100% {
|
z-index: 20; /* Ensure it appears above other content */
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</div>
|
</div>
|
||||||
|
@ -5,11 +5,12 @@ const path = require('path')
|
|||||||
|
|
||||||
const logger = LoggerUtil.getLogger('ConfigManager')
|
const logger = LoggerUtil.getLogger('ConfigManager')
|
||||||
|
|
||||||
const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME)
|
// Use Electron's 'userData' path directly for dataPath
|
||||||
|
|
||||||
const dataPath = path.join(sysRoot, '.DPSlauncher')
|
|
||||||
|
|
||||||
const launcherDir = require('@electron/remote').app.getPath('userData')
|
const launcherDir = require('@electron/remote').app.getPath('userData')
|
||||||
|
const dataPath = path.join(launcherDir, '.minecraft')
|
||||||
|
|
||||||
|
logger.info('Data path is set to:', dataPath)
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the absolute path of the launcher directory.
|
* Retrieve the absolute path of the launcher directory.
|
||||||
|
@ -368,7 +368,7 @@ class ProcessBuilder {
|
|||||||
|
|
||||||
// Java Arguments
|
// Java Arguments
|
||||||
if(process.platform === 'darwin'){
|
if(process.platform === 'darwin'){
|
||||||
args.push('-Xdock:name=HeliosLauncher')
|
args.push('-Xdock:name=DMBLauncher')
|
||||||
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
|
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
|
||||||
}
|
}
|
||||||
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
|
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
|
||||||
@ -419,7 +419,7 @@ class ProcessBuilder {
|
|||||||
|
|
||||||
// Java Arguments
|
// Java Arguments
|
||||||
if(process.platform === 'darwin'){
|
if(process.platform === 'darwin'){
|
||||||
args.push('-Xdock:name=HeliosLauncher')
|
args.push('-Xdock:name=DMBLauncher')
|
||||||
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
|
args.push('-Xdock:icon=' + path.join(__dirname, '..', 'images', 'minecraft.icns'))
|
||||||
}
|
}
|
||||||
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
|
args.push('-Xmx' + ConfigManager.getMaxRAM(this.server.rawServer.id))
|
||||||
|
@ -1040,11 +1040,9 @@ document.addEventListener('keydown', (e) => {
|
|||||||
*/
|
*/
|
||||||
function displayArticle(articleObject, index){
|
function displayArticle(articleObject, index){
|
||||||
newsArticleTitle.innerHTML = articleObject.title
|
newsArticleTitle.innerHTML = articleObject.title
|
||||||
newsArticleTitle.href = articleObject.link
|
|
||||||
newsArticleAuthor.innerHTML = 'by ' + articleObject.author
|
newsArticleAuthor.innerHTML = 'by ' + articleObject.author
|
||||||
newsArticleDate.innerHTML = articleObject.date
|
newsArticleDate.innerHTML = articleObject.date
|
||||||
newsArticleComments.innerHTML = articleObject.comments
|
newsArticleFeedServerIcon.innerHTML = `<img src="${articleObject.feedIcon}" alt="icon of feed server" style="width: 50%; height: auto;">`
|
||||||
newsArticleComments.href = articleObject.commentsLink
|
|
||||||
newsArticleContentScrollable.innerHTML = '<div id="newsArticleContentWrapper"><div class="newsArticleSpacerTop"></div>' + articleObject.content + '<div class="newsArticleSpacerBot"></div></div>'
|
newsArticleContentScrollable.innerHTML = '<div id="newsArticleContentWrapper"><div class="newsArticleSpacerTop"></div>' + articleObject.content + '<div class="newsArticleSpacerBot"></div></div>'
|
||||||
Array.from(newsArticleContentScrollable.getElementsByClassName('bbCodeSpoilerButton')).forEach(v => {
|
Array.from(newsArticleContentScrollable.getElementsByClassName('bbCodeSpoilerButton')).forEach(v => {
|
||||||
v.onclick = () => {
|
v.onclick = () => {
|
||||||
@ -1060,71 +1058,71 @@ function displayArticle(articleObject, index){
|
|||||||
* Load news information from the RSS feed specified in the
|
* Load news information from the RSS feed specified in the
|
||||||
* distribution index.
|
* distribution index.
|
||||||
*/
|
*/
|
||||||
async function loadNews(){
|
async function loadNews() {
|
||||||
|
|
||||||
const distroData = await DistroAPI.getDistribution()
|
const distroData = await DistroAPI.getDistribution();
|
||||||
if(!distroData.rawDistribution.rss) {
|
if (!distroData.rawDistribution.rcf) {
|
||||||
loggerLanding.debug('No RSS feed provided.')
|
loggerLanding.debug('No RCF feed provided.');
|
||||||
return null
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
const promise = new Promise((resolve, reject) => {
|
||||||
|
|
||||||
const newsFeed = distroData.rawDistribution.rss
|
const newsFeed = distroData.rawDistribution.rcf;
|
||||||
const newsHost = new URL(newsFeed).origin + '/'
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: newsFeed,
|
url: newsFeed,
|
||||||
|
dataType: 'json', // Specify that we expect JSON data
|
||||||
success: (data) => {
|
success: (data) => {
|
||||||
const items = $(data).find('item')
|
const feedInfo = data.info; // General feed info
|
||||||
const articles = []
|
const items = data.feeds; // Content items (array)
|
||||||
|
const articles = [];
|
||||||
|
const feed_server_icon_url = data.image.icon;
|
||||||
|
|
||||||
for(let i=0; i<items.length; i++){
|
for (let i = 0; i < items.length; i++) {
|
||||||
// JQuery Element
|
const el = items[i];
|
||||||
const el = $(items[i])
|
|
||||||
|
|
||||||
// Resolve date.
|
// Resolve date
|
||||||
const date = new Date(el.find('pubDate').text()).toLocaleDateString('en-US', {month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric'})
|
const date = new Date(el.public_date * 1000).toLocaleDateString('en-US', {
|
||||||
|
month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric'
|
||||||
|
});
|
||||||
|
|
||||||
// Resolve comments.
|
// Resolve comments count if available in insights
|
||||||
let comments = el.find('slash\\:comments').text() || '0'
|
let comments = el.insights?.comments?.count || '0';
|
||||||
comments = comments + ' Comment' + (comments === '1' ? '' : 's')
|
comments = comments + ' Comment' + (comments === '1' ? '' : 's');
|
||||||
|
|
||||||
// Fix relative links in content.
|
// Resolve content (if summary is provided in text or HTML)
|
||||||
let content = el.find('content\\:encoded').text()
|
let content = el.summary?.content || "No summary available";
|
||||||
let regex = /src="(?!http:\/\/|https:\/\/)(.+?)"/g
|
|
||||||
let matches
|
|
||||||
while((matches = regex.exec(content))){
|
|
||||||
content = content.replace(`"${matches[1]}"`, `"${newsHost + matches[1]}"`)
|
|
||||||
}
|
|
||||||
|
|
||||||
let link = el.find('link').text()
|
// Handle images if available (like in RSS feeds)
|
||||||
let title = el.find('title').text()
|
let banner = el.image?.banner || '';
|
||||||
let author = el.find('dc\\:creator').text()
|
let footer = el.image?.footer || '';
|
||||||
|
|
||||||
// Generate article.
|
// Construct article object
|
||||||
articles.push(
|
let article = {
|
||||||
{
|
title: el.title,
|
||||||
link,
|
date: date,
|
||||||
title,
|
author: el.authors?.[0]?.name || 'Unknown Author',
|
||||||
date,
|
content: content,
|
||||||
author,
|
comments: comments,
|
||||||
content,
|
feedIcon: feed_server_icon_url || '',
|
||||||
comments,
|
banner: banner,
|
||||||
commentsLink: link + '#comments'
|
footer: footer
|
||||||
}
|
};
|
||||||
)
|
|
||||||
|
articles.push(article);
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve({
|
resolve({
|
||||||
articles
|
articles
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
timeout: 2500
|
timeout: 2500
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
resolve({
|
resolve({
|
||||||
articles: null
|
articles: null
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
||||||
return await promise
|
return await promise;
|
||||||
}
|
}
|
||||||
|
@ -175,17 +175,18 @@
|
|||||||
<div id="newsContent" article="-1" style="display: none;">
|
<div id="newsContent" article="-1" style="display: none;">
|
||||||
<div id="newsStatusContainer">
|
<div id="newsStatusContainer">
|
||||||
<div id="newsStatusContent">
|
<div id="newsStatusContent">
|
||||||
|
<div id="newsArticleFeedServerIcon" style="display: flex; justify-content: flex-end; align-items: flex-end;"></div>
|
||||||
|
<br>
|
||||||
<div id="newsTitleContainer">
|
<div id="newsTitleContainer">
|
||||||
<a id="newsArticleTitle" href="#">Lorem Ipsum</a>
|
<a id="newsArticleTitle">N/A</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="newsMetaContainer">
|
<div id="newsMetaContainer">
|
||||||
<div id="newsArticleDateWrapper">
|
<div id="newsArticleDateWrapper">
|
||||||
<span id="newsArticleDate">Mar 15, 44 BC, 9:14 AM</span>
|
<span id="newsArticleDate">N/A</span>
|
||||||
</div>
|
</div>
|
||||||
<div id="newsArticleAuthorWrapper">
|
<div id="newsArticleAuthorWrapper">
|
||||||
<span id="newsArticleAuthor">by Cicero</span>
|
<span id="newsArticleAuthor">N/A</span>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" id="newsArticleComments">0 Comments</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="newsNavigationContainer">
|
<div id="newsNavigationContainer">
|
||||||
|
@ -57,6 +57,78 @@
|
|||||||
</span>
|
</span>
|
||||||
<p class="loginDisclaimerText"><%- lang('login.loginPasswordDisclaimer1') %></p>
|
<p class="loginDisclaimerText"><%- lang('login.loginPasswordDisclaimer1') %></p>
|
||||||
<p class="loginDisclaimerText"><%- lang('login.loginPasswordDisclaimer2', { appName: lang('app.title') }) %></p>
|
<p class="loginDisclaimerText"><%- lang('login.loginPasswordDisclaimer2', { appName: lang('app.title') }) %></p>
|
||||||
|
<br>
|
||||||
|
<svg
|
||||||
|
width="38.435234mm"
|
||||||
|
height="8.858992mm"
|
||||||
|
viewBox="0 0 76.435234 16.858992"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||||
|
sodipodi:docname="powered-by-DPCloudev.svg"
|
||||||
|
inkscape:export-filename="powered-by-DPCloudev.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="1.0242632"
|
||||||
|
inkscape:cx="401.7522"
|
||||||
|
inkscape:cy="505.24122"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1009"
|
||||||
|
inkscape:window-x="1912"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" /><defs
|
||||||
|
id="defs1"><rect
|
||||||
|
x="146.72466"
|
||||||
|
y="315.36963"
|
||||||
|
width="186.32265"
|
||||||
|
height="42.779961"
|
||||||
|
id="rect7" /></defs><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-47.625001,-111.65416)"><text
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(0.26458334,0,0,0.26458334,3.9593842,27.136316)"
|
||||||
|
id="text7"
|
||||||
|
style="font-size:26.6667px;text-align:center;white-space:pre;shape-inside:url(#rect7);display:inline;fill:#ffaa00;fill-opacity:1;fill-rule:evenodd"><tspan
|
||||||
|
x="162.43122"
|
||||||
|
y="339.69798"
|
||||||
|
id="tspan2"><tspan
|
||||||
|
style="fill:#808080"
|
||||||
|
id="tspan1">Powered by</tspan></tspan></text><g
|
||||||
|
id="g1"
|
||||||
|
transform="matrix(0.51040974,0,0,0.51040974,39.378824,115.13105)"><g
|
||||||
|
id="text3"
|
||||||
|
style="font-size:23.05px;text-align:center;text-anchor:middle;fill:#2bcd95;fill-rule:evenodd;stroke-width:0.864374"
|
||||||
|
aria-label="DPCloudev"
|
||||||
|
transform="translate(-30.476699,-109.96845)"><path
|
||||||
|
style="fill:#ffe900"
|
||||||
|
d="m 89.092595,127.47554 q 0,2.28474 -1.001685,4.1418 -0.990429,1.85706 -2.644897,2.88125 -1.147998,0.70906 -2.566113,1.02419 -1.406861,0.31514 -3.714111,0.31514 H 74.933953 V 119.0794 h 4.186816 q 2.453564,0 3.894189,0.36016 1.45188,0.3489 2.453565,0.96792 1.710742,1.06921 2.667407,2.84748 0.956665,1.77827 0.956665,4.22058 z m -2.329761,-0.0338 q 0,-1.96961 -0.686548,-3.32019 -0.686547,-1.35059 -2.048388,-2.12717 -0.99043,-0.56275 -2.104663,-0.77659 -1.114234,-0.2251 -2.667407,-0.2251 H 77.16242 v 12.93186 h 2.093408 q 1.609448,0 2.802465,-0.23635 1.204273,-0.23635 2.205957,-0.87788 1.249292,-0.7991 1.868311,-2.10467 0.630273,-1.30556 0.630273,-3.26391 z"
|
||||||
|
id="path22" /><path
|
||||||
|
style="fill:#ff7e00"
|
||||||
|
d="m 103.65641,124.1441 q 0,1.11423 -0.39392,2.0709 -0.38266,0.94541 -1.08047,1.64321 -0.86662,0.86663 -2.04839,1.30557 -1.181758,0.42768 -2.982539,0.42768 h -2.228467 v 6.24646 H 92.694157 V 119.0794 h 4.546973 q 1.508154,0 2.554858,0.25886 1.046702,0.24761 1.857052,0.78785 0.95667,0.64152 1.47439,1.59819 0.52898,0.95666 0.52898,2.4198 z m -2.3185,0.0563 q 0,-0.86662 -0.30389,-1.50815 -0.30388,-0.64153 -0.9229,-1.04671 -0.54023,-0.3489 -1.238032,-0.49521 -0.686548,-0.15757 -1.744507,-0.15757 h -2.205957 v 6.69666 h 1.879565 q 1.350586,0 2.194702,-0.23636 0.844116,-0.2476 1.373099,-0.77658 0.52898,-0.54024 0.74282,-1.13675 0.2251,-0.59651 0.2251,-1.33933 z"
|
||||||
|
id="path23" /><path
|
||||||
|
style="fill:#0096ff"
|
||||||
|
d="m 119.53705,134.62239 q -0.61902,0.27012 -1.12549,0.50647 -0.49521,0.23636 -1.30556,0.49522 -0.68655,0.21384 -1.4969,0.36015 -0.7991,0.15757 -1.76702,0.15757 -1.82329,0 -3.32019,-0.50647 -1.48564,-0.51772 -2.58862,-1.60944 -1.08047,-1.06922 -1.68823,-2.71243 -0.60777,-1.65447 -0.60777,-3.83792 0,-2.07089 0.58526,-3.70285 0.58525,-1.63196 1.68823,-2.75745 1.06921,-1.09172 2.57737,-1.66572 1.51941,-0.574 3.36521,-0.574 1.35058,0 2.68991,0.32639 1.35059,0.32639 2.9938,1.148 v 2.6449 h -0.16882 q -1.38435,-1.15926 -2.74619,-1.68824 -1.36184,-0.52898 -2.91502,-0.52898 -1.2718,0 -2.29599,0.41644 -1.01294,0.40517 -1.81204,1.2718 -0.77659,0.84411 -1.21553,2.13842 -0.42768,1.28306 -0.42768,2.97129 0,1.76702 0.4727,3.03882 0.48396,1.2718 1.23804,2.0709 0.78784,0.83286 1.83455,1.23804 1.05796,0.39392 2.22846,0.39392 1.60945,0 3.01631,-0.55149 1.40686,-0.55149 2.63364,-1.65447 h 0.15757 z m 5.12097,1.21553 h -2.11591 v -17.5126 h 2.11591 z m 14.90147,-6.28022 q 0,3.07258 -1.57568,4.85085 -1.57569,1.77827 -4.22058,1.77827 -2.66741,0 -4.2431,-1.77827 -1.56442,-1.77827 -1.56442,-4.85085 0,-3.07259 1.56442,-4.85086 1.57569,-1.78952 4.2431,-1.78952 2.64489,0 4.22058,1.78952 1.57568,1.77827 1.57568,4.85086 z m -2.18345,0 q 0,-2.44231 -0.95666,-3.62408 -0.95667,-1.19301 -2.65615,-1.19301 -1.722,0 -2.67867,1.19301 -0.94541,1.18177 -0.94541,3.62408 0,2.36352 0.95667,3.5903 0.95666,1.21553 2.66741,1.21553 1.68823,0 2.64489,-1.20427 0.96792,-1.21553 0.96792,-3.60156 z m 15.88064,6.28022 h -2.11592 v -1.3956 q -1.06921,0.84411 -2.04839,1.29431 -0.97917,0.45019 -2.16094,0.45019 -1.98086,0 -3.08383,-1.20427 -1.10298,-1.21553 -1.10298,-3.55654 v -8.15979 h 2.11592 v 7.1581 q 0,0.95667 0.09,1.64322 0.09,0.67529 0.38267,1.15925 0.30388,0.49521 0.78784,0.72031 0.48396,0.2251 1.40686,0.2251 0.82161,0 1.78953,-0.42769 0.97917,-0.42768 1.82329,-1.09172 v -9.38657 h 2.11592 z m 14.36123,0 h -2.11592 v -1.31682 q -0.91165,0.78784 -1.90208,1.22678 -0.99043,0.43894 -2.14968,0.43894 -2.25098,0 -3.57905,-1.73325 -1.31682,-1.73325 -1.31682,-4.80583 0,-1.5982 0.45019,-2.84749 0.46145,-1.24929 1.23804,-2.12717 0.76533,-0.85537 1.77827,-1.30557 1.02419,-0.45019 2.11592,-0.45019 0.99043,0 1.75576,0.21384 0.76533,0.20259 1.60945,0.64153 v -5.44737 h 2.11592 z m -2.11592,-3.09509 v -7.21438 q -0.85537,-0.38267 -1.53067,-0.52898 -0.67529,-0.14631 -1.47439,-0.14631 -1.77827,0 -2.7687,1.23803 -0.99043,1.23804 -0.99043,3.51153 0,2.23972 0.76534,3.41023 0.76533,1.15925 2.45356,1.15925 0.90039,0 1.82329,-0.39392 0.9229,-0.40518 1.722,-1.03545 z"
|
||||||
|
id="path24" /><path
|
||||||
|
style="fill:#36ff00"
|
||||||
|
d="m 182.30553,129.77154 h -9.26276 q 0,1.15925 0.3489,2.02588 0.3489,0.85537 0.95666,1.40686 0.58526,0.54023 1.38435,0.81035 0.81035,0.27012 1.77827,0.27012 1.28306,0 2.57737,-0.50647 1.30557,-0.51773 1.85706,-1.01294 h 0.11255 v 2.30725 q -1.06922,0.45019 -2.18345,0.75408 -1.11423,0.30388 -2.34102,0.30388 -3.12885,0 -4.88461,-1.68823 -1.75577,-1.69949 -1.75577,-4.81709 0,-3.08384 1.67698,-4.89588 1.68823,-1.81203 4.43442,-1.81203 2.54361,0 3.9167,1.48564 1.38435,1.48565 1.38435,4.22058 z m -2.05964,-1.6207 q -0.0112,-1.66573 -0.84412,-2.57737 -0.8216,-0.91165 -2.50983,-0.91165 -1.69949,0 -2.71243,1.00169 -1.00169,1.00168 -1.13674,2.48733 z m 16.1395,-4.88462 -5.0872,12.5717 h -2.12718 l -5.05344,-12.5717 h 2.296 l 3.89419,10.00559 3.86042,-10.00559 z"
|
||||||
|
id="path25" /></g></g></g></svg>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -390,7 +390,7 @@
|
|||||||
<div id="settingsAboutButtons">
|
<div id="settingsAboutButtons">
|
||||||
<a href="<%- lang('settings.sourceGithubLink') %>" id="settingsAboutSourceButton" class="settingsAboutButton"><%- lang('settings.sourceGithub') %></a>
|
<a href="<%- lang('settings.sourceGithubLink') %>" id="settingsAboutSourceButton" class="settingsAboutButton"><%- lang('settings.sourceGithub') %></a>
|
||||||
<!-- The following must be included in third-party usage. -->
|
<!-- The following must be included in third-party usage. -->
|
||||||
<!-- <a href="https://github.com/dscalzi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Original Source</a> -->
|
<a href="https://github.com/dscalzi/HeliosLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Original Source</a>
|
||||||
<a href="<%- lang('settings.supportLink') %>" id="settingsAboutSupportButton" class="settingsAboutButton"><%- lang('settings.support') %></a>
|
<a href="<%- lang('settings.supportLink') %>" id="settingsAboutSupportButton" class="settingsAboutButton"><%- lang('settings.support') %></a>
|
||||||
<a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton"><%- lang('settings.devToolsConsole') %></a>
|
<a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton"><%- lang('settings.devToolsConsole') %></a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div id="waitingContent">
|
<div id="waitingContent">
|
||||||
<div class="waitingSpinner"></div>
|
<div class="waitingSpinner"></div>
|
||||||
<div id="waitingTextContainer">
|
<div id="waitingTextContainer">
|
||||||
<h2>Please wait...</h2>
|
<h2><%- lang('waiting.waitingText') %></h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -14,7 +14,7 @@
|
|||||||
"minimum": 1024
|
"minimum": 1024
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rss": "",
|
"rcf": "https://api.damp11113.xyz/feed/getfeed?page=1&limit=10&service=dmb_mc",
|
||||||
"servers": [
|
"servers": [
|
||||||
{
|
{
|
||||||
"id": "DMB",
|
"id": "DMB",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
appId: 'helioslauncher'
|
appId: 'dmblauncher'
|
||||||
productName: 'Helios Launcher'
|
productName: 'DMB Launcher'
|
||||||
artifactName: '${productName}-setup-${version}.${ext}'
|
artifactName: '${productName}-setup-${version}.${ext}'
|
||||||
|
|
||||||
copyright: 'Copyright © 2018-2024 Daniel Scalzi'
|
copyright: 'Copyright © 2018-2024 Daniel Scalzi'
|
||||||
|
14
package.json
14
package.json
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "helioslauncher",
|
"name": "dmblauncher",
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"productName": "Helios Launcher",
|
"productName": "DMB Launcher",
|
||||||
"description": "Modded Minecraft Launcher",
|
"description": "Modded Minecraft Launcher for DMB project",
|
||||||
"author": "Daniel Scalzi (https://github.com/dscalzi/)",
|
"author": "Daniel Scalzi (https://github.com/dscalzi/), damp11113",
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED/MIT (Some part of DPSoftware)",
|
||||||
"homepage": "https://github.com/dscalzi/HeliosLauncher",
|
"homepage": "https://damp11113.xyz",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/dscalzi/HeliosLauncher/issues"
|
"url": "https://github.com/dscalzi/HeliosLauncher/issues"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "electron .",
|
"dev": "electron .",
|
||||||
"dist": "electron-builder build",
|
"dist": "electron-builder build",
|
||||||
"dist:win": "npm run dist -- -w",
|
"dist:win": "npm run dist -- -w",
|
||||||
"dist:mac": "npm run dist -- -m",
|
"dist:mac": "npm run dist -- -m",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user