modified: .env.example
new file: .env.local modified: .gitignore new file: docs/mock-audit.md modified: eslint.config.js modified: package-lock.json modified: package.json deleted: src/App.css modified: src/App.jsx deleted: src/assets/react.svg deleted: src/assets/vite.svg new file: src/components/RichTextEditor.jsx modified: src/components/calendar/AgendaMonthlyView.jsx modified: src/components/calendar/AgendaWeeklyView.jsx modified: src/components/ui.jsx modified: src/config/api.js modified: src/data/mockData.js new file: src/data/reportTemplates.js modified: src/hooks/useAgenda.js modified: src/mappers/appointmentMapper.js modified: src/pages/AgendaPage.jsx modified: src/pages/MedicalRecordsPage.jsx modified: src/pages/MessagesPage.jsx modified: src/pages/PatientsPage.jsx modified: src/pages/ProfilePage.jsx modified: src/pages/ReportsPage.jsx modified: src/pages/UsersPage.jsx modified: src/pages/VisitsPage.jsx modified: src/repositories/patientRepository.js modified: src/repositories/profileRepository.js modified: src/repositories/userRepository.js deleted: test.mjs deleted: test2.mjs deleted: test3.mjs deleted: test4.mjs deleted: test5.mjs new file: tests/mappers.test.mjs new file: tests/patientRepository.test.mjs new file: tests/permissions.test.mjs new file: tests/repositoryUtils.test.mjs
This commit is contained in:
@@ -18,20 +18,20 @@ export function VisitsPage({ navigate }) {
|
||||
|
||||
const visibleQueue = useMemo(() => {
|
||||
if (activeTab === 'finalizadas') {
|
||||
return careQueue.filter((item) => item.status === 'Finalizada')
|
||||
return careQueue.filter((item) => isFinalizedStatus(item.status))
|
||||
}
|
||||
|
||||
if (activeTab === 'atendimento') {
|
||||
return careQueue.filter((item) => item.status !== 'Finalizada' && item.status !== 'Aguardando médico')
|
||||
return careQueue.filter((item) => !isFinalizedStatus(item.status) && !isWaitingDoctorStatus(item.status))
|
||||
}
|
||||
|
||||
return careQueue.filter((item) => item.status !== 'Finalizada')
|
||||
return careQueue.filter((item) => !isFinalizedStatus(item.status))
|
||||
}, [activeTab, careQueue])
|
||||
|
||||
const summary = [
|
||||
{ label: 'Na fila', value: careQueue.filter((item) => item.status !== 'Finalizada').length, tone: 'text-[#3b82f6]' },
|
||||
{ label: 'Na fila', value: careQueue.filter((item) => !isFinalizedStatus(item.status)).length, tone: 'text-[#3b82f6]' },
|
||||
{ label: 'Alta prioridade', value: careQueue.filter((item) => item.priority === 'Alta').length, tone: 'text-red-400' },
|
||||
{ label: 'Finalizadas', value: careQueue.filter((item) => item.status === 'Finalizada').length, tone: 'text-emerald-400' },
|
||||
{ label: 'Finalizadas', value: careQueue.filter((item) => isFinalizedStatus(item.status)).length, tone: 'text-emerald-400' },
|
||||
]
|
||||
|
||||
return (
|
||||
@@ -160,3 +160,21 @@ function PriorityPill({ priority }) {
|
||||
|
||||
return <span className={`rounded px-2.5 py-1 text-xs font-bold ${className}`}>{priority}</span>
|
||||
}
|
||||
|
||||
function isFinalizedStatus(status) {
|
||||
return normalizeStatus(status) === 'finalizada'
|
||||
}
|
||||
|
||||
function isWaitingDoctorStatus(status) {
|
||||
return normalizeStatus(status) === 'aguardando_medico'
|
||||
}
|
||||
|
||||
function normalizeStatus(status) {
|
||||
return String(status || '')
|
||||
.normalize('NFD')
|
||||
.replace(/[\u0300-\u036f]/g, '')
|
||||
.toLowerCase()
|
||||
.trim()
|
||||
.replace(/[^a-z0-9]+/g, '_')
|
||||
.replace(/^_+|_+$/g, '')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user