UI improvements
This commit is contained in:
parent
dc0837bfee
commit
1998a36d6d
13 changed files with 148 additions and 241 deletions
|
@ -7,7 +7,7 @@
|
|||
<h3 class="release-title">
|
||||
<a href="/admin/release/{{.ID}}">{{.Title}}</a>
|
||||
<small>
|
||||
{{.GetReleaseYear}}
|
||||
<span title="{{.PrintReleaseDate}}">{{.GetReleaseYear}}</span>
|
||||
{{if not .Visible}}(hidden){{end}}
|
||||
</small>
|
||||
</h3>
|
||||
|
@ -16,7 +16,7 @@
|
|||
(<a href="/admin/release/{{.ID}}#tracks">{{len .Tracks}} track{{if not (eq (len .Tracks) 1)}}s{{end}}</a>)</p>
|
||||
<div class="release-actions">
|
||||
<a href="/admin/release/{{.ID}}">Edit</a>
|
||||
<a href="/music/{{.ID}}" target="_blank">Gateway</a>
|
||||
<a href="/music/{{.ID}}" target="_blank">Gateway <img class="icon" src="/img/external-link.svg"/></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -80,9 +80,8 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a img {
|
||||
height: .9em;
|
||||
transform: translateY(.1em);
|
||||
a img.icon {
|
||||
height: .8em;
|
||||
}
|
||||
|
||||
.card {
|
||||
|
|
|
@ -50,6 +50,7 @@ input[type="text"] {
|
|||
border: 1px solid transparent;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#title:hover {
|
||||
|
@ -80,7 +81,9 @@ input[type="text"] {
|
|||
vertical-align: top;
|
||||
opacity: .66;
|
||||
}
|
||||
.release-info table tr td:not(:first-child):hover {
|
||||
.release-info table tr td:not(:first-child) select:hover,
|
||||
.release-info table tr td:not(:first-child) input:hover,
|
||||
.release-info table tr td:not(:first-child) textarea:hover {
|
||||
background: #e8e8e8;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
@import url("/admin/static/release-list-item.css");
|
||||
|
||||
h1 {
|
||||
margin: 0 0 .5em 0;
|
||||
}
|
||||
|
@ -22,8 +24,8 @@ h1 {
|
|||
flex-direction: column;
|
||||
}
|
||||
|
||||
.track-title-header {
|
||||
margin: 0;
|
||||
.attribute-header {
|
||||
margin: 1em 0 .2em 0;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
|
@ -33,45 +35,36 @@ h1 {
|
|||
|
||||
#title {
|
||||
width: 100%;
|
||||
margin: -.1em -.2em;
|
||||
padding: .1em .2em;
|
||||
font-weight: bold;
|
||||
font-size: inherit;
|
||||
border-radius: 4px;
|
||||
border: 1px solid transparent;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#title:hover {
|
||||
background: #ffffff;
|
||||
border-color: #80808080;
|
||||
}
|
||||
|
||||
#title:active,
|
||||
#title:focus {
|
||||
background: #ffffff;
|
||||
border-color: #808080;
|
||||
}
|
||||
|
||||
.track-title small {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
.track-info h2 {
|
||||
margin-bottom: .4em;
|
||||
}
|
||||
|
||||
.track-info textarea {
|
||||
width: 100%;
|
||||
width: calc(100% - 1em);
|
||||
padding: .5em;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.track-info input[type="text"],
|
||||
.track-info textarea {
|
||||
font-weight: inherit;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
border: none;
|
||||
outline: none;
|
||||
resize: vertical;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.track-info input[type="text"]:hover,
|
||||
.track-info textarea:hover {
|
||||
border-color: #80808080;
|
||||
}
|
||||
|
||||
.track-info input[type="text"]:active,
|
||||
.track-info textarea:active,
|
||||
.track-info input[type="text"]:focus,
|
||||
.track-info textarea:focus {
|
||||
border-color: #808080;
|
||||
}
|
||||
|
||||
button, .button {
|
||||
|
@ -130,90 +123,3 @@ a.delete {
|
|||
justify-content: right;
|
||||
}
|
||||
|
||||
.release {
|
||||
margin-bottom: 1em;
|
||||
padding: 1em;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1em;
|
||||
|
||||
border-radius: .5em;
|
||||
background: #f8f8f8f8;
|
||||
border: 1px solid #808080;
|
||||
}
|
||||
|
||||
.release h3,
|
||||
.release p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.release-artwork {
|
||||
width: 96px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.release-artwork img {
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
|
||||
.release-title small {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
.release-links {
|
||||
margin: .5em 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
list-style: none;
|
||||
flex-wrap: wrap;
|
||||
gap: .5em;
|
||||
}
|
||||
|
||||
.release-links li {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.release-links a {
|
||||
padding: .5em;
|
||||
display: block;
|
||||
|
||||
border-radius: .5em;
|
||||
text-decoration: none;
|
||||
color: #f0f0f0;
|
||||
background: #303030;
|
||||
text-align: center;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-links a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.release-actions {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.release-actions a {
|
||||
margin-right: .3em;
|
||||
padding: .3em .5em;
|
||||
display: inline-block;
|
||||
|
||||
border-radius: .3em;
|
||||
background: #e0e0e0;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-actions a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
|
||||
text-decoration: none;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
@import url("/admin/static/release-list-item.css");
|
||||
|
||||
.create-btn {
|
||||
background: #c4ff6a;
|
||||
padding: .5em .8em;
|
||||
|
@ -16,99 +18,6 @@
|
|||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
.release {
|
||||
margin-bottom: 1em;
|
||||
padding: 1em;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1em;
|
||||
|
||||
border-radius: .5em;
|
||||
background: #f8f8f8f8;
|
||||
border: 1px solid #808080;
|
||||
}
|
||||
|
||||
.release h3,
|
||||
.release p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.release-artwork {
|
||||
width: 96px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.release-artwork img {
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
|
||||
.latest-release .release-info {
|
||||
width: 300px;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.release-title small {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
.release-links {
|
||||
margin: .5em 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
list-style: none;
|
||||
flex-wrap: wrap;
|
||||
gap: .5em;
|
||||
}
|
||||
|
||||
.release-links li {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.release-links a {
|
||||
padding: .5em;
|
||||
display: block;
|
||||
|
||||
border-radius: .5em;
|
||||
text-decoration: none;
|
||||
color: #f0f0f0;
|
||||
background: #303030;
|
||||
text-align: center;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-links a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.release-actions {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.release-actions a {
|
||||
margin-right: .3em;
|
||||
padding: .3em .5em;
|
||||
display: inline-block;
|
||||
|
||||
border-radius: .3em;
|
||||
background: #e0e0e0;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-actions a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.artist {
|
||||
margin-bottom: .5em;
|
||||
padding: .5em;
|
||||
|
|
87
admin/static/release-list-item.css
Normal file
87
admin/static/release-list-item.css
Normal file
|
@ -0,0 +1,87 @@
|
|||
.release {
|
||||
margin-bottom: 1em;
|
||||
padding: 1em;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1em;
|
||||
|
||||
border-radius: .5em;
|
||||
background: #f8f8f8f8;
|
||||
border: 1px solid #808080;
|
||||
}
|
||||
|
||||
.release h3,
|
||||
.release p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.release-artwork {
|
||||
width: 96px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.release-artwork img {
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
|
||||
.release-title small {
|
||||
opacity: .75;
|
||||
}
|
||||
|
||||
.release-links {
|
||||
margin: .5em 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
list-style: none;
|
||||
flex-wrap: wrap;
|
||||
gap: .5em;
|
||||
}
|
||||
|
||||
.release-links li {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.release-links a {
|
||||
padding: .5em;
|
||||
display: block;
|
||||
|
||||
border-radius: .5em;
|
||||
text-decoration: none;
|
||||
color: #f0f0f0;
|
||||
background: #303030;
|
||||
text-align: center;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-links a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.release-actions {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.release-actions a {
|
||||
margin-right: .3em;
|
||||
padding: .3em .5em;
|
||||
display: inline-block;
|
||||
|
||||
border-radius: .3em;
|
||||
background: #e0e0e0;
|
||||
|
||||
transition: color .1s, background .1s;
|
||||
}
|
||||
|
||||
.release-actions a:hover {
|
||||
color: #303030;
|
||||
background: #f0f0f0;
|
||||
|
||||
text-decoration: none;
|
||||
}
|
|
@ -44,7 +44,7 @@ var components = map[string]*template.Template{
|
|||
|
||||
"editlinks": template.Must(template.ParseFiles(filepath.Join("admin", "components", "links", "editlinks.html"))),
|
||||
|
||||
"edittracks": template.Must(template.ParseFiles(filepath.Join("admin", "components", "tracks", "addtrack.html"))),
|
||||
"edittracks": template.Must(template.ParseFiles(filepath.Join("admin", "components", "tracks", "edittracks.html"))),
|
||||
"addtrack": template.Must(template.ParseFiles(filepath.Join("admin", "components", "tracks", "addtrack.html"))),
|
||||
"newtrack": template.Must(template.ParseFiles(filepath.Join("admin", "components", "tracks", "addtrack.html"))),
|
||||
"newtrack": template.Must(template.ParseFiles(filepath.Join("admin", "components", "tracks", "newtrack.html"))),
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
name="Description"
|
||||
value="{{.Description}}"
|
||||
placeholder="No description provided."
|
||||
rows="1"
|
||||
rows="3"
|
||||
id="description"
|
||||
>{{.Description}}</textarea>
|
||||
</td>
|
||||
|
@ -79,7 +79,7 @@
|
|||
</tr>
|
||||
</table>
|
||||
<div class="release-actions">
|
||||
<a href="/music/{{.ID}}" class="button" target="_blank">Gateway <img src="/img/external-link.svg"/></a>
|
||||
<a href="/music/{{.ID}}" class="button" target="_blank">Gateway <img class="icon" src="/img/external-link.svg"/></a>
|
||||
<button type="submit" class="save" id="save" disabled>Save</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -125,7 +125,7 @@
|
|||
</div>
|
||||
<div class="card links">
|
||||
{{range .Links}}
|
||||
<a href="{{.URL}}" target="_blank" class="button" data-name="{{.Name}}">{{.Name}} <img src="/img/external-link.svg"/></a>
|
||||
<a href="{{.URL}}" target="_blank" class="button" data-name="{{.Name}}">{{.Name}} <img class="icon" src="/img/external-link.svg"/></a>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
{{define "content"}}
|
||||
<main>
|
||||
<h1>Editing Track "{{.Title}}"</h1>
|
||||
<h1>Editing Track</h1>
|
||||
|
||||
<div id="track" data-id="{{.ID}}">
|
||||
<div class="track-info">
|
||||
<p class="track-title-header">Title</p>
|
||||
<p class="attribute-header">Title</p>
|
||||
<h2 class="track-title">
|
||||
<input type="text" id="title" name="Title" value="{{.Title}}">
|
||||
</h2>
|
||||
|
||||
<h2>Description</h2>
|
||||
<p class="attribute-header">Description</p>
|
||||
<textarea
|
||||
name="Description"
|
||||
value="{{.Description}}"
|
||||
|
@ -24,7 +24,7 @@
|
|||
id="description"
|
||||
>{{.Description}}</textarea>
|
||||
|
||||
<h2>Lyrics</h2>
|
||||
<p class="attribute-header">Lyrics</p>
|
||||
<textarea
|
||||
name="Lyrics"
|
||||
value="{{.Lyrics}}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue