From b503045b41d35d17885e6864f606ba5eb87a916c Mon Sep 17 00:00:00 2001 From: killer-cf Date: Fri, 14 Nov 2025 16:15:21 -0300 Subject: [PATCH] refactor: integrate ProtectedRoute component across dashboard pages - Added the ProtectedRoute component to various dashboard pages to enforce authentication and role-based access control. - Updated allowedRoles and maxLevel parameters for specific routes to align with the new permission management structure. - Enhanced user experience by ensuring consistent access checks across the application. --- .../src/lib/components/ProtectedRoute.svelte | 129 +++++++++--------- apps/web/src/routes/(dashboard)/+page.svelte | 3 + .../routes/(dashboard)/compras/+page.svelte | 3 + .../(dashboard)/comunicacao/+page.svelte | 3 + .../(dashboard)/controladoria/+page.svelte | 3 + .../(dashboard)/financeiro/+page.svelte | 3 + .../routes/(dashboard)/juridico/+page.svelte | 3 + .../(dashboard)/licitacoes/+page.svelte | 3 + .../routes/(dashboard)/perfil/+page.svelte | 3 + .../programas-esportivos/+page.svelte | 3 + .../routes/(dashboard)/ti/perfis/+page.svelte | 2 +- .../ti/personalizar-permissoes/+page.svelte | 2 +- .../ti/solicitacoes-acesso/+page.svelte | 2 +- .../routes/(dashboard)/ti/times/+page.svelte | 2 +- .../(dashboard)/ti/usuarios/+page.svelte | 2 +- 15 files changed, 95 insertions(+), 71 deletions(-) diff --git a/apps/web/src/lib/components/ProtectedRoute.svelte b/apps/web/src/lib/components/ProtectedRoute.svelte index e12eace..6bcf57a 100644 --- a/apps/web/src/lib/components/ProtectedRoute.svelte +++ b/apps/web/src/lib/components/ProtectedRoute.svelte @@ -1,80 +1,77 @@ {#if isChecking} -
-
- -

Verificando permissões...

-
-
+
+
+ +

Verificando permissões...

+
+
{:else if hasAccess} - {@render children()} + {@render children()} {/if} diff --git a/apps/web/src/routes/(dashboard)/+page.svelte b/apps/web/src/routes/(dashboard)/+page.svelte index 0c7070b..fa79b22 100644 --- a/apps/web/src/routes/(dashboard)/+page.svelte +++ b/apps/web/src/routes/(dashboard)/+page.svelte @@ -7,6 +7,7 @@ import { resolve } from "$app/paths"; import { UserPlus, Mail } from "lucide-svelte"; import { useAuth } from "@mmailaender/convex-better-auth-svelte/svelte"; + import ProtectedRoute from "$lib/components/ProtectedRoute.svelte"; let { data } = $props(); @@ -128,6 +129,7 @@ } +
{#if showAlert} @@ -823,6 +825,7 @@ {/if}
+