package views templ DashboardPage(activePath string, content templ.Component) { @DashboardPageWithMainClass(activePath, "dashboard-main flex-1 overflow-auto", content) } templ DashboardPageWithMainClass(activePath string, mainClass string, content templ.Component) { XTablo
@DashboardSidebar(activePath) @DashboardMainContentWithClass(mainClass, content)
} templ DashboardNotFoundPage(displayName string, email string) { @DashboardPage("", NotFoundContent(displayName)) } templ DashboardMainContent(content templ.Component) { @DashboardMainContentWithClass("dashboard-main flex-1 overflow-auto", content) } templ DashboardMainContentWithClass(mainClass string, content templ.Component) {
@content
} templ DashboardContentSwap(activePath string, content templ.Component) { @DashboardContentSwapWithMainClass(activePath, "dashboard-main flex-1 overflow-auto", content) } templ DashboardContentSwapWithMainClass(activePath string, mainClass string, content templ.Component) { @DashboardMainContentWithClass(mainClass, content) @DashboardNavOOB(activePath) } templ DashboardSidebar(activePath string) { } templ DashboardNavOOB(activePath string) { for _, item := range sidebarPrimaryNavItems(activePath) { @SidebarNavItemOOB(item) } for _, item := range sidebarFooterNavItems(activePath) { @SidebarNavItemOOB(item) } } templ SidebarOrganization() { } templ OverviewMainContent(displayName string, email string, tablos []TabloCardView, showAllProjects bool) {
@OverviewHeader(displayName) @OverviewActions(overviewQuickActions()) @OverviewProjectsSection(tablos, showAllProjects) @OverviewTasks(overviewTasks())
} templ TasksMainContent() { @AppSectionMainContent("Tâches", "Suivez les tâches de votre équipe, les priorités en cours et ce qui reste à livrer.") } templ TablosMainContent() { @AppSectionMainContent("Projets", "Gardez une vue claire sur vos tablos, leur état d'avancement et les prochaines décisions à prendre.") } templ PlanningMainContent() { @AppSectionMainContent("Planning", "Visualisez le rythme de l'équipe, les jalons à venir et les arbitrages de charge.") } templ ChatMainContent() { @AppSectionMainContent("Discussions", "Retrouvez les conversations importantes, les décisions récentes et les échanges à relancer.") } templ FilesMainContent() { @AppSectionMainContent("Fichiers", "Centralisez les documents utiles, les pièces partagées et les ressources de travail.") } templ FeedbackMainContent() { @AppSectionMainContent("Feedback", "Collectez les retours produit, priorisez les signaux et transformez-les en actions concrètes.") } templ AppSectionMainContent(title string, description string) {
Espace de travail

{ title }

{ description }

} templ NotFoundContent(displayName string) {
Erreur de navigation
404

Page introuvable

Cette page n'existe pas ou n'est plus disponible.

Retour à l'aperçu
Connecté en tant que { dashboardGreetingName(displayName) }
} templ OverviewHeader(displayName string) {

{ dashboardTodayLabel() }

Bonjour, { dashboardGreetingName(displayName) }!

Founder
} templ OverviewActions(actions []quickAction) {
for _, action := range actions { @QuickActionCard(action) }
} templ OverviewProjectsSection(projects []TabloCardView, showAllProjects bool) {

Mes Projets

for _, project := range visibleOverviewProjects(projects, showAllProjects) { @TabloGridCard(project) }
@SeeMoreProjects(hiddenOverviewProjectsCount(projects, showAllProjects))
} templ SeeMoreProjects(hiddenCount int) { if hiddenCount > 0 {
} } templ OverviewTasks(tasks []dashboardTask) {

Mes Tâches

for _, task := range tasks { @TaskRow(task) }
} templ QuickActionCard(action quickAction) { } templ TaskRow(task dashboardTask) {

{ task.Title }

{ task.ProjectKey }
{ task.Project } { task.Date }
{ task.Status }
} templ SidebarNavItem(item sidebarNavItem) {
} templ SidebarNavItemOOB(item sidebarNavItem) {
} templ SidebarProjectItem(item sidebarProjectItem) { @SidebarIcon(item.Icon) { item.Label } }