package home import ( "net/http" v1 "management/internal/erpserver/service/v1" "management/internal/erpserver/templ/home" "management/internal/pkg/mid" "management/internal/pkg/render" ) type app struct { render render.Renderer userService v1.UserService menuService v1.MenuService loginLogService v1.LoginLogService } func newApp( render render.Renderer, userService v1.UserService, menuService v1.MenuService, loginLogService v1.LoginLogService, ) *app { return &app{ render: render, userService: userService, menuService: menuService, loginLogService: loginLogService, } } func (a *app) home(w http.ResponseWriter, r *http.Request) { ctx := r.Context() a.render.Render(ctx, w, home.Home(ctx)) } func (a *app) dashboard(w http.ResponseWriter, r *http.Request) { ctx := r.Context() auth := mid.GetUser(ctx) lt, _ := a.loginLogService.LoginTime(ctx, auth.Email) c := a.loginLogService.LoginCount(ctx, auth.Email) a.render.Render(ctx, w, home.Dashboard(ctx, int(c), lt.ThisLoginTime, lt.LastLoginTime)) }