- Update API

- Add Chart Preview
- Add Drum Type dropdown when the "drums" instrument is selected
- Add Min/Max Year to advanced search
- Add Track Hash to advanced search
- Add "Download Video Backgrounds" setting
- Updated and improved detected chart issues
This commit is contained in:
Geomitron
2024-07-16 15:20:58 -05:00
parent 627896a8c8
commit 353994b8e1
43 changed files with 1808 additions and 510 deletions

View File

@@ -28,7 +28,6 @@
class="flex flex-1 p-2 gap-1 justify-between overflow-x-hidden overflow-y-auto scrollbar scrollbar-w-2 scrollbar-h-2 scrollbar-track-base-300 scrollbar-thumb-neutral scrollbar-thumb-rounded-full">
<div class="flex flex-1 flex-col gap-1">
<div>
<!-- TODO: Change this to a dropdown if there is more than one chart -->
<b>Charter: </b>
<a class="link link-hover" (click)="onSourceLinkClicked()">{{ selectedChart.charter | removeStyleTags }}</a>
</div>
@@ -50,25 +49,25 @@
@if (metadataIssues.length > 0) {
<div class="menu-title">Metadata Issues Found:</div>
<ul class="list-disc ml-9 min-w-[246px] max-w-[min(26.1vw,444px)]">
<li *ngFor="let issue of metadataIssues" class="list-item">{{ getMetadataIssueText(issue) }}</li>
<li *ngFor="let issue of metadataIssues" class="list-item">{{ issue.description }}</li>
</ul>
}
@if (folderIssues.length > 0) {
<div class="menu-title">Chart Folder Issues Found:</div>
<ul class="list-disc ml-9 min-w-[246px] max-w-[min(26.1vw,444px)]">
<li *ngFor="let issue of folderIssues" class="list-item">{{ getFolderIssueText(issue) }}</li>
<li *ngFor="let issue of folderIssues" class="list-item">{{ issue.description }}</li>
</ul>
}
@if (chartIssues.length > 0) {
@if (globalChartIssues.length > 0) {
<div class="menu-title">Chart Issues Found:</div>
<ul class="list-disc ml-9 min-w-[246px] max-w-[min(26.1vw,444px)]">
<li *ngFor="let issue of chartIssues" class="list-item">{{ getChartIssueText(issue) }}</li>
<li *ngFor="let issue of globalChartIssues" class="list-item">{{ issue.description }}</li>
</ul>
}
@for (trackIssues of trackIssuesGroups; track $index) {
<div class="menu-title">{{ trackIssues.groupName }}</div>
<ul class="list-disc ml-9 min-w-[246px] max-w-[min(26.1vw,444px)]">
<li *ngFor="let issue of trackIssues.issues" class="list-item">{{ getTrackIssueText(issue) }}</li>
<li *ngFor="let issue of trackIssues.issues" class="list-item">{{ issue }}</li>
</ul>
}
</div>
@@ -118,6 +117,27 @@
<p class="font-bold whitespace-nowrap">Average NPS: {{ averageNps || 'N/A' }}</p>
<p class="font-bold whitespace-nowrap">Maximum NPS: {{ maximumNps }}</p>
<p class="font-bold whitespace-nowrap">Note Count: {{ noteCount }}</p>
<button class="btn btn-sm btn-neutral my-1 max-w-fit" (click)="previewModal.showModal()">
<i class="bi bi-play text-lg text-neutral-content"></i>
Chart Preview
</button>
<dialog #previewModal class="modal" (close)="chartPreview.endChartPreview()">
<div class="modal-box bg-base-100 text-base-content flex flex-col gap-2 h-[50vh] w-[80vw] max-w-full max-h-full">
<form method="dialog">
<button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2">
<i class="bi bi-x-lg text-lg"></i>
</button>
</form>
<app-chart-sidebar-preview
#chartPreview
[selectedChart]="selectedChart"
[instrument]="instrumentDropdown.value"
[difficulty]="difficultyDropdown.value" />
</div>
<form method="dialog" class="modal-backdrop">
<button>close</button>
</form>
</dialog>
</div>
</div>
</div>