diff options
Diffstat (limited to 'src/renderer/gameserver/server.ts')
-rw-r--r-- | src/renderer/gameserver/server.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/renderer/gameserver/server.ts b/src/renderer/gameserver/server.ts index d0b4002..30b40e1 100644 --- a/src/renderer/gameserver/server.ts +++ b/src/renderer/gameserver/server.ts @@ -1,6 +1,7 @@ import GameServerProfile from './profile'; import { shell, ipcRenderer } from 'electron'; import { switchPage } from '../CustomEvents'; +import { News, NewsType } from './news'; export default class GameServer { @@ -10,6 +11,7 @@ export default class GameServer { public name:string, public shortDescription:string,// the server in 1-2 sentences public newsPageUrl:string, + public newsLatestPage:{url:string,type:NewsType}, public backgrounds:{isVideo:boolean,file:string}[], public icon:string, public socialLinks:socialLink[] @@ -145,6 +147,22 @@ export default class GameServer { shrtDsrption.classList.add("shortDescription"); shrtDsrption.innerText = this.shortDescription; content.appendChild(shrtDsrption); + if(this.newsLatestPage && this.newsLatestPage != null){ + const latestNews = document.createElement('div'); + latestNews.classList.add("news"); + content.appendChild(latestNews); + News.get(this.newsLatestPage.url,this.newsLatestPage.type).then((result:string)=>{ + latestNews.innerHTML = result; + const aTags = latestNews.getElementsByTagName("a"); + for (var i = 0; i < aTags.length; i++) { + const href = aTags[i].href.toString(); + aTags[i].addEventListener('click', ()=>{ + shell.openExternal(href); + }); + aTags[i].href = "#"; + } + }); + } return content; } |