From 667de65e2fda7cb30ec886ccf6619a4178d5488b Mon Sep 17 00:00:00 2001 From: lost+skunk Date: Sat, 13 Jul 2024 21:32:04 +0300 Subject: v1.3 --- app/wrapper.go | 73 +++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 26 deletions(-) (limited to 'app/wrapper.go') diff --git a/app/wrapper.go b/app/wrapper.go index 0303c6a..165522e 100644 --- a/app/wrapper.go +++ b/app/wrapper.go @@ -1,6 +1,7 @@ package app import ( + "encoding/json" "io" "net/http" "net/url" @@ -17,17 +18,33 @@ var wr = io.WriteString var Templates = make(map[string]string) type skunkyart struct { - Writer http.ResponseWriter + Writer http.ResponseWriter + Args url.Values BasePath string Type rune Query, QueryRaw string Page int Atom bool - Templates struct { + + Templates struct { About struct { - Proxy bool - Nsfw bool + Proxy bool + Nsfw bool + Instances []struct { + Title string + Country string + Urls []struct { + I2P string `json:"i2p"` + Ygg string + Tor string + Clearnet string + } + Settings struct { + Nsfw bool + Proxy bool + } + } } SomeList string @@ -127,7 +144,7 @@ func (s skunkyart) GRUser() { case "cover_deviation": group.About.BGMeta = x.ModuleData.CoverDeviation.Deviation - group.About.BGMeta.Url = s.ConvertDeviantArtUrlToSkunkyArt(group.About.BGMeta.Url) + group.About.BGMeta.Url = ConvertDeviantArtUrlToSkunkyArt(group.About.BGMeta.Url) group.About.BG = ParseMedia(group.About.BGMeta.Media) case "group_admins": var htm strings.Builder @@ -146,7 +163,7 @@ func (s skunkyart) GRUser() { gallery := g.Gallery(s.Page, folderid) if folderid > 0 { - group.Gallery.List = s.DeviationList(gallery.Content.Results, dlist{ + group.Gallery.List = s.DeviationList(gallery.Content.Results, DeviationList{ More: gallery.Content.HasMore, }) } else { @@ -157,13 +174,18 @@ func (s skunkyart) GRUser() { for _, x := range x.ModuleData.Folders.Results { folders.WriteString(`
`) - folders.WriteString(`
`) + if !(x.Thumb.NSFW && !CFG.Nsfw) { + folders.WriteString(``) + } else { + folders.WriteString(`

[ NSFW ]

`) + } + folders.WriteString("
") folders.WriteString(`` - ss.List += s.NavBase(dlist{}) + ss.List += s.NavBase(DeviationList{ + More: true, + }) } default: s.ReturnHTTPError(400) } - err(e) + try(e) if s.Type != 'r' { - ss.List = s.DeviationList(ss.Content.Results, dlist{ + ss.List = s.DeviationList(ss.Content.Results, DeviationList{ Pages: ss.Content.Pages, More: ss.Content.HasMore, }) @@ -340,5 +360,6 @@ func (s skunkyart) Emojitar(name string) { func (s skunkyart) About() { s.Templates.About.Nsfw = CFG.Nsfw s.Templates.About.Proxy = CFG.Proxy + try(json.Unmarshal([]byte(Templates["instances.json"]), &s.Templates.About)) s.ExecuteTemplate("html/about.htm", &s) } -- cgit v1.2.3