From d5fe1a10be2d00579cef0d64f18cdb0db586a4d4 Mon Sep 17 00:00:00 2001
From: 230409 <230409@epvc.pt>
Date: Mon, 4 May 2026 11:12:21 +0100
Subject: [PATCH] ..
---
.../EstablishmentDashboardActivity.java | 95 +--
.../activity_establishment_dashboard.xml | 550 +++++++++++-------
2 files changed, 403 insertions(+), 242 deletions(-)
diff --git a/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java b/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java
index f711170..bd2389e 100644
--- a/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java
+++ b/app/src/main/java/com/example/pap_teste/EstablishmentDashboardActivity.java
@@ -39,12 +39,16 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
? "Perfil criado. Configure horários, mesas e abra reservas."
: "Dashboard operacional. Acompanhe as reservas em tempo real.");
- Button btnOpenWalkIns = findViewById(R.id.btnAbrirEspera);
- Button btnStaff = findViewById(R.id.btnGestaoStaff);
- Button btnGerirMesas = findViewById(R.id.btnGerirMesas);
- Button btnDetails = findViewById(R.id.btnDetalhesReservas);
- Button btnSettings = findViewById(R.id.btnDefinicoes);
- Button btnBack = findViewById(R.id.btnVoltar);
+ android.view.View btnOpenWalkIns = findViewById(R.id.btnAbrirEspera);
+ android.view.View btnStaff = findViewById(R.id.btnGestaoStaff);
+ android.view.View btnGerirMesas = findViewById(R.id.btnGerirMesas);
+ android.view.View btnDetails = findViewById(R.id.btnDetalhesReservas);
+ android.view.View btnSettings = findViewById(R.id.btnDefinicoes);
+
+ com.google.android.material.appbar.MaterialToolbar toolbar = findViewById(R.id.toolbar);
+ if (toolbar != null) {
+ toolbar.setNavigationOnClickListener(v -> finish());
+ }
String email = getIntent().getStringExtra(MainActivity.EXTRA_EMAIL);
if (email == null) {
@@ -56,45 +60,53 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
}
final String finalEmail = email;
- btnOpenWalkIns.setOnClickListener(v -> {
- Intent intent = new Intent(this, ListaEsperaActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
+ if (btnOpenWalkIns != null) {
+ btnOpenWalkIns.setOnClickListener(v -> {
+ Intent intent = new Intent(this, ListaEsperaActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
+ }
- btnStaff.setOnClickListener(v -> {
- Intent intent = new Intent(this, GestaoStaffActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
+ if (btnStaff != null) {
+ btnStaff.setOnClickListener(v -> {
+ Intent intent = new Intent(this, GestaoStaffActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
+ }
- btnGerirMesas.setOnClickListener(v -> {
- Intent intent = new Intent(this, GerirMesasActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
+ if (btnGerirMesas != null) {
+ btnGerirMesas.setOnClickListener(v -> {
+ Intent intent = new Intent(this, GerirMesasActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
+ }
- btnDetails.setOnClickListener(v -> {
- Intent intent = new Intent(this, DetalhesReservasActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
+ if (btnDetails != null) {
+ btnDetails.setOnClickListener(v -> {
+ Intent intent = new Intent(this, DetalhesReservasActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
+ }
- btnSettings.setOnClickListener(v -> {
- Intent intent = new Intent(this, DefinicoesAdminActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
+ if (btnSettings != null) {
+ btnSettings.setOnClickListener(v -> {
+ Intent intent = new Intent(this, DefinicoesAdminActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
+ }
- findViewById(R.id.cardReservasHoje).setOnClickListener(v -> {
- Intent intent = new Intent(this, DetalhesReservasActivity.class);
- intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
- startActivity(intent);
- });
-
- if (btnBack != null) {
-
- btnBack.setOnClickListener(v -> finish());
+ android.view.View cardReservasHoje = findViewById(R.id.cardReservasHoje);
+ if (cardReservasHoje != null) {
+ cardReservasHoje.setOnClickListener(v -> {
+ Intent intent = new Intent(this, DetalhesReservasActivity.class);
+ intent.putExtra(MainActivity.EXTRA_EMAIL, finalEmail);
+ startActivity(intent);
+ });
}
loadProximasReservas();
@@ -210,7 +222,8 @@ public class EstablishmentDashboardActivity extends AppCompatActivity {
com.example.pap_teste.models.Reserva r = ds.getValue(com.example.pap_teste.models.Reserva.class);
if (r != null && r.getRestauranteEmail() != null && r.getRestauranteEmail().trim().equalsIgnoreCase(finalEmail)) {
if (r.getEstado() != null) {
- if ((r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) && todayDate.equals(r.getData())) {
+ // Opção B: Conta TODAS as reservas confirmadas/concluídas/arquivadas
+ if (r.getEstado().startsWith("Confirmada") || r.getEstado().equals("Concluída") || r.getEstado().equals("Arquivada")) {
reservasHoje++;
} else if ("Pendente".equals(r.getEstado())) {
listaEspera++;
diff --git a/app/src/main/res/layout/activity_establishment_dashboard.xml b/app/src/main/res/layout/activity_establishment_dashboard.xml
index 913f8c3..da28543 100644
--- a/app/src/main/res/layout/activity_establishment_dashboard.xml
+++ b/app/src/main/res/layout/activity_establishment_dashboard.xml
@@ -1,5 +1,5 @@
-
-
+ android:background="@color/colorBackground"
+ app:elevation="0dp">
-
+
+
+
+
+
+ android:padding="20dp">
+
+ android:textSize="14sp" />
-
+ android:textColor="@color/colorPrimary"
+ app:chipBackgroundColor="#1A000000"
+ app:chipStrokeWidth="0dp"
+ android:clickable="false" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+ app:cardCornerRadius="20dp"
+ app:cardElevation="2dp"
+ android:clickable="true"
+ android:focusable="true">
+ android:padding="16dp"
+ android:gravity="center_vertical">
+
+
+
+
-
-
+ android:textSize="12sp" />
+
+ android:padding="16dp"
+ android:gravity="center_vertical">
-
+
+
+
+
+ android:padding="16dp"
+ android:gravity="center_vertical">
+
+
+
+
-
-
+ android:textSize="12sp" />
+
@@ -198,107 +256,12 @@
android:layout_marginTop="16dp"
app:cardBackgroundColor="@color/colorSurface"
app:cardCornerRadius="20dp"
- app:cardElevation="4dp">
+ app:cardElevation="1dp"
+ app:strokeWidth="1dp"
+ app:strokeColor="#1A000000">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+