Files
muzi/templates/song.gohtml

72 lines
2.7 KiB
Plaintext

{{define "song"}}
<div class="profile-top">
<div class="username-bio">
<h1>
{{.Song.Title}}
{{if eq .LoggedInUsername .Username}}
<button class="edit-btn" onclick="openEditModal()">Edit</button>
{{end}}
</h1>
{{if .ArtistNames}}
<h2>
{{- range $i, $name := .ArtistNames}}{{if $i}}, {{end}}<a href="/profile/{{$.Username}}/artist/{{urlquery $name}}">{{$name}}</a>{{end}}
</h2>
{{end}}
{{range .Albums}}
<h3><a href="/profile/{{$.Username}}/album/{{urlquery $.Artist.Name}}/{{urlquery .Title}}">{{.Title}}</a></h3>
{{end}}
</div>
<div class="profile-top-blank">
</div>
<div class="user-stats-top">
<h3>{{formatInt .ListenCount}}</h3> <p>Listens<p>
</div>
</div>
<div class="history">
<h3>Scrobbles</h3>
<table>
<tr>
<th>Artist</th>
<th>Title</th>
<th>Album</th>
<th>Timestamp</th>
</tr>
{{$username := .Username}}
{{range .Times}}
<tr>
<td>
{{- $artistNames := getArtistNames .ArtistIds}}
{{- range $i, $name := $artistNames}}{{if $i}}, {{end}}<a href="/profile/{{$username}}/artist/{{urlquery $name}}">{{$name}}</a>{{end}}
</td>
<td><a href="/profile/{{$username}}/song/{{urlquery .ArtistName}}/{{urlquery .SongName}}">{{.SongName}}</a></td>
<td><a href="/profile/{{$username}}/album/{{urlquery .ArtistName}}/{{urlquery .AlbumName}}">{{.AlbumName}}</a></td>
<td title="{{formatTimestampFull .Timestamp}}">{{formatTimestamp .Timestamp}}</td>
</tr>
{{end}}
</table>
</div>
<div class="page_buttons">
{{if gt .Page 1 }}
<a href="/profile/{{.Username}}/song/{{urlquery .Artist.Name}}/{{urlquery .Song.Title}}?page={{sub .Page 1}}">Prev Page</a>
{{end}}
<a href="/profile/{{.Username}}/song/{{urlquery .Artist.Name}}/{{urlquery .Song.Title}}?page={{add .Page 1}}">Next Page</a>
</div>
{{if eq .LoggedInUsername .Username}}
<div id="editModal" class="modal-overlay" style="display:none;">
<div class="modal-content">
<h2>Edit Song</h2>
<form id="editForm" data-entity="song" data-id="{{.Song.Id}}">
<label>Title: <input type="text" name="title" value="{{.Song.Title}}"></label>
<label>Spotify ID: <input type="text" name="spotify_id" value="{{.Song.SpotifyId}}"></label>
<label>MusicBrainz ID: <input type="text" name="musicbrainz_id" value="{{.Song.MusicbrainzId}}"></label>
<div class="modal-buttons">
<button type="button" class="cancel-btn" onclick="closeEditModal()">Cancel</button>
<button type="submit">Save</button>
</div>
</form>
</div>
</div>
{{end}}
{{end}}