package handlers import ( "github.com/gin-gonic/gin" ) // DefaultData builds a base gin.H map populated with values set by the // SetUserContext middleware (translations, language, auth state). Handlers // add page-specific fields on top and pass it to c.HTML(). func DefaultData(c *gin.Context) gin.H { tr, _ := c.Get("tr") isLoggedIn, _ := c.Get("is_logged_in") username, _ := c.Get("username") lang, _ := c.Get("lang") switchLang, _ := c.Get("switch_lang") avatar, _ := c.Get("avatar") displayName, _ := c.Get("display_name") role, _ := c.Get("role") siteSetting, _ := c.Get("site_setting") siteLogo, _ := c.Get("site_logo") siteLogoIsURL, _ := c.Get("site_logo_is_url") siteLogoText, _ := c.Get("site_logo_text") siteHeaderText, _ := c.Get("site_header_text") siteFooterText, _ := c.Get("site_footer_text") return gin.H{ "Tr": tr, "IsLoggedIn": isLoggedIn, "Username": username, "Lang": lang, "SwitchLang": switchLang, "Avatar": avatar, "DisplayName": displayName, "Role": role, "SiteSetting": siteSetting, "SiteLogo": siteLogo, "SiteLogoIsURL": siteLogoIsURL, "SiteLogoText": siteLogoText, "SiteHeaderText": siteHeaderText, "SiteFooterText": siteFooterText, } } // getTr is a convenience helper that returns the translation map from the // Gin context, falling back to an empty map if not set. func getTr(c *gin.Context) map[string]string { tr, ok := c.Get("tr") if !ok { return map[string]string{} } m, ok := tr.(map[string]string) if !ok { return map[string]string{} } return m }