feat: add new 'Almoxarifado' section in sidebar and update navigation links for improved user experience and consistency across the application

This commit is contained in:
2025-12-20 13:52:30 -03:00
parent 8dd2674305
commit 8f0452bd87
9 changed files with 35 additions and 27 deletions

View File

@@ -12,7 +12,8 @@
Tag, Tag,
Users, Users,
Briefcase, Briefcase,
UserPlus UserPlus,
Package
} from 'lucide-svelte'; } from 'lucide-svelte';
import { resolve } from '$app/paths'; import { resolve } from '$app/paths';
import { page } from '$app/state'; import { page } from '$app/state';
@@ -141,6 +142,12 @@
} }
] ]
}, },
{
label: 'Almoxarifado',
icon: 'Package',
link: '/almoxarifado',
permission: { recurso: 'almoxarifado', acao: 'listar' }
},
{ {
label: 'Objetos', label: 'Objetos',
icon: 'Tag', icon: 'Tag',
@@ -271,7 +278,8 @@
ChevronDown, ChevronDown,
GitMerge, GitMerge,
Settings, Settings,
Tag Tag,
Package
}; };
function getIconComponent(name: string): IconType { function getIconComponent(name: string): IconType {

View File

@@ -123,7 +123,7 @@
<td> <td>
<button <button
class="btn btn-sm btn-primary" class="btn btn-sm btn-primary"
onclick={() => goto('/recursos-humanos/almoxarifado/alertas')} onclick={() => goto('/almoxarifado/alertas')}
> >
Ver Detalhes Ver Detalhes
</button> </button>
@@ -136,7 +136,7 @@
<div class="card-actions justify-end"> <div class="card-actions justify-end">
<button <button
class="btn btn-primary" class="btn btn-primary"
onclick={() => goto('/recursos-humanos/almoxarifado/alertas')} onclick={() => goto('/almoxarifado/alertas')}
> >
Ver Todos os Alertas Ver Todos os Alertas
</button> </button>
@@ -155,7 +155,7 @@
<div class="grid grid-cols-1 gap-4 md:grid-cols-3"> <div class="grid grid-cols-1 gap-4 md:grid-cols-3">
<button <button
class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow" class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow"
onclick={() => goto('/recursos-humanos/almoxarifado/materiais/cadastro')} onclick={() => goto('/almoxarifado/materiais/cadastro')}
> >
<div class="card-body"> <div class="card-body">
<h3 class="card-title"> <h3 class="card-title">
@@ -168,7 +168,7 @@
<button <button
class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow" class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow"
onclick={() => goto('/recursos-humanos/almoxarifado/movimentacoes')} onclick={() => goto('/almoxarifado/movimentacoes')}
> >
<div class="card-body"> <div class="card-body">
<h3 class="card-title"> <h3 class="card-title">
@@ -181,7 +181,7 @@
<button <button
class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow" class="card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow"
onclick={() => goto('/recursos-humanos/almoxarifado/relatorios')} onclick={() => goto('/almoxarifado/relatorios')}
> >
<div class="card-body"> <div class="card-body">
<h3 class="card-title"> <h3 class="card-title">

View File

@@ -87,7 +87,7 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>

View File

@@ -48,7 +48,7 @@
}); });
function navCadastro() { function navCadastro() {
goto(resolve('/recursos-humanos/almoxarifado/materiais/cadastro')); goto(resolve('/almoxarifado/materiais/cadastro'));
} }
</script> </script>
@@ -62,7 +62,7 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>
@@ -207,7 +207,7 @@
onclick={() => onclick={() =>
goto( goto(
resolve( resolve(
'/recursos-humanos/almoxarifado/materiais/' + '/almoxarifado/materiais/' +
material._id material._id
) )
)} )}
@@ -219,7 +219,7 @@
onclick={() => onclick={() =>
goto( goto(
resolve( resolve(
'/recursos-humanos/almoxarifado/materiais/' + '/almoxarifado/materiais/' +
material._id + material._id +
'/editar' '/editar'
) )

View File

@@ -78,7 +78,7 @@
mostrarMensagem('success', 'Material cadastrado com sucesso!'); mostrarMensagem('success', 'Material cadastrado com sucesso!');
setTimeout(() => { setTimeout(() => {
goto(resolve('/recursos-humanos/almoxarifado/materiais')); goto(resolve('/almoxarifado/materiais'));
}, 1500); }, 1500);
} catch (error: unknown) { } catch (error: unknown) {
const message = error instanceof Error ? error.message : 'Erro ao cadastrar material'; const message = error instanceof Error ? error.message : 'Erro ao cadastrar material';
@@ -99,12 +99,12 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado/materiais')} class="text-primary hover:underline" <a href={resolve('/almoxarifado/materiais')} class="text-primary hover:underline"
>Materiais</a >Materiais</a
> >
</li> </li>
@@ -117,7 +117,7 @@
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<button <button
class="btn btn-ghost btn-sm" class="btn btn-ghost btn-sm"
onclick={() => goto(resolve('/recursos-humanos/almoxarifado/materiais'))} onclick={() => goto(resolve('/almoxarifado/materiais'))}
> >
<ArrowLeft class="h-5 w-5" /> <ArrowLeft class="h-5 w-5" />
</button> </button>
@@ -297,7 +297,7 @@
<button <button
type="button" type="button"
class="btn btn-ghost" class="btn btn-ghost"
onclick={() => goto(resolve('/recursos-humanos/almoxarifado/materiais'))} onclick={() => goto(resolve('/almoxarifado/materiais'))}
disabled={loading} disabled={loading}
> >
Cancelar Cancelar

View File

@@ -161,7 +161,7 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>

View File

@@ -61,7 +61,7 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>

View File

@@ -194,7 +194,7 @@
> >
</li> </li>
<li> <li>
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline" <a href={resolve('/almoxarifado')} class="text-primary hover:underline"
>Almoxarifado</a >Almoxarifado</a
> >
</li> </li>

View File

@@ -170,43 +170,43 @@
{ {
nome: 'Dashboard', nome: 'Dashboard',
descricao: 'Visão geral do almoxarifado', descricao: 'Visão geral do almoxarifado',
href: '/recursos-humanos/almoxarifado', href: '/almoxarifado',
Icon: BarChart3 Icon: BarChart3
}, },
{ {
nome: 'Cadastrar Material', nome: 'Cadastrar Material',
descricao: 'Adicionar novo material ao estoque', descricao: 'Adicionar novo material ao estoque',
href: '/recursos-humanos/almoxarifado/materiais/cadastro', href: '/almoxarifado/materiais/cadastro',
Icon: Plus Icon: Plus
}, },
{ {
nome: 'Listar Materiais', nome: 'Listar Materiais',
descricao: 'Visualizar e gerenciar materiais', descricao: 'Visualizar e gerenciar materiais',
href: '/recursos-humanos/almoxarifado/materiais', href: '/almoxarifado/materiais',
Icon: Package Icon: Package
}, },
{ {
nome: 'Movimentações', nome: 'Movimentações',
descricao: 'Registrar entradas e saídas', descricao: 'Registrar entradas e saídas',
href: '/recursos-humanos/almoxarifado/movimentacoes', href: '/almoxarifado/movimentacoes',
Icon: ArrowLeftRight Icon: ArrowLeftRight
}, },
{ {
nome: 'Requisições', nome: 'Requisições',
descricao: 'Gerenciar requisições de material', descricao: 'Gerenciar requisições de material',
href: '/recursos-humanos/almoxarifado/requisicoes', href: '/almoxarifado/requisicoes',
Icon: ClipboardList Icon: ClipboardList
}, },
{ {
nome: 'Alertas', nome: 'Alertas',
descricao: 'Visualizar alertas de estoque baixo', descricao: 'Visualizar alertas de estoque baixo',
href: '/recursos-humanos/almoxarifado/alertas', href: '/almoxarifado/alertas',
Icon: AlertTriangle Icon: AlertTriangle
}, },
{ {
nome: 'Relatórios', nome: 'Relatórios',
descricao: 'Relatórios e estatísticas', descricao: 'Relatórios e estatísticas',
href: '/recursos-humanos/almoxarifado/relatorios', href: '/almoxarifado/relatorios',
Icon: BarChart3 Icon: BarChart3
} }
] ]