From a941295a7630ba0e04e4206a9d19852533f69c65 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Thu, 22 Nov 2018 13:36:04 +0900 Subject: [PATCH] Improved groups --- layout/sidebar/sidebar.pixy | 5 +++-- pages/explore/explore.pixy | 3 +++ pages/group/history.go | 21 +++++++++++++++++++++ pages/group/tabs.pixy | 3 ++- pages/index/grouproutes/grouproutes.go | 1 + scripts/Actions/Group.ts | 8 ++++---- styles/corner-buttons.scarlet | 5 ++++- 7 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 pages/group/history.go diff --git a/layout/sidebar/sidebar.pixy b/layout/sidebar/sidebar.pixy index 6dd62b05..31ee906d 100644 --- a/layout/sidebar/sidebar.pixy +++ b/layout/sidebar/sidebar.pixy @@ -37,16 +37,17 @@ component Sidebar(user *arn.User) SidebarButton("AMVs", "/amvs", "video-camera") SidebarButton("Soundtracks", "/soundtracks", "headphones") SidebarButton("Quotes", "/quotes", "quote-left") - SidebarButton("Companies", "/companies", "building") - SidebarButton("Users", "/users", "globe") if arn.IsDevelopment() SidebarButton("Groups", "/groups", "users") + SidebarButton("Users", "/users", "globe") + if user != nil SidebarButton("Support", "/support", "heart") //- Disabled: + //- SidebarButton("Companies", "/companies", "building") //- SidebarButton("Dash", "/dashboard", "tachometer") //- SidebarButton("Artworks", "/artworks", "paint-brush") //- SidebarButton("AMVs", "/amvs", "video-camera") diff --git a/pages/explore/explore.pixy b/pages/explore/explore.pixy index f5c3faad..75f36265 100644 --- a/pages/explore/explore.pixy +++ b/pages/explore/explore.pixy @@ -9,6 +9,9 @@ component ExploreAnime(animes []*arn.Anime, year string, season string, status s a.button(href="/calendar", title="Calendar") RawIcon("calendar") + + a.button(href="/companies", title="Companies") + RawIcon("building") a.button(href="/halloffame", title="Hall of Fame") RawIcon("trophy") diff --git a/pages/group/history.go b/pages/group/history.go new file mode 100644 index 00000000..592a070e --- /dev/null +++ b/pages/group/history.go @@ -0,0 +1,21 @@ +package group + +import ( + "github.com/animenotifier/arn" + "github.com/animenotifier/notify.moe/components" + "github.com/animenotifier/notify.moe/utils/history" +) + +// History of the edits. +var History = history.Handler(renderHistory, "Group") + +func renderHistory(obj interface{}, entries []*arn.EditLogEntry, user *arn.User) string { + group := obj.(*arn.Group) + var member *arn.GroupMember + + if user != nil { + member = group.FindMember(user.ID) + } + + return components.GroupTabs(group, member, user) + components.EditLog(entries, user) +} diff --git a/pages/group/tabs.pixy b/pages/group/tabs.pixy index 27c9f215..ce251d31 100644 --- a/pages/group/tabs.pixy +++ b/pages/group/tabs.pixy @@ -6,4 +6,5 @@ component GroupTabs(group *arn.Group, member *arn.GroupMember, user *arn.User) if member != nil && member.Role == "founder" Tab("Edit", "pencil", group.Link() + "/edit") - Tab("Edit image", "image", group.Link() + "/edit/image") \ No newline at end of file + Tab("Edit image", "image", group.Link() + "/edit/image") + Tab("History", "history", group.Link() + "/history") \ No newline at end of file diff --git a/pages/index/grouproutes/grouproutes.go b/pages/index/grouproutes/grouproutes.go index 1ee268e4..727ecc97 100644 --- a/pages/index/grouproutes/grouproutes.go +++ b/pages/index/grouproutes/grouproutes.go @@ -20,4 +20,5 @@ func Register(l *layout.Layout) { l.Page("/group/:id/members", group.Members) l.Page("/group/:id/edit", group.Edit) l.Page("/group/:id/edit/image", group.EditImage) + l.Page("/group/:id/history", group.History) } diff --git a/scripts/Actions/Group.ts b/scripts/Actions/Group.ts index dcbf8093..aeaaa87e 100644 --- a/scripts/Actions/Group.ts +++ b/scripts/Actions/Group.ts @@ -6,12 +6,12 @@ export async function join(arn: AnimeNotifier, element: HTMLElement) { return } - arn.statusMessage.showInfo("Joined group!", 1000) let apiEndpoint = arn.findAPIEndpoint(element) try { - await arn.post(apiEndpoint + "/join", null) + await arn.post(`${apiEndpoint}/join`, null) arn.reloadContent() + arn.statusMessage.showInfo("Joined group!", 1000) } catch(err) { arn.statusMessage.showError(err) } @@ -23,12 +23,12 @@ export async function leave(arn: AnimeNotifier, element: HTMLElement) { return } - arn.statusMessage.showInfo("Left group!", 1000) let apiEndpoint = arn.findAPIEndpoint(element) try { - await arn.post(apiEndpoint + "/leave", null) + await arn.post(`${apiEndpoint}/leave`, null) arn.reloadContent() + arn.statusMessage.showInfo("Left group!", 1000) } catch(err) { arn.statusMessage.showError(err) } diff --git a/styles/corner-buttons.scarlet b/styles/corner-buttons.scarlet index c8cc4634..13ae419c 100644 --- a/styles/corner-buttons.scarlet +++ b/styles/corner-buttons.scarlet @@ -28,7 +28,7 @@ mixin corner-buttons position static opacity 1 -< 1200px +< 1300px .corner-buttons-hide-on-mobile flex-flow row @@ -56,6 +56,9 @@ mixin corner-buttons :nth-child(5) transform translateX(-400%) + :nth-child(6) + transform translateX(-500%) + < 600px .corner-buttons-hide-on-mobile display none