34 lines
919 B
Go
34 lines
919 B
Go
package web
|
|
|
|
import (
|
|
"git.sleepycat.moe/sam/mercury/web/app"
|
|
"git.sleepycat.moe/sam/mercury/web/auth"
|
|
"git.sleepycat.moe/sam/mercury/web/frontend"
|
|
"github.com/go-chi/chi/v5"
|
|
)
|
|
|
|
func Routes(app *app.App) {
|
|
// auth
|
|
app.Router.Route("/auth", func(r chi.Router) {
|
|
auth := auth.New(app)
|
|
r.Get("/login", auth.GetLogin)
|
|
r.Post("/login", auth.PostLogin)
|
|
|
|
r.Get("/sign_up", auth.GetSignup)
|
|
r.Post("/sign_up", auth.PostSignup)
|
|
})
|
|
|
|
// web app handlers
|
|
// also assets
|
|
app.Router.Group(func(r chi.Router) {
|
|
frontend := frontend.New(app)
|
|
r.Use(app.FrontendAuth)
|
|
|
|
r.HandleFunc(frontend.AssetsPath(), frontend.ServeAssets)
|
|
r.HandleFunc("/static/*", frontend.ServeStaticAssets)
|
|
r.HandleFunc("/web", frontend.ServeFrontend)
|
|
r.HandleFunc("/web/*", frontend.ServeFrontend)
|
|
r.HandleFunc("/web/@{username}", frontend.ServeUser)
|
|
r.HandleFunc("/web/@{username}/posts/{postID}", frontend.ServeStatus)
|
|
})
|
|
}
|