Added ability to upload new character images

This commit is contained in:
2018-04-22 15:24:17 +02:00
parent 7807aec249
commit 1f26c44a49
13 changed files with 111 additions and 18 deletions

View File

@ -2,6 +2,7 @@ component CharacterTabs(character *arn.Character, user *arn.User)
.tabs
Tab("Character", "user", character.Link())
Tab("Edit", "pencil", character.Link() + "/edit")
Tab("Images", "image", character.Link() + "/edit/images")
Tab("History", "history", character.Link() + "/history")
component CharacterDetails(character *arn.Character, characterAnime []*arn.Anime, quotes []*arn.Quote, friends []*arn.User, mainQuote *arn.Quote, user *arn.User)

View File

@ -21,6 +21,7 @@
.character-image-large
width 219px
height 344px
object-fit cover
border-radius ui-element-border-radius
box-shadow shadow-light

View File

@ -22,3 +22,16 @@ func Edit(ctx *aero.Context) string {
return ctx.HTML(components.CharacterTabs(character, user) + editform.Render(character, "Edit character", user))
}
// EditImages renders the form to edit the character images.
func EditImages(ctx *aero.Context) string {
id := ctx.Get("id")
character, err := arn.GetCharacter(id)
user := utils.GetUser(ctx)
if err != nil {
return ctx.Error(http.StatusNotFound, "Character not found", err)
}
return ctx.HTML(components.EditCharacterImages(character, user))
}

View File

@ -0,0 +1,21 @@
component EditCharacterImages(character *arn.Character, user *arn.User)
CharacterTabs(character, user)
.widget-form
h1.mountable Edit character images
.widget.mountable(data-api="/api/character/" + character.ID)
h3.widget-title
Icon("picture-o")
span Image
InputFileUpload("character-image-input", "File", "image", "/api/upload/character/" + character.ID + "/image")
.character-image-container.mountable
img.character-image-input-preview.character-image-large.lazy(data-src=character.ImageLink("large"), data-webp="true", data-color=character.AverageColor(), alt="Character image")
.character-image-container.mountable
img.character-image-input-preview.character-image-medium.lazy(data-src=character.ImageLink("medium"), data-webp="true", data-color=character.AverageColor(), alt="Character image")
.character-image-container.mountable
img.character-image-input-preview.character-image-small.lazy(data-src=character.ImageLink("small"), data-webp="true", data-color=character.AverageColor(), alt="Character image")