feat: páginas de oportunidades filtradas por status

This commit is contained in:
Junior
2026-03-14 10:41:33 -03:00
parent e30381f339
commit 1777510872
7 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'elaborando_proposta'))
</script>
<template>
<div class="page">
<AppTopbar title="Elaborando Proposta" breadcrumb="Oportunidades · Elaborando Proposta" />
<div class="content"><div class="card"><EditaisTable :editais="filtrados" /></div></div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>

View File

@@ -0,0 +1,19 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'em_analise'))
</script>
<template>
<div class="page">
<AppTopbar title="Em Análise" breadcrumb="Oportunidades · Em Análise" />
<div class="content">
<div class="card">
<EditaisTable :editais="filtrados" />
</div>
</div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>

View File

@@ -0,0 +1,25 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
</script>
<template>
<div class="page">
<AppTopbar title="Todos os Editais" breadcrumb="Oportunidades · Todos">
<template #actions>
<UButton size="sm" class="btn-primary">+ Nova Oportunidade</UButton>
</template>
</AppTopbar>
<div class="content">
<div class="card">
<EditaisTable :editais="editais" />
</div>
</div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
.btn-primary { background: linear-gradient(135deg, #667eea, #764ba2) !important; }
</style>

View File

@@ -0,0 +1,15 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'participando'))
</script>
<template>
<div class="page">
<AppTopbar title="Participando" breadcrumb="Oportunidades · Participando" />
<div class="content"><div class="card"><EditaisTable :editais="filtrados" /></div></div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>

View File

@@ -0,0 +1,15 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'perdida'))
</script>
<template>
<div class="page">
<AppTopbar title="Perdidas" breadcrumb="Oportunidades · Perdidas" />
<div class="content"><div class="card"><EditaisTable :editais="filtrados" /></div></div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>

View File

@@ -0,0 +1,15 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'recurso'))
</script>
<template>
<div class="page">
<AppTopbar title="Recurso" breadcrumb="Oportunidades · Recurso" />
<div class="content"><div class="card"><EditaisTable :editais="filtrados" /></div></div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>

View File

@@ -0,0 +1,15 @@
<script setup lang="ts">
import { editais } from '~/data/mock/editais'
const filtrados = computed(() => editais.filter(e => e.status === 'vencida'))
</script>
<template>
<div class="page">
<AppTopbar title="Vencidas" breadcrumb="Oportunidades · Vencidas" />
<div class="content"><div class="card"><EditaisTable :editais="filtrados" /></div></div>
</div>
</template>
<style scoped>
.page { display: flex; flex-direction: column; height: 100vh; }
.content { padding: 20px 22px; flex: 1; overflow-y: auto; }
.card { background: white; border-radius: 11px; border: 1px solid #e2e8f0; overflow: hidden; }
</style>