This commit is contained in:
Eduard Urbach 2018-04-08 12:59:36 +02:00
parent 33636dad8e
commit 9d1890d8f7
9 changed files with 44 additions and 40 deletions

View File

@ -15,7 +15,7 @@ component AnimeEpisodes(anime *arn.Anime, episodes []*arn.AnimeEpisode, user *ar
else else
span - span -
if validator.IsValidDate(episode.AiringDate.Start) if validate.Date(episode.AiringDate.Start)
.episode-airing-date-start.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman() .episode-airing-date-start.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()
//- table.episodes //- table.episodes
@ -37,7 +37,7 @@ component AnimeEpisodes(anime *arn.Anime, episodes []*arn.AnimeEpisode, user *ar
//- RawIcon("eye") //- RawIcon("eye")
//- //- a(href="https://translate.google.com/#ja/en/" + episode.Title.Japanese, target="_blank", rel="noopener") //- //- a(href="https://translate.google.com/#ja/en/" + episode.Title.Japanese, target="_blank", rel="noopener")
//- //- RawIcon("google") //- //- RawIcon("google")
//- if validator.IsValidDate(episode.AiringDate.Start) //- if validate.Date(episode.AiringDate.Start)
//- td.episode-airing-date-start.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman() //- td.episode-airing-date-start.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()
//- else //- else
//- td.episode-airing-date-start //- td.episode-airing-date-start

View File

@ -6,7 +6,7 @@ import (
"github.com/aerogo/aero" "github.com/aerogo/aero"
"github.com/animenotifier/arn" "github.com/animenotifier/arn"
"github.com/animenotifier/arn/validator" "github.com/animenotifier/arn/validate"
"github.com/animenotifier/notify.moe/components" "github.com/animenotifier/notify.moe/components"
"github.com/animenotifier/notify.moe/utils" "github.com/animenotifier/notify.moe/utils"
) )
@ -55,7 +55,7 @@ func Get(ctx *aero.Context) string {
} }
for _, episode := range animeEpisodes.Items { for _, episode := range animeEpisodes.Items {
if !validator.IsValidDate(episode.AiringDate.Start) { if !validate.Date(episode.AiringDate.Start) {
continue continue
} }

View File

@ -11,7 +11,7 @@ component AnimeEpisode(anime *arn.Anime, episode *arn.AnimeEpisode, user *arn.Us
.episode-view-title .episode-view-title
Japanese(episode.Title.Japanese) Japanese(episode.Title.Japanese)
if validator.IsValidDate(episode.AiringDate.Start) if validate.Date(episode.AiringDate.Start)
p.episode-view-airing-date p.episode-view-airing-date
span.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman() span.utc-airing-date(data-start-date=episode.AiringDate.Start, data-end-date=episode.AiringDate.End, data-episode-number=episode.Number)= episode.AiringDate.StartDateHuman()

View File

@ -1,17 +0,0 @@
package main
import "github.com/animenotifier/arn"
func main() {
defer arn.Node.Close()
for post := range arn.StreamPosts() {
post.CreatedBy = post.AuthorID
post.Save()
}
for thread := range arn.StreamThreads() {
thread.CreatedBy = thread.AuthorID
thread.Save()
}
}

View File

@ -31,7 +31,7 @@ func main() {
user.Accounts.Facebook.ID = "" user.Accounts.Facebook.ID = ""
user.Accounts.Google.ID = "" user.Accounts.Google.ID = ""
user.AgeRange = arn.UserAgeRange{} user.AgeRange = arn.UserAgeRange{}
user.Location = arn.Location{} user.Location = &arn.Location{}
user.PushSubscriptions().Items = []*arn.PushSubscription{} user.PushSubscriptions().Items = []*arn.PushSubscription{}
user.PushSubscriptions().Save() user.PushSubscriptions().Save()

View File

@ -1,23 +1,18 @@
package main package main
import (
"github.com/animenotifier/arn"
"github.com/fatih/color"
)
func main() { func main() {
color.Yellow("Moving Kitsu IDs to new IDs") // color.Yellow("Moving Kitsu IDs to new IDs")
defer color.Green("Finished.") // defer color.Green("Finished.")
defer arn.Node.Close() // defer arn.Node.Close()
for anime := range arn.StreamAnime() { // for anime := range arn.StreamAnime() {
kitsuID := anime.GetMapping("kitsu/anime") // kitsuID := anime.GetMapping("kitsu/anime")
if kitsuID == "" { // if kitsuID == "" {
continue // continue
} // }
anime.MoveImageFiles(kitsuID, anime.ID) // anime.MoveImageFiles(kitsuID, anime.ID)
} // }
} }

View File

@ -13,7 +13,7 @@ func main() {
for post := range arn.StreamPosts() { for post := range arn.StreamPosts() {
// Fix text // Fix text
color.Yellow(post.Text) color.Yellow(post.Text)
post.Text = autocorrect.FixPostText(post.Text) post.Text = autocorrect.PostText(post.Text)
color.Green(post.Text) color.Green(post.Text)
// Tags // Tags

View File

@ -34,6 +34,7 @@ export default class AnimeNotifier {
diffCompletedForCurrentPath: boolean diffCompletedForCurrentPath: boolean
lastReloadContentPath: string lastReloadContentPath: string
currentSoundTrackId: string currentSoundTrackId: string
etags: Map<string, string>
constructor(app: Application) { constructor(app: Application) {
this.app = app this.app = app
@ -195,7 +196,27 @@ export default class AnimeNotifier {
// Bind unload event // Bind unload event
window.addEventListener("beforeunload", this.onBeforeUnload.bind(this)) window.addEventListener("beforeunload", this.onBeforeUnload.bind(this))
// Download popular anime titles for the search // Check etags of scripts and styles
this.etags = new Map<string, string>()
delay(2000).then(async () => {
let response = await fetch("/scripts")
let newETag = response.headers.get("ETag")
let oldETag = this.etags.get("/scripts")
this.etags.set("/scripts", newETag)
console.log("etags", this.etags)
if(!oldETag || !newETag) {
return
}
if(oldETag !== newETag) {
this.statusMessage.showInfo("A new version of the website is available. Please refresh the page.", -1)
}
})
// // Download popular anime titles for the search
// let response = await fetch("/api/popular/anime/titles/500") // let response = await fetch("/api/popular/anime/titles/500")
// let titles = await response.json() // let titles = await response.json()
// let titleList = document.createElement("datalist") // let titleList = document.createElement("datalist")

View File

@ -17,6 +17,11 @@ export default class StatusMessage {
this.container.classList.remove("fade-out") this.container.classList.remove("fade-out")
this.container.dataset.messageId = messageId this.container.dataset.messageId = messageId
// Negative duration means we're displaying it forever until the user manually closes it
if(duration === -1) {
return
}
delay(duration || 4000).then(() => { delay(duration || 4000).then(() => {
if(this.container.dataset.messageId !== messageId) { if(this.container.dataset.messageId !== messageId) {
return return