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:
@@ -12,7 +12,8 @@
|
||||
Tag,
|
||||
Users,
|
||||
Briefcase,
|
||||
UserPlus
|
||||
UserPlus,
|
||||
Package
|
||||
} from 'lucide-svelte';
|
||||
import { resolve } from '$app/paths';
|
||||
import { page } from '$app/state';
|
||||
@@ -141,6 +142,12 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'Almoxarifado',
|
||||
icon: 'Package',
|
||||
link: '/almoxarifado',
|
||||
permission: { recurso: 'almoxarifado', acao: 'listar' }
|
||||
},
|
||||
{
|
||||
label: 'Objetos',
|
||||
icon: 'Tag',
|
||||
@@ -271,7 +278,8 @@
|
||||
ChevronDown,
|
||||
GitMerge,
|
||||
Settings,
|
||||
Tag
|
||||
Tag,
|
||||
Package
|
||||
};
|
||||
|
||||
function getIconComponent(name: string): IconType {
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<td>
|
||||
<button
|
||||
class="btn btn-sm btn-primary"
|
||||
onclick={() => goto('/recursos-humanos/almoxarifado/alertas')}
|
||||
onclick={() => goto('/almoxarifado/alertas')}
|
||||
>
|
||||
Ver Detalhes
|
||||
</button>
|
||||
@@ -136,7 +136,7 @@
|
||||
<div class="card-actions justify-end">
|
||||
<button
|
||||
class="btn btn-primary"
|
||||
onclick={() => goto('/recursos-humanos/almoxarifado/alertas')}
|
||||
onclick={() => goto('/almoxarifado/alertas')}
|
||||
>
|
||||
Ver Todos os Alertas
|
||||
</button>
|
||||
@@ -155,7 +155,7 @@
|
||||
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
|
||||
<button
|
||||
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">
|
||||
<h3 class="card-title">
|
||||
@@ -168,7 +168,7 @@
|
||||
|
||||
<button
|
||||
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">
|
||||
<h3 class="card-title">
|
||||
@@ -181,7 +181,7 @@
|
||||
|
||||
<button
|
||||
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">
|
||||
<h3 class="card-title">
|
||||
@@ -87,7 +87,7 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</li>
|
||||
@@ -48,7 +48,7 @@
|
||||
});
|
||||
|
||||
function navCadastro() {
|
||||
goto(resolve('/recursos-humanos/almoxarifado/materiais/cadastro'));
|
||||
goto(resolve('/almoxarifado/materiais/cadastro'));
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</li>
|
||||
@@ -207,7 +207,7 @@
|
||||
onclick={() =>
|
||||
goto(
|
||||
resolve(
|
||||
'/recursos-humanos/almoxarifado/materiais/' +
|
||||
'/almoxarifado/materiais/' +
|
||||
material._id
|
||||
)
|
||||
)}
|
||||
@@ -219,7 +219,7 @@
|
||||
onclick={() =>
|
||||
goto(
|
||||
resolve(
|
||||
'/recursos-humanos/almoxarifado/materiais/' +
|
||||
'/almoxarifado/materiais/' +
|
||||
material._id +
|
||||
'/editar'
|
||||
)
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
mostrarMensagem('success', 'Material cadastrado com sucesso!');
|
||||
setTimeout(() => {
|
||||
goto(resolve('/recursos-humanos/almoxarifado/materiais'));
|
||||
goto(resolve('/almoxarifado/materiais'));
|
||||
}, 1500);
|
||||
} catch (error: unknown) {
|
||||
const message = error instanceof Error ? error.message : 'Erro ao cadastrar material';
|
||||
@@ -99,12 +99,12 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</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
|
||||
>
|
||||
</li>
|
||||
@@ -117,7 +117,7 @@
|
||||
<div class="flex items-center gap-4">
|
||||
<button
|
||||
class="btn btn-ghost btn-sm"
|
||||
onclick={() => goto(resolve('/recursos-humanos/almoxarifado/materiais'))}
|
||||
onclick={() => goto(resolve('/almoxarifado/materiais'))}
|
||||
>
|
||||
<ArrowLeft class="h-5 w-5" />
|
||||
</button>
|
||||
@@ -297,7 +297,7 @@
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-ghost"
|
||||
onclick={() => goto(resolve('/recursos-humanos/almoxarifado/materiais'))}
|
||||
onclick={() => goto(resolve('/almoxarifado/materiais'))}
|
||||
disabled={loading}
|
||||
>
|
||||
Cancelar
|
||||
@@ -161,7 +161,7 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</li>
|
||||
@@ -61,7 +61,7 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</li>
|
||||
@@ -194,7 +194,7 @@
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/recursos-humanos/almoxarifado')} class="text-primary hover:underline"
|
||||
<a href={resolve('/almoxarifado')} class="text-primary hover:underline"
|
||||
>Almoxarifado</a
|
||||
>
|
||||
</li>
|
||||
@@ -170,43 +170,43 @@
|
||||
{
|
||||
nome: 'Dashboard',
|
||||
descricao: 'Visão geral do almoxarifado',
|
||||
href: '/recursos-humanos/almoxarifado',
|
||||
href: '/almoxarifado',
|
||||
Icon: BarChart3
|
||||
},
|
||||
{
|
||||
nome: 'Cadastrar Material',
|
||||
descricao: 'Adicionar novo material ao estoque',
|
||||
href: '/recursos-humanos/almoxarifado/materiais/cadastro',
|
||||
href: '/almoxarifado/materiais/cadastro',
|
||||
Icon: Plus
|
||||
},
|
||||
{
|
||||
nome: 'Listar Materiais',
|
||||
descricao: 'Visualizar e gerenciar materiais',
|
||||
href: '/recursos-humanos/almoxarifado/materiais',
|
||||
href: '/almoxarifado/materiais',
|
||||
Icon: Package
|
||||
},
|
||||
{
|
||||
nome: 'Movimentações',
|
||||
descricao: 'Registrar entradas e saídas',
|
||||
href: '/recursos-humanos/almoxarifado/movimentacoes',
|
||||
href: '/almoxarifado/movimentacoes',
|
||||
Icon: ArrowLeftRight
|
||||
},
|
||||
{
|
||||
nome: 'Requisições',
|
||||
descricao: 'Gerenciar requisições de material',
|
||||
href: '/recursos-humanos/almoxarifado/requisicoes',
|
||||
href: '/almoxarifado/requisicoes',
|
||||
Icon: ClipboardList
|
||||
},
|
||||
{
|
||||
nome: 'Alertas',
|
||||
descricao: 'Visualizar alertas de estoque baixo',
|
||||
href: '/recursos-humanos/almoxarifado/alertas',
|
||||
href: '/almoxarifado/alertas',
|
||||
Icon: AlertTriangle
|
||||
},
|
||||
{
|
||||
nome: 'Relatórios',
|
||||
descricao: 'Relatórios e estatísticas',
|
||||
href: '/recursos-humanos/almoxarifado/relatorios',
|
||||
href: '/almoxarifado/relatorios',
|
||||
Icon: BarChart3
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user