diff --git a/mixins/Input.pixy b/mixins/Input.pixy index 10511072..2c0b93d1 100644 --- a/mixins/Input.pixy +++ b/mixins/Input.pixy @@ -24,8 +24,9 @@ component InputTags(id string, value []string, label string) .tags(id=id) for index, tag := range value .tag - span.tag-title= tag - .tag-remove.action(data-action="arrayRemove", data-trigger="click", data-field=id, data-index=index) x + span.tag-title.action(contenteditable="true", data-trigger="focusout", data-action="save", data-field=id + "[" + strconv.Itoa(index) + "]")= tag + button.tag-remove.action(data-action="arrayRemove", data-trigger="click", data-field=id, data-index=index) + RawIcon("trash") button.tag-add.action(data-action="arrayAppend", data-trigger="click", data-field=id) RawIcon("plus") diff --git a/mixins/SoundTrack.pixy b/mixins/SoundTrack.pixy index 41931775..b4748642 100644 --- a/mixins/SoundTrack.pixy +++ b/mixins/SoundTrack.pixy @@ -7,13 +7,25 @@ component SoundTrackAllMedia(track *arn.SoundTrack) component SoundTrackMedia(track *arn.SoundTrack, media *arn.ExternalMedia) .sound-track.mountable(id=track.ID) - .sound-track-content + SoundTrackContent(track, media) + SoundTrackFooter(track) + +component SoundTrackContent(track *arn.SoundTrack, media *arn.ExternalMedia) + .sound-track-content + if track.MainAnime() != nil a.sound-track-anime-link.ajax(href="/anime/" + track.MainAnime().ID) img.sound-track-anime-image.lazy(data-src=track.MainAnime().Image.Small, alt=track.MainAnime().Title.Canonical, title=track.MainAnime().Title.Canonical) - - iframe.lazy(data-src=media.EmbedLink(), allowfullscreen="allowfullscreen") - .sound-track-footer - a.ajax(href=track.Link()) - Icon("music") - span posted by - a.ajax(href=track.CreatedByUser().Link())= track.CreatedByUser().Nick + " " \ No newline at end of file + + ExternalMedia(media) + +component SoundTrackFooter(track *arn.SoundTrack) + .sound-track-footer + if track.Title == "" + a.ajax(href=track.Link() + "/edit") untitled + else + a.ajax(href=track.Link())= track.Title + span posted by + a.ajax(href=track.CreatedByUser().Link())= track.CreatedByUser().Nick + " " + +component ExternalMedia(media *arn.ExternalMedia) + iframe.lazy(data-src=media.EmbedLink(), allowfullscreen="allowfullscreen") \ No newline at end of file diff --git a/pages/settings/settings.scarlet b/pages/settings/settings.scarlet index cb0cb0ca..5edda9ce 100644 --- a/pages/settings/settings.scarlet +++ b/pages/settings/settings.scarlet @@ -1,7 +1,6 @@ -.widget-section - button, - .button - margin-bottom 1rem +.widget-section > button, +.widget-section > .button + margin-bottom 1rem .avatar-preview margin 0 auto \ No newline at end of file diff --git a/pages/soundtrack/edit.go b/pages/soundtrack/edit.go index 4b1bcd24..d15a8fac 100644 --- a/pages/soundtrack/edit.go +++ b/pages/soundtrack/edit.go @@ -27,14 +27,17 @@ func Edit(ctx *aero.Context) string { ctx.Data = &arn.OpenGraph{ Tags: map[string]string{ "og:title": track.Title, - "og:image": track.MainAnime().Image.Large, "og:url": "https://" + ctx.App.Config.Domain + track.Link(), "og:site_name": "notify.moe", "og:type": "music.song", }, } - return ctx.HTML(EditForm(track, "Edit soundtrack")) + if track.MainAnime() != nil { + ctx.Data.(*arn.OpenGraph).Tags["og:image"] = track.MainAnime().Image.Large + } + + return ctx.HTML(components.SoundTrackTabs(track) + EditForm(track, "Edit soundtrack")) } // EditForm ... @@ -43,10 +46,11 @@ func EditForm(obj interface{}, title string) string { v := reflect.ValueOf(obj).Elem() id := reflect.Indirect(v.FieldByName("ID")) lowerCaseTypeName := strings.ToLower(t.Name()) + endpoint := `/api/` + lowerCaseTypeName + `/` + id.String() var b bytes.Buffer b.WriteString(`