mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 07:22:24 -05:00
[frontend] Unified panels (#812)
* settings panel restructuring * clean up old Gin handlers * colorscheme redesign, some other small css tweaks * basic router layout, error boundary * colorscheme redesign, some other small css tweaks * kebab-case consistency * superfluous padding on applist * remove unused consts * redux, whitespace changes.. * use .jsx extensions for components * login flow up till app registration * full redux oauth implementation, with basic error handling * split oauth api functions * oauth api revocation handling * basic profile change submission * move old dir * profile overview * fix keeping track of the wrong instance url (for different instance/api domains) * use redux state for profile form * delete old/index.js, old/basic.js, fully implemented * implement old/user/profile.js * implement password change * remove debug logging * support future api for removing files * customize profile css * remove unneeded wrapper components * restructure form fields * start on admin pages * admin panel settings * admin settings panel * remove old/admin files * add top-level redirect * refactor/cleanup forms * only do API checks on logged-in state * admin-status based routing * federation block routing * federation blocks * upgrade dependencies * react 18 changes * media cleanup * fix useEffect hooks * remove unused require * custom emoji base * emoji uploader * delete last old panel files * sidebar styling, remove unused page * refactor submit functions * fix sidebar boxshadow-border * fix old css variables * fix fake-toot avatar * fix non-square emoji * fix user settings redux keys * properly get admin account contact from instance response * Account.source default values * source.status_format key * mobile responsiveness * mobile element tweaks * proper redirect after removing block * add redirects for old setting panel urls * deletes * fix mobile overflow * clean up debug logging calls
This commit is contained in:
parent
2f22780800
commit
938328cd07
59 changed files with 3989 additions and 2837 deletions
|
|
@ -117,6 +117,7 @@ func (m *Module) profileGETHandler(c *gin.Context) {
|
|||
"show_back_to_top": showBackToTop,
|
||||
"stylesheets": stylesheets,
|
||||
"javascript": []string{
|
||||
"/assets/dist/bundle.js",
|
||||
"/assets/dist/frontend.js",
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import (
|
|||
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
|
||||
)
|
||||
|
||||
func (m *Module) UserPanelHandler(c *gin.Context) {
|
||||
func (m *Module) SettingsPanelHandler(c *gin.Context) {
|
||||
host := config.GetHost()
|
||||
instance, err := m.processor.InstanceGet(c.Request.Context(), host)
|
||||
if err != nil {
|
||||
|
|
@ -41,37 +41,13 @@ func (m *Module) UserPanelHandler(c *gin.Context) {
|
|||
assetsPathPrefix + "/Fork-Awesome/css/fork-awesome.min.css",
|
||||
assetsPathPrefix + "/dist/_colors.css",
|
||||
assetsPathPrefix + "/dist/base.css",
|
||||
assetsPathPrefix + "/dist/panels-base.css",
|
||||
assetsPathPrefix + "/dist/panels-user-style.css",
|
||||
assetsPathPrefix + "/dist/profile.css",
|
||||
assetsPathPrefix + "/dist/status.css",
|
||||
assetsPathPrefix + "/dist/settings-panel-style.css",
|
||||
},
|
||||
"javascript": []string{
|
||||
assetsPathPrefix + "/dist/bundle.js",
|
||||
assetsPathPrefix + "/dist/user-panel.js",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// TODO: abstract the {admin, user}panel handlers in some way
|
||||
func (m *Module) AdminPanelHandler(c *gin.Context) {
|
||||
host := config.GetHost()
|
||||
instance, err := m.processor.InstanceGet(c.Request.Context(), host)
|
||||
if err != nil {
|
||||
api.ErrorHandler(c, gtserror.NewErrorInternalError(err), m.processor.InstanceGet)
|
||||
return
|
||||
}
|
||||
|
||||
c.HTML(http.StatusOK, "frontend.tmpl", gin.H{
|
||||
"instance": instance,
|
||||
"stylesheets": []string{
|
||||
assetsPathPrefix + "/Fork-Awesome/css/fork-awesome.min.css",
|
||||
assetsPathPrefix + "/dist/_colors.css",
|
||||
assetsPathPrefix + "/dist/base.css",
|
||||
assetsPathPrefix + "/dist/panels-base.css",
|
||||
assetsPathPrefix + "/dist/panels-admin-style.css",
|
||||
},
|
||||
"javascript": []string{
|
||||
assetsPathPrefix + "/dist/bundle.js",
|
||||
assetsPathPrefix + "/dist/admin-panel.js",
|
||||
assetsPathPrefix + "/dist/settings.js",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -119,6 +119,7 @@ func (m *Module) threadGETHandler(c *gin.Context) {
|
|||
"ogMeta": ogBase(instance).withStatus(status),
|
||||
"stylesheets": stylesheets,
|
||||
"javascript": []string{
|
||||
"/assets/dist/bundle.js",
|
||||
"/assets/dist/frontend.js",
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ const (
|
|||
profilePath = "/@:" + usernameKey
|
||||
customCSSPath = profilePath + "/custom.css"
|
||||
statusPath = profilePath + "/statuses/:" + statusIDKey
|
||||
adminPanelPath = "/admin"
|
||||
userPanelpath = "/user"
|
||||
assetsPathPrefix = "/assets"
|
||||
userPanelPath = "/settings/user"
|
||||
adminPanelPath = "/settings/admin"
|
||||
|
||||
tokenParam = "token"
|
||||
usernameKey = "username"
|
||||
|
|
@ -70,20 +70,24 @@ func (m *Module) Route(s router.Router) error {
|
|||
assetsGroup := s.AttachGroup(assetsPathPrefix)
|
||||
m.mountAssetsFilesystem(assetsGroup)
|
||||
|
||||
s.AttachHandler(http.MethodGet, adminPanelPath, m.AdminPanelHandler)
|
||||
// redirect /admin/ to /admin
|
||||
s.AttachHandler(http.MethodGet, adminPanelPath+"/", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, adminPanelPath)
|
||||
s.AttachHandler(http.MethodGet, "/settings", m.SettingsPanelHandler)
|
||||
s.AttachHandler(http.MethodGet, "/settings/*panel", m.SettingsPanelHandler)
|
||||
|
||||
// User panel redirects
|
||||
// used by clients
|
||||
s.AttachHandler(http.MethodGet, "/auth/edit", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, userPanelPath)
|
||||
})
|
||||
|
||||
s.AttachHandler(http.MethodGet, userPanelpath, m.UserPanelHandler)
|
||||
// redirect /user/ to /user
|
||||
s.AttachHandler(http.MethodGet, userPanelpath+"/", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, userPanelpath)
|
||||
// old version of settings panel
|
||||
s.AttachHandler(http.MethodGet, "/user", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, userPanelPath)
|
||||
})
|
||||
// redirect /auth/edit to /user
|
||||
s.AttachHandler(http.MethodGet, "/auth/edit", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, userPanelpath)
|
||||
|
||||
// Admin panel redirects
|
||||
// old version of settings panel
|
||||
s.AttachHandler(http.MethodGet, "/admin", func(c *gin.Context) {
|
||||
c.Redirect(http.StatusMovedPermanently, adminPanelPath)
|
||||
})
|
||||
|
||||
// serve front-page
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue