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,
|
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 {
|
||||||
|
|||||||
@@ -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">
|
||||||
@@ -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>
|
||||||
@@ -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'
|
||||||
)
|
)
|
||||||
@@ -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
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user