+
{[
{ label: 'Total de Dispositivos', value: total, color: '#4f46e5' },
{ label: 'Dispositivos Ativos', value: active, color: '#10b981' },
diff --git a/dental-server/dental-client/src/pages/DashboardPage.jsx b/dental-server/dental-client/src/pages/DashboardPage.jsx
index 88241b9..70ffaad 100644
--- a/dental-server/dental-client/src/pages/DashboardPage.jsx
+++ b/dental-server/dental-client/src/pages/DashboardPage.jsx
@@ -12,6 +12,8 @@ import UserManagementModal from '../components/UserManagementModal';
import PluginsModal from '../components/PluginsModal';
import SyncModal from '../components/SyncModal';
import Sidebar from '../components/Sidebar';
+import CollapsibleSection from '../components/CollapsibleSection';
+import DropdownMenu from '../components/DropdownMenu';
function formatDate(d) {
if (!d) return '—';
@@ -273,26 +275,7 @@ export default function DashboardPage() {
{view === 'patients' && (
-
-
+ {/* Busca sempre visível */}
setSearch(e.target.value)}
style={{ height: 42, minWidth: 200 }}
/>
-
+ {/* Desktop: filtros inline */}
+
+
+
+
+
+ {/* Mobile: ações em dropdown */}
+
+ setShowDisabled(!showDisabled) },
+ { label: 'Atualizar', icon: '🔄', onClick: () => loadPatients() },
+ ]}
+ >
+ {/* Filtro de clientes dentro do dropdown */}
+
+
+
+
+
)}
{view === 'patient-images' && (
diff --git a/dental-server/dental-client/src/pages/SettingsPage.jsx b/dental-server/dental-client/src/pages/SettingsPage.jsx
index a0fe512..9784448 100644
--- a/dental-server/dental-client/src/pages/SettingsPage.jsx
+++ b/dental-server/dental-client/src/pages/SettingsPage.jsx
@@ -128,7 +128,7 @@ export default function SettingsPage() {
{!loadingCron && cronJobs.length > 0 && (
-
+
{['Nome', 'Descrição', 'Intervalo', 'Status', 'Última execução', 'Próxima execução', 'Resultado', ''].map(col => (
@@ -145,28 +145,28 @@ export default function SettingsPage() {
{cronJobs.map(job => (
- | {job.name} |
- {job.description} |
-
+ | {job.name} |
+ {job.description} |
+
A cada {job.intervalMinutes} min
|
-
+ |
|
-
+ |
{fmtDate(job.lastRun)}
|
-
+ |
{fmtDate(job.nextRun)}
|
-
+ |
{job.lastResult ? (
job.lastResult.status === 'error'
? {job.lastResult.error}
: `${job.lastResult.total} imagem(ns) processada(s)`
) : '—'}
|
-
+ |
|