11< app-page-title > </ app-page-title >
2- @if(instance != null) {
3- < br > < p class ="text-3xl ">
4- < img [ngSrc] ="instance.websiteLogoUrl " class ="inline aspect-square object-cover rounded "
5- alt ="Server icon " width ="30 " height ="30 "
6- (error) ="iconErr($event.target) " loading ="lazy ">
7- {{ instance.instanceName }}
8- </ p >
9- < p class ="text-wrap "> {{instance.instanceDescription}}</ p >
10- < br >
2+ < br >
113
12- < h2 class ="font-bold text-2xl "> Server Information</ h2 >
13- < p > Software: < span class ="italic "> {{instance.softwareName}} ({{instance.softwareType}})</ span > </ p >
14- < p > Version: < span class ="word-wrap-and-break italic "> v{{instance.softwareVersion}}</ span > </ p >
15- < p > License:
16- < a [href] ="instance.softwareLicenseUrl " class ="text-link hover:text-link-hover hover:underline ">
17- {{ instance.softwareLicenseName }}
18- </ a >
19- </ p >
20- < p > Source repository:
21- < a [href] ="instance.softwareSourceUrl " class ="text-link hover:text-link-hover hover:underline ">
22- {{ instance.softwareSourceUrl }}
23- </ a >
24- </ p >
25- < p > Blocked assets for regular users: < span class ="italic "> {{ blockedAssetFlags }}</ span > </ p >
26- < p > Blocked assets for trusted users: < span class ="italic "> {{ blockedAssetFlagsForTrustedUsers }}</ span > </ p >
27- < br >
4+ < app-two-pane-layout >
5+ < app-container class ="w-full ">
6+ < app-pane-title >
7+ < a routerLink ='/instance '>
8+ Instance
9+ </ a >
10+ </ app-pane-title >
11+ < app-divider > </ app-divider >
12+ < div >
13+ @if(instance != null) {
14+ < p class ="text-3xl ">
15+ < img [ngSrc] ="instance.websiteLogoUrl " class ="inline aspect-square object-cover rounded "
16+ alt ="Server icon " width ="30 " height ="30 "
17+ (error) ="iconErr($event.target) " loading ="lazy ">
18+ {{ instance.instanceName }}
19+ </ p >
20+ < p class ="text-wrap "> {{instance.instanceDescription}}</ p >
21+ < br >
22+ < h2 class ="font-bold text-2xl "> Server Information</ h2 >
23+ < p > Software: < span class ="italic "> {{instance.softwareName}} ({{instance.softwareType}})</ span > </ p >
24+ < p > Version: < span class ="word-wrap-and-break italic "> v{{instance.softwareVersion}}</ span > </ p >
25+ < p > License:
26+ < a [href] ="instance.softwareLicenseUrl " class ="text-link hover:text-link-hover hover:underline ">
27+ {{ instance.softwareLicenseName }}
28+ </ a >
29+ </ p >
30+ < p > Source repository:
31+ < a [href] ="instance.softwareSourceUrl " class ="text-link hover:text-link-hover hover:underline ">
32+ {{ instance.softwareSourceUrl }}
33+ </ a >
34+ </ p >
35+ < p > Blocked assets for regular users: < span class ="italic "> {{ blockedAssetFlags }}</ span > </ p >
36+ < p > Blocked assets for trusted users: < span class ="italic "> {{ blockedAssetFlagsForTrustedUsers }}</ span > </ p >
37+ < br >
38+ < h2 class ="font-bold text-2xl "> Contact Us</ h2 >
39+ < p > Owner: < span class ="italic "> {{ instance.contactInfo.adminName }}</ span > </ p >
2840
29- < h2 class ="font-bold text-2xl "> Contact Us</ h2 >
30- < p > Owner: < span class ="italic "> {{ instance.contactInfo.adminName }}</ span > </ p >
41+ @if (instance.contactInfo.adminDiscordUsername != null) {
42+ < p > Owner Discord username: < span class ="italic "> {{ instance.contactInfo.adminDiscordUsername }}</ span > </ p >
43+ }
44+ @else {
45+ < p > No Discord username of the owner</ p >
46+ }
47+
48+ @if (instance.contactInfo.discordServerInvite != null) {
49+ < p > Discord server invite:
50+ < a [href] ="instance.contactInfo.discordServerInvite " class ="text-link hover:text-link-hover hover:underline ">
51+ {{ instance.contactInfo.discordServerInvite }}
52+ </ a >
53+ </ p >
54+ }
55+ @else {
56+ < p > No Discord server invite</ p >
57+ }
3158
32- @if (instance.contactInfo.adminDiscordUsername != null) {
33- < p > Owner Discord username: < span class ="italic "> {{ instance.contactInfo.adminDiscordUsername }}</ span > </ p >
34- }
35- @else {
36- < p > No Discord username of the owner</ p >
37- }
38-
39- @if (instance.contactInfo.discordServerInvite != null) {
40- < p > Discord server invite:
41- < a [href] ="instance.contactInfo.discordServerInvite " class ="text-link hover:text-link-hover hover:underline ">
42- {{ instance.contactInfo.discordServerInvite }}
59+ < p > Email address:
60+ < a [href] ="'mailto:' + instance.contactInfo.emailAddress " class ="text-link hover:text-link-hover hover:underline word-wrap-and-break ">
61+ {{instance.contactInfo.emailAddress }}
62+ </ a >
63+ </ p >
64+ < br >
65+ }
66+ @else if (statisticsDownloadFailed) {
67+ < p > Failed to download instance metadata.</ p >
68+ }
69+ @else {
70+ < p > Downloading instance metadata...</ p >
71+ }
72+ </ div >
73+ </ app-container >
74+ < app-container class ="w-full ">
75+ < app-pane-title >
76+ < a routerLink ='/instance '>
77+ Statistics
4378 </ a >
44- </ p >
45- }
46- @else {
47- < p > No Discord server invite</ p >
48- }
49-
50- < p > Email address:
51- < a [href] ="'mailto:' + instance.contactInfo.emailAddress " class ="text-link hover:text-link-hover hover:underline word-wrap-and-break ">
52- {{instance.contactInfo.emailAddress }}
53- </ a >
54- </ p >
55- < br >
56- }
79+ </ app-pane-title >
80+ < app-divider > </ app-divider >
81+ < div >
82+ @if(statistics != null) {
83+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/users "> Registered users: {{statistics.totalUsers}}</ a > </ p >
84+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/levels "> Published levels: {{statistics.totalLevels}}</ a > </ p >
85+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/levels "> Modded levels: {{statistics.moddedLevels}}</ a > </ p >
86+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/photos "> Uploaded photos: {{statistics.totalPhotos}}</ a > </ p >
87+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/activity "> Events occurred: {{statistics.totalEvents}}</ a > </ p >
88+ < br >
89+ < p > Active users: {{statistics.activeUsers}}</ p >
90+ < p > People online now: {{statistics.currentIngamePlayersCount}}</ p >
91+ < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/rooms "> Active rooms: {{statistics.currentRoomCount}}</ a > </ p >
92+ < br >
93+ < p > API requests: {{statistics.requestStatistics.apiRequests}}</ p >
94+ < p > Game API requests: {{statistics.requestStatistics.gameRequests}}</ p >
95+ }
96+ @else if (statisticsDownloadFailed) {
97+ < p > Failed to download instance statistics.</ p >
98+ }
99+ @else {
100+ < p > Downloading instance statistics...</ p >
101+ }
102+ </ div >
103+ </ app-container >
104+ </ app-two-pane-layout >
57105
106+ < br >
58107< h2 class ="font-bold text-2xl "> Website</ h2 >
59108< p > Source repository:
60109 < a [href] ="websiteRepoUrl " class ="text-link hover:text-link-hover hover:underline ">
61110 {{ websiteRepoUrl }}
62111 </ a >
63- </ p >
64- < br >
65-
66- @if(statistics != null) {
67- < h2 class ="font-bold text-2xl "> Things!</ h2 >
68- < p > < a routerLink ="/users "> Registered users: {{statistics.totalUsers}}</ a > </ p >
69- < p > < a routerLink ="/levels "> Published levels: {{statistics.totalLevels}}</ a > </ p >
70- < p > < a routerLink ="/levels "> Modded levels: {{statistics.moddedLevels}}</ a > </ p >
71- < p > < a routerLink ="/photos "> Uploaded photos: {{statistics.totalPhotos}}</ a > </ p >
72- < p > < a routerLink ="/activity "> Events occurred: {{statistics.totalEvents}}</ a > </ p >
73- < br >
74-
75- < h2 class ="font-bold text-2xl "> Activity</ h2 >
76- < p > Active users: {{statistics.activeUsers}}</ p >
77- < p > People online now: {{statistics.currentIngamePlayersCount}}</ p >
78- < p > < a class ="text-link hover:text-link-hover hover:underline " routerLink ="/rooms "> Active rooms: {{statistics.currentRoomCount}}</ a > </ p >
79- < br >
80-
81- < h2 class ="font-bold text-2xl "> Requests ({{statistics.requestStatistics.totalRequests}} in total)</ h2 >
82- < p > API requests: {{statistics.requestStatistics.apiRequests}}</ p >
83- < p > Game API requests: {{statistics.requestStatistics.gameRequests}}</ p >
84- }
112+ </ p >
0 commit comments