87 lines
2.9 KiB
HTML
87 lines
2.9 KiB
HTML
{{define "head"}}
|
|
<title>admin - ari melody 💫</title>
|
|
<link rel="shortcut icon" href="/img/favicon.png" type="image/x-icon">
|
|
{{end}}
|
|
|
|
{{define "content"}}
|
|
<header>
|
|
<img src="/img/favicon.png" alt="" class="icon">
|
|
<a href="/admin">home</a>
|
|
<a href="/admin/releases">releases</a>
|
|
<a href="/admin/artists">artists</a>
|
|
</header>
|
|
|
|
<main>
|
|
|
|
<div class="card-title">
|
|
<h1>Releases</h1>
|
|
<a href="/admin/createrelease" class="create-btn">Create New</a>
|
|
</div>
|
|
<div class="card releases">
|
|
{{range $Release := .Releases}}
|
|
<div class="release">
|
|
<div class="release-artwork">
|
|
<img src="{{$Release.Artwork}}" alt="" width="128" loading="lazy">
|
|
</div>
|
|
<div class="release-info">
|
|
<h3 class="release-title">{{$Release.Title}} <small>{{$Release.GetReleaseYear}}</small></h3>
|
|
<p class="release-artists">{{$Release.PrintArtists true true}}</p>
|
|
<p class="release-type-single">{{$Release.ReleaseType}} ({{len $Release.Tracks}} tracks)</p>
|
|
<div class="release-actions">
|
|
<a href="/admin/releases/{{$Release.ID}}">Edit</a>
|
|
<a href="/music/{{$Release.ID}}" target="_blank">Gateway</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{if not .Releases}}
|
|
<p>There are no releases.</p>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="card-title">
|
|
<h1>Artists</h1>
|
|
<a href="/admin/createartist" class="create-btn">Create New</a>
|
|
</div>
|
|
<div class="card artists">
|
|
{{range $Artist := .Artists}}
|
|
<div class="artist">
|
|
<img src="{{$Artist.GetAvatar}}" alt="" width="64" loading="lazy" class="artist-avatar">
|
|
<a href="/admin/artists/{{$Artist.ID}}" class="artist-name">{{$Artist.Name}}</a>
|
|
</div>
|
|
{{end}}
|
|
{{if not .Artists}}
|
|
<p>There are no artists.</p>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="card-title">
|
|
<h1>Tracks</h1>
|
|
<a href="/admin/createtrack" class="create-btn">Create New</a>
|
|
</div>
|
|
<div class="card tracks">
|
|
{{range $Track := .Tracks}}
|
|
<div class="track">
|
|
<h2 class="track-title">{{$Track.Title}}</h2>
|
|
{{if $Track.Description}}
|
|
<p class="track-description">{{$Track.Description}}</p>
|
|
{{else}}
|
|
<p class="track-description empty">No description provided.</p>
|
|
{{end}}
|
|
{{if $Track.Lyrics}}
|
|
<p class="track-lyrics">{{$Track.Lyrics}}</p>
|
|
{{else}}
|
|
<p class="track-lyrics empty">There are no lyrics.</p>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
{{if not .Artists}}
|
|
<p>There are no artists.</p>
|
|
{{end}}
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<script type="module" src="/admin/static/admin.js" defer></script>
|
|
{{end}}
|