Minor UI changes, and bug fixes (#173)

This commit is contained in:
Michael Green
2023-10-27 19:03:48 +11:00
committed by GitHub
parent da654c616d
commit 1cc7eb22dc
4 changed files with 54 additions and 14 deletions

View File

@@ -269,21 +269,47 @@ namespace gaseous_server.Classes
// build m3u // build m3u
romItems.Sort((a, b) => romItems.Sort((a, b) =>
{ {
var firstCompare = a.MediaDetail.Number.ToString().CompareTo(b.MediaDetail.Number.ToString()); if (a.MediaDetail != null)
return firstCompare != 0 ? firstCompare : a.MediaDetail.Side.CompareTo(b.MediaDetail.Side); {
if (a.MediaDetail.Number != null && a.MediaDetail.Side != null)
{
var firstCompare = a.MediaDetail.Number.ToString().CompareTo(b.MediaDetail.Number.ToString());
return firstCompare != 0 ? firstCompare : a.MediaDetail.Side.CompareTo(b.MediaDetail.Side);
}
else if (a.MediaDetail.Number != null && a.MediaDetail.Side == null)
{
return a.MediaDetail.Number.ToString().CompareTo(b.MediaDetail.Number.ToString());
}
else if (a.MediaDetail.Number == null && a.MediaDetail.Side != null)
{
return a.MediaDetail.Side.ToString().CompareTo(b.MediaDetail.Side.ToString());
}
else
{
return a.Name.CompareTo(b.Name);
}
}
else
{
return a.Name.CompareTo(b.Name);
}
} }
); );
foreach (Roms.GameRomItem romItem in romItems) foreach (Roms.GameRomItem romItem in romItems)
{ {
string M3UFileContent = ""; string M3UFileContent = "";
M3UFileContent += romItem.Name; M3UFileContent += romItem.Name;
if (romItem.MediaLabel != null) if (romItem.MediaLabel.Length == 0)
{ {
if (romItem.MediaLabel.Length > 0) if (romItem.RomTypeMedia.Length > 0)
{ {
M3UFileContent += "|" + romItem.MediaLabel; M3UFileContent += "|" + romItem.RomTypeMedia;
} }
} }
else
{
M3UFileContent += "|" + romItem.MediaLabel;
}
M3UFileContents.Add(M3UFileContent); M3UFileContents.Add(M3UFileContent);
} }

View File

@@ -124,7 +124,7 @@ namespace gaseous_server
case QueueItemType.MetadataRefresh: case QueueItemType.MetadataRefresh:
Logging.Log(Logging.LogType.Debug, "Timered Event", "Starting Metadata Refresher"); Logging.Log(Logging.LogType.Debug, "Timered Event", "Starting Metadata Refresher");
Classes.MetadataManagement.RefreshMetadata(true); Classes.MetadataManagement.RefreshMetadata();
_SaveLastRunTime = true; _SaveLastRunTime = true;

View File

@@ -66,7 +66,7 @@
<p id="gamesummarytext_label_button_contract" class="text_link" style="display: none;" onclick="document.querySelector('#gamesummarytext_label').classList.add('line-clamp-4'); document.querySelector('#gamesummarytext_label_button_expand').setAttribute('style', ''); document.querySelector('#gamesummarytext_label_button_contract').setAttribute('style', 'display: none;');">Read less...</p> <p id="gamesummarytext_label_button_contract" class="text_link" style="display: none;" onclick="document.querySelector('#gamesummarytext_label').classList.add('line-clamp-4'); document.querySelector('#gamesummarytext_label_button_expand').setAttribute('style', ''); document.querySelector('#gamesummarytext_label_button_contract').setAttribute('style', 'display: none;');">Read less...</p>
</div> </div>
<div id="gamesummarymediagroups"> <div id="gamesummarymediagroups" style="display: none;">
<h3>Media Groups</h3> <h3>Media Groups</h3>
</div> </div>
<div id="gamesummaryroms"> <div id="gamesummaryroms">
@@ -446,6 +446,7 @@
var statusText = mediaGroup.status; var statusText = mediaGroup.status;
var downloadLink = ''; var downloadLink = '';
var packageSize = '-'; var packageSize = '-';
var launchButtonContent = '';
switch (mediaGroup.status) { switch (mediaGroup.status) {
case 'NoStatus': case 'NoStatus':
statusText = '-'; statusText = '-';
@@ -460,6 +461,7 @@
statusText = 'Available'; statusText = 'Available';
downloadLink = '<a href="/api/v1/Games/' + gameId + '/romgroup/' + mediaGroup.id + '/' + gameData.name + '.zip" class="romlink"><img src="/images/download.svg" class="banner_button_image" alt="Download" title="Download" /></a>'; downloadLink = '<a href="/api/v1/Games/' + gameId + '/romgroup/' + mediaGroup.id + '/' + gameData.name + '.zip" class="romlink"><img src="/images/download.svg" class="banner_button_image" alt="Download" title="Download" /></a>';
packageSize = formatBytes(mediaGroup.size); packageSize = formatBytes(mediaGroup.size);
launchButtonContent = launchButton;
break; break;
case "Failed": case "Failed":
statusText = 'Build error'; statusText = 'Build error';
@@ -476,7 +478,7 @@
mediaGroup.romIds.length, mediaGroup.romIds.length,
packageSize, packageSize,
statusText, statusText,
launchButton, launchButtonContent,
'<div style="text-align: right;">' + downloadLink + deleteButton + '</div>' '<div style="text-align: right;">' + downloadLink + deleteButton + '</div>'
] ]
@@ -486,15 +488,22 @@
var mgRomCell = document.createElement('td'); var mgRomCell = document.createElement('td');
mgRomCell.setAttribute('colspan', 6); mgRomCell.setAttribute('colspan', 6);
mgRomCell.className = 'romGroupTitles'; mgRomCell.className = 'romGroupTitles';
// iterate the group members // iterate the group members
var groupMemberNames = []; var groupMembers = [];
for (var r = 0; r < mediaGroup.romIds.length; r++) { for (var r = 0; r < mediaGroup.romIds.length; r++) {
for (var x = 0; x < gameRomItems.length; x++) { for (var x = 0; x < gameRomItems.length; x++) {
if (mediaGroup.romIds[r] == gameRomItems[x].id) { if (mediaGroup.romIds[r] == gameRomItems[x].id) {
groupMemberNames.push(gameRomItems[x].name); groupMembers.push(gameRomItems[x]);
} }
} }
} }
groupMembers.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0));
var groupMemberNames = [];
for (var r = 0; r < groupMembers.length; r++) {
groupMemberNames.push(groupMembers[r].name);
}
mgRomCell.innerHTML = groupMemberNames.join("<br />"); mgRomCell.innerHTML = groupMemberNames.join("<br />");
mgRomRow.appendChild(mgRomCell); mgRomRow.appendChild(mgRomCell);
@@ -840,10 +849,12 @@
'/api/v1/Games/' + gameId + '/romgroup?PlatformId=' + platformId, '/api/v1/Games/' + gameId + '/romgroup?PlatformId=' + platformId,
'POST', 'POST',
function (result) { function (result) {
loadRoms(false); DisplayROMCheckboxes(false);
loadRoms();
}, },
function (error) { function (error) {
loadRoms(false); DisplayROMCheckboxes(false);
loadRoms();
}, },
JSON.stringify(romIds) JSON.stringify(romIds)
); );

View File

@@ -522,8 +522,11 @@ iframe {
width: 100%; width: 100%;
} }
.romrow:hover { table .romrow:nth-child(even) {
background-color: #383838; background: rgba(94, 94, 94, 0.3);
}
table .romrow:nth-child(odd) {
background: rgba(56, 56, 56, 0.3); background: rgba(56, 56, 56, 0.3);
} }