package handler import "billit/internal/models" import "billit/internal/view" import ( "billit/internal/database" "github.com/labstack/echo/v4" ) // HomeHandlers holds db reference for home page operations type HomeHandlers struct { db database.Service } // NewHomeHandlers creates handlers with db access func NewHomeHandlers(db database.Service) *HomeHandlers { return &HomeHandlers{db: db} } // HomePageHandler renders the home page with recent data func (h *HomeHandlers) HomePageHandler(c echo.Context) error { userID := getUserID(c) userEmail, _ := c.Get("user_email").(string) // Get recent products (last 5) recentProducts, err := h.db.GetRecentProducts(userID, 5) if err != nil { recentProducts = []models.Product{} } // Get recent invoices (last 5) recentInvoices, err := h.db.GetRecentInvoices(userID, 5) if err != nil { recentInvoices = []models.Invoice{} } return view.Render(c, view.HomePage(userEmail, recentProducts, recentInvoices)) }