From fc02d3c6f7db5a7794448f31fd9d6d81d3d224eb Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Fri, 17 Nov 2023 11:35:28 +0100 Subject: [feature] Set/show instance language(s); show post language on frontend (#2362) * update go text, include text/display * [feature] Set instance langs, show post lang on frontend * go fmt * WebGet * set language for whole article, don't use FA icon * mention instance languages + other optional config vars * little tweak * put languages in config properly * warn log language parse * change some naming around * tidy up validate a bit * lint * rename LanguageTmpl in template --- internal/web/about.go | 1 + internal/web/profile.go | 10 +++------- internal/web/thread.go | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) (limited to 'internal/web') diff --git a/internal/web/about.go b/internal/web/about.go index ebb1ceefa..89bb13f0d 100644 --- a/internal/web/about.go +++ b/internal/web/about.go @@ -39,6 +39,7 @@ func (m *Module) aboutGETHandler(c *gin.Context) { c.HTML(http.StatusOK, "about.tmpl", gin.H{ "instance": instance, + "languages": config.GetInstanceLanguages().DisplayStrs(), "ogMeta": ogBase(instance), "blocklistExposed": config.GetInstanceExposeSuspendedWeb(), "stylesheets": []string{ diff --git a/internal/web/profile.go b/internal/web/profile.go index c16965adc..b2c3bb944 100644 --- a/internal/web/profile.go +++ b/internal/web/profile.go @@ -121,21 +121,17 @@ func (m *Module) profileGETHandler(c *gin.Context) { var ( maxStatusID = apiutil.ParseMaxID(c.Query(apiutil.MaxIDKey), "") paging = maxStatusID != "" - pinnedStatuses *apimodel.PageableResponse + pinnedStatuses []*apimodel.Status ) if !paging { // Client opened bare profile (from the top) // so load + display pinned statuses. - pinnedStatuses, errWithCode = m.processor.Account().PinnedStatusesGet(ctx, authed.Account, targetAccount.ID) + pinnedStatuses, errWithCode = m.processor.Account().WebStatusesGetPinned(ctx, targetAccount.ID) if errWithCode != nil { apiutil.WebErrorHandler(c, errWithCode, instanceGet) return } - } else { - // Don't load pinned statuses at - // the top of profile while paging. - pinnedStatuses = new(apimodel.PageableResponse) } // Get statuses from maxStatusID onwards (or from top if empty string). @@ -162,7 +158,7 @@ func (m *Module) profileGETHandler(c *gin.Context) { "robotsMeta": robotsMeta, "statuses": statusResp.Items, "statuses_next": statusResp.NextLink, - "pinned_statuses": pinnedStatuses.Items, + "pinned_statuses": pinnedStatuses, "show_back_to_top": paging, "stylesheets": stylesheets, "javascript": []string{distPathPrefix + "/frontend.js"}, diff --git a/internal/web/thread.go b/internal/web/thread.go index 13dd5877d..523cf7579 100644 --- a/internal/web/thread.go +++ b/internal/web/thread.go @@ -111,7 +111,7 @@ func (m *Module) threadGETHandler(c *gin.Context) { } // Get the status itself from the processor using provided ID and authorization (if any). - status, errWithCode := m.processor.Status().Get(ctx, authed.Account, targetStatusID) + status, errWithCode := m.processor.Status().WebGet(ctx, targetStatusID) if errWithCode != nil { apiutil.WebErrorHandler(c, errWithCode, instanceGet) return -- cgit v1.2.3