const express = require("express"); const router = express.Router(); const requireAuth = (req, res, next) => { if (!req.isAuthenticated()) return res.redirect("/auth/login"); next(); }; router.get("/", requireAuth, (req, res) => { const user = req.user; const apps = [ { id:"nextcloud", name:"Nextcloud Drive", desc:"File & dokumen bersama", url:process.env.URL_NEXTCLOUD, icon:"☁️", color:"#E6F1FB" }, { id:"sogo", name:"SOGo Mail", desc:"Email & kalender tim", url:process.env.URL_SOGO+"/SOGo", icon:"✉️", color:"#E1F5EE" }, { id:"odoo", name:"Odoo ERP", desc:"HR, CRM, Project", url:process.env.URL_ODOO, icon:"📊", color:"#EEEDFE" }, { id:"monitoring", name:"Monitoring", desc:"Grafana dashboard", url:process.env.URL_MONITORING, icon:"📈", color:"#FEF3E2" }, { id:"gitea", name:"Gitea Dev", desc:"Git repository", url:process.env.URL_GITEA, icon:"🐙", color:"#F0F0F0" }, ]; res.render("dashboard", { user, apps, brandName: process.env.BRAND_NAME || "OpenSuite", brandColor: process.env.BRAND_COLOR || "#1A56DB", title: "Dashboard — " + (process.env.BRAND_NAME || "OpenSuite"), }); }); module.exports = router;