diff --git a/arn/APIKeys.go b/arn/APIKeys.go index 6fc11a58..bbaeca15 100644 --- a/arn/APIKeys.go +++ b/arn/APIKeys.go @@ -6,7 +6,6 @@ import ( "path" "github.com/animenotifier/anilist" - "github.com/animenotifier/osu" jsoniter "github.com/json-iterator/go" ) @@ -57,10 +56,6 @@ type APIKeysData struct { Secret string `json:"secret"` } `json:"anilist"` - Osu struct { - Secret string `json:"secret"` - } `json:"osu"` - PayPal struct { ID string `json:"id"` Secret string `json:"secret"` @@ -111,9 +106,6 @@ func init() { panic(err) } - // Set Osu API key - osu.APIKey = APIKeys.Osu.Secret - // Set Anilist API keys anilist.APIKeyID = APIKeys.AniList.ID anilist.APIKeySecret = APIKeys.AniList.Secret diff --git a/arn/SoundTrack.go b/arn/SoundTrack.go index 09605dab..7d837327 100644 --- a/arn/SoundTrack.go +++ b/arn/SoundTrack.go @@ -104,16 +104,6 @@ func (track *SoundTrack) Anime() []*Anime { return animeList } -// OsuBeatmaps returns all osu beatmap IDs of the sound track. -func (track *SoundTrack) OsuBeatmaps() []string { - return FilterIDTags(track.Tags, "osu-beatmap") -} - -// EtternaBeatmaps returns all Etterna song IDs of the sound track. -func (track *SoundTrack) EtternaBeatmaps() []string { - return FilterIDTags(track.Tags, "etterna") -} - // MainAnime ... func (track *SoundTrack) MainAnime() *Anime { allAnime := track.Anime() diff --git a/arn/User.go b/arn/User.go index 32dc195a..f719ec01 100644 --- a/arn/User.go +++ b/arn/User.go @@ -5,18 +5,14 @@ import ( "fmt" "io/ioutil" "net/http" - "strconv" "strings" "sync" "time" "github.com/aerogo/aero/event" "github.com/aerogo/http/client" - "github.com/animenotifier/ffxiv" "github.com/animenotifier/notify.moe/arn/autocorrect" "github.com/animenotifier/notify.moe/arn/validate" - "github.com/animenotifier/osu" - "github.com/animenotifier/overwatch" gravatar "github.com/ungerik/go-gravatar" ) @@ -514,70 +510,3 @@ func (user *User) TypeName() string { func (user *User) Self() Loggable { return user } - -// RefreshOsuInfo refreshes a user's Osu information. -func (user *User) RefreshOsuInfo() error { - if user.Accounts.Osu.Nick == "" { - return nil - } - - osu, err := osu.GetUser(user.Accounts.Osu.Nick) - - if err != nil { - return err - } - - user.Accounts.Osu.PP, _ = strconv.ParseFloat(osu.PPRaw, 64) - user.Accounts.Osu.Level, _ = strconv.ParseFloat(osu.Level, 64) - user.Accounts.Osu.Accuracy, _ = strconv.ParseFloat(osu.Accuracy, 64) - - return nil -} - -// RefreshFFXIVInfo refreshes a user's FFXIV information. -func (user *User) RefreshFFXIVInfo() error { - if user.Accounts.FinalFantasyXIV.Nick == "" || user.Accounts.FinalFantasyXIV.Server == "" { - return nil - } - - characterID, err := ffxiv.GetCharacterID(user.Accounts.FinalFantasyXIV.Nick, user.Accounts.FinalFantasyXIV.Server) - - if err != nil { - return err - } - - character, err := ffxiv.GetCharacter(characterID) - - if err != nil { - return err - } - - user.Accounts.FinalFantasyXIV.Class = character.Class - user.Accounts.FinalFantasyXIV.Level = character.Level - user.Accounts.FinalFantasyXIV.ItemLevel = character.ItemLevel - - return nil -} - -// RefreshOverwatchInfo refreshes a user's Overwatch information. -func (user *User) RefreshOverwatchInfo() error { - if user.Accounts.Overwatch.BattleTag == "" { - return nil - } - - stats, err := overwatch.GetPlayerStats(user.Accounts.Overwatch.BattleTag) - - if err != nil { - return err - } - - skillRating, tier := stats.HighestSkillRating() - - // Only show career highest skill rating - if skillRating > user.Accounts.Overwatch.SkillRating { - user.Accounts.Overwatch.SkillRating = skillRating - user.Accounts.Overwatch.Tier = tier - } - - return nil -} diff --git a/arn/UserAPI.go b/arn/UserAPI.go index fb1691f7..fec4de5a 100644 --- a/arn/UserAPI.go +++ b/arn/UserAPI.go @@ -11,7 +11,6 @@ import ( "github.com/aerogo/aero" "github.com/aerogo/api" "github.com/aerogo/http/client" - "github.com/akyoto/color" "github.com/animenotifier/notify.moe/arn/autocorrect" ) @@ -127,54 +126,6 @@ func (user *User) Edit(ctx aero.Context, key string, value reflect.Value, newVal user.Accounts.Discord.Verified = false } - return true, nil - - case "Accounts.Overwatch.BattleTag": - newBattleTag := newValue.String() - value.SetString(newBattleTag) - - if newBattleTag == "" { - user.Accounts.Overwatch.SkillRating = 0 - user.Accounts.Overwatch.Tier = "" - } else { - // Refresh Overwatch info if the battletag changed - go func() { - err := user.RefreshOverwatchInfo() - - if err != nil { - color.Red("Error refreshing Overwatch info of user '%s' with Overwatch battle tag '%s': %v", user.Nick, newBattleTag, err) - return - } - - color.Green("Refreshed Overwatch info of user '%s' with Overwatch battle tag '%s': %v", user.Nick, newBattleTag, user.Accounts.Overwatch.SkillRating) - user.Save() - }() - } - - return true, nil - - case "Accounts.FinalFantasyXIV.Nick", "Accounts.FinalFantasyXIV.Server": - newValue := newValue.String() - value.SetString(newValue) - - if newValue == "" { - user.Accounts.FinalFantasyXIV.Class = "" - user.Accounts.FinalFantasyXIV.Level = 0 - user.Accounts.FinalFantasyXIV.ItemLevel = 0 - } else if user.Accounts.FinalFantasyXIV.Nick != "" && user.Accounts.FinalFantasyXIV.Server != "" { - // Refresh FinalFantasyXIV info if the name or server changed - go func() { - err := user.RefreshFFXIVInfo() - - if err != nil { - color.Red("Error refreshing FinalFantasy XIV info of user '%s' with nick '%s' on server '%s': %v", user.Nick, user.Accounts.FinalFantasyXIV.Nick, user.Accounts.FinalFantasyXIV.Server, err) - return - } - - user.Save() - }() - } - return true, nil } @@ -183,28 +134,6 @@ func (user *User) Edit(ctx aero.Context, key string, value reflect.Value, newVal newNick := newValue.String() newNick = autocorrect.AccountNick(newNick) value.SetString(newNick) - - // Refresh osu info if the name changed - if key == "Accounts.Osu.Nick" { - if newNick == "" { - user.Accounts.Osu.PP = 0 - user.Accounts.Osu.Level = 0 - user.Accounts.Osu.Accuracy = 0 - } else { - go func() { - err := user.RefreshOsuInfo() - - if err != nil { - color.Red("Error refreshing osu info of user '%s' with osu nick '%s': %v", user.Nick, newNick, err) - return - } - - color.Green("Refreshed osu info of user '%s' with osu nick '%s': %v", user.Nick, newNick, user.Accounts.Osu.PP) - user.Save() - }() - } - } - return true, nil } diff --git a/arn/UserAccounts.go b/arn/UserAccounts.go index c54d6911..6274b9a0 100644 --- a/arn/UserAccounts.go +++ b/arn/UserAccounts.go @@ -1,78 +1,5 @@ package arn -// Register a list of gaming servers. -func init() { - DataLists["ffxiv-servers"] = []*Option{ - {"", ""}, - {"Adamantoise", "Adamantoise"}, - {"Aegis", "Aegis"}, - {"Alexander", "Alexander"}, - {"Anima", "Anima"}, - {"Asura", "Asura"}, - {"Atomos", "Atomos"}, - {"Bahamut", "Bahamut"}, - {"Balmung", "Balmung"}, - {"Behemoth", "Behemoth"}, - {"Belias", "Belias"}, - {"Brynhildr", "Brynhildr"}, - {"Cactuar", "Cactuar"}, - {"Carbuncle", "Carbuncle"}, - {"Cerberus", "Cerberus"}, - {"Chocobo", "Chocobo"}, - {"Coeurl", "Coeurl"}, - {"Diabolos", "Diabolos"}, - {"Durandal", "Durandal"}, - {"Excalibur", "Excalibur"}, - {"Exodus", "Exodus"}, - {"Faerie", "Faerie"}, - {"Famfrit", "Famfrit"}, - {"Fenrir", "Fenrir"}, - {"Garuda", "Garuda"}, - {"Gilgamesh", "Gilgamesh"}, - {"Goblin", "Goblin"}, - {"Gungnir", "Gungnir"}, - {"Hades", "Hades"}, - {"Hyperion", "Hyperion"}, - {"Ifrit", "Ifrit"}, - {"Ixion", "Ixion"}, - {"Jenova", "Jenova"}, - {"Kujata", "Kujata"}, - {"Lamia", "Lamia"}, - {"Leviathan", "Leviathan"}, - {"Lich", "Lich"}, - {"Louisoix", "Louisoix"}, - {"Malboro", "Malboro"}, - {"Mandragora", "Mandragora"}, - {"Masamune", "Masamune"}, - {"Mateus", "Mateus"}, - {"Midgardsormr", "Midgardsormr"}, - {"Moogle", "Moogle"}, - {"Odin", "Odin"}, - {"Omega", "Omega"}, - {"Pandaemonium", "Pandaemonium"}, - {"Phoenix", "Phoenix"}, - {"Ragnarok", "Ragnarok"}, - {"Ramuh", "Ramuh"}, - {"Ridill", "Ridill"}, - {"Sargatanas", "Sargatanas"}, - {"Shinryu", "Shinryu"}, - {"Shiva", "Shiva"}, - {"Siren", "Siren"}, - {"Tiamat", "Tiamat"}, - {"Titan", "Titan"}, - {"Tonberry", "Tonberry"}, - {"Typhon", "Typhon"}, - {"Ultima", "Ultima"}, - {"Ultros", "Ultros"}, - {"Unicorn", "Unicorn"}, - {"Valefor", "Valefor"}, - {"Yojimbo", "Yojimbo"}, - {"Zalera", "Zalera"}, - {"Zeromus", "Zeromus"}, - {"Zodiark", "Zodiark"}, - } -} - // UserAccounts represents a user's accounts on external services. type UserAccounts struct { Facebook struct { @@ -93,27 +20,6 @@ type UserAccounts struct { Verified bool `json:"verified"` } `json:"discord"` - Osu struct { - Nick string `json:"nick" editable:"true"` - PP float64 `json:"pp"` - Accuracy float64 `json:"accuracy"` - Level float64 `json:"level"` - } `json:"osu"` - - Overwatch struct { - BattleTag string `json:"battleTag" editable:"true"` - SkillRating int `json:"skillRating"` - Tier string `json:"tier"` - } `json:"overwatch"` - - FinalFantasyXIV struct { - Nick string `json:"nick" editable:"true"` - Server string `json:"server" editable:"true" datalist:"ffxiv-servers"` - Class string `json:"class"` - Level int `json:"level"` - ItemLevel int `json:"itemLevel"` - } `json:"ffxiv"` - AniList struct { Nick string `json:"nick" editable:"true"` } `json:"anilist"` diff --git a/docs/about.md b/docs/about.md index fb3dc90b..94a9832f 100644 --- a/docs/about.md +++ b/docs/about.md @@ -31,9 +31,7 @@ In the past it was, but not anymore. We're growing bigger by establishing a data * Quotes * Companies * Detailed anime rating system -* [twist.moe](https://twist.moe) integration * [anilist.co](https://anilist.co/), [myanimelist.net](https://myanimelist.net/) and [kitsu.io](https://kitsu.io/) import -* [osu](https://osu.ppy.sh/) ranking view * [Gravatar](https://gravatar.com) support ## Can I follow the project on social media? @@ -245,4 +243,4 @@ Sure, the setup to start contributing is not that hard. Try to get in contact wi ## Can I apply to be a data mod / editor? -Sure, just contact me on Discord if you want to help out with the database. \ No newline at end of file +Sure, just contact me on Discord if you want to help out with the database. diff --git a/go.mod b/go.mod index 7d2629a2..bfa572fe 100644 --- a/go.mod +++ b/go.mod @@ -31,12 +31,9 @@ require ( github.com/akyoto/stringutils v0.3.1 github.com/akyoto/webpush-go v0.1.2 github.com/animenotifier/anilist v0.2.6 - github.com/animenotifier/ffxiv v0.2.2 github.com/animenotifier/japanese v0.2.5 github.com/animenotifier/kitsu v0.2.4 github.com/animenotifier/mal v0.2.5 - github.com/animenotifier/osu v0.1.2 - github.com/animenotifier/overwatch v0.1.3 github.com/animenotifier/shoboi v0.2.4 github.com/animenotifier/twist v0.2.6 github.com/bwmarrin/discordgo v0.22.0 diff --git a/go.sum b/go.sum index bd191d74..4b0b377c 100644 --- a/go.sum +++ b/go.sum @@ -154,18 +154,12 @@ github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x0 github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/animenotifier/anilist v0.2.6 h1:L1M7fcgy+gAShscnHucz+Jn3nM1hOQKWZxuyhLatBBo= github.com/animenotifier/anilist v0.2.6/go.mod h1:fzOQXacU6rHnVoLFZaercp26BwNZDWkB6MocbNst5mY= -github.com/animenotifier/ffxiv v0.2.2 h1:pW0TRqgjqNbZ8K8UskGWiTP43GdLD6hlzdfmxGdjsDk= -github.com/animenotifier/ffxiv v0.2.2/go.mod h1:JdnHHGD9W6QLdZWf38fw1jIqDRemr5dthlr5RKdmipE= github.com/animenotifier/japanese v0.2.5 h1:3crv70AzmrTiJCI6SG9rUeFS2T3FXdxKwvRjjUa/74g= github.com/animenotifier/japanese v0.2.5/go.mod h1:Xmhi5U+JbRuqmHzFB1zTMfA3SM35hKmzC0Z2J2q8SH0= github.com/animenotifier/kitsu v0.2.4 h1:YFVUR0EPSbSljjgEWtf4Hz72cCFgGyxOpjPc+64EsWA= github.com/animenotifier/kitsu v0.2.4/go.mod h1:9ymFP+JgXlIYJ+hvaZMut9M4jHXdteYG+7/dk4XggQY= github.com/animenotifier/mal v0.2.5 h1:/Op5CCSlvLUIcUo5NvmuuL76Cgv39hemT5k/VF8+4EA= github.com/animenotifier/mal v0.2.5/go.mod h1:M0KDAALEJ/hEqOxWNkdb4UuCZcnBc+jsYI/MEyh8KIQ= -github.com/animenotifier/osu v0.1.2 h1:TJe5JzxCjZUGXfEkna+BlwK7twF92sD7UASIup/UaEQ= -github.com/animenotifier/osu v0.1.2/go.mod h1:QzxS8BM8UQ/7IJgtIuMAUZMMtAO2wqv7TGq+pe7lGDs= -github.com/animenotifier/overwatch v0.1.3 h1:m6owBEba2WRImY3dtj8Oo678+j29lnoRdctvBIXIvLw= -github.com/animenotifier/overwatch v0.1.3/go.mod h1:Y5NI0Y4+c7vTCwTpqgldSqQqyA59Cx8uMNwsc3ZVqxk= github.com/animenotifier/shoboi v0.2.4 h1:eM9R/kQJgQzvcTSgxSFCpFyp8wqRxUXUk69cLd73gwM= github.com/animenotifier/shoboi v0.2.4/go.mod h1:bWC3/vIc8NR1mvflm/HEH79rIq+AZMoRnWqLN2NKtBM= github.com/animenotifier/twist v0.2.6 h1:CSrpScSwLTjR37kCFwAzIe84sA47fXaRHL3qGKCE9wQ= diff --git a/jobs/refresh-games/ffxiv.go b/jobs/refresh-games/ffxiv.go deleted file mode 100644 index 125ee02f..00000000 --- a/jobs/refresh-games/ffxiv.go +++ /dev/null @@ -1,33 +0,0 @@ -package main - -import ( - "fmt" - "time" - - "github.com/akyoto/color" - "github.com/animenotifier/notify.moe/arn" - "github.com/animenotifier/notify.moe/arn/stringutils" -) - -var tickerFFXIV = time.NewTicker(1100 * time.Millisecond) - -func ffxiv(user *arn.User) { - fmt.Println("[FFXIV]", user.Nick, user.Accounts.FinalFantasyXIV.Nick, user.Accounts.FinalFantasyXIV.Server) - - // Fetch new info - err := user.RefreshFFXIVInfo() - - if err != nil { - color.Red(err.Error()) - return - } - - // Log it - stringutils.PrettyPrint(user.Accounts.FinalFantasyXIV) - - // Save in database - user.Save() - - // Wait for rate limiter - <-tickerFFXIV.C -} diff --git a/jobs/refresh-games/osu.go b/jobs/refresh-games/osu.go deleted file mode 100644 index 08267423..00000000 --- a/jobs/refresh-games/osu.go +++ /dev/null @@ -1,33 +0,0 @@ -package main - -import ( - "fmt" - "time" - - "github.com/akyoto/color" - "github.com/animenotifier/notify.moe/arn" - "github.com/animenotifier/notify.moe/arn/stringutils" -) - -var tickerOsu = time.NewTicker(500 * time.Millisecond) - -func osu(user *arn.User) { - fmt.Println("[Osu]", user.Nick, user.Accounts.Osu.Nick) - - // Fetch new info - err := user.RefreshOsuInfo() - - if err != nil { - color.Red(err.Error()) - return - } - - // Log it - stringutils.PrettyPrint(user.Accounts.Osu) - - // Save in database - user.Save() - - // Wait for rate limiter - <-tickerOsu.C -} diff --git a/jobs/refresh-games/overwatch.go b/jobs/refresh-games/overwatch.go deleted file mode 100644 index c1fac9aa..00000000 --- a/jobs/refresh-games/overwatch.go +++ /dev/null @@ -1,33 +0,0 @@ -package main - -import ( - "fmt" - "time" - - "github.com/akyoto/color" - "github.com/animenotifier/notify.moe/arn" - "github.com/animenotifier/notify.moe/arn/stringutils" -) - -var tickerOW = time.NewTicker(1100 * time.Millisecond) - -func overwatch(user *arn.User) { - fmt.Println("[Overwatch]", user.Nick, user.Accounts.Overwatch.BattleTag) - - // Fetch new info - err := user.RefreshOverwatchInfo() - - if err != nil { - color.Red(err.Error()) - return - } - - // Log it - stringutils.PrettyPrint(user.Accounts.Overwatch) - - // Save in database - user.Save() - - // Wait for rate limiter - <-tickerOW.C -} diff --git a/jobs/refresh-games/refresh-games.go b/jobs/refresh-games/refresh-games.go deleted file mode 100644 index 936eb75b..00000000 --- a/jobs/refresh-games/refresh-games.go +++ /dev/null @@ -1,27 +0,0 @@ -package main - -import ( - "github.com/akyoto/color" - "github.com/animenotifier/notify.moe/arn" -) - -func main() { - color.Yellow("Refreshing game information") - - defer color.Green("Finished.") - defer arn.Node.Close() - - for user := range arn.StreamUsers() { - if user.Accounts.Osu.Nick != "" { - osu(user) - } - - if user.Accounts.Overwatch.BattleTag != "" { - overwatch(user) - } - - if user.Accounts.FinalFantasyXIV.Nick != "" && user.Accounts.FinalFantasyXIV.Server != "" { - ffxiv(user) - } - } -} diff --git a/pages/index/userlistroutes/userlistroutes.go b/pages/index/userlistroutes/userlistroutes.go index 2911ff2d..a4c66d98 100644 --- a/pages/index/userlistroutes/userlistroutes.go +++ b/pages/index/userlistroutes/userlistroutes.go @@ -12,9 +12,6 @@ func Register(app *aero.Application) { page.Get(app, "/users", users.Active) page.Get(app, "/users/map", users.Map) page.Get(app, "/users/noavatar", users.ActiveNoAvatar) - page.Get(app, "/users/games/osu", users.Osu) - page.Get(app, "/users/games/overwatch", users.Overwatch) - page.Get(app, "/users/games/ffxiv", users.FFXIV) page.Get(app, "/users/staff", users.Staff) page.Get(app, "/users/pro", users.Pro) page.Get(app, "/users/editors", users.Editors) diff --git a/pages/profile/profile.pixy b/pages/profile/profile.pixy index 39b96f88..ab8fd7d3 100644 --- a/pages/profile/profile.pixy +++ b/pages/profile/profile.pixy @@ -198,18 +198,6 @@ component ProfileTags(viewUser *arn.User, animeList *arn.AnimeList, user *arn.Us if viewUser.Website != "" a.profile-tag.tip.mountable.never-unmount.show-more(href=viewUser.WebsiteURL(), target="_blank", rel="noopener", aria-label=viewUser.WebsiteShortURL(), data-mountable-type="header") RawIcon("globe") - - if viewUser.Accounts.Osu.Nick != "" && viewUser.Accounts.Osu.PP >= 100 - a.profile-tag.tip.mountable.never-unmount.show-more(href="https://osu.ppy.sh/u/" + viewUser.Accounts.Osu.Nick, aria-label=fmt.Sprintf("osu! | %.0f pp | Level %.0f | Accuracy: %.1f%%", viewUser.Accounts.Osu.PP, viewUser.Accounts.Osu.Level, viewUser.Accounts.Osu.Accuracy), target="_blank", rel="noopener", data-mountable-type="header") - RawIcon("trophy") - - if viewUser.Accounts.Overwatch.BattleTag != "" && viewUser.Accounts.Overwatch.SkillRating >= 1000 - a.profile-tag.tip.mountable.never-unmount.show-more(href="https://playoverwatch.com/en-us/career/pc/" + strings.Replace(viewUser.Accounts.Overwatch.BattleTag, "#", "-", 1), aria-label=fmt.Sprintf("Overwatch | %d SR | %s", viewUser.Accounts.Overwatch.SkillRating, stringutils.Capitalize(viewUser.Accounts.Overwatch.Tier)), target="_blank", rel="noopener", data-mountable-type="header") - RawIcon("overwatch") - - if viewUser.Accounts.FinalFantasyXIV.Nick != "" && viewUser.Accounts.FinalFantasyXIV.Class != "" - .profile-tag.tip.mountable.never-unmount.show-more(aria-label=fmt.Sprintf("Final Fantasy XIV | %s | Level %d | IL %d", viewUser.Accounts.FinalFantasyXIV.Class, viewUser.Accounts.FinalFantasyXIV.Level, viewUser.Accounts.FinalFantasyXIV.ItemLevel), data-mountable-type="header") - RawIcon("gamepad") if viewUser.Accounts.Discord.Nick != "" && viewUser.Accounts.Discord.Verified a.profile-tag.tip.mountable.never-unmount.show-more(href="https://discord.gg/0kimAmMCeXGXuzNF", aria-label=fmt.Sprintf("Discord | %s", viewUser.Accounts.Discord.Nick), data-mountable-type="header") @@ -231,4 +219,4 @@ component ProfileTags(viewUser *arn.User, animeList *arn.AnimeList, user *arn.Us if user != nil && user.Role == "admin" a.profile-tag.tip.mountable.never-unmount.show-more(href="/api/user/" + viewUser.ID, aria-label="API", target="_blank", rel="noopener", data-mountable-type="header") - RawIcon("search-plus") \ No newline at end of file + RawIcon("search-plus") diff --git a/pages/settings/accounts.pixy b/pages/settings/accounts.pixy index 4b8821bd..97c91742 100644 --- a/pages/settings/accounts.pixy +++ b/pages/settings/accounts.pixy @@ -13,16 +13,6 @@ component SettingsAccounts(user *arn.User) InputText("Accounts.Kitsu.Nick", user.Accounts.Kitsu.Nick, "Kitsu", "Your username on kitsu.io", 30) InputText("Accounts.MyAnimeList.Nick", user.Accounts.MyAnimeList.Nick, "MyAnimeList", "Your username on myanimelist.net", 30) InputText("Accounts.Discord.Nick", user.Accounts.Discord.Nick, "Discord", "Your username on Discord", 30) - - .widget.mountable(data-api="/api/user/" + user.ID) - h3.widget-title - Icon("gamepad") - span Games - - InputText("Accounts.FinalFantasyXIV.Nick", user.Accounts.FinalFantasyXIV.Nick, "Final Fantasy XIV", "Your character name on FFXIV", 30) - InputSelection("Accounts.FinalFantasyXIV.Server", user.Accounts.FinalFantasyXIV.Server, "Final Fantasy XIV - World", "Your server/world on FFXIV", arn.DataLists["ffxiv-servers"]) - InputText("Accounts.Osu.Nick", user.Accounts.Osu.Nick, "Osu", "Your username on osu.ppy.sh", 30) - InputText("Accounts.Overwatch.BattleTag", user.Accounts.Overwatch.BattleTag, "Overwatch", "Your battletag on Overwatch", 30) .widget.mountable h3.widget-title @@ -80,10 +70,3 @@ component SettingsAccounts(user *arn.User) a.button(href="/api/animelist/" + user.ID, target="_blank") Icon("upload") span Export anime list as JSON - - .widget.mountable - h3.widget-title - Icon("refresh") - span Sync - - footer.footer Reserved for upcoming features. \ No newline at end of file diff --git a/pages/soundtrack/soundtrack.pixy b/pages/soundtrack/soundtrack.pixy index 60efba71..59cd8f32 100644 --- a/pages/soundtrack/soundtrack.pixy +++ b/pages/soundtrack/soundtrack.pixy @@ -44,20 +44,7 @@ component SoundTrackPage(track *arn.SoundTrack, relatedTracks []*arn.SoundTrack, each relatedTrack in relatedTracks li a(href=relatedTrack.Link())= relatedTrack.TitleByUser(user) - - //- TODO: This is quite ineffective, performance-wise - if len(track.OsuBeatmaps()) > 0 || len(track.EtternaBeatmaps()) > 0 - .widget.mountable - h3.widget-title Beatmaps - ul.beatmaps - for index, beatmap := range track.OsuBeatmaps() - li - a.beatmap(href="https://osu.ppy.sh/s/" + beatmap, target="_blank")= "Osu Beatmap #" + strconv.Itoa(index + 1) - - for index, beatmap := range track.EtternaBeatmaps() - li - a.beatmap(href="https://etternaonline.com/song/view/" + beatmap, target="_blank")= "Etterna Beatmap #" + strconv.Itoa(index + 1) - + .widget.mountable h3.widget-title Tags diff --git a/pages/users/ffxiv.pixy b/pages/users/ffxiv.pixy deleted file mode 100644 index 19eb4636..00000000 --- a/pages/users/ffxiv.pixy +++ /dev/null @@ -1,8 +0,0 @@ -component FinalFantasyXIVRankingList(users []*arn.User, url string) - h1.page-title Final Fantasy XIV ranking list - UsersTabs(url) - - .user-cards - each user in users - UserCard(user, fmt.Sprintf("%s (iLvl %d)", user.Accounts.FinalFantasyXIV.Class, user.Accounts.FinalFantasyXIV.ItemLevel)) - \ No newline at end of file diff --git a/pages/users/osu.pixy b/pages/users/osu.pixy deleted file mode 100644 index b464d98d..00000000 --- a/pages/users/osu.pixy +++ /dev/null @@ -1,8 +0,0 @@ -component OsuRankingList(users []*arn.User, url string) - h1.page-title osu! ranking list - UsersTabs(url) - - .user-cards - each user in users - UserCard(user, fmt.Sprintf("%s pp (%.1f%%)", humanize.Comma(int64(user.Accounts.Osu.PP + 0.5)), user.Accounts.Osu.Accuracy)) - \ No newline at end of file diff --git a/pages/users/overwatch.pixy b/pages/users/overwatch.pixy deleted file mode 100644 index 7a46d2ca..00000000 --- a/pages/users/overwatch.pixy +++ /dev/null @@ -1,8 +0,0 @@ -component OverwatchRankingList(users []*arn.User, url string) - h1.page-title Overwatch ranking list - UsersTabs(url) - - .user-cards - each user in users - UserCard(user, fmt.Sprintf("%s (%d SR)", strings.Title(user.Accounts.Overwatch.Tier), user.Accounts.Overwatch.SkillRating)) - \ No newline at end of file diff --git a/pages/users/users.go b/pages/users/users.go index b9ff1671..0f2df56d 100644 --- a/pages/users/users.go +++ b/pages/users/users.go @@ -86,48 +86,6 @@ func ActiveNoAvatar(ctx aero.Context) error { return ctx.HTML(components.Users(users, followCount, ctx.Path())) } -// Osu ... -func Osu(ctx aero.Context) error { - users := arn.FilterUsers(func(user *arn.User) bool { - return user.HasAvatar() && user.HasNick() && user.IsActive() && user.Accounts.Osu.PP > 0 - }) - - // Sort by pp - sort.Slice(users, func(i, j int) bool { - return users[i].Accounts.Osu.PP > users[j].Accounts.Osu.PP - }) - - return ctx.HTML(components.OsuRankingList(users, ctx.Path())) -} - -// Overwatch ... -func Overwatch(ctx aero.Context) error { - users := arn.FilterUsers(func(user *arn.User) bool { - return user.HasAvatar() && user.HasNick() && user.IsActive() && user.Accounts.Overwatch.SkillRating > 0 - }) - - // Sort by Skill Ratings - sort.Slice(users, func(i, j int) bool { - return users[i].Accounts.Overwatch.SkillRating > users[j].Accounts.Overwatch.SkillRating - }) - - return ctx.HTML(components.OverwatchRankingList(users, ctx.Path())) -} - -// FFXIV ... -func FFXIV(ctx aero.Context) error { - users := arn.FilterUsers(func(user *arn.User) bool { - return user.HasAvatar() && user.HasNick() && user.IsActive() && user.Accounts.FinalFantasyXIV.ItemLevel > 0 - }) - - // Sort by item level - sort.Slice(users, func(i, j int) bool { - return users[i].Accounts.FinalFantasyXIV.ItemLevel > users[j].Accounts.FinalFantasyXIV.ItemLevel - }) - - return ctx.HTML(components.FinalFantasyXIVRankingList(users, ctx.Path())) -} - // ByCountry ... func ByCountry(ctx aero.Context) error { countryName := ctx.Get("country") diff --git a/pages/users/users.pixy b/pages/users/users.pixy index 756650d9..a81fdfba 100644 --- a/pages/users/users.pixy +++ b/pages/users/users.pixy @@ -48,14 +48,7 @@ component StaffRecruitment component UsersTabs(url string) .tabs Tab("Active", "users", "/users") - Tab("Games", "gamepad", "/users/games/osu") Tab("Editors", "pencil", "/users/editors") Tab("Supporters", "heart", "/users/pro") Tab("Staff", "user-secret", "/users/staff") //- Tab("Map", "map", "/users/map") - - if strings.Contains(url, "/users/games") - .tabs - Tab("Osu", "gamepad", "/users/games/osu") - Tab("Overwatch", "overwatch", "/users/games/overwatch") - Tab("FFXIV", "gamepad", "/users/games/ffxiv") \ No newline at end of file