additional files
This commit is contained in:
@@ -7,56 +7,23 @@
|
||||
|
||||
<!-- Tabs -->
|
||||
<div class="admin-tabs">
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'shows'"
|
||||
(click)="activeTab.set('shows')"
|
||||
>Shows</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'events'"
|
||||
(click)="activeTab.set('events')"
|
||||
>Events</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'history'"
|
||||
(click)="activeTab.set('history')"
|
||||
>History</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'team'"
|
||||
(click)="activeTab.set('team')"
|
||||
>Team</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'community'"
|
||||
(click)="activeTab.set('community')"
|
||||
>Community</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'station'"
|
||||
(click)="activeTab.set('station')"
|
||||
>Station</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'theme'"
|
||||
(click)="activeTab.set('theme'); onTabChanged()"
|
||||
>Theme</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'underwriters'"
|
||||
(click)="activeTab.set('underwriters')"
|
||||
>Underwriters</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'mobile-builds'"
|
||||
(click)="activeTab.set('mobile-builds')"
|
||||
>Mobile Builds</button>
|
||||
<button
|
||||
class="tab-btn"
|
||||
[class.active]="activeTab() === 'stats'"
|
||||
(click)="activeTab.set('stats')"
|
||||
>Stats</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'shows'" (click)="activeTab.set('shows')">Shows</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'events'"
|
||||
(click)="activeTab.set('events')">Events</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'history'"
|
||||
(click)="activeTab.set('history')">History</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'team'" (click)="activeTab.set('team')">Team</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'community'"
|
||||
(click)="activeTab.set('community')">Community</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'station'"
|
||||
(click)="activeTab.set('station')">Station</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'theme'"
|
||||
(click)="activeTab.set('theme'); onTabChanged()">Theme</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'underwriters'"
|
||||
(click)="activeTab.set('underwriters')">Underwriters</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'mobile-builds'"
|
||||
(click)="activeTab.set('mobile-builds')">Mobile Builds</button>
|
||||
<button class="tab-btn" [class.active]="activeTab() === 'stats'" (click)="activeTab.set('stats')">Stats</button>
|
||||
</div>
|
||||
|
||||
<!-- Shows Tab -->
|
||||
@@ -97,7 +64,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="6" class="empty-row">No shows yet. Click "Add Show" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="6" class="empty-row">No shows yet. Click "Add Show" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -137,7 +106,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="5" class="empty-row">No events yet. Click "Add Event" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="5" class="empty-row">No events yet. Click "Add Event" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -177,7 +148,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="5" class="empty-row">No history entries yet. Click "Add Entry" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="5" class="empty-row">No history entries yet. Click "Add Entry" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -217,7 +190,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="5" class="empty-row">No team members yet. Click "Add Member" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="5" class="empty-row">No team members yet. Click "Add Member" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -257,7 +232,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="5" class="empty-row">No highlights yet. Click "Add Highlight" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="5" class="empty-row">No highlights yet. Click "Add Highlight" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -341,10 +318,7 @@
|
||||
<span class="harmony-rule">{{ getHarmonyLabel() }}</span>
|
||||
</div>
|
||||
<label class="auto-variants-toggle">
|
||||
<input
|
||||
type="checkbox"
|
||||
[(ngModel)]="themeAutoVariants"
|
||||
>
|
||||
<input type="checkbox" [(ngModel)]="themeAutoVariants">
|
||||
Auto-generate variants
|
||||
</label>
|
||||
</div>
|
||||
@@ -361,11 +335,8 @@
|
||||
@for (role of colorRoles; track role.field) {
|
||||
<div class="color-card" [class.has-issue]="hasHarmonyIssue(role.field)">
|
||||
<div class="color-swatch" [style.background]="themeColors[role.field]">
|
||||
<input
|
||||
type="color"
|
||||
[value]="themeColors[role.field]"
|
||||
(input)="onThemeColorChange(role.field, $event.target.value)"
|
||||
>
|
||||
<input type="color" [value]="themeColors[role.field]"
|
||||
(input)="onThemeColorChange(role.field, $event.target.value)">
|
||||
</div>
|
||||
<div class="color-info">
|
||||
<span class="color-name">{{ role.label }}</span>
|
||||
@@ -383,22 +354,9 @@
|
||||
</div>
|
||||
|
||||
<div class="theme-actions">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-theme"
|
||||
(click)="resetTheme()"
|
||||
>Reset to Defaults</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-theme"
|
||||
(click)="autoFixTheme()"
|
||||
>Auto-Fix Harmony</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-save-theme"
|
||||
(click)="saveTheme()"
|
||||
[disabled]="themeSaving"
|
||||
>
|
||||
<button type="button" class="btn btn-outline-theme" (click)="resetTheme()">Reset to Defaults</button>
|
||||
<button type="button" class="btn btn-outline-theme" (click)="autoFixTheme()">Auto-Fix Harmony</button>
|
||||
<button type="button" class="btn btn-save-theme" (click)="saveTheme()" [disabled]="themeSaving">
|
||||
{{ themeSaving ? 'Saving…' : 'Save Theme' }}
|
||||
</button>
|
||||
</div>
|
||||
@@ -445,7 +403,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="6" class="empty-row">No underwriters yet. Click "Add Underwriter" to create one.</td></tr>
|
||||
<tr>
|
||||
<td colspan="6" class="empty-row">No underwriters yet. Click "Add Underwriter" to create one.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -547,11 +507,7 @@
|
||||
<p class="status error">{{ mobileBuildErrorMessage }}</p>
|
||||
}
|
||||
|
||||
<button
|
||||
class="btn btn-add"
|
||||
[disabled]="mobileBuildBusy"
|
||||
(click)="createAndUploadMobileBuildRequest()"
|
||||
>
|
||||
<button class="btn btn-add" [disabled]="mobileBuildBusy" (click)="createAndUploadMobileBuildRequest()">
|
||||
{{ mobileBuildBusy ? 'Working…' : 'Create Draft + Upload Files' }}
|
||||
</button>
|
||||
</section>
|
||||
@@ -588,7 +544,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
} @empty {
|
||||
<tr><td colspan="6" class="empty-row">No build requests yet.</td></tr>
|
||||
<tr>
|
||||
<td colspan="6" class="empty-row">No build requests yet.</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -600,9 +558,12 @@
|
||||
<div class="tab-toolbar compact">
|
||||
<h3>Selected Request #{{ build.id }}</h3>
|
||||
<div class="action-group">
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy" (click)="runPreflightForSelectedBuild()">Run Preflight</button>
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy || !build.preflight_passed" (click)="triggerSelectedBuild()">Trigger Build</button>
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy" (click)="refreshSelectedBuild()">Refresh</button>
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy" (click)="runPreflightForSelectedBuild()">Run
|
||||
Preflight</button>
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy || !build.preflight_passed"
|
||||
(click)="triggerSelectedBuild()">Trigger Build</button>
|
||||
<button class="btn-icon btn-edit" [disabled]="mobileBuildBusy"
|
||||
(click)="refreshSelectedBuild()">Refresh</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -627,7 +588,8 @@
|
||||
<div class="artifact-row">
|
||||
<div>
|
||||
<strong>{{ artifact.file_name }}</strong>
|
||||
<div class="artifact-meta">{{ artifact.platform }} • {{ artifact.artifact_type }} • {{ artifact.sha256.slice(0, 12) }}…</div>
|
||||
<div class="artifact-meta">{{ artifact.platform }} • {{ artifact.artifact_type }} • {{
|
||||
artifact.sha256.slice(0, 12) }}…</div>
|
||||
</div>
|
||||
<a class="btn-icon btn-edit" [href]="getArtifactDownloadHref(artifact.download_url)">Download</a>
|
||||
</div>
|
||||
@@ -671,6 +633,7 @@
|
||||
<app-admin-community-form [editItem]="editingCommunity" (saved)="onCommunitySaved()" (closed)="onCommunityClosed()" />
|
||||
}
|
||||
@if (showUnderwriterForm) {
|
||||
<app-admin-underwriter-form [editItem]="editingUnderwriter" (saved)="onUnderwriterSaved()" (closed)="onUnderwriterClosed()" />
|
||||
<app-admin-underwriter-form [editItem]="editingUnderwriter" (saved)="onUnderwriterSaved()"
|
||||
(closed)="onUnderwriterClosed()" />
|
||||
}
|
||||
</section>
|
||||
Reference in New Issue
Block a user