diff --git a/apps/web/src/lib/components/Sidebar.svelte b/apps/web/src/lib/components/Sidebar.svelte
index 1c43f54..74a0a0d 100644
--- a/apps/web/src/lib/components/Sidebar.svelte
+++ b/apps/web/src/lib/components/Sidebar.svelte
@@ -146,7 +146,52 @@
label: 'Almoxarifado',
icon: 'Package',
link: '/almoxarifado',
- permission: { recurso: 'almoxarifado', acao: 'listar' }
+ permission: { recurso: 'almoxarifado', acao: 'listar' },
+ submenus: [
+ {
+ label: 'Dashboard',
+ link: '/almoxarifado',
+ permission: { recurso: 'almoxarifado', acao: 'listar' },
+ excludePaths: [
+ '/almoxarifado/materiais',
+ '/almoxarifado/materiais/cadastro',
+ '/almoxarifado/movimentacoes',
+ '/almoxarifado/requisicoes',
+ '/almoxarifado/alertas',
+ '/almoxarifado/relatorios'
+ ]
+ },
+ {
+ label: 'Cadastrar Material',
+ link: '/almoxarifado/materiais/cadastro',
+ permission: { recurso: 'almoxarifado', acao: 'criar_material' }
+ },
+ {
+ label: 'Listar Materiais',
+ link: '/almoxarifado/materiais',
+ permission: { recurso: 'almoxarifado', acao: 'listar' }
+ },
+ {
+ label: 'Movimentações',
+ link: '/almoxarifado/movimentacoes',
+ permission: { recurso: 'almoxarifado', acao: 'registrar_movimentacao' }
+ },
+ {
+ label: 'Requisições',
+ link: '/almoxarifado/requisicoes',
+ permission: { recurso: 'almoxarifado', acao: 'listar' }
+ },
+ {
+ label: 'Alertas',
+ link: '/almoxarifado/alertas',
+ permission: { recurso: 'almoxarifado', acao: 'listar' }
+ },
+ {
+ label: 'Relatórios',
+ link: '/almoxarifado/relatorios',
+ permission: { recurso: 'almoxarifado', acao: 'listar' }
+ }
+ ]
},
{
label: 'Objetos',
diff --git a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/+page.svelte b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/+page.svelte
index bb81a7d..8f5ddaf 100644
--- a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/+page.svelte
@@ -57,14 +57,7 @@
diff --git a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/+page.svelte b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/+page.svelte
new file mode 100644
index 0000000..0abc953
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/+page.svelte
@@ -0,0 +1,239 @@
+
+
+{#if loading}
+
+
+
+{:else if material}
+
+
+
+
+
+
+
+
+
+
+
+
{material.nome}
+
Detalhes do material
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações Básicas
+
+
+
+
+
{material.codigo}
+
+
+
+
{material.nome}
+
+ {#if material.descricao}
+
+
+
{material.descricao}
+
+ {/if}
+
+
+
+ {material.categoria}
+
+
+
+
+
{material.unidadeMedida}
+
+
+
+
+ {#if material.ativo}
+
+
+ Ativo
+
+ {:else}
+
+
+ Inativo
+
+ {/if}
+
+
+
+
+
+
+
+
+
+
+
+ Estoque
+
+
+
+
+
+
{material.estoqueAtual}
+
{material.unidadeMedida}
+ {#if material.estoqueAtual <= material.estoqueMinimo}
+
+ {/if}
+
+
+
+
+
{material.estoqueMinimo} {material.unidadeMedida}
+
+ {#if material.estoqueMaximo !== undefined}
+
+
+
{material.estoqueMaximo} {material.unidadeMedida}
+
+ {/if}
+ {#if material.estoqueAtual <= material.estoqueMinimo}
+
+
+
Estoque abaixo do mínimo! Reposição necessária.
+
+ {/if}
+
+
+
+
+
+
+
+
+
+
+ Informações Adicionais
+
+
+ {#if material.localizacao}
+
+
+
{material.localizacao}
+
+ {/if}
+ {#if material.fornecedor}
+
+
+
{material.fornecedor}
+
+ {/if}
+
+
+
+
+{:else}
+
+
+
+
Material não encontrado
+
+
+
+{/if}
+
diff --git a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/editar/+page.svelte b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/editar/+page.svelte
new file mode 100644
index 0000000..e90d4c3
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/[materialId]/editar/+page.svelte
@@ -0,0 +1,363 @@
+
+
+{#if loadingData}
+
+
+
+{:else}
+
+
+
+
+
+
+
+
+
+
+
Editar Material
+
Atualize as informações do material
+
+
+
+
+
+ {#if notice}
+
+ {notice.text}
+
+ {/if}
+
+
+
+
+{/if}
+
diff --git a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/cadastro/+page.svelte b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/cadastro/+page.svelte
index 0151635..7eff9ee 100644
--- a/apps/web/src/routes/(dashboard)/almoxarifado/materiais/cadastro/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/almoxarifado/materiais/cadastro/+page.svelte
@@ -94,14 +94,7 @@